From e554574f5d249eb5b174105a86fd816d08713ae6 Mon Sep 17 00:00:00 2001 From: Alwyn van Wyk Date: Mon, 20 Mar 2023 13:40:28 +0200 Subject: [PATCH 01/18] Redo from develop branch as base (#295) --- README.md | 97 +++++++------------------------------------------------ 1 file changed, 11 insertions(+), 86 deletions(-) diff --git a/README.md b/README.md index a73628ee..b586d18e 100644 --- a/README.md +++ b/README.md @@ -1,95 +1,20 @@ -# ixo Blockchain SDK +# ixo Blockchain -[![version](https://img.shields.io/github/tag/ixofoundation/ixo-blockchain.svg)](https://github.com/ixofoundation/ixo-blockchain/releases/latest) -[![Go Report Card](https://goreportcard.com/badge/github.com/ixofoundation/ixo-blockchain)](https://goreportcard.com/report/github.com/ixofoundation/ixo-blockchain) - -![Go](https://img.shields.io/badge/go-%2300ADD8.svg?style=for-the-badge&logo=go&logoColor=white) - -![Twitter Follow](https://img.shields.io/twitter/follow/ixoworld?style=social) -![Medium](https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white) - -This is the official repository for the IXO Blockchain (ImpactHub) - -## Notice - -The IXO team is in the process of upgrading this repository better align with our new standards and goals. Exciting things will soon come, but not without first making some fundamental and overdue changes. - -## Hosted Blockchain endpoints - -- Testnet RPC:https://testnet.ixo.world/rpc/ -- Testnet Rest:https://testnet.ixo.world/rest/ -- Mainnet RPC:https://impacthub.ixo.world/rpc/ -- Mainnet Rest:https://impacthub.ixo.world/rest/ - -### Mini Changelog - -- Upgraded to cosmos-sdk 0.45 -- Introduction of github actions to help automate some tasks. (Note this will be improved as we get more functionality in place) -- The `master` branch was renamed to `main` and will no longer represent the latest stable version but rather the next feature release. -- As the project is still in active developmet, we thought it best to rename all are releases from version `v1.x.x` to `v0.x.x`. This would make [`v0.17.0`](https://github.com/ixofoundation/ixo-blockchain/releases/v0.17.0) our last stable version. -- Going forward all releases will follow clear samantic versioning guidelines and all stable releases will have a release branch dedicated to it. For example the release `v0.17.0` will associated with the branch `release/v0.17.x` and all bugfixes related to this release should be made against this branch as well as all upstream branches if deemed relevant. - ---- - -> This document will have all details necessary to help getting started with ImpactHub +[![GitHub release (latest by date)](https://img.shields.io/github/v/release/ixofoundation/ixo-blockchain?color=white&label=release&style=flat-square)](https://github.com/ixofoundation/ixo-blockchain/releases/latest) ![GitHub Release Date](https://img.shields.io/github/release-date/ixofoundation/ixo-blockchain?label=date&color=white&style=flat-square) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/ixofoundation/ixo-blockchain?color=00d2ff&include_prereleases&label=candidate&style=flat-square)](https://github.com/ixofoundation/ixo-blockchain/releases/) -## Documentation +[![GitHub license](https://img.shields.io/github/license/ixofoundation/ixo-blockchain?color=lightgrey&style=flat-square)](https://github.com/ixofoundation/ixo-blockchain/blob/main/LICENSE) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/ixofoundation/ixo-blockchain?color=lightgrey&style=flat-square) ![GitHub repo size](https://img.shields.io/github/repo-size/ixofoundation/ixo-blockchain?color=lightgrey&style=flat-square) -- Guide for setting up a Validator on the Pandora test network and Internet of Impact Hub main network: [here](https://github.com/ixofoundation/genesis) -- Swagger API documentation for ixo modules gRPC endpoints can be found at [client/docs/swagger-ui/swagger.yaml](client/docs/swagger-ui/swagger.yaml) -- Swagger API documentation for ixo modules legacy endpoints can be found at [client/docs/swagger-ui-legacy/swagger.yaml](client/docs/swagger-ui-legacy/swagger.yaml) -- Blockchain Module Specifications can be found under `x//spec` - -## Building and Running - -**Note**: Requires [Go 1.15+](https://golang.org/dl/) - -To build and run the application: - -```bash -make run -``` - -To build and run the application and also create some accounts: - -```bash -make run_with_all_data -``` - -(Optional) Once the chain has started, run one of the following: - -- Add more data and activity: - -```bash -bash ./scripts/add_dummy_testnet_data.sh -``` - -- Demos: - -```bash -bash ./scripts/demo_bonds.sh # Option 1 -bash ./scripts/demo_payments.sh # Option 2 -bash ./scripts/demo_project.sh # Option 3 -... -# Look in the scripts folder for more options! -``` +[![Go Report Card](https://goreportcard.com/badge/github.com/ixofoundation/ixo-blockchain)](https://goreportcard.com/report/github.com/ixofoundation/ixo-blockchain) -- To re-generate `.pb.go` and `.pb.gw.go` files from `.proto` files, as well as docs/core/proto-docs.md: +The ixo Blockchain is a Layer 1 blockchain that runs on both Testnet and Mainnet. It is built using the [Cosmos SDK](https://docs.cosmos.network/main), [Tendermint](https://docs.tendermint.com/), and [IBC](https://ibc.cosmos.network/), and was one of the earliest networks to incorporate these technologies. The recent addition of [CosmWASM](https://github.com/CosmWasm/wasmd) in v0.19.3 demonstrates ixo's commitment to ongoing innovation and evolution. -```bash -make proto-gen -``` +Have a look at [go.mod](https://github.com/ixofoundation/ixo-blockchain/blob/main/go.mod) for specific dependencies and their most recent versions. -- To re-generate API documentation (`swagger.yaml` file): +The ixo Blockchain powers client applications that aim to have a global positive impact. The [Impact Wallet](https://github.com/ixofoundation/ixo-Mobile-dev), [JAMBO](https://github.com/ixofoundation/ixo-jambo-client), and [Launchpad](https://github.com/ixofoundation/ixo-webclient) are examples of the client applications that use the ixo Blockchain to enable social impact projects around the world. The [Impact SDK](https://www.npmjs.com/package/@ixo/impactxclient-sdk) makes it simple to interact with the ixo Blockchain. -```bash -make proto-swagger-gen -``` +## How to contribute +If you are interested in contributing to the ixo Blockchain, you can start by reviewing the documentation on our [website](https://docs.ixo.foundation/ixo/developers/getting-started). There are many opportunities to get involved, such as contributing code or participating in community discussions. -- To build and run the application using Starport (demos will not work if the - blockchain is started using this method, and the `./cmd/ixod` package has to - be refactored to `./cmd/ixo-blockchaind`): +Our community is passionate about using blockchain technology to create a positive impact on the world. We believe in the power of collaboration and innovation to drive change, and we welcome anyone who shares our vision to join us on Discord or Telegram. -```bash -starport serve -``` +[![Discord](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/ixo) [![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/ixonetwork) \ No newline at end of file From b26cbfc15fc344186c4f650d69fb261189e9c69f Mon Sep 17 00:00:00 2001 From: Alwyn van Wyk Date: Tue, 21 Mar 2023 10:07:54 +0200 Subject: [PATCH 02/18] Redo from develop branch as base (#295) (#296) --- README.md | 97 +++++++------------------------------------------------ 1 file changed, 11 insertions(+), 86 deletions(-) diff --git a/README.md b/README.md index a73628ee..b586d18e 100644 --- a/README.md +++ b/README.md @@ -1,95 +1,20 @@ -# ixo Blockchain SDK +# ixo Blockchain -[![version](https://img.shields.io/github/tag/ixofoundation/ixo-blockchain.svg)](https://github.com/ixofoundation/ixo-blockchain/releases/latest) -[![Go Report Card](https://goreportcard.com/badge/github.com/ixofoundation/ixo-blockchain)](https://goreportcard.com/report/github.com/ixofoundation/ixo-blockchain) - -![Go](https://img.shields.io/badge/go-%2300ADD8.svg?style=for-the-badge&logo=go&logoColor=white) - -![Twitter Follow](https://img.shields.io/twitter/follow/ixoworld?style=social) -![Medium](https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white) - -This is the official repository for the IXO Blockchain (ImpactHub) - -## Notice - -The IXO team is in the process of upgrading this repository better align with our new standards and goals. Exciting things will soon come, but not without first making some fundamental and overdue changes. - -## Hosted Blockchain endpoints - -- Testnet RPC:https://testnet.ixo.world/rpc/ -- Testnet Rest:https://testnet.ixo.world/rest/ -- Mainnet RPC:https://impacthub.ixo.world/rpc/ -- Mainnet Rest:https://impacthub.ixo.world/rest/ - -### Mini Changelog - -- Upgraded to cosmos-sdk 0.45 -- Introduction of github actions to help automate some tasks. (Note this will be improved as we get more functionality in place) -- The `master` branch was renamed to `main` and will no longer represent the latest stable version but rather the next feature release. -- As the project is still in active developmet, we thought it best to rename all are releases from version `v1.x.x` to `v0.x.x`. This would make [`v0.17.0`](https://github.com/ixofoundation/ixo-blockchain/releases/v0.17.0) our last stable version. -- Going forward all releases will follow clear samantic versioning guidelines and all stable releases will have a release branch dedicated to it. For example the release `v0.17.0` will associated with the branch `release/v0.17.x` and all bugfixes related to this release should be made against this branch as well as all upstream branches if deemed relevant. - ---- - -> This document will have all details necessary to help getting started with ImpactHub +[![GitHub release (latest by date)](https://img.shields.io/github/v/release/ixofoundation/ixo-blockchain?color=white&label=release&style=flat-square)](https://github.com/ixofoundation/ixo-blockchain/releases/latest) ![GitHub Release Date](https://img.shields.io/github/release-date/ixofoundation/ixo-blockchain?label=date&color=white&style=flat-square) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/ixofoundation/ixo-blockchain?color=00d2ff&include_prereleases&label=candidate&style=flat-square)](https://github.com/ixofoundation/ixo-blockchain/releases/) -## Documentation +[![GitHub license](https://img.shields.io/github/license/ixofoundation/ixo-blockchain?color=lightgrey&style=flat-square)](https://github.com/ixofoundation/ixo-blockchain/blob/main/LICENSE) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/ixofoundation/ixo-blockchain?color=lightgrey&style=flat-square) ![GitHub repo size](https://img.shields.io/github/repo-size/ixofoundation/ixo-blockchain?color=lightgrey&style=flat-square) -- Guide for setting up a Validator on the Pandora test network and Internet of Impact Hub main network: [here](https://github.com/ixofoundation/genesis) -- Swagger API documentation for ixo modules gRPC endpoints can be found at [client/docs/swagger-ui/swagger.yaml](client/docs/swagger-ui/swagger.yaml) -- Swagger API documentation for ixo modules legacy endpoints can be found at [client/docs/swagger-ui-legacy/swagger.yaml](client/docs/swagger-ui-legacy/swagger.yaml) -- Blockchain Module Specifications can be found under `x//spec` - -## Building and Running - -**Note**: Requires [Go 1.15+](https://golang.org/dl/) - -To build and run the application: - -```bash -make run -``` - -To build and run the application and also create some accounts: - -```bash -make run_with_all_data -``` - -(Optional) Once the chain has started, run one of the following: - -- Add more data and activity: - -```bash -bash ./scripts/add_dummy_testnet_data.sh -``` - -- Demos: - -```bash -bash ./scripts/demo_bonds.sh # Option 1 -bash ./scripts/demo_payments.sh # Option 2 -bash ./scripts/demo_project.sh # Option 3 -... -# Look in the scripts folder for more options! -``` +[![Go Report Card](https://goreportcard.com/badge/github.com/ixofoundation/ixo-blockchain)](https://goreportcard.com/report/github.com/ixofoundation/ixo-blockchain) -- To re-generate `.pb.go` and `.pb.gw.go` files from `.proto` files, as well as docs/core/proto-docs.md: +The ixo Blockchain is a Layer 1 blockchain that runs on both Testnet and Mainnet. It is built using the [Cosmos SDK](https://docs.cosmos.network/main), [Tendermint](https://docs.tendermint.com/), and [IBC](https://ibc.cosmos.network/), and was one of the earliest networks to incorporate these technologies. The recent addition of [CosmWASM](https://github.com/CosmWasm/wasmd) in v0.19.3 demonstrates ixo's commitment to ongoing innovation and evolution. -```bash -make proto-gen -``` +Have a look at [go.mod](https://github.com/ixofoundation/ixo-blockchain/blob/main/go.mod) for specific dependencies and their most recent versions. -- To re-generate API documentation (`swagger.yaml` file): +The ixo Blockchain powers client applications that aim to have a global positive impact. The [Impact Wallet](https://github.com/ixofoundation/ixo-Mobile-dev), [JAMBO](https://github.com/ixofoundation/ixo-jambo-client), and [Launchpad](https://github.com/ixofoundation/ixo-webclient) are examples of the client applications that use the ixo Blockchain to enable social impact projects around the world. The [Impact SDK](https://www.npmjs.com/package/@ixo/impactxclient-sdk) makes it simple to interact with the ixo Blockchain. -```bash -make proto-swagger-gen -``` +## How to contribute +If you are interested in contributing to the ixo Blockchain, you can start by reviewing the documentation on our [website](https://docs.ixo.foundation/ixo/developers/getting-started). There are many opportunities to get involved, such as contributing code or participating in community discussions. -- To build and run the application using Starport (demos will not work if the - blockchain is started using this method, and the `./cmd/ixod` package has to - be refactored to `./cmd/ixo-blockchaind`): +Our community is passionate about using blockchain technology to create a positive impact on the world. We believe in the power of collaboration and innovation to drive change, and we welcome anyone who shares our vision to join us on Discord or Telegram. -```bash -starport serve -``` +[![Discord](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/ixo) [![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/ixonetwork) \ No newline at end of file From d45fe9fbbbcb7b7cdc72c6a4973c077f53c8ca80 Mon Sep 17 00:00:00 2001 From: Alwyn van Wyk Date: Tue, 21 Mar 2023 10:21:46 +0200 Subject: [PATCH 03/18] Update README.md JAMBO repo name change --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b586d18e..4b3243ff 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,11 @@ The ixo Blockchain is a Layer 1 blockchain that runs on both Testnet and Mainnet Have a look at [go.mod](https://github.com/ixofoundation/ixo-blockchain/blob/main/go.mod) for specific dependencies and their most recent versions. -The ixo Blockchain powers client applications that aim to have a global positive impact. The [Impact Wallet](https://github.com/ixofoundation/ixo-Mobile-dev), [JAMBO](https://github.com/ixofoundation/ixo-jambo-client), and [Launchpad](https://github.com/ixofoundation/ixo-webclient) are examples of the client applications that use the ixo Blockchain to enable social impact projects around the world. The [Impact SDK](https://www.npmjs.com/package/@ixo/impactxclient-sdk) makes it simple to interact with the ixo Blockchain. +The ixo Blockchain powers client applications that aim to have a global positive impact. The [Impact Wallet](https://github.com/ixofoundation/ixo-Mobile-dev), [JAMBO](https://github.com/ixofoundation/jambo), and [Launchpad](https://github.com/ixofoundation/ixo-webclient) are examples of client applications that use the ixo Blockchain to enable social impact projects around the world. The [Impact SDK](https://www.npmjs.com/package/@ixo/impactxclient-sdk) makes it simple to interact with the ixo Blockchain. ## How to contribute If you are interested in contributing to the ixo Blockchain, you can start by reviewing the documentation on our [website](https://docs.ixo.foundation/ixo/developers/getting-started). There are many opportunities to get involved, such as contributing code or participating in community discussions. Our community is passionate about using blockchain technology to create a positive impact on the world. We believe in the power of collaboration and innovation to drive change, and we welcome anyone who shares our vision to join us on Discord or Telegram. -[![Discord](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/ixo) [![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/ixonetwork) \ No newline at end of file +[![Discord](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/ixo) [![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/ixonetwork) From 00151820f240cd9b1ed3db5e785877ea11a3a7ea Mon Sep 17 00:00:00 2001 From: Alwyn van Wyk Date: Wed, 22 Mar 2023 07:01:08 +0200 Subject: [PATCH 04/18] Update README.md Developers docs link updated --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b3243ff..fa40b2fc 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Have a look at [go.mod](https://github.com/ixofoundation/ixo-blockchain/blob/mai The ixo Blockchain powers client applications that aim to have a global positive impact. The [Impact Wallet](https://github.com/ixofoundation/ixo-Mobile-dev), [JAMBO](https://github.com/ixofoundation/jambo), and [Launchpad](https://github.com/ixofoundation/ixo-webclient) are examples of client applications that use the ixo Blockchain to enable social impact projects around the world. The [Impact SDK](https://www.npmjs.com/package/@ixo/impactxclient-sdk) makes it simple to interact with the ixo Blockchain. ## How to contribute -If you are interested in contributing to the ixo Blockchain, you can start by reviewing the documentation on our [website](https://docs.ixo.foundation/ixo/developers/getting-started). There are many opportunities to get involved, such as contributing code or participating in community discussions. +If you are interested in contributing to the ixo Blockchain, you can start by reviewing the documentation on our [website](https://docs.ixo.foundation/ixo/developers). There are many opportunities to get involved, such as contributing code or participating in community discussions. Our community is passionate about using blockchain technology to create a positive impact on the world. We believe in the power of collaboration and innovation to drive change, and we welcome anyone who shares our vision to join us on Discord or Telegram. From 1126d4f70de5926022bb5078f857477c98732eb7 Mon Sep 17 00:00:00 2001 From: Alwyn van Wyk Date: Tue, 21 Mar 2023 10:21:46 +0200 Subject: [PATCH 05/18] Update README.md JAMBO repo name change --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b586d18e..4b3243ff 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,11 @@ The ixo Blockchain is a Layer 1 blockchain that runs on both Testnet and Mainnet Have a look at [go.mod](https://github.com/ixofoundation/ixo-blockchain/blob/main/go.mod) for specific dependencies and their most recent versions. -The ixo Blockchain powers client applications that aim to have a global positive impact. The [Impact Wallet](https://github.com/ixofoundation/ixo-Mobile-dev), [JAMBO](https://github.com/ixofoundation/ixo-jambo-client), and [Launchpad](https://github.com/ixofoundation/ixo-webclient) are examples of the client applications that use the ixo Blockchain to enable social impact projects around the world. The [Impact SDK](https://www.npmjs.com/package/@ixo/impactxclient-sdk) makes it simple to interact with the ixo Blockchain. +The ixo Blockchain powers client applications that aim to have a global positive impact. The [Impact Wallet](https://github.com/ixofoundation/ixo-Mobile-dev), [JAMBO](https://github.com/ixofoundation/jambo), and [Launchpad](https://github.com/ixofoundation/ixo-webclient) are examples of client applications that use the ixo Blockchain to enable social impact projects around the world. The [Impact SDK](https://www.npmjs.com/package/@ixo/impactxclient-sdk) makes it simple to interact with the ixo Blockchain. ## How to contribute If you are interested in contributing to the ixo Blockchain, you can start by reviewing the documentation on our [website](https://docs.ixo.foundation/ixo/developers/getting-started). There are many opportunities to get involved, such as contributing code or participating in community discussions. Our community is passionate about using blockchain technology to create a positive impact on the world. We believe in the power of collaboration and innovation to drive change, and we welcome anyone who shares our vision to join us on Discord or Telegram. -[![Discord](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/ixo) [![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/ixonetwork) \ No newline at end of file +[![Discord](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/ixo) [![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/ixonetwork) From c9653e387432d34f81cbfd0563b1569c4187a09a Mon Sep 17 00:00:00 2001 From: Alwyn van Wyk Date: Wed, 22 Mar 2023 07:01:08 +0200 Subject: [PATCH 06/18] Update README.md Developers docs link updated --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b3243ff..fa40b2fc 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Have a look at [go.mod](https://github.com/ixofoundation/ixo-blockchain/blob/mai The ixo Blockchain powers client applications that aim to have a global positive impact. The [Impact Wallet](https://github.com/ixofoundation/ixo-Mobile-dev), [JAMBO](https://github.com/ixofoundation/jambo), and [Launchpad](https://github.com/ixofoundation/ixo-webclient) are examples of client applications that use the ixo Blockchain to enable social impact projects around the world. The [Impact SDK](https://www.npmjs.com/package/@ixo/impactxclient-sdk) makes it simple to interact with the ixo Blockchain. ## How to contribute -If you are interested in contributing to the ixo Blockchain, you can start by reviewing the documentation on our [website](https://docs.ixo.foundation/ixo/developers/getting-started). There are many opportunities to get involved, such as contributing code or participating in community discussions. +If you are interested in contributing to the ixo Blockchain, you can start by reviewing the documentation on our [website](https://docs.ixo.foundation/ixo/developers). There are many opportunities to get involved, such as contributing code or participating in community discussions. Our community is passionate about using blockchain technology to create a positive impact on the world. We believe in the power of collaboration and innovation to drive change, and we welcome anyone who shares our vision to join us on Discord or Telegram. From 5ecdd6b0b14e42261951371020c6b0faa4f42331 Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Wed, 22 Mar 2023 17:24:16 +0200 Subject: [PATCH 07/18] chore: update readme --- .github/assets/readme_banner.png | Bin 0 -> 972689 bytes README.md | 15 +++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 .github/assets/readme_banner.png diff --git a/.github/assets/readme_banner.png b/.github/assets/readme_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..a0a5f7208789b8bca05d6c8c26155f2bc912430c GIT binary patch literal 972689 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


rnM*M2nD%tzoN zUK>wThEJK=0UaH;fE}S0i?e_LUWAv!m_uR;ala9OZTv&iPQR ztylQ^jP{WZdH(fv2=lsgSbhPU>paFl_A-}Iq7|dG&IRItP0yHVyby!Ky)jUZLq~Bu z7v0s{{AkXhjBap-ZF*^sn-}v7vFKV^TUsJyt6XD4EXJ|1t?wBF^P#FFF~uHZ>zSXO zyVTwJh!|z8M+d3)Q%eRVesLb~Ygp1wjx?vv1tBxE0HmdhYd7rSJn$nAGJpR89IkI# zD-&zO1#*bJfbLgSxk!{;$B@r>0f#=xH};S{NAKod?cu((j!k*v;~AT9fvr$n8#-rr zF+$!mzOXfYv~6=|uxWFy2=k2V<_2xiya=!4qbIt1PuyEyVf(2EX3M8%3F#O1XS~{l zPEhNY;uIOe>TW>zzB^A-!bT^*X4jnMd}OXLp0u@Nz!&yVx7fO&PyTkk0~3-Px6vCb zab{DYO*+3mRvzNGF`&;GzZk4>2yJ%|IX5*HwFi~vP3Hk$?iU-WJM6LboAdwT=xcr0 zV=j6*E|e#!_HaIOytrPm-mjE0_m``NEK+D^es(PSe8I7QaU>2)HYqCSP#=ON+galp znK;d#91dT$`Yd}$t6w-?Tl+QQtWj*l1RTT=W2-n(ckNs3iDS9yoZ6@YNA?DFMI8E2 zn`_St68kzYi`f{ozq#GDoBS0uZ+04cNUIGy?*xZ)oV>#!^DW|ebTpQzcP%8X^J75V zC_Z{?Gkt zl|6s+hqsJVujI~~$@@=y1FL$v>O2>6-~ai+GlaAmU_L;zpjk0G==;B{A!YJXTxk1J zg_HXm_&V8`46f*GFB%=}agFAaLIP;74pjBDgEga+MaHqdGcz~vpP65iXfh`U{Sv>{WOAybvm@{jl7!0%@d1`K0>J`DO#!s!qWcvsfeKmUH>FZ(WI z_tpQ8|84A1oYH1e{Vlw;`Poli?i>F;)b4bY$9HHi_D1Nuo4o&wJ>v0-gE7G2Q-tIA zc*elm;~(LWjr1(Ezwv-cKfM{RGx28+Y)BdQ60(OqK8UB52H&B9kV-3Qw-x{VhncJcpe-o+%U_4dFHC~Q zvnRsD=m%rQ-r*YJ!RkYooutGJn-=Zr=p7MMG>0F1Pdpqm##iw6BA;u3ufR@Z{OU$_lq`T53AEj{Tz#T+@3fX zgN^}jiMO}1TmU!*9A_zwN??BH`3dHlE~M0EZbDb>;Q|*)740Oe<|FK3Jrym$h`Tp0 zY*8!L=_4^GAOHE^npj7!_5epY5*!xD?4vE;&AmQA@bZNM9gF4>xhsHDY!#;MeeXSK78oC`Taima(-4v7jyp;UjIQHbCKoaM`GErEzWgrnZY*V zea5Z16O8&TTIbd!79}T1AH?d70b9zEVElO2O?nl~;m{s)(Sn*ve)b}O4_Q6lFnR;? zyYv4OA6D}EPx2%5Z@-?orxPFTNxeRuPwUYOKXl@Pt>$iMs^Hbbg&hOtZ0P-;T+5;B z31ij1@*;-C;f2pR50Mx;eQbO{+XpGm9Qws)pFp1tq+1uZHTT|nMV-vi&~}oieJsX< z0$jhfj>POWFqVG?$ItM$U87k9dyriA0FJDV$SXK zcyk`WFQQF1*f!>!Tg>hJ6_44PJYBAysHu-&%=!Lm2yBAS1wqw$K zy5}&**1q$BG;?U2)E@DkM|rV@KPY;iYaPyu_|UO{Et@+Si;i87Z_d#ktrN8~`K)oD z02&+vo?BwC=#t1Aba$b78t7o$d9mA~eJ#ZvIGk^tAN8r|%`=T#jtBH??L+)~ZW#yP zoOi^0=XB#h8tCYp?^+T%*~HuY>xH|c(?2$92XSN%D)6~^*Z8>J(?>QibUrdiK5M(h z;T$Hv0B%>;sM_zf-gBJ?2Xt4$0q@Q&#X*BSUE}L}c|3*2o~29fduiyowVSI`53;t# zUgJfk&0fV`&kB6)kBrus(DuwI{gOSzp{>EOMNW2YzSw6M#$D+8oSbk|(e+6;abU;t ziAtI~oXcZ&lwc(9`@zh75HVk^BF_K)#~=Q;|N3um_+Fs={5#^8!D4}z$ucK(;e$Fa zV4M&qkfK$XTO8mj<;&oeRv=EkeTulekKQf8QP4W6S^Na0g)p>gO!wi#Mh99UZ$8@V z6Jr+`;*eHxzAPHsVD?ikE2RNPgF>8@mpvezqS^~+M`dZq^EL7 z*+0LC1AC;u`k7GDF>>CvsG~eO@t{sR7ibE~k8qZ`G}+^DtSnAYipOZFtGLAv+S;UI zn^j+MSaC1O(a~f4QX+StX}^keSJ=NX;0Y&(T^R8MR=YenunCx*U?WI?BU5kzuZG@3l=WoI4<5e(J#+vhn3LDgo*pf3E&V* zw#(TKXDYCV3kmAVH{b~eegQ|5@qn&xw*YGo7rCbo_Lv2iF#xtlNA~0ejy^e}K3kBR zOzONP-Zyu_duFl?<~I9ArvkGk#zaSU8MkU#v?tOsl^=lp_h;^=D_o14CM zL1c15G~gW@B18Smhl~Mr!N^_6>>}6N!-i*J=~y(Tvn}-I$R;vut+~UZq1o5A1pont8lQ-w)h7}KZgpFE)w9EZ}_$ol%*ASH=&#N)KC5jV=Owcdr~2PIPe-h zJK3>6xYb{KghR6X5F(izn?ITtC-#cPF5D51@RqAQvLm*RH}TT_|Pwd<85!n_(VT%`N46%^HJmExxfq#?azlAja%0o`b7HGwOH{YuCcBT zzB)4ywV23G>S>&0YyHAWkjIoUpZ=$RewneT>*hlz^ZoEix!d=b1dCJhH8OnYxfk!g z*iA^v_)iwX#>TIZYf!k(`4cB*#(FMC_$IPAP zYil_f ze+|((b7>c!XqvB5i9r&+#?u%;hIt9PcEv3#wj( zfTxUMXOuhknup|Vah(<++zW`z8S)k{MZWpHdgo`xqCL7; zz(pcx=Q7anO-=KxRK(NZB3>9@bKy(e^rs)2i3j6JTI1u){Vn1Dp&VUk<1NBokn z?LHSoT)$y|=>l8}tjyI^Xlv^|e(W(gsGXt>U0dhF;T5eHI^ZqG?7&_k^s%wwTGH|7 zJl;AILi8A$4sCLkvN-xc%Q;3};T=QUlVVQ5FV02VHelf>7w*aIV)N$gF@5$B9=7eaM{`$!SU7F8TMqJWYj@E-09P;iq zS~~m^$8?-`c{#6?BkAvXnmI>avR2;Oec}|mId*MOhj2u+v@}_?e>yT2#jZWNW0yWJ zYvpLMN9#TKmiwq|?ZySfiMe4dZIa;YHv6&DnD9Io8IG?n#X9q~V?c$pJr{AzO*8(e zl^NZ-a0~D59=mmqYeUDu#*5u6+9sc?j`rANbBMZTylO`W<5K#Gy?1_XmlX5Y{|8Dz zvB~+u*%6=(dIn97)4?~X3}XqmD4SiC)XDOfcTp-s z`MF_xbuM61gao2tvWP@4MV>m{0C3P4VB+Ya#qy0@!iZ-hj;nw6KdW|cc&n2*^qc|9 z{wx@rMjPt1!5e$@iI+4wN*pFd9V|xSOonx5`d|ZjR35*qj@g2?n&APjxpn?<7~t$X zwZ~U35EoG3%?8>7I)8R9+Ld*@S5!U^1nv4ieHNqj`b^AjT?nQZyw@Hre%Bh3SETim z-}vbx_Oa#I1Bx(6xtQ4d@JfEii=!s^{36iPMGR+OZTBojN>x?&UGrZ2I#?RtC4ZndfLFAny*khl9wSYO>^63Ex!=w#6o-d7y(9c@U!rPPB5*W#~ zZMaFS`V-oIrNU2qOy2p$MG<2|vCs^ZIn_!QI#y?Yd27?xg7Ly51MNZXDEXdkj-&m< z0u07L7nS&^{$Y0cIzEGMMIFSELzAsoB7y8@r=v`98M~g*bL4Q}= zZ2!yE#T$BmgWgX(gL!{ad5I(%+AG=@_;1T**@lK z&=q@f)_>a1G3>BU#>5hYibKDNx5-V6Gw;3!EaN~e&pO0ARs7J**mB*4&+5~B$)UMOc^sEd9g}-@E97tws4@i93zr1J65=T#*j;*zKv04w_!08x;bK^W4We<4` zksEWhUxRC%%Km%#0Zfg5X`$jj+c;j-5}TcE>`N=JSNYn5+Uz?yfrG|v7tD}zxk(J+ zfVPVi%GU6on{q&*vZZXL!cFMHPv?!w(wPF4I?pjIP!BF1W0_qu8GV=l^ z*q|4a>y`Oh_{5#9it$3`2t-oz09$yzkwZqS!Fu};k3G~6do;K2zVokiukl|bnE%hB;`d>FsW z?scnmTwB%OcE>FT`2j*K{wae&Qw}gb;O9IrGGNXY8Y>2nOic5{OJQ5}lyLVdCe z9NNSoWjacujO}BcI&IvyHq?&tI4T0KBkOESFZZ>FV|ZvEp2yp*w9W6(I4*0Ge&t_Z zd51&4Nb9(qu?X?s7j?sCj)3Nr_LuBfUpy#I9O(sp`x4pkixLiWM0RtC{&6mN;$v-L zH)zXk_}tp|v(0FCFqGmee#Qql9DiLHcHA8A7dW4?cfC@c(l*B4a2y(|j9oArL(1_F zdfPA0Jgfm_JhkR^tVwRisQA=;9yK?`kd@nlG?T+9Q0Y-$#`v#Okv8A_xRexX6=;QJ1n~uYnb(mFUl7@ zpY)HPA6+Bf{_vO2NmQJEY&&?Q-U_zT9&dKV{PYpWCoiirFkMMJ?DVM%aW#0QeTWnFB-PCc(Mb{xw!3RWYf7eVo*!Y0 z$<3tpNv>>*8(&Sh*d+DOpL7VuybaCT@tYF?$=16vnuPr-MtUn`bQPXOZAXrJYLlt2 z-8YVRv+ZX;?Lp~{4d8+ze--dwtX9HTJ8G99|MdLGb8@u9yowchyLe?oZB6RGLYPDt zgC6UbY&`au^A zn1)y87AuVp7F6@;^G<33I(ZOtTo*CtaF520O~|%-CgWCGb&-d-E#QfchLA+_VsCkB z3rOcHCnt}3N~~tD_c<|uhK3&YtU>&b{Dp5Esni~e=hGjtqLWf7wX+}A?PHE)cQ~#L zHtA*`{5^Tby46)aTcS%hDyZ*bmTl28!mLBS+O{C6s{+NLFZ?r3$1irJl1{`G*JY}D3fSrpeiToet&xKX>NDu;|gJ^LSMUuy? zBMgL(MNsh8u|1!A9YMs_Xqpw#Y``1E*B z06S18?JkWk8CtUS)}5_w6eE9ZvZEJb{92WI%}ZW7U?c&!eQh4=7P1PUD5F|wY+Z}D zn-rihM{*Kz2?pf_O%^#>}?+p@2@I}sFY~!fh)&a)KQ<@m6_~kfBZS@2e?h@J^Ild z-lA+i5JLp=4=pkmxA2N-w&uSp^5V}Di7ecwe(X!T{Z1gQ-iK4ZOKhZInlU#Y;09qjflB zXYJwVSVC)GxB4(Y%3#L1ki0xF`FeN@t^U$*Fdvj!IZ{R@eI&F<O8-;7RSMD`vrr1@aaP{UilQto_xZt@1f2HRIqK)Ty0|j06+jqL_t&yAu&9y zer4^xwDZ+UdMe|UV7k>O^Kv}7f}KS?-Z5!Dleb7xLn_Md%c10ogyS{@56K)#XE)vi z^YC3_tG9ofqiqWg7fDxV7kH$Tbrw5a|0hdL)AN3`k^3pPm`$g?{=OXfdZOcJ$D`vK>_>kqlqEf-|D!aS#fO5j4SRyJhvV-_zyVhN5?b zJvwq_UE;r|ItBpfgh-y$-O16H9?;lU7q^3Z?6EpcBeD!`Nqu)`XvddZH!Zxw_eIwy zChTj!XS?#pSWoZa>7hDW{sI51yH6g|L%QR+y{?|>(N&tmQRN=n)#E8$c|Cu$@ZWw% z;MS@weahDH+WVy~Oh@PzzOyLuKzmr|P!_S{z1+p(kFEa^?=OO)m#1+u+L^HQ<&UE~zuBAc@$Q}$ByMS!|0KIXTx!(bG$?;|hYzGls+0SWb#X)<@lrP% z+{US7cZ;JsY-c~g4W^$i{WPDXef;GweA?w?F}mhS{mH+whOf4)CEoh`CMs+DRS$S) zlWcQ10vRv%;MF@F^qo9L=2UZ>%(ahg>N9|+FEX;9z!u*%j}VUJ&Bm{i4C3iJ`@YvB ztUZiUUiF#!XChgBric2=SH|KJ|0k!>=0N~&Y@r=InPc1CLIdFOyD+8-tHHBp87=R) z3rBgB=*UAJ8B6&c!*m;W6tvj5<8Zr;rt)OZlkoaQKa!KVxMHAQdmOuHsap2xF;hN7 zi$gk;tl!ygyuY2{J*V@G~b^sg52`3qF4K2#ewU zZXSko_(mw3v5Bl|8y<5@wT<%G4LtR%eSC>Cxzv@*ZgE$)nAI+0yWG2ds*sJeHd_s?JgoR}(4iEepiYy2_Zg7?XfemhD<{qS(#1B!lJdh4p?tvx!3qa%$4ZSBjqeOi?uP5g_W zJ)RA|gtAzIt1^~Jxq%p{fA)h5ZM~q+qHJ>oyu_Dx#U&j1i)9#6M~(b!pw3N*vrSF* zc;xF>iF$4lTX9UjxqY`bj1>&m=o5gokulGI8Ow)7Jkq;;_$h<~-mF&#FH~)>@F-#Q z7~S$q4DI(>Y{#5J^ToHiHCCtNz6*!mr=N#wKX<3deQ?Y%`{{W7e$hNcu(jPbLC8aY zTfyeqI@-5r$9G{`TfdUT@2Q}JG}kZQ%CU@`*}wOzW6S?U`cPi4p_K083cBoZbjKrv zD`n_E`ws0;#HyxjkKXw&f%IE@#ORatu<||DzJYdWzheEArAa?&hRT%)6d1`*icEn8 z?k^=l!}m1j0XyvX>SJ^5!a$opYvBQM@`PSc$@ zSFihi{n&4klhl?;GvG)^P87l6_b|h!?3G^vNd`@QUw;qmcjcjXpi;?#EWP~7R<`ze z1K2QIZ+|x?zO`?^Y@?sW0RCABNwoCrLEL|sjR%|jZm}|b3-k41D;Vv2w%+Fr_;ZM# zd}nfN+28^$8rrqt^?Ufz?Q>Qi*@Cd$yC(v2yl*==`u=S8uW_mg&J5Z7`l%N_&Ufr<^I`?!Y_QDRw+?&sOsU;B_GX10{|Aa#z~T4aoy4lg z)+NH|ml7;Za?-j8Kz^TG*^jX~N!~#vO>HmFIu?NMP6i{7P*^!FNckq0Iwy>U-hZ zOq)C2BGNCPuk5GZKKCQr`8*(Ky`Tlz=qF;9d-k_zgDpLDce3YS;dsW58VEc!7svl`)K04=`anaYaDvDPs_dLz~Rj80%q?@auU&#*#Xs z@98I-@{RUaPCBwL2JNS97VG#C^7KZg{I0k!uc%|%VSdpU%9S_v?HAY3`MtQdM;+fp^b?6n1pYS?{nLnDR=;L2@hCCk1F^KEUHXf1QBg>vzUN_=KyDXAE?cRv*s;Y@s5qlWlH*c22m&4iWtvL)yAy z^K*WqUAt>A>7qcs`YO-6^L)01E!O!0QyA+|C+hUEEaX8omuwCS=Zqn8sKm2S? zHTSElu}8a|q6vr{JOYO__@X&hTd$7tp53uux<~6V_^^$A+RxvEAuQmScylf!W*vv- z9RI{2eqZ{4x{C1zjsn+xogfXRSO`B|#H}wJ582v&@}Z>Lbn2b4@y#)yKa_pB3EPAr z^lG5w#et6M>IYiy;ILIoU+xeK+C}4huYILyJx<#*zp_7;vQ^pW-*_=TK6B(ysp|gS zq)_aw0h$-Z01)ZiS^nzP^Ojt1(%1Q@{Ej*|cWy8IrTy3E8+&h#WAVuwy|aREI-fe% zhKJEudGeSLAUh9sH;MLupBkrQJ>daXOYaD3%sn_3lfGH`YY8>0U$`1m9`kCvZ&SRN z&MMa{@S2Odj!R+>S*l}Su}Cd%BeFHs>190X8*THHy!#wAUSdZ5gURN!j&~?EpE!(D z=MHEc6R-9Q5 z?&7b;mUe@tuOJ^LyPtlxg1LCmclE>H%FiD5ANuJdEj7|Ej`j!iU|0T@GJ}3mPxWGd zVqXi7pJkJ+ZHI2w)r*lT9(Me{{~KE#c7fr4{E6(tZKi^jqaY1V9qv=hMdh&oom~AM zTr_fDdTIO>2x+9v*Z}mqoAl8jQ)qMFr_TGtX7@|N;1Gk0C6AB)D~>bZ1=jOjKY7~+ z-r=}k1dunlJfRVDI*MZXn{xeig#C36tFwpSLu=6{skCfO<{F)+$+xJsFMMt4StQE# z0Qwo&1c6Vq@5J9*c(H}a(`Ozy_$qbaSR5?Q&K}A%$i?e-{bVd@TWHn4C-FPL21o4V z-83SpeRvrO{|mo#;*TE+a{6gIC-2JAO79cMeL{TwX>`Gn&#}qX9S-%`UjzsTxZp58 zf3ZhxHu$RtEkeO8Fk?^s&{LQbBVwW5MS`(+GQ$DhC-&+vw94%%{|p3UOX}$V|>M&{}<@(DNC9^#ahd!4djEimd z6=K}^^m*H|$19HI8*bVUhy3ItX8T=yKps!)j7$B}B;z6kTu!0*{PW}#9)}4G{^~*Y zm$xTN``uWMhAs8C=Ntq6LgVw&`lV`!WW=LFrj2XA3LDjSUiZsi^R=G#3Cep>UMIC|IJOYGXL(J zp}6cO24DJ*xYmE^UVQAc73e%MGPI37?a|yx3`uLhofkRah?4&SMed!4l&ganwKd4&rCRXWi}^X98z0u~Sj>Lfz*x5!*T%yOj{NPoC`WF8c-$Qs;c#vQm+{ewxL>7d zEGlmGwEc2Z*f_>^@|ov0Pzh~CT62-}z_U(ZIRozEL!8oT5bXi}x7G>JlY1TOU8r;% zN^86Hy`V?#{4$K5;aL3?tgRn9nb1aYES6W{C9Z7ZSoG^&#EK6)Hl90yHGX~O*p^#B zPp$_?^}g#g_-~G@ej4e|^J&B#iIv)e17fKYpl!=n^v5~8Ad{c?#l7>h@o1TaKXk?_ zbs@>``uwl`+R+%)=EG@E%f#;vr!a?4I&m3KJ)01Fi<$c3BOJ_&{Nf@Ss1CG@FXqK^ zf^>_ym}TsJb1Xtrj+IvYjW2yJgVoQix!0TnALsGr4ejB)E2Z_xVCzYh_T#uyXff+Q zbEN2`s}nw^t(@Rk5MS{@tn8X%F5JV@xUy3@!3(fZVP$=$(7t ze1Pxrwl0j=u9GBVPdtmmMY=gP`=nlPN+loo&}wp@d?{UE$R1<6?%cFZUd)T-YDpg) z=njtUEyw&54)S_-aSS+zszI^mcpJ>E8RTW`fx}&ketDO#aVyuOH$Ge^=|_tl%*WaZ z-tzU;9clLQM20!{N8~3nU`QUL3{8Xdhqk>&MgM0S}FNk9e)kF8F3>#cWyZ+Qa$6 zbqM=$H?GvryjESH*{6?dJN+o7a?=$a(j#9=eKv83kHuj=x33tq2egg1*h-6Bd6^S7 zSBJxKZhnM5o^h{J<3k-ifoZd*eb5 z!2b4^cx7z&1Z%=>;fG@qvckN$vx-xLC?x10Cu*()M;kZZbb@X67nBAlU;$Jzq27O+ z<>Sd2G-E)k21mSGkViNj0i!6Gsi1liA4paJ0aY$KudI(tj!H2orW_vw@Dm3ejXdBLGwj<;Lw;{pk64)n%=bxvY; z!7RSe$}=45xO$7t6WA{}kf&d|0KxXrn|*ob7jdj_4~KCXUuD5UzlekQbMiRr6+2E= z(z-Yh3OM>?T;BAPvn*`vQ*h$gge4Cz;B<97pMzZ6JZ-L!#Q{8F6Ud?aqi zvbH03=4lI~YIg;g1He2BLTDYE{lKW)8eqM zxl-Df99g`H!3%)mx32}g`qii|AX0m6$oxisEIzyiNL_Qj<0bzljXtzxYp{tK9%Ndx-! zfaMma@{|>Hj#;rhwxeEKyROkM$SiJXuhWfz(?u^Cd##(exHq%I$ltMO%=kC`iGgyY zezDGCtDi(pPEbe5JCVCFkZ!}JF5nm?B;@4@sCA72Y-QcO4hMW?W9foM^P=k}Xe-#m zu_nFc`fFc*Znii@PT;nWx=XtDaGaNuTw^&8YFF!|a*fbfwvIl6@#MiZs;_DXp?!>< z@?#um-m&O9vi)og8kqS@TIQbaiiK27!(lv`FTf|~_!Ud|U2N%2i#qCabM+!|+xTy7 zqdBaZIzPPpW*#$EsGmNdR%fwGtH8zp`PVT3Mq?=rZGRmD>0%6M>%k#kZIYerMSrUX zw@Azh=;pk!b`41Cmsou++qAV1{8P9(J_A_ zL4@Hb_LyHdhZ#ESncuXBV{BtuqjWBzU&wL#BQ2GSJ$%)Z`edqC7n7VrhqLq|`bK=T z|HPj5z(&MJacl=lzL0k~jF;h1ZZht$$1xA5bC^EAz9K0ncu{NOL&0$uB)qkCAcnh#*MtO zQSm{WHlv&ODzA?vLz1zhR z=ISM%*z4Rx3{O2WrMEa2S~RR8L%7 zkELbLQVg?gEL$P1apd`MG9T+9cH`sG^=SICd@c<~JM87Rsc= z+wD^?4tSbx==b20SGGg1jSu6vyx}_h(;n|!EbdpU-hTK${_p>Qn&17@%8W4HyNZ@D z4s^729;<=-PvJm8EC32}m2!YPNNj@cliWRNCva05hg`ruEZu1&$zZPF7Kj<_3l#^N z4;5`QSbEV<4AqH%5(wYKwfOp!i{lN7=t4Yu^Ik`~c}35@@-~QY?mA<+#@c#=OB_iy z$V*7#q}WFu6}BGlB0gO5mNMQ)M^(GLv0zkgcR1W2Im`)IT6Anuc7bW%#W8%RD)Qs& z!P!Im=<`c3wnfLbA`W#NKR$^u+!DM1v0w4AwDCqq^*ge9sMG3xcU?%Ej!PRa`O}sC zY~abaydJ;M=Wq?_yvr*bUTLNL!X8uUyS$`Trt$Q`TO-6-k6`~8E^of zCRx#C>j-$W4889q#_Tb+ZQ?`E>pL`bA(+ZV=;kL^Ejs1&Vrwy2)YsCn`ZVbn1IDgp zZSmlsDtl;aW0hku9_S7EzYDUsImKRv(qMG_pvApfu?eG~u#?Y-X#&+;0Cum!rP4G_snCGB4 z?$yxuIF1bCNIzN+j$7zQxs0z5B+(YH`XpQ1I(C!E^(!xQ5)Br0kv4wP*JZYV>GpAb zu1y37ZHx6#4OzPya{bc9KAXI_8~xZzdnB64oyAkUBrIFG*O)G*9Wzx- zox){9)iYik)095R(}(iZeiHE(KMCBSZWafVBjY1x=f1%KFgl(^m+?nyYYO90!GnADXj3jc!eU#PXOT0Vku8rH zjXf?-^R+QTyZn5YR(FL-KRU)8yX!+*Ap`Rnua0(-*8b3TaY?ypKC~l1#-Dv#6k0Kj z-PsXXnDcM%@i8P|NUj$b(9!59W{e$P%Cb|w5T9RO7i7Rcw`}EnZ zgtE$~(B`Xf?EFI8mGID(9@-9BNEmxiKX;)fdT8qF8$FB*_jtQ!t~JgP?!2Ub(wlw1 zA}D8%C;!?J9@4n=MVs@v580oKO0;3Si^;K}WJ~YdR&0vfdXBZVKBP2MXV=E~G?%ZB zrL~MU!(BFLoekd0)#!nO%|#MY++<(03HEYm+)_8PF81t^wH_VQ*?dFizE&r07?$52 zUL!*^vli0UgJbfpQjisR_uQ8Ud+@F_FMP!z;K5#RFd0wti)gaY2`JJ+d^6!e8dCZ;!It_?A&#Z z9>CcnX3$74M{pD)uvm+Q!5$W6YLADPm=V|q5cMCMC4u@`+n7@&GdI~^r7X}!sNCr{ z^ARNW6$?E5Uzl^;fqdYrejcl1du#jclE&eX&nJ%8So%a0qLHBw6dW#X`ilFt2m6uA z8=CC*N=x;$jIQ#{4{X=g!vG@rJOv(BNb5`a#Q78nJ-&kH;5B(~eY`ld>KC>h9PhEm zgCkoG^+~v`wky8UQ9tqz{ZN0RX$^Onf!7COVLi&j>=q`*!rEhEV0}KV%YRT5A<){T z(s*I7in9k%5INN0Fe)I?9uE!)IGOnVyI=9a`oD7_=l}W-K>XqHGQ=4avPwc>bTX(^ zW{1A5v5)o>VKq}NnR_p^nU8_@!ZzA@6C{Q{C9PbAru`qhNBa^aPJ$IAWR*Qke-rzQ zWOd~4Y9tv$Zl9e9JetX4lI^z6hEDZ!(MK6aQG<>Tv&VZYNuy?1w@bS;Pg0O;jHNO0 zu}Ofz?$MQPIf4=nZFl@?kLwpB`>)SER({FFdP?|YLWvhPKHODF_%1C>XM%(%{txl&JiI-GK)*!j@$m57GL!km zk`;@iR^Lvh`_MhS;d?rcmn5JF$U?sx1LtQKJ=Z)$U*BEeP!q`)98c}ib6lKmeN44A zJP3H86_b<_k%f3zg z_;C{I_|Ue)>;;b&LDFNpnWW(cNejV6C4YBMZ1SMD&s_wWlT-<3!fo>0{`w`omrp*A zr8tLjWQc=f=o7}c4P)aAz7RbVrg)TAPB1C2WbGGk7PKe-u@E)IleF~TcuF?M+9jUa zLtJ0{Vl06N;`fskkKy&isSGL?AA?h>;ZCFa`J%{k7Mc1N<|^`~C=j2E&88R39?ElU zIQ?3*Q#*yawVf!=*0o_8-7Oq&3p@BbDLM9v#Kf9?{XJEgb{tp`wkKBt|A(wg?+}iQ`YX=4w0X zS8)y7!DRK)%L%$J>bP%_ubURYH1D`A-%+O;=fAPBoyPkf`z)La`y&s2?GN@xe;b>h zZIo6!i+Q`THJ*Deko#E(+DGq+rI8`Q3RGD$O8J9c>c`)6!a}pJzUCzmzrIX%^dTtj#Z%3 z&gHeKqcWs5F1-K+3XxZ|39n?(ayp&;9b5Sr`f{E^PZSURy z`%xaubdL8C);iXj3md~b9L0z9V;qg}jYAxrdj46O20QVR}s16+rYrKdf*oJIYhhDIjKdyFyt>SzqeBOO7m zVGf7&bsjy99p&{(DOw!^HwXkl5xXKQYrFRCub!0USj=rCQD<(NR)yb_d5Rg>)T$)*-N_C+MO5Q#ryc_I|4Y_U_kpdioPDP zN<*}y&1=bb$B_6Pb)SoY!HZ2pX@9y7{c-W_dwPjRC*hkx4t<5v0n>}aM%NaAF=a2&xYq- zWIOFbkPQ;v-N6rjm-mP7|AacYOq+RY7{2+m^9J48{sX_fedE?{<#an6_V|TgY7^(L zzw_zp-UhC${Nk-{4k8Og;#NoRg3*3%4PL)SmyTlPg^VUc+B*FCci5Wm3RB;Mh`kln z32PHptP?>$<8GhjkWCKKD}z`FSg4x79)NWH;%zD~ z#;LccX^*GWGIc&5;htBbt@n1e6dDlIOZ`1r#4q{B+}7ef#@gu&|d5*)A0r#7ph{+`ac;uJ6*E;~-h&}Dm!;&3~#m8Q}kV~w`o^QYY-4E}KukI2tM&pgtdn>0-jNI(c-u=`JI=8Q_`5sl@p;neH#U*FxWMN3?3UO9ZHpC0JkPl_FujG#lA$0cWM+l0+n9=6SLXq z*UaT&mk(p5^^If{7yeRukr4Bv-^3omspL+MVsGPv=3;VybKqF~%uO>dnyZyB5Mo)T z`b3|1XNWEA+wQy`UMWM0X(yk&lMm*ZP8{Qp;z_+<{D^>L$mio{=*f|uaK1af%GET( zUq5;gvhkw5%uUWS@S3l4m=ng989^E1_GO;_dE-?1j)7e_t@LbiYclhmcSII1V7Ld& zrX75{@Qt<=V(%M%@r11hj1#9~H2=)QVl~d-Xe>rMwk+59H5vSreliUAjPtkezikYJ zgV<}1hPu02q?IjyruH{tdY&z1J#ppNwzBp5P5S%;Z|wn&;ts6e%8}%3$A564iB|q- z?V8;jMQwT7@d#V(ak>2&XU&V`J=b#(I1Qct<7*N5Kw10p4kEH`bE39(=sO?vHFNyZ1@#mYGo9RbZTgcq;BEc_ zgU@%-8^c+N5vRw@8H@ptbcZ9hCi397`JjH&Q#<$UAn^OVuy=ge^UJgc-AhgK&WPZ6 z>@j)Ic}AMb7#eCi3f}SJSfm&qea#FSah$DVEdjRphTpqTfE`+c!}~6-&Nxs{c(Fcs z`|-E6nS*A%!Z?WQ@E+~NK}5k@9KjSXer&FNu}9GHjbo)>AceSJQ+0fqE7fO97@+kT zNTdUdI8)eIVjG+;KZvM5_e* z1EO{K#14lqIEJ@W{#oGHcric20iXM0E?%Urjd$_sAN`;Iw4b!nh}js#u3w7yJ-_f7 zXvU7@=va>IKx!)oMMtg+jcwb_yW+mwBtb=bc|-Rr)>$SP$E!G^m8UPu(z@1k&ON`B zZ#)nEMS(nM`UU=DD|E}}j74QpPC_x`+EjXYo6j4IVqYB(iCBu|&WF_zMy|ui`H?k#eRQh!2!~uJ@3B+) z{A$(5-#)k)^45hJlvD7GbOyfPUG>=klN|rA9bm7BKQs84AVe?rkUyt^hdrmb^+Fi z2L~5gx)1@)r%14d1O5inn*Rq+x?T7g7|XlFw?TwFq9f9V~-+V2KoJZSTKoqq3Jx(c)|#D2yeCgQ6Xi-S!a z3tse5mId2+axBRdI^`Gmdg0(?vbc4Sz5V9*(5^kMlXQR5FBH1FP-&ox`AH_Ui937j zvwaSrd^{2KgvL6L^|$nXkKFI6$C!;cTB))Cu7|a5mob7yobm1so1yi74`S zQ2gn?k6q$nBMmNc!Xcsjr6o=q1I7pZEZWEgwy|d-l;;2^o>^r42_3a@yu|?x@iAin z(iImD9@hJ149JRwemK%`S<6ox+T;9UoeMeR=@Ov*72u*v9mC-Sk6)w_vy)9TdBEA9 zvDgWPyph|dN!p?@Flnh&gJ1e?bI${42}ghGoX~eHo_ZqrM)H0~$GbqI1?BUBJ?3J8 z$B5M5o+SJ5V&YYrp=3kseRxsJx~k*w!@JKHVl3XGt>j9~y?KFyF&W?WfhTU?{sM1g z*xO04ZT2ueU`&S+xpDgc{l9`jIHfjitvz_*^FmZO;?^hTgk+(cHWx?n!I-p2htv{% zIT9K8z%EWkA6_gow$)EMw_xoVWyTbKX`!9Z$xYhNe%ii1kdPDJeNN6*(AI79jF&e~ z(zTDIzWfgOhq0%w8&BzEEMf1t;6M*~d3S<#W|7+`O!NobH9UasQ+Hb}whvJi7dweuMgWddPBlX{~#k&^;8z>_))7+eaeX^>y zb3XhnwsxLAJ%mo|zmX%mWuAt{vh~beAH-fK$NvL+{SW-{E4cjxpYlCCwZF_n& ztXIOf3rPdQu}F**FVbdfapPZOo>H902!1RcCpJdME=)QvdXevuW`BL|Slsmrt?A^& z`7Rbre3Xl11&()P75Sa$nTN&7I?{_csVEpvu6=%yxrvjp8Fk2lM`O`3!2Z}@cGy&( z!@mnu@{qvwrtyIcRkMrud!`9vu{sya*~59!4qmlt^SjCrWh=*bm+^ys~@gvGJTyZNIFEpnfnVC*@+c=5m* z@BCEn@{(98aI(&Q?9sEw^s^Efi(T+>3{a;U7av~i`vwj#n%r8sEwnyN*%D7}1rFz< zeu-+wztzs4AK(yMZmk3L#-6_M&${L#e2wkq9HvZ>gf1#ctBmXKPGf+J=uvHxzVkUR z+E5z)yFg^_$R5Npbz+H^d0Ly8sIn0a=A>*r>jcNC_Vf8RJ_B%ag5Ft~Vs@<8Uzxnb z3XXR#TE$yyvzF2xu31tV27y3V=EZO3>wz(O&kG!kmv?*)$BNt53E0~8V=<{R@>4%A zII?S%JC4Pko25NYrj6w$avs=V-9QXBi|*oC}BSiaWZ z>ZyGB@YWu7Ze1PkTFMDtG!~oEj{Cdwv%Zn6Nkk^ZthVb$g-D0L^P+3t;$zU&;IE&0 zu9h9_uVJ(Yu|z%_U8uqyePCk#NERERz{EAGI2_CLjJBNS8U(+jMK+POV}J+Eo1^l1 zt>YK$y(4g7=mYih;!nbSL!SB0xSqklJ|kLej+P=xAO4 z&Y#ZFQpv;qjzzD57=!h1gKoy2<3)RX{Plx7a`+(Q-+z4jFaP!5==i-8h~NA{YgoF7jRY z9gZ-MfIf+lh6S88Ce9BQBP|?U+#FxGE+R~fIBNznJ(!rZ$2sz`hl4R&W4m2o6|BEe zN4P5UQIg}kIHCQNYX9$GHo&750L5+&SSO4EcPqtV(Autj*zvCb7KirG=kn6_os=SD zX{X<|$)d@Otp?C9;;bX5We;)K*_XvO@?AzJ{ zdNJdN#(;|v7q>K*h+sa+1`?AJq1O*(=L~(ea zYjTkmeVP`~`3+l3BCcl~c^nQ-?mOufCsK_Mb%(ZLBM$LsXA+}##8?{A>PIrpf5NVa zodt)V#QSNelT3Pm!!fYQcI;w@;aw6=M^GU6jWN*GblQjQU@z{-eRI*w?zFo&^Q7Zw zFW)H36A~wQ#|O0KALEI(atOWhkASiV{J^0WVHJlwE~g|C8Yg7!6Vyq2kej;8 zM-1^CJYC#Z7xU7MMRm~U#=7*p=F@Wy^Eo`rH|heJC&y0i#Fu6^#zdZu@xrVAPQLoZ7*>bv)30J_J8juqw>Zonej4n!wODOG`RJP-Vm^7< z1%tQ;>GDnnom?zok9o);EcBH)%yIf4=Ja7_#sE9T>Da5hemOzn#a^Dy=a(bF;^Na> z4YOiTp3ZsLzPmd0ZMg~F`25592t4CMSc@ecv4?{b9E$AK{Onj%XKO~!{DQ5$n{D*L z$9EBZR%ORHf0moV0X=-4Ty31hd#ngTFc5pse56hkF9^ColUASUV;*?ig>dtMW7l}L z&0`np_Vm~_iE&usAy2dK^IR&?+m3&Kjen`khUzIca7>)44s~A0)Gw}i;w=})B>ap$ zbDnM1F|Le{WP2>B#eVX3yB7v)Y%OPOEM@%Jj~`oONIhZE&&qqkmd;i9HZ;wP|36!A zmL*G;WY>jzWD}VMRI~U&@&^mQ0&oTa-s>*mG-49Cz!tRG2fKL~sGc zamuo%I*3QH_LFz_K*@L=tCgW_{?)C&%~LpljQ^_SP0Wld&sczt_RA0aSDxxuagZC1 zlgLOg@3YT)<19Ime`#=Bb6#A3NEfY;X!EC?9aEo(*|+G=jrHmhuYdL-=TX-yRU311 z!!=w58Zg_G2FF=Xe9c{I8|TdruI&EW(>WOhbY(iUiT9A8P zm{B;THAqY#+Oa7=Bgwm2CqEQC^rHb;+{u_N#YIW*uA2}C5tA#_Z4s_`c=Ofn}G;}AmzOF|}KUng&cXle_;-Um%m@PXmYPUeb;0N~f zTlHyGeGwdoVPRu3d*CSE;HX~PT-(sr8UY#U_BgwdC=Q6TTO9Pc%ROa;z1#zbm%^Cq5Qh4-?(J+3a<}=rH3-ZRht*I zn!9ABPH%^Q&5BKa`N23RX1F4D{0RqA zWmb5i*)cD@7U0}zacsmN^|@6at#6LswzsBG7BA0_7DsYN3UZ;-CUeg^bJMX(+*Zgt zf^97>jwL=vE{KaGzeYE)ZG7oQ5piha$jQ&(c*R8Usu>(T{Cf3u4FKGmEz!jXu*p5< z&*DN8{CC&nOLi>vfxa@VKj7d)QM&t||B;KwD7SMuDF|?#p3U(NxSS_IoYO#}!`#jdI$^s}H{HVJtdh)zt=Jvi`- zHp(Yy8MZw6V{u%SIHd6tgq*R0!#utw+mVMqTvTm`k39v;rav4s)!m{Czh$FDUne9v3Xil5k*%;NnK~r(d>wI9xufM#-<$QAf)6eRbmTilS za3Cl1c+21T4ji4hGI5p<`CYQnPqwp1f6yk2?Z;dEU8EqVGM}~U7wMem z;jo4*+u?x{TKJ70^6FdKLGGFU$w?o?LXe5_J zTpnfb8|}k{Z}cJZTu@}R7Z=n+$#ckU^3Z-?UNkqB=9BSn0zcV;Kwb+n@)%!@Klr58 z2^sqIs7twNaYugps(l20Tfp%bCr^yZ712UUQxl~AGPmV5ChBV9Ji(h;wlh(do8)O< zVKJW^ODqV_PBH6GZQoebuCMd^(id|v$_f~0o6ud*;dl4((!>JU$0g3bmLnyT_)+@d?_$jP%LS~s-u)pNw9_A1uy(OYz35}?8UN0EGO3?}&BoB< z>~;LrUUMg*BFt??-+rr&*z3vleA>ODq=ZMGeA_W*ew_qSl6XSvUUIF_A&bd+7F=dd z#ZCE-9`+mm<@05Qy3J2)9ermk+^?S9 zIf8sKSV13qT|~fcad}4)7qwd`?>a;teW!1pF;uzwu{dx*TkYxd7}e&qV}ZD^uX!Lq zHIGlkW$r(k}jUymg*&jA>4o^;`3d z()6iY_-73}^HJlOyvWJ^_C)YjSpSHpn3~g$krw=MnGqYZ{pxRHuq~}oovV%67X7Oq zX>YxvJbdH$-5q237K{N9mADp-{cn$&f4QJ&ZkZ?J3%5{M=Ul|tRKLBkn)RF`h|qP=FIww7Xg^l?O&p3@Hktgg#mus&EYf_ zm$x}W5=f^NefZfq!|}C!<5CQvN=yfCCPFZBe!)ldp@zyrA8?70lcDN=j%Xji>yAS)7)nnX?+C9>=*_ zcoQVA)(GOT|KXeBu5SkA%9h`Dd~oYGcpUd;>_8_@IoZWkJ+6HzwTMX`^-c}@?n>== z1J33}$3XTSr_^aXuaj+lnZw4Vb)@q%^i%AMV&zDCeR0qjv-O>~u0NJ3KNl0$j(xQ= z90(DEg*Y1@v=;*Z)p4bE4$cQgX7|O{2XNBL;!7WCllqMdxiRwx z^>1QjiPjv}XZdUT!?g9z8%%=d<)*JWQI{z5L;3m2MhmEo{@Q_(N&I z%r`Os06+jqL_t*k#0TcnGxlsAP8^OQiw8$O5F7H8s~!Cf?PIF#>b|(FD7;T80mgv8 z_Rdj40D(Y$ziNO~%PsN`{4=C2wQfzgRn&Ie^b-9ZSj9I`u_YOruoDjS`A;PgmNEk$ z9P&LDPV@JN9D&2mLAEDf;HLDI*-Ig`%Clzp&d6=8eqc}&R(vKAI!uM=mR&aR+QUmiByPVmWKv@lhVX9Y}h`nCuqYdfiU7BO}_?A(4D+qtKco? z4`XgTDI1w3n40JPFvn+pQyy{3UmfC6w{#ZwPrVGbhk5r8hdzUL7KROx!+*>ttC*zRmmAgSkMyRE zz~Rv0>xp?lk|no%O`eG}KdAvn3(RHYLI^oRnnW$MCZTg0OWi>&{C+X2r9jPLq`m#?Yiz8^C7|5T3(KYH20;U!?<{lL1 zYWDhnUu@`yOvEoOFi#|$@~U4f14x|KkblVT)A2+O0XCz*? zPRwbaUlFk%NI^LQ@w5-0{pI|j>?jwl8|0(`0b=sU(xsW_#Tc96poYESyS$oDi>-#I z{&+MTQmq+r+qa7w6=6|_1$|cWcMHm?CMM>mJ_vKQqdgTPXL!-z#Rm&GijjI(RrUFj z3T<5+iWwW-iK_P7pDL_);$puM>DVU6s$oZERIGnzthT?S&$gvKHR(_;vB|IHtYY-q z61yojRuBhs&s|SaRK~%eu~J&J{Y;JOpiQqa(ca{QW@yzaU9`r|cu;45&sWowlI5tz zw)`irUpwKXQW*)7Uz@bSc-la}=RF&}Sn6K#X#?o|Vw?GAfzmvoelCy<@48PDYKu;e zTO69-X4@O?k*B?u#kE>m->AwHl!Qaq03s&HiGde31_N^60E|3!K?u~ZKXGRqUj^tQ zD1Q0)Tki;_e(gy6fC7uXJ1A&eA@J%2R!=4o@^?(VAs!Lk(N~ zoF9tC$X==uyob$`O|%|QhHXReC$iVWaysb^4(a77mAx}k`6Ip zj<90|$Vfj?kT&*wvxI4(pWgeGmti|e*R!vV%6bn1d8Svu zDUX<+v32e*QIbBFcJe6rV4ZQJc?%r#p!UHWB#5(xt?L-M^xE*552CdUR`<0x4CG#S zt!N*ZhI{ntRV$QjeX*;~<63E#XY@xSaLVMKG#rcBE&tLUaxW?kH8y9Xn4}%)G_yBl zwo4x^V#Qz{+E`9)dll@1<$RW)i_x20r3?AwKQ`(QYXdm;KY1#X1sajoitLHoSTyq7 zpI2i8G#>Y1(s1=2t#9ETEUka^MExBNh)L7ZC{>o>9jt@H{zU`DT#~|A$Tsvy2{&l> zE=ue5xpWma9`lA$eax=8VXSeM@|QABX|rAbUQ2O&<^06jn8Y&r@-ec)ljdoB-d}o} zm(`6IytoyP^qN`58AQCYU7Y2mvR`A9m{s59pKPVZ!Lh!GY~-5jmU&-4SRtdEl~**3 zjRwvC5cCeW^tLNW=dZ0cgN}CzWORRvc6q3dhvpjJw#nAlk{MeiT4~W2v#%`cXI`0c zw46OssFk7r(#u;s#nDFN&GxO_p^+#LpmBfvZysjVawr)w*ciV2VLnl7eq_L4IKHV; zBE`78mDkascxxPv_ln)WjN?!kA$lVo1K$Kb7B4y(Y<^z1Llq=BPF0fG^j&$cc;AQU zpgi_mu6~hw}PV|$vl4Q+>y}W7>GNTq>$0}M&8luc-*$a9+~ePFL}etu~og? zzvJCLtPT~wR^E7OKEAEDF1y)M^^^-hfXCixXa8xF`sBI)Cg{C-$=pP9WOwZLf_!aa zaX(DG&B0UW4lg$ka1P4;DyRD7D#ErCbvu%Nr(@+sPdwQ^EZgKJ#lPMF1F=YNLY9_g z3Wut*(+;b6tX#UOgkq0(`&2iI(5#dyeM6cu(l^p2YjL_-9*q~br`{HMEVK3fJ*$Uh z^7_NX@hcBb+izkG}EeVpMepRvid zsE|Q>yBBdUmJH7;u3C=AwSCwWP?2(|ZF|YcFsnLYkrXOzk^cu7C!ubrT~dFii#m9% zll6&1az?wg7kkxMI$=rL@HKUYVHQx)>{~LG&VTW6R}61uj%;|VMAr)e`y903SUYm1 z*dt2vxM3<@%!;&5+0l*?ceA^lA#t})N~`njRmKkLV6O%Lk5*{bo_F|F8R%HxKE9as z+fdivs#8w?0vkXpcg7pB$b(+%+x6{=LR4r>r*1Is{_-T+{wXVj&xO)AdF8HcvQjV4 zESRbBc6~Pp{6pT6`}s*iRa)|28OVY3v>|vm4$32x%qSbnXbhsd(8zYyKlJB5l9bz(z~e>R5=yWO9++3EP&116&}zV^46T2-@++JbZl z=OXb)y1776Cp&}XrOX(#n50;uHZnyt8{e%jTI}3cwZ=cRq1*N#E$ef^`eGH19b=*y z!u*i}Bq%33WU=2^b^Ku%9?31zo*yQYwgOR|>~WYJiICG+=Wa}i=uPaF@y3W8-PS@4 zkExWM;<8#f_8GPwpTFzxIel%3P6{Q-({4vImY!DTm~lb!#-q~i9x}s;BKJ;=`s^c8 ziJ_FI(fx4yw#N$4F8_j9g_5XQXR1RSvDxH~1wQL#u?&V64)yu6U6O0JN)dNgSYNxU zQkr>rXz^Hy=c83sn{RjVYQ~ST*Lr*Q#b=I3j+hmy9AA%aD#J%*@sbIU>X%U3v7Z|G zZM$|_rK??fiuA)go8zCY)a*qh;cM3xOA!%kWoYd`BAVDv%Sw8%$dQZ{q@0U^QssSs zC1S9PB|7-@o9rthm&F$SG(XZ9}6^Z9m$0Bl4}*2yLI7RU3aa&xLKNrd&=)n^@&O zc8~o^v^^f%Iv5GFew6v@kIp*EDVn2=XG*5g-IsLg6uu?0qrJ*k+dFA$d|P%m_cDjB zsb=0rC)+9>w(pd@c#ax6DzE;X`05l_Y}4Qo*sHWmlZt)hAA5gLEI(kR#4wz?I0 zn!bCNS5|TM-8yl2Tk{q%{8+?svc;qPJoy8L1k)sK`|$ZIQs;GQuTz%B)OUNe^4nMT zE5O1yIBjhMYn{=rxbzhosVq=Pq^^S%*0Wa}6Q;-?B2~hptmLup0|H@tl3^GgwnC(h zUdErnFqjqU!m}1rB5b>~H{FN8Yh>>#ZiVH`FD z?tO|QKh~QtV`ONu4+_kkJs*Vq`Y>O&@kBzg<^Zy10Y_b*7~pH;r_SQJi(CaN&n*S6 zc~?J5`hGZkEo^Ls_S3f*kfmy83_@f!Nn~77y5;3lkjI7u|ws`?+Mp#3td(E6w>AeO}btMd`_X{=?BPu7Jas&s_=PKoIOxmY3tk zYNy8V;}2x2GICj#EeXb@{1pc=S6&!Ks(jhYwtU*$d&aS3CtZqR@?ATPU4PRT18};c zJU+IK8^(nK4l!bGEF*PjoijRFGUig-U$C=9s3b!c6d_c^Ofg>@OTa8HX@}f*kCCW9 z$~}(FQ}fC;%lQTJnY+MiUW7?M@0b?7JmdGq5BH6;)yBo8d!I^8-f8N@UN-wS_2r6~ zHZE^CddTPDf#n&i!9TVk@yzmWoIVL0*?j_PoBY)Sirug&3kiCt7#f5EQA2H$SK6R4 zvdZ84;_$+XnAabXiRu8!#j$Kexe^W>*8rK5;byNnG!Q&auIJMfH^zlh{>!@P*& zSCanW|Lm&(x!Je>{!d+e%8nHqBt&;PNvxE~Z}gx~`2%|>>&xOWZsw}}%V*R`MfJtl zeKW>N?Jah(F^>hv1IwK3rpGFc2FK8FOw99FItN2yOKM~zt7lf=k9m&9(2VreLDl#i zZP|!Uu=n+&^l$6H6%+;D?3#HXOw%yx6}^d)M&ssq=lq5a>++wryDtKFJQ9y_?3k~@ zg5|*{Nd?<%m&ta0rqIQIanTLeGdt-d55`9QVLv;`@XDXg*%TlAYgNzNVc(Ib3(wT4 z+vDgY5_9qp1P&s9;-VFkWT}x(AM>en>jdyi9|1&Vh2Uk#Msv@2;;DS&z6?W?Y-yos z&5rE&@`trH^*$oi59_DD2&f+%zl@K*jLwKG->B%IU%;cK{^T<^md35ct^D;(=U86d z<8))wV(?+pU0{N~o~m8j&-2U8>k3_-F~VbBV6GT<$ICfbpGd-A4$@E47majlGj$F3 zxNn$COr0YT$mnza*b$Q4H~8I`qht}m!-+jke5yfsYunihHBwcN$f z4(<&_&70`VUye;GtuD&5AFB^$ZH0T(@j?3vw zF!MX>Z4!{>O^Latk8J}-`4Y|2xuHqT75j`8<`u8zhNYQ}#7nEM`}#U9`7uF>N!*f6 zh4SdjOrZykh^caakfPj#OaZjdc^F6ZR$!J;g`o>koacj)L(> z7t!~HJdH$M<_HuWKU4|kNF4fl=8V=k56zD|BjfVzbmD7w5$MyN4S*eF%Mfjc@hROE zKAm#HcahdY3M$d@AFmUVzaC&`a{=SFUvyZx&|NGYWSd~r?WfzyI2^R4Ke^N^OMJHT z$#=J7`4Cqh(DvOzNgR+{7Y-K->>B`iD@oox6ljM7d+q8$x4%eY=gdDsgKqxeV`p)8 zswD;=7pOXRH0id~;8nE;#M@heNu0hmE|HZF?~#_ToB!K=Bl9RF=QO zW8CaW+NgT;4vHJJnaqvb6BljJ-ov3(Ie00@pP|)v`2*T=3x9}1n3d5maT6z4${+YI zKfsu27n|~j&Q5#zs626W5r}C_S&}k>;-lb<#+Vw`eFXDhY^iMrLti zk+=^ewl*B(!Q9qv&C2cK4jT5U_TH-B!$N&1pT11!_+u7PRNRLRpXvA~~UhF{O+i~NPx z>#O)1dz&Epg#a|^KZ`Lp4?QN&{N)eZl9avZhqn_X$@%LxP1uULV^_ZX(@#I^OL)_t zaP48oI@^p5w4I=od+MI4A-T%t*gWpZ{bq;9^xK)Bkb_GmhALn$9QNzUA7kFH?8vv2 z(MxI$7_*C;!v4&!Zz;q!i-7YT^N&6@Zd4n)er*Ez-hwXAV6IV4&Z`EeHuN*doVdD= z#9p(5G;+d4vpDj*IP|py;CSXOh00HRzsMpI?E-TrkkZO!|LX-U+Yj6IgI@!5EXDVD z7T?1@TH5+>+)fO@AyP&SuH%> zH($jOR*ow}uRl5o+cA=;kmHU$EW*I(BCAiQg=OEvU*CvZ{Zt?L3mMKyVn(%?uawvJ z0Z+d5ZS${l!eW%(efz#wfBb5Q&pS|re(>2C`pH}{)}tUDt#97HLWi8b7C^kbARw5K zU_To6XQLN~bBldZW0NT!{>7qAwu{?iDTu#5tUp*~zOe~Ad-j()sS0antkhQL-ktY8 z{_g+y>FaO*H|Vg!G0t4E@atP&JnXstuMOHwF(n!{c zHe(E3Cvswj?`QeyFXjUNGN$@t^Fgw})(Rpp&coxq$boik6ovLmN-;KKZ!9OS!pphe zCVn%nMd{nNvr}IL$M%6wZ9wk)O^+#}#&vNhD=#ny+SW5stO1OOYlj6UgIC-k%0 zwHhkpw>C1abY4MT*ss6YzwPr<0QTnoarg@d1S5m_ri(x7vC=nfRhRtW^jLr83w$zP zl^JL$T#v>jo~0qn}fkz zF)m@29NEQ%i-F3rObixx7#ti2H{bv^rpP0bj*N>(uy(mUDuj1l>i?8jA=n7_5 zg_bsQgWUV953s%yCpcW+zT@yfy`pk{o-t$U($g47Tu{)M5cAmF8de^;oyWm}lnh$RnK{IN*2`^DeFM{rZ2eU1qzLr)=89SANib{N`+Z!kA248mK(E)gLaL z!liHum>byZUvD-#NE!3`0OrYq-A#u0x?emwIra^IHnjl+I!(OXv%h!(2<;5KsJAcr zl1e*l19P|VnR^aMCtI0bn9#r27*>5@48ZIY?j7tT51T(n3HG^Ap#s2kGGttQ?Vt?T z*Ppo{fyVqm&OC6BWAUpLKlwB0bK<>nU8<7TJ-}CgX9?u`sr>Ln zLm69V|59E!+zx4DSYramfN7Ct-igDDbMhPx=Ogoj7<5vsY;vQMQhZSyp*45LAFr|L zP&dJL=7_HkpH6V0VqCDRev}OKnS1uHC-;~5-v~$;nEw<@vo}t8R z`Ve*MBVX#P+h4MgdEmo2u0DYM#T=iA!Q3-P!=YSW+WsfTNaEIs)6^o{xHvAE)2mN^ zntP53Rsk#h^#Ljxn`|&JY^`s8j!@$9g;;q0O?eGnV~cgh+>0jSgVx^L1ei?Zym=900@Pcp3R^5f!&E$YM{ z{akK%(WSrbxAL5?<@*@!tva>O`H{Tg6ac%a*Y`e7BI-kb zo$oB*aFP7+Kgqo?<2Ug%@6q1azW$Kj`A-|o2X$q)V zdF2I+e9kWp{q%SLJC(?C?WSC5IZV9ckz9tMhYl3BuAl?rvNrkJcyJZGXA(MLWtTagcY#U0Pno$9~vF z4)98AF>f*!Td8ZYPW8-3;C7!s^Yzn{8vN>oP)~ek{FN3QyM7BFqV-5)M18=xC}{9? zf!TE#RKDctr?27h`4w{kl(7sE;jn)h2dTA1ztivf^%?SJ#!1?!^8&MTO1hM+sM=dI;bG&h! zL(SwKEgb9PJ_uHZ|6;TcG?xcAmE9dAc4WKunmofN*iv5W0|oeQY@IKiLyb4M6K}j+ zClkx#4-mHKv-|f)wtRcCxP7<{` zsmGSq66?SE1@(<#`cE2Y`_~qIPt3!fjkFnC=9l{Q)!~m$koC1#5Y)w1`5h04Lpi5- zim|Ov*>~3;)jP*wIHxE&LaKfar|)UKcOUHx|J7l-jKF2vC_k9S#gff@PPoHAG) zSFoXH(6GJIc|dWw8pzD`{Gsg4J%Q*a$981ZkDxS~t>>0b9qP5$I6ij4NnEfe!a3dp z;v${Cs+iA=2{uOOTeK4w{Ud!_`-QUWd&8dw`;j^7^#rAeMR}}+?&4FrWN};(h;fN_ z>UDe&%UgbELh*2{vEPKP%4jbx)hkG!I`=zPCsRB5Gqwo(0(0|4ZPY7M z8;SXi$>}o&=ALoqFImN$3z_m*N5T8$tv(p~p{>#R(m9ku?Kd8%?5C6e`0>;K^Z#F9&mWRd zhIGBC-1CQnxi+R-z&a@~exwughG@drM! zsMDYjH5}_)81o1XmND0}y|!x&1Ma8uN5< zbP{Gikhhl{?7LDiE}W#y#ba&6A6|6OK3^O2`e6Pb=lI2f7BIHeZ^4JW8I5inp~`Y` z(OxmQPzl2{Klrsty!sE??ig}nsgR3ek<&KE0b=0=uO7;4eo)t>Y5Q`WsUZW07dvco zaga|qD3>A3R9mxAe_&&MVESzfGLC108Z4=S@e|DbdIP$ zn1V%h_C@1}4<|OhD|hHy7%5wvKaL5?l1yCDv%}p3E?nbpJaud$KD4JDIZ&~0ELo70 zr_^jeM+<*aSQZOgeL8*7_&Zj=#-@iyGI8ifW2ism)z2-UsOPY^jNg4R*w@uzo{Br2 z<4;MWv|lzxk|ScI4|-Rb`Xe8*iKjT^D=x_Pc*p9=JKCr!2=eLM`oPMzFA|sXsO*vW zin77le8koTO1>r+QVJsVS;Qc@vcX<$HX0WS?Ze{%t?+dMByJm(-I(B^$0JuBb59)o zf=crdwB?@lBh_fW^Ua*Gd76!md&oK`w}nSvo2OkULI)VSE7SHcAb)q+papudZd-k! zH3Riyq(rl;jmgGF>Ah{-@fx~*IR`S!?NNjPZ6e%ii`W|V~rXP?dJjlF<0J=!9%+kjRF3P zM{LN>hvp53{8Q{f)7KquzTu0$?niz!UPl8wwv7$!G#2TP)~K6{+Gq|)d6@Hs_{HG~ z_4LK&nDS*zOYYK&YfjX~t`?gY{KeB*Lsh@^Q?CS{vz_7`xp_VW1g9>iDh zUvrY)Z;qi4Xant;Wj!+0=f%6?T|XY#Gsi(415D9Q|Fmy)(M3T!R@?ro1zIsD2i#pC z?EoD7%|(ahWSmK^^h+zg#urK4hc|!l{*CjPihbAprIk-< zGfr-QsE)OU{j0oYeda|=bFge)Q?%E0jslT8{$O9)xBQ?68i-5?_w}6@7=&hA>|+*a z2DMF~qMy$Af&WBZ?(xA6RuP3^;eGmnae*Hkj=8RWoXas(NzuqL-cTBQ`ok9q-$ftC z$t~lF$&Y+)Jd({89IZdZgU~l5af?UXo%^H5^QdxriR}Xu7m*>(xkViE;SXcOE+v#< zCM^TsI@Svv;wkqSZ^AJs+cT5sXxRWt@Mlu=~w&sB-&VbbNt93a2P}V zA?3=J_9?|&8^ug+=$A|wX)|Zvv>DZ^WYGfCnr#&N}h50rmq!sE^&AOJ%}>r|U&^%TGQ*d7~v=bsa=UQykvs7D-3G&Ml6 zI8sHk)oPlFkb``^b=k3Bn;cdYM_e|`{; z8F4i&LKgEA7m1a}rXBX{H|42!Iyf^~`8FTL6A0>e>m7{9ZmGP!9+|5k`9tolzaoP( zoqfgft$k_-Qzs;%qZ1_WJ~={H{+2kO4~`b@TAeQ(BZ=qQyei5y{ql^bwu|{ZEYOgw6=(TvrCCE%!NmDj)Q!sNkra$kgNwn zUWsPM>YA}}`aqeFNVohwu|l?eQ(@%)&HLhg#+ccmJx(b7n=wf{ip{_cjJz}>fXc9V z!0X4D+pZj%`btG|t->~6)48dLyY1{LcQBU&(x#A2B5hZv>0nM;J$)d0XzO<>u5o-b zZ7^AF9BI2xlcS?4vFT98#wBmSq)*LN6@%}|PwUf3egu$BHbyD6ttVwD^xN5zMEh4N zqJHF9nGG|3s8dUgxe_hDkA)tId*dyB=x6;lwBm}-wy0&+7uvJ=FHhvWu|LH+j=_CR zjn%eO(M1i~XB^QGxa_wgTO2c=Q=?dgp6v7y!F-~0F@uE{?;T72LTp^@C7bQi%Ci*m z8+x_3uWhSTDsd-uafzkl#o^e#DA<~-Cp*-NtfWub9`W`wIQm*Bhm(3E<)MexwTx{e zQ5#2GGT^gb@#3AFrUfE>p>Idq&~W$^?-J^Qpf%=(eetk~e}vM8J>>q=UnF;|Sx?7K z>x>^-NNz~KII+^!kq5E+$J4H3jlQNOU5yEma6Hv!r@Oa)i`HXK4qKnqe$ifkP^Ud3 zo4PRTm!e>l)JPdTjZ5L6#{AIkZ9a+WDqr;zuVg51eZ2xlB(%yebIz{`R5m(Odyx;Zpos{pgUFUj9D7)2GUz~Mse$=D~2?xm5k6A^> z@$X6)Jgy1~eKCU9zOgB~A%@f)-lZF<9Y142!iPr1?Im|?l()VisEWtx)g9Kcqd(dO z6Mmixc2sQLuyLSpV=c4$@|)MyvyncgW0h|FVavo@U!RX@M@DLFe~-Dc!)N_>yU-8E ztP_+g?erI0uB4?3aZHp(7JhoCUnZ!gWS_p^aAl9b6!Z1x4=&_z*OC`<{y*->`S`n} z`=l+M(N$zPF~(1dW};dR?+V=SlN7HKqS}R>cNv_~M=N66JsIdKAq`GcetKs4HF}4J z=ZYe{?^lsIMBwtV^*CBDKzPhmE}v8KS8{Ep-2pOsY!XLTLaG0e{yf&FE+z?yuvdmJ zSV&BL@6gXDk6fJ-lULhrvCCmeEQ2N4Z#eSxeG;qhhiu;Wpidc`WH{CzV&5cqsBN=o z-(8R?E?~J3N^-W^alDf4RcGs55cH`gMBmAl$xenJ_G)D_$JzKDt%{`QRm_bGoyIG- z;y&8LBQR|#_q+oI9btwxKXH7cHNm~O;Hm>b&ff*~6?WaG;*O$)~Rt3`bIDL<$6Nk+96>+$q@0Ug!#F0Ow1<%E> z_`)F1ksl^8w+LB(;8O=faSW0fgj473?8aO{#Jsy~Q0Ypk;f+sJo21a!9WZ+*jB%OZm9vi`W(*9XJ^pLevhfKr~+3f0!ht2v>ku4?3|7y9nh zVSoBKb^R}njk)Ud-M4fgub2-F`*pV_bC@@`Xsj8o5fN3#gJjxrA^A_IN9`D^-JBeKwSK~sy=TBB({K)1o z8?moXoKoc0jO7ciqbK>zE!`aX~t^oG>4W>$|+z`t}jL4 zx9H#HMrsC39(Ko8V+3ET(AVTb3m*BQm9mQ);?hPx5kqgEwBhf`W!m5iyNcsYk=*>b zZ{;GDq%J_cG1e9_Ge+g>aLAPh;;k=eudmJ1_Mt8RO9xD?;B1wNTwaMLVi$B{mPe%~?M85>SM?c51dF;ByRKhUrD{U1vCh#$Cneup-nKVrrM$Zq_}0Ca|1 zObF?&MTIHtSBi10&9x2rC1#IdnKC<_{5f75t6~YAF{g<6J}_|KyfPCeKfn%+ciuG* z5dDXZ>JO)yw^(Nh$LNjLF%ld{dC$sd>~Rj| z>x-H`{T5$Ki|p&4i8c0)%B^pZZQp#$54CA)W2Tz?$Jf#~cR}0pK#=MMr6tj|a)R0Q z3NPF0i>}|q01BFyr4M?%Q0E;NQ%OvbtqwesEU}c|)v>Q!zoLnpXCBxwp$i2tIL3F9 z4sCa;+!Gn|m`R zG$w*WxuY8vO9_k|Xu~h&^~a1;jH@31T5}yDpDJ9rLp|df`}$hh7JY&I z8>?L1PT{M}1)P1G&XnvSltO9H;R~ZP;gj*0;(ezyJKxFMsnJo)h&Sm8c42 zLh4s$e(ys&cQBUS4&?WbJ-OEz76EDKFVH?;_o2=~!-uQ(fJh0Yr{2P^A^h|^Wp9wA zb&=usrZxVNO}&%!@BZy91Y}o?M))1SzUytp$!7Ztw0!jg;Z!dUzt7h54y3z6+h5_J z&fDbu4y^;rgM)epc)vgH$pQLu_2Rf^Ap^1j#U;`|Erbc8Qr?k)A%7-nLpKaBer$Ts2Q598kCM4g?1 zTjf7`HjOkngnIVPqu&{G;!-_z`a|EfK+;Be6a$t&{5{y=QH1_BpYwAS(YY4~G5qN_ z;vlNL`c%bymPc9oSwZ#(Wrl;;R}KfXT>xDi=DUO6`lC*+4D$2?-}Qae`JErkLYvANspvLYYl{11^|9h-H(CD$7&G1oPB# zSd^nb%sugEH$K20K1A6?v^W}o9i;tgm-G#6+6RmA5VQSP-zUXE8@tR?v6D+s=TpC* zJ`bl&8~j>N6Mf)Af4Kk8K7+_xBR$|9=J6@-9-9}8VdcBI%&%*G;hztld7&R#gfFib zGCt}r^FY+Z;orUoO&^d}J-MXu*D>MW%;au8dD?|fpPiu}4U2Xnql*g2zKcFdqQClG zcIAtCKFvr2@t(MJhd`#`K)*`i^A2w2Se;*vVba^r1Sd}N!)K59aMJ<8#{AG9;P9(e z%J!4qZ!Y+?5C0UutdxuFb383SHZIDzF;f2_cFN@5hcS2J(|8@on9#E}Sj1=}wFYSN zf<7=8Cy`D5_Rv-R!Lt|4v5Ad|LuqWn&Yh1uS@0PR<%jvUc^Z$oM}EwL-?UNojtOol z(nrf!9j)WYBg6h;T=v0>tq3MAKmC>%ItH7w3JM1{GKM(5^pNBrk3Z~-uSElQqM_gC zKJ{EE$4y1pIlPOd{O~Im=8O&GjSuIxALuynxyg^Zw}Xp8XlSK=p)SD2-EyA!F)Fb8 z^*GlFo~$F7tpaJa&HVTs&sLdeVHY@jCI{am&lU8O(Z>64>4(3?AH=1*bAcT$L5DQ z{=d-guhab=T@V=SmKxf}Slic<9CP8%7V}DeKj@;ye*0MYXX0c1FMNJxG3KpT?28;L z^Xs*fHUV9TPsuYx}_2(j2aR_OT}q@RK@S%RGIH{POrOxRapFH|TT%Hpe>(JkGu$Y&`p^^E~V7f-tFZ|UtjGb}WXVZweI|1No zPQ2WcL%YR`jpoXYO|2j71FaLt(e+39$lTwDGudqq&yzoWux9^g%|14Eccc$t2Zy#n z*j61M=AL6;xf^m~&I5+=N0^|A2iw2779%b_ug7}*VLths68hv5L&qj^?t^~r*Yre| zM*F!jckVJj#BGW?jwAP{pY6AMLZj^ShXI5%Z{r(t?xQt@CqViRyTS1dU-u!6bz|n7 zxPv1e^`#RTV7P~mjzdO=Yijea6JDzFDD%;`9x99uQ78i(T`&%}{eN_dqj7@u3KZQ* z%%=X3jk}(mHgLEW0{74A3iQN442_Y@X%hhm%st{#9}Wj{@oDQNaCDIrY{uo2y#8k1 z`5ecUP<}gq>ko6Pn4?!)@O94;6N5!p8H2_*u(*ChcD{Cg26K02(O-OcvwzY&bEqP$ z7aur0|7u;6a5Dl0`k67Id+C%-e<`1p9i4B`f$tN)eL>#|vejZU_snZP(60|#2WJ;B zq3vtt+F>oSTdV9k(s4anx6Vb%*Vhr#Z@DOa4;r7bMmZ3B-Wm?`RBY54b1?g?vc!%? zWa$rVgeO{Cv86tszqJ|lzAEJOH~Q`QNuSQVh>h+;uexy9zdH||xWw<+2oC$=^k=!` zBWLX|%yBbjDNY-iFZ`fmKuejJPsc~|lw7F^f-czFZ^3V!$iv}zt2pfM;iL7&J#bJN zeLC1LpU6G$1{PcL{93io3`!z22gq>=9Qu(a>d}pj&7;x`+~~XTN?hL0>ADbRKQ~Wg zN55$DL72fVrW);w+lkN@T$Mkf`Dwp!jUAb_ETgZz|_-(#P4 z8UT-dX|J7+zpox(#jz95?+H-;K*vr*;qa3}liw3$@FrQTUMz3{ItWI(_1b91uv0X6 zBijXoi`$q(OcMvj#k!J_9er)0;E(${OLY>t$aL{44s}W!4*XGkskUBu(uD*6ZZhWU zaEw3Vhy2M8eU|K%BfoLf_S2_u<1Lo*Lje>!?jQc43Dsm4LW^qSWgMLx{O-OjvUuVs zmU55da8G_T2sl|nJBu^;U0f@xvO3L0ad=_L+%vzF|G$`o#O#Tf`DMMf{fRvCcylBB zjfps{(@Pv7A#AN@__xPhpIME|JykP8?am0Zf2f$)zZbL@E#%}AeQB~z$ z`2a!rL2SgU4_G`j$a`X;4076N%h;#YUi7iTpX}v=g(npGBP#u_24C!(OD>|UdyBaf zP-|84bS5}*rM`%-6RsVIKu&%p?*6ichLoqoVOO8!H|dR^xE&Adi-Y{94^Fy1 zJ(*Ud?+WMj$t2VS_MUsxef;t78xzW5ID%rHn}6osn=Qs=#<;yrPBi$;ME`Gl=_WVr7;0H zj*-T31`G)h6yegPHC$oKZ;l^}gYh@}*TDSb!+^aDHd%;sYhi5i#Hu0=MJtc_ELw5o z58CWoPBhvGIb^trHZ){OrlnU2urUvB*3V7yaw> zww`c4cg{2B7HR$m3t1(k`oBq(hu3x+`XFe(a`ha4kaXvD>Vm^S43FaR5>z6QqlR2OZnH)bk<9`0&L{NW3 ziy&p1PvnbY8&|>F#T4nqPi`CIPPWaZ_3QL5B?JI*gWU7tzeSOTQW7{Wg{+sh=Vb~4~Vi+e=sM`hds)s=o9-9aS>~GkV{AL0`MoY#c#|8 z4K(xm{*|Kzlfr_;Sw=L%f)xEF|D({NY72=*;Y~hc;ub@_fynpct?Ea7apg zI`G(cjuD5nSIl+hQ16m5cFCg6KKiMz#bAG=#kLRQ?FsJ^>egAKa&ql{>uT&5v;9ik z$db-ibB!2WE7Zr6Fm~!Ya9C3xNa6Iw`C8!Mpc&sC4)1ue2jCNZWeoi*Pt6aci39pB zv`DvqKHI4{FfON0xsF%R`dq=87p+8wdFps)Zn$Ql(HMVu5vRBej@+Wd!C}6Bf}>0b z2R_EeyGWvB6eD_Y+#O`v-}t1B+yBQWkYi(Gi#XoKgfBn*6-zN3Y7ylR^D!JMWIeBs zyqLcqT8G&tZ6q$qE%#{A7S}=g@R7|fwtabCVt(ll>9Dc6Qu;k+N5PGQ$uIYe0KPL1 zTyxqND8^8FW70*%=4Z!9>UVDyLKQheYli;RBOQXH|JYQCONL? zJLiY1)ThS9I&ieU8tP~rhw}Z()*szXDWACE;zO5D)?NQ-KN(GZDu_@!wwlu}DaR@k zgyjq{_&GoUzTD^#_FaJJR1zkjCLz@UJ#yu^pfq6&j7g&mPw;e_vZTG@r@R;1?FSN|yrC{V(Ol&%Lokd)Zq|(YGuOz*%4JL014ZrOs8#Z(W zk>hinTqU)GuQd5m8}tWM=j+qp&`wam002M$Nkl1f7OUYeicu^rI~CR%xo>Ee)<`mD?*jxc5l;DIUtApG)CN!9Y4c8jD?T+wHubjPK~@iJ zyFT!o^eNh_$jB;glgH}wqD=i4+~Wz~@f~sTfpy}nuc+6>ApCt21C1FuJhZXn1*CG@ z!43boXpZJ$E-^lFjPR2fKVcc8(N|2N)&_w|>PCNt!--2Jv^t(Rkm8SIQ9qyXK`*Tr zkMx&%c92h&zV#Dl@O3g`n=x0GHmlP(86Tekq(0Fgr#q24sR6eWiL!`ipJsyDTpMa3 z0$d(!YO>V^bH*Icesw8V@w{m>{Z1cz{Ka}+(0+I_ryR-TFGrB2S2u3m0Y_hPLDJnF zQIA{~Dt(t*KijXx91e3&UlL>SNG_i^rK?}7hdMF2I3RzVaKuspbA=cWHd^8}rW6j( zAK3_&E`AU@F*nJYTP`TnyONb(ei4(&kCjCqa6w%TQ>AoW=UWTFw>)kvEw?}*PU$St z`tk(B{3|Zdl;g_7*U(BX_PIzfV?r^dFP9%;lXvAd^x|7ur@xq2wri^kGzf|*?UPb4 zI{vmum^@9Ri;>1PL5%QlC`*~*3?OYcuA#TPhYqu}?tAgFId&RaEF{b~Udcy}yS&0h zOS!#qY2iVgv>*S>r|y1oCPNEIHrCs39TS|J&LLs6KZw&9uRrWJj=xc=I|{^`eH?qj zWFE_p8t(>v^&gI{vpAl(Xfsd8q4~NwXZvB*+g8qaVZykX4~!A=PBX`-n|LwSGmiJ` zRsLF*)#~E}zfamn=+&azKFNkp+m@0I*j#|=rj-%yjZ5RYV@xq!8zeZJ)n}o-6Dh}B z_Z`6SbzdQ}9}lwhsM9|1+4v$RXa)X-J&t338tCHGInK3`^SC45RyTJV1rRO+ru7V?3+AKNT^=10vU(DldLa)5eCHfj!<~oGU zIWDxl!!w-rKl|~mSJuXoOCE7Rdt+oL;@GS&8*g+uuVP%x8GoJM@|V8!!lXF#2ehIN z3jK?I)m;ix0S0|3FPI`mx7*WYf3Yvp>RmN{@~&Nd-3z(m$d8wM`qnW|`|ZcXN6e6| zm9%N2GPmEV(Yd{g2uZ7FV?VNuH`@>FZ%$DUaryLEIpP$rGPFRO@vCJQtYaes#XJQ@>+Gq6YRC@XbI=|3OhE8FA znGc=DA3_L*HqwWFcK$(EeFA^zlQ6E0(d$cJ_HpM}+Qj1+DAxJ3zg-Tg5VyIvaSI4~ z`f8W<+)FIbmUD~a!|$BxOUEAC>{o*qV)d%Q^DKSax{_FQo{Nvmqy|nw%pVixL9nIxvF;)AkH2-)A zju{go2KVsZ_^XEa!~upbx`a?0jT6{yvxo=aGtOh1{-V^+>jUIpn3c+IujSPrjs>(I zPA!C+jm+#9p5ai!y`Xi3Wj?&%mMdrB>c8s^7poCr}xn zthaK(FkzB6&XPjP?`3O+g0+jl7GU|-k>Nb~x79{yEw+n098=Z1HaB|Nk&(5|9N)l` zW7GT{QzsJ!lFrp)NgS4NwDau8ov+2k%cRtndu?@X;xi^LT-^`<;HZ5?Pr^t`+jRnc z=*ee(Qm92e^5Z|xK%DGsijVyUqNA;0>Dko5@R@vKj!b#Pz@m(VQDXmcDuUO7vy+=;(*%I)QwzN#*awKYlJU@%qBZqko?BnBjtJyY@*-eW$ZRMMGEa3-(o(RO5=rSfO7i`n*1D zes}`Qcx~SQE1!7!j2DR%;7N&es?|5v+5ffGN{`JsYDS)YP~S{E)$@4oWR7s+EG?C; zFIc3vkG$k^r1;vT(bw8pu1L!+v}mFXPkh?o81`u#m5m>Daxpx-iy8k4X>u4T%J$R0 z6c79DCmVfV-n9o=Cr*qJ^;>_mk(^>V+)7Ca=!MOlU3QcI$^|7I8U_bi2Db0I!HHPu+K% zjY*8QTSOVs;-XzGevLW$BWF){R?a@_q9G?5_lPId`En@t9lZutxy^6T*l$ruF9JsI zqe)E0mbxxjC_((_+)Q6QfYAhwx|jjYm<0y0a5Ow;o5aY_2yi$?DzRU+QlId8XPcqa zr~*1awb!@J2V%Xk8u~a_uJfT-85)LX^E({0bwN*iC~?w9ywGD5X8dD2Y9~hQ^G{_! z@`v+SwDmEXlqC^w$FaD#lpG`1y_*Lb)8P09rlB~x5F}G=jjP5{Ij&Vx zKD05i+e49MW4}9u!bIOR_n1%BrJa^?5xV?A|7}cg6mTq&DETW)f%4jJo?v5D`kCXY zmqf)gP8DOl7%lUDV~Mh9f8-}dG*h2Eu!vheF}RNgkysk9-BB<7Qf;j@kY6=CvJE{s z>H)>I#MsWU>v!0$xQ>ZRTJ+7@Wqs|s#da8E@#S=3%v0^2SRKp3-@1(55KElk;nR+C z!b-u2>3t4ZnHQ&GqE9Tu{#BB+hxQ)i;t$t`lUI(%_{X(jRO6HE;MjPz7Svu}$R3I8 zFJSlD&jxJNzw9?&*0$|zMu+cMZGK3L056<$q0su3J5)7C??rYk(4XCTM!nFtjzqS;KRT$! zckWyfYy9$w-vf(WS9V`ovDs0MkDAz*R7$ND$J|Xc{>Tr=zL+ohXp!7;QC{r;hxo-{ zokYo$PJH5A|BkN*L;ORY9=Yo`;bva~%~a+{6;7g0)kv~AX}o2TTPa0SgA|e2j27Rc zX%k&F&)ZV$@#q}kRB7~;x8162+mWfkG{Z;tvD{WxLd zQ@=DGmmTg*qtYI-0rg$YgL|o7w2*yQ)UmB@+BHsl(1y49pTs@-le45Ait8!ITZIQd zmaCg>d5ofoqqNt)`wFkoV+-w)_(_g!eoE_Y*FMX~3UNB19w?5#{K`R#;q7ivR!-Fq zahXZth<;^T-it#4n=`6jQfu5F2t(6}r1bM&`?UNh-&)GbZWn56&m`+kwk>Ic-nn`f za@(h|Yo*D8NbQHii7A0Ymn>*?vo*RyPGvdtjV>in-eO_kMZ~&3l0Xxbh|+I z6FL`oo^*NFO}bLnzF%kXJJNpA>@Cu>uwa1yS(?$VtoZ#Jl3yiIo(u3!T!!YGi^E0h zDcYQ-1)8^sQ*!W?-yQd4LXcfZV&{n)?MY-iCkx}JXCaoB(b**7ZhmP;g%suO_RVKo zwf=`~6h(XVDzARU^{F>lBx({_$*<@R=g3yCxH{oOhbJnS|o z`$4VVL0Mk4dyEq0d3LDd0%w;+90&7(?I5Uc*TVB4_HLBr8ynQIO5C_#oX-c7GUB|F z4?7sFFmZ&grD@D@@Tr=u_1U$Y>9g_5F!t_AfGkh*__{p5Ith$zCx6J0*t%^`i#pPy z4rpmFrmhLZDs60x8;Wpb^X@;%lk*mP>kiN(bI67l4XIZrnOx=g22CgM#3IVN7^s8J zi%1lo@$%K(NRD;9ijy*ZK>&6)9?wPDj_4Z9XWeOJBe;*=Bld$nq!Ns**-L+8nmpGO zKRT92b1ZGcBzApjC2uvbuP!!b<+uw0{Of~01X$8eBH4F5w)pNzc75=Uty71M$~`dE z?+KW7#`CSsT`y?%g4s5y!$W=O#H<|A9xqKT;H#HT)jKXJr(^5HTZEMP3SGz>Cj%{OW>XiF% zDP(BXXFpNLNTJ^Snw8`H;os?aL6>a`ZSd$_>5eiplA|4i#a7!#{MD_PY+3nx5$5E@ zrJ5ym+l#lbX(TntWqbOD3jDRRT>?kuCqdO>yvPnAjt$X>yN;T9v`AqB3EYFYtY3Rxc3E*kd z-pHKlsTW55L(=4fIsa7=?_40HK3^1pD3$Z6K4geSiOL(S^FDoC%6ZisM#CWE&;Ob%j0p|JGHgg zm%VbXtyWXc&4U-d6|RIC>t7Y_RlnPj#sMWNf;hR>qLsIq9!y{TkH?G>eNn@#kK z$~~1;+;Or;-aLHkX?dF4@lDw+ET9R83qu>0r~S8MuTtWLPT~4A%(i8j-F;UsGQd%Q z!VWL`;m-MQSFB$M9o7%H=NJsP|e^`9V zekRBx{t-qa5jfvKFqaI>B(Y+oZP0fzCVn20`#gi76LfHhSApvAQ)_wFuGwE@P99z8 zVXMq=Y@3@WrYldojz-y*H}cnjqzxQ_uSKe~O`K-eWUP!%I#cu=cc2K}K7dcu$PO>1 z&XE(`Omcp8!#2v{kc3yTd3$`QFP3JW`Y+K-bFP8a^cmSKyA=YC(_xGzI_$6MWgY;?=lV zf?{r%M^xUO3FGIrSRA~Ru_C2?I~-bqpsZq_J`cu!`f3)J*17+ROF}g~L=#Lx48h_?5q#Y z4i1$Yt^P1}!*~9=zA$Kp-gh5HSuyV@vPC0)Ugbs?J7{Qp$6wm$T{GmaETBM=6BldHLEz2W~JU-mHfAX>>uJ)$S}4WD#thkY<2iPd_G)bg)GKmb<{6MUGms{w#u+woni!YG9_mxA5yP2 zrFDU!v56yjntR8%d4IUex8hwtQI@vmQCu+8_9}scoK|UPwa}H_R*BC^cxR~7~oTkniK0*U=?Z+ z?p$e=U$a!FbYx+19!`ms01dSH16wb58aHI(HBptEV{|7MnSJ6-ow>t7(%e_7aU87X zDl&?pvXG{n_Q<>u1}!`JLs63-5NQC%63Hok-jnAXY7O$mq)ZPjx0Tub{HI@$fo!Es z5sNCcWoy~oxkDcf$&c)5RmO1cCf#GR7K=l2nNsU}{PoufdN$Y>y5kFq^7T!w+~K*r zXiGem9aab`R2-l2<`ov`iwQLL5F<10ah|Y3JN7GoY^#z+nJe<#;jy&&ovpbg<#;3x z#pRc=WAk+5BLC~owFR3Ry>7pio_fcI>f5~eMD%H&@x$h|HL&8dN*NUQeX;OJtl)em z(5%^xDgxT)xQq1Ah`;eNP(+8l(>q8**XFYV!_T|D$} zOF8&Jm>q4fxG4sm!$7M)l07XaQQGr;b07XrgzM@}WYMfxwu?r*$SmO&4+lz{{8I3i zan;5=KIk_8heSS$GTkV5Y<$hfM>EJ@NAf5egxct#FKejM2Xn;6J>_awMDCA8(<=Rx zEOxw+&Psi!P~IMi9&fWPgLx&;x%lTm0W7+teSz`FVh#H~U0f&H^L*mDAZKPwLCn6n z2=SpuzMS0c5PpK)L_acDJ?-j7j!)BW@!~$8;z^eChhB(t%+^oDHB@<=OwIly5dsT* z@_V7jyCuAB$p_H&31Py9?B127547=$PvPGE8!SDvE+3^Eyzq95auemqiGG>8(#=Vo zi`s6f^ZV#xImptz(b~Csa(T)i(l?g;=gu30LbOjGYp?r@Batgto+cLCq!F_`k3WP1 zu|BY@Km3)Sr-;MkHDw;T*Q##sRM0MbZ4A3`0qqrK%V&EypjkbyPxp|MY-!mqKiEGX zC`(Kif5pK7PAk#j$wW%(>|cym6&XUslTi?C(KuExs#K8 z2JdfK6mtQ~2cYH4H&k_I`vZDMKK$aAR~!z2{9;adDh~H+gX}5N3WBYDo3kA40SHaQ;k z6^TC)BV*pJikx8LUl)(xys!d~4_H^&M#cppFmtR%j`^oz2n=<`#%o8K3@=1$h zh*Q^eWE< zM83Ly3BA4$XA3QTh5tVrBf;0Who8MrrC*=iE>mcyP8-0{L+R`f*zH(B3%H?J@K7XFk+cuwDPl2jmp?j)&8p%#SAjU} z1H{x{JJE+}j(jYLy_geYd{B&y!TPEgDvN$OW0ME_G7+SuZ+-D#WAC=wXTNSiX>Mwt389VA5;LJGSjV6! zyY0W=_0EBb3-aAxnUO-?*K5%IjUOZEmS%A{K0y2U1IeGn!2Z%*blj<@4gUGH2W9G; z>y4U@GF31xyuNByA0r2QW{^7<0%-sW6E*&H^hn<^wl4~G9fN`DA|Y%vpPEq-tJ4l1)#Y*(O+kRPTkSM z+nAtgB znlVT{abIWm#u;PhAx`qc7yXp4 zsM8mJNiZgQEN19xH8Zk9`nED|!tAz4kcQm1EQ+Teaim zp_}1p#wO>WyNKAB=eh}B>bL0vX8}_DiD|Lu1GoAw3)Gq>zwR(?Ht^gTMw@7qFd2VKh!wMVqb!GaZyK~XV z_Q4_c)_9J+^s$5?rwicX_7x6%WsanbJ_@}$2D0xR&bxhBe_YI!&HlwjXjdF>zTMn~ zjm-h}b@P3ToM}+EW0>p5_8CVu_nepY-@9x{CT=50zh7U}gGp5+T*f7TA-^Ah(C6%n zL*3H*KJv{yE^37XoLn;BWJqF{(bX zIF#PM8+}Lo^jY(Z@;5FckK+nD?39##yrXddwB;dvXtE6)Zx-T@83*(ME&5$t(5|Ex zZfVnPJFNyn9G3r|uQyG$WIN96^5%O09sq)1QYg!RC7hu>X=+v-DZG~)ayrMdASFjru!G@au0uaxaGS~ z|0BOz_4dZw+%y(jQGED&1ySlPH|ZBhqT~(#o^C{Q|wIH0gic-KJu5YPN^Jyoj;U8 zIUMVci6!-Bmp`|<6Lk3GqyBlO_i(Gjfm;7H3n9C>=xgo!z>%DMZOrkDGV&2IH!j`% zVBN+*9RB2{KmS=Lr!9XFuUFa1u$Vjeug)C(`Wo8eqK{Ik9Ax~CJWU?QHh`)2`hax| zo>VlziNnAAk1m?~aANhn0^XwTPX_g-#YMlnD8L`tr(ex^vFZ6F)EFV=viRx zP=;Ikt#d#))CV^Ei(|NBlQdumpIAKcas1V8^%aN7kH!S)$0O;#G13LTE#_&q*=OXp zwiwe0j_#Z~8TA1i;z{+=!8}-+kHC=`MjX0w&vD&n{jozo=PPo@@xzM?*kBHK!fKq& z)BY)lKjk?}dLXMOw-SJ$% z=+ik7!)_7z!c<=pDxH6PgtYkq9KP(t7vq{M;&AQ{2gJHge~7`{vrml>K4~=X@JD^z zdi%2ea!lk`sGgq-=aJvOtaxW}SiUSaH}s8U=?`USi~R2US3Nk~ic9;qZrZg0zq(F1 z`j@^~|ApS%ws?~9P8>S|i)!-Z?dK5&-K!$e$L+fA$R$kMKs$RZ=}O@`ThKX zob<^rUf<6F-8>4kII!EkSp1ZsKe59LZM}=?>AT`UKRC?mUhpqHb)J&G`y~QC&rWKR zPVU(s=ZgpO>BS#`9V%?1jXv<^Sf+mDW{Gpdu2+l~7K~)&I5s)v79+T{Q3r^dZGN*a zDvy|WVars502%n&zSbP-_yd);WDhzW+eP9r+rFr9K3e|`I^-B{V<`63>3FISx=;zf z7X&AkzzYZc(XmHMjETza{5zhXeOHo8_>+HyFI*kf*oBhTZHnNPbz z5IlN9x&3!dZJwSk{h@ak$K>_+BYPY_j5BiN&(~lmKOE1LoLa1MyxDUYKFD}+yn|>uOv!1mcInEjSqOnPSqh*t0vN&d3JRAl3MfTa*Ifl6k zZ-x|??E}VA@1;^5$aeg7D?W>P;9Pw;^i%b4euE>-ww0%2_Y-sRny37u1-Wd+;=G8R z)>>@KPsGIwXWC&){o!y}lmE(qz4Ev#dVEb)!;bzaZ#~E@$UUS)Q+#A zH80F1*To5z7R;3B^=S2jyD#imALh%b;5Rl;E@{2AXx_M3lRQ6M&l>acF0!4#|!AqIUE(F1f~%)_Grk{^=9#alF}!PhVJTdIj?D-#-1@fA^12^BdG% z>VBISxbC+|8s*~2!ABvlC4=c~zW7sxCZ>aogQbh6ujpwr$$c}k9aQJ&U{8V_0Hw9g zq8vT%2~ux*rW2{l6N5WZits)(SRB4+R42XQ$aw}@nHIOW#J6v^=%+0lV15>$5$*@F z!=XRKfh)z^!1Jg6C`f*z??kLBWjd(YVd{V@RvTp(v)|ZxAXfdXzxCB?(SGUlwK%lH z0ZQ4K^n%3%FcHBq{!li)cCqg_Kj-J<%S;J}Cu8~p8hsrO<@%QrHnd$_oLsfT7&>5P z(+dtU8xLh0bIbXMl>sy~Wy=LyJBOhxtLt z#*6tkIAqTs#+*Ug&U$e<3<=>wES$tUu;o_iJh9n@;E_d_f6(Qx4t(Vg1~djM^W*CR z5aZo9y5P5OWuyL}ErlB!F|!!<&F3@7QsIPPU(}BqmihKjUU8Uvd*Vx6r2XQ_q9+3z zOE>BA#lFP7lWcuQOnRrxOD?5CT`U^<#T{aAALtu4WOrwagHkfxKpyb``=yhmZ)n`{C9Nt{ zzcP$rv<{&|XL~&Ozy(BZ5|5ogtL)FiSo_;;_}fKMdPwkp11Fap;$aZ z&$|;ZxV3R6oPn7za-*MwG@c3vdv`kB%zJ^gwcz*L(H5v;Ro@tgD0De~ zkRL7Rt}lW^n(=om<0J8sdrr*iGe10;X|dr)|HmIK_Untp2huK-=nr$yi8&|9fFy+x z^M2Jp*^WQPM}KH@1WHjhlc#vi5yu^4=ZS&z$murVSJ^In!r{1wh#Q;qOS)8ELmT7r z++DH$@FYT#f$9$bnMQjludjQI1Uh8jtyE{mP#CNE<&&{jxCu zI~~)^L*@Zuq?Vpa~}k9U5ux<@RyJ8sqqr-*I2$JTxa?eo&k))d(1;tk7$ z@!*oZ+(RyW{c@7?kv1yN9628gjCrwf%&|#1EfSHv{hX@m-L@myIhhEFm~CS<`6Yk2 zPN41!iQ%X(uP;Du>}%XZHvPdnTg?*NvqeETrx!fq>o4U8b;SJbkHkgCEp2-qJ0>)) zlOHH8FSak%Uld70F4U&t;=JsI0Q-V-KY!FH+dLXA?4aNEN-yQ7)^SW5J7G)NaLJht z#{=hl+ssqPkjB34FVNYP0>^-8*F)y0^tR8(5F20TEO2)*(dLcIGj>=P&*IrUg%MrG z5X{CW%n`3_{Q+L{^!UxympNl{RmUQGapV^{!a>aSE3zj(V_s&6qx=9zwE6=)heIL) zlMc_*>Mt7s=A-Un{)ol`7YA9Bukni}KRB54_-9r6<6uueivzv&`+SXj`ipeZR{+w* z1%2X+b8Wep%PUb}Pd;^FRyJ+msPDSAI~!$@&rfLY%kFTPd(9az^Iy@^TOiLL;+P)N z9dYEIV}Ws$_DX9KF~g%;#{}22{_+(W9+{sf`+mK(H9N6;?iP=EC}m1V^Wxx;zrM(r zV9~~b0Z)F>AL7t=){(pBv|Emor+A7{HZH9>8@I?IeBIq&i+S+MhZbVqFV+?_>dI65 zq6kK4eUPIt>1*@Vl8u{tOFIpGIxzSn7v#sYwo5kjU(u>#aMWk|l8P$(cl~_&05w~n z)vnE@0<-?;BH&lZWx-nW)U}>`9-F6)A0k;BX=yC84o=uIBhK$>E6PxoEGFB@ z?s$omUA@OIN~Li^uWbDbju*dT~_R2wOzr__pM~lW~pEAMFz(+8P{= z=5@RD17VR!uZ`+l{ZBN|_hR12UFO6dJqO>!g>0v@^7k#|_>}u?0~o^nsxaa|rB!YA zZu{%zWF%(sz38%LG_RiXUoxo67t8l5*Zs|p{N#Q%ZhoAOSo!ccdiEcz8*|&1HHbDQ_mxXcUDjHJbP_>@>Kj}SkDTe-!8!j(HRbly)i6VK0~0*yU;5;} z@Pr4NS!6=1Ny@-~ws~whzFBZA(NjND!qK^{f5xl;{beon{3VNuw$ZS+?N@hwYV?nf zr17}6^_|n&GwQ4o(Y#*3%O9MCefVM3ExnkME5LA2Gm5XGK5%i8%%TNdI6K;G0xQ0A z5fBbOqdgi9W>-4evS@!Xl2OCotq~`mQ9yX)(g1|azH__sG-&=qHa^`(HcvzQgZsu8P4r77uKmM zx29!OB9EQN2N?$`jBzU;ooc!KR!4V(NOQc>sVv2CDjX*io(FSP$$dsh$n@7-9#MdB z7JVCZsl)m{kTK1p&kMpygusg?r*lMI3-yy{O3E(%WgY@LaeORGJ5jGbh^9O?CE@YO zTu_t*E@|4!OOMP%ZJP#+U)BUzq<#v!+BkLUl6&gntL47)hVJo?UK~E@M#$tx{OQ^D zf{c#vEv#A zx%%|kRl767w$26#`8$lum%rR!-dA702p=W#)(2oX`)tX<`g;V8C~5t(oxdvgKz9CB zCBJ)ztK+GPZ$7Sew)sqd_NdbG2rqvh_mi z^c$&%USvr<|3T;2+iZ&OY#TcVqxiIO#;H+ndo=K>Zg^Jp2>(iNEr+{ym}I1!Cq8C= z8@6%V$463IM!-Yyd z>e!+kc`NPVdaZ3th4&dZ9x8XFT$_?VF`s(c_)pZH3pw-E)K>yLaPk^KkFY=Gi+s^EbCrN0}d6sdF6hk;#J`z8;YIWK12oh<#2HbR@$$HF5N4S{*#m;<>L8a zX!PgD$JcPoUc&G<+3;yh19LYVN%>fUouj2)aig=C=-pXO7{)xFm+T{#H$y#zZ z+P}{2dEORLAMGFcq63!sWSe`|6@PeCZ;6bLy;5Jr^^+q|XYyW{pqUdO1DA zdTBrWCdXuld+PPr|4BejCkr0aw5?J0txk1U%T`toDKjBhXC9%G-Rj)gqHWJnI#!?U zwPCM$jqe+np|Sp~9o~^|T@z+Ben>l;+2z3M%MWqn>!r2HzhjlRys$!A{#?*}ML-jA z?oN@Fdp4CDu*!C0=uIxv3||pi+2|Pme5i;yJTvxYHv+pxzr>Gt)#ztsA4c(d(!y9Z z%M9`8bA9Gk%aXc0Q#V3rZH%MNl!QJ{_$^I&N`2VUsMcY-t<~W`emXszJ3B-?=VYB7 zw&)k@qq8F8_X3EvZj*gO@f`Z0h~D#ty&+2tzLvf_VRWNClGbF59%=iZo)f-u!!dP! zie-2?3TH}EF(1RH4T3B7k^pWl?7-L9CEeO-J7vaOiREuE9U_T$ zPZ(dv4;u`fG+uzRcSMWaP=>+wDKq|Y9MNpcXXsQq*@7(ntX$~C>3)5nz00E!65aAU zMmBz@&UR?6L$(;DZ9UPkxJGt&&(Y}7<*#{g7oDl5AWuC~DY{(|EAjkk<>+B&Xxf2p z;I@&zM#$Sk*R)Sd^GNiL5f5vUitDK9I2+qj27h22tEM?I2rsXRp~vmBH6IoA^5N0Q zvC^?GY$GMQd_Xm1@w%mMBvG@;C|eX^8k&<8z4`RW)~B0i%1^K#qh-EI@o@a1Bc zK9U}^t`BDn8E;N5s(yGgGX7?Y5u@J_c~aeq#3?SE^{SP(HOd>R^$E0*Tc7-C|FChg z?D~$h;e|HJD*VvqN7C*|Z0*?i#Ca*t+ta7Umd5&UAWIN%%YPciT4||Gow&`XyYmwk zO1{=Vp`=1u1Th| zZAC%$bt-ob%RXHx3fw@KFGDSm$k1;F$Ltyx@@6 z+kt=Tt?b@P2C)mq!|~y|4?WU)n|w(N?LIb;Q}GBArzlZp6fEAB_&aOAAU7)QI0X>u?Qcvd3;~b1+&H~x99$$)ed8=>=u7wmS|;r%b9WXmTil-CHics zJklIFa>}8fa+^6m?AsIN=?ni(rZOz*^_E{Bowc=;G6NwiHraND@=R*@+G=zD!(Swp?G&;C;G zQC)xW*;1boUVnyXd5llH@>`In?ZtcA3{6?6KYSDb{AuI1)zA34+rz`WGT`s|V|?c= zeo}uiKfJZym_LiKp)Uud^>GK}%!~b?bzC@n`Y7CB!nSw(*H3c`**+i+V%{x+*5wyt z&hxhA$J`RDJo}5!qM8HRwbRycF@DTrHdEUpfIKrj-}ax6#vh-(B~ka2dp&mH*x{|| zo#ZPn$IY5k?D~MMk6y@_PrN`g-jt#Gx`J``7WUsW&iuvSkT2wb?}!4wxI?b5)ZrsX z`i^lYYw$y3LVb~#OC?Te#r6X>>O--RA3pONy%@t1N95NBp2^cOfoG;WNimO?!wXGc z?2Gy@`_X0YZCuQ!Ci`=teabO!=Yf9J#anG1C)Xc)zMGE51ZX?C(n@a?b3!kC~G8heqiI10opuH@-_!oDTu8~4mnZ0tm@ z#byyncH@kFW^r`8KD3RIs;{UM3v}gA86)pe8F4gLi({>`-x+`TjQNdCI%?;mXRJ=P zA6Vt>_t4LyzM5!Ukn1B1Cwr{VKfP1MSk`mF0bTO|H2G-rq)Udy5F7Ic?c&hJa(!~I z@k0~L3;p5k-Zq)v_&I+Qmx_6k9&9py%r|ZJWx7AW>#gnNTDX-7nWvh)*wDv%k^TNh zaQuR?n7-&3(n3{Q)HMf4_d9TkHQ&?tGarxP(Gj&Lmk;ga|Cirl{~O~fk0`zWKo0U) z@VoCckvAFibR_V{Ronnve8{!Yqw{(i#`%7yV%y42+L&yiDExHjnC2tq$^` zvC~*&G1dR!BELYsnI;^KH}d{k8*a87hRlwngh zjqLmQoEV!2iJLKTJ|aJpYiDuKoG^a83$HoSdNKdtd`%n2y+k)ASTwWo(5?Pr>uvsC zB_SxH#%tE{kGdYsL~pr+5XU|9+I-1pke)r>YOaktmwqO%f`W6MDAxE(aa{u z>9N8ez)hYu z|Cp!9?y>%-57Mk$usVLsdUoc_)+^?!_G<@XJMq;1#$U##a8U19?W1Ps=+Ugj?A+5l zL?7_6K0{@n@8$1cDR|08q;2VGP2t!?|FE7M?Y$iO1KPsPzN6%49(U^zImdV!dMwC3 z;J9MW3~@PE?$dAQ5m9}Lgz|%&(m0A6FZ`#aah<-7&H%dJEcb|U{*#!$`X4!}PaOX! zJqBY8%W?pVtW3#6!;bzir)cPcf&1m@Kehg*6d{V-Q= zY|;;hgYhRiKa8ns328gu$&luYuq1bZ91duk7xSx_iMius?;2Sfbx5-5SLTy>W!>WF zu@3E^wxU1mQ{^6GOg56c=Ejaq6LF}61HI>Ij=^E%SU=bYcFuU{8>^A2jp~rTAB@3w zzN5^X5y;84R~naFSBp&?_8AD3>!_4{1HO8~ z$F{+dTpa?f7a>2ho^?)FjG5kJebQ3~N4tE0i`?j3KpSnPFZR-G@H}fNC5glNNdH0W zVc2{W(Z~C?s5807xmBrYT z8fo=B?vAhVM?`!UFB@U{>^jKxY}T85_>H*ex1reB$Y=cOFW^_7adA%F$Eqa}clVK# z`(N;fKUSa|A2Dk_Gv?-^#Q(oVM2LQ9N~WpN*FDx}TqyQ|^G94$9k+eZ$GaOp0*(Lh zGyXn*jGe2CT=LZ``lvC%SSvdpzhL0F+)%dpZYfXkom=={^NE)o|1W=wHLk)xefq^; zyfyfk2zCwyn8-TVNk6j%3p6L*AASuPG}6oOAmpHEay1|e4A+0A?iYVa8*&67y?iF7 zj=8cQ{#bt3Q|L6F^ zi#`qVw98{|_~&G4XG%6(2a=!b4|K~bkNfM7kB*OhE*yU_F7UwLq<{IL4ijA&mU8cK z&}QD{J1~@cbRc7{KK)@GHr`AA!e_3i%Y4??Vs>8~Vs=t^OAp8b$J~Q>9>gCio16xd-&MVMq~0b zv4CG}*ghwSES6k67Pfve=uSEphO~Pxx?#XvvAks(b zE9Tgsd@<#l^@kUX{d2+1OU`^>?Y=OQ40?N@=o0IhZFbGwy^%iUw(HqJ^%nf07*na zRE@0F<$~>V`GP-R`=ao_9h;Qn_{v}J7}7@diNn6{cw?^WsPY56=6PenEspRPF?a)W zCqVKe*Oz=cX%?r&F^^1u!#?0e4r8ud=zB+)?@lo;JN4#s`rMmilfHs3dE}ls*=_uu zRA`6T>x<;6{nYqaZ=L;FT`mapvi4x(I~Rf9h`Cq~$1DsSn~-}aw#rrpbBwVNL*FRc z2keWA1IKgcpt^r2rYn?79N+$h3pT%@&3E-k zqonL6RxJP{rj~K<)(QCoe~Cwb=xcN1$vygjV_svmxu!ps){9&G?DqTj)}?LY#>J4g zE)>&lTpf3ugY-qQg}?ZM&oRP2q>IR(E>Pf$F8smciS@)B8Rq9NiMeAX|GLm6<}R|~ zqi!`3NFF2()aeKH+OPfdBtrYllj4nH^Tzsr{>SM@;te-+p5*yrNd2Ubm2IE#iwxgw zbbb>NO`Wi-UKsaBA21iD9p3W|A83S(JgSJ?FTjKAfqag(3Y z{08RUKSiChMPHy8CuyKHyi`-@$2%W2XW_JH%`w-K&~`COB>LO6D6*finpVd>FMK3Z z9QxE^0Q8;xl)CO_!5_Y>Mmv3ZuuR4wl%7=OYkiNu^qJ$YxXHb~ypX@K34M-{#3lR0 z*BEIoQnZmi>3(A{a-F-gUmqx2TaZ`ZN{Wn>zLX?3`Wf1I981Mb{`>RHt+C{>uJeq^ z4{hoFK3)_YMh#JsBuZV zE-vcvI2*;me&dH2C^Ua^joKF$(($J~`qT?)`a}8DhezAU561-iK#zNxv(_6o=x6<* zYdv2iZ^ za4@=Dk9qM)x@3!49E^kJ-VkPkUo5wdjc)um>o;+Dw~hWljrA^U(eD{ z(faAQ=loi~82Y<#)%xLZxHaZ|VL?8FCBHV_fZMs0IjTDI)Oa|@G-tfnNWHr6;<#cz z%H-E`4EC=}oD#?j9Ok0^P=8>vfvFD=$Mo9wr8S?ta76*P-dM@S+%Jlyo4ByG zzaXdcM_8gYx1{s@0$s_Kr@0FoiAxvf48AWr{^KA1{<}~A!~guZ@c)q0fA$OV7ob<> zj4hyzJT5>ep48TP8a;zN1Cs!}LZ!kME1Qfh-gN{ED*g>ek^oG-oy~#5mJ%H2ER}{$ zp-s6~ERK#{2#@(ox0`inS5LzQ<8}BK8LXTd@Tb_Cion63V%Qr;fue$REho_VR;vJDmA(9q*xc2PMkx z+k?%$CST->Gao|c0PIigdU3`MluK#v%xlpWpASxXHS@;z;D#gj0NV4<5)E0iNdMxF3_-i@IOWZQ4SWy|MX zob_#zxT5BRG7~tqHbzq6Le&XXA7!*MmcxGTUwwmC_rXza)W4)drv7l(g@&}`LoMbs z{^-sH33U@2t(Y-^pWVF0QHua@KqL~2p_p7FJ}%U<5$xc2Gxyle3DgSK2JJORl&ilL z_Bu8x)MCB6(qc>BLdx&r$%{DRNFHR;$^Zt($zHIl{pf$+v8fjTD_fcIVWs|f=0)lq zdz}m9rKlq~>W8)`mmYsOCV(S(BQ_>Kz|aY$W0bO7C^!#*FYkp{LUt73BHp}nQPP-5 zy*l~pP7W^|SpR2Sl=Z|z+Ot9Y{t}bpFM1m*f5n9fU+~Mth_~O8cb`UX{^G)ncWp>M zV}Tg@&(H{7`-eW)E`L?gUtx4CQJ>?lb^pp;AB?kaj=jyf(8BZPoGVUG66Kf2@?g^+ z>Vrnwn|HQOmQVi*zJKM;J1=x}F^5`nR=tjS0duTlUnPyB>@zk@U&i0|d9&Dd#~oEN zR`kME`w0D3Uo_s>7dOWMN6HW*E+l>WXYB5xioCnfGxp+ePL&_IxyCrwub^d)?T$;w zv48o84}209TQ*|0o%yXXUAwz`)p>zfA-@x8$2aq5vA$z-cbce!@%p@xoywq;|M-J{>j#d-|GD*>ewdNrku7$8 z?ZrOj7(3@h>Y8KZx8RpszlozesgU*A@t5^bISW}d`azuFP@7|`V!a#$4 zEq&rpw)&9W#RA80F^HQ6eaS)on3Ed&3=KbFPP9)XO>!@PsFh;Qi)T*?>pS?b_GF`f zX`3Up9p9<9xZ{sbp4a!v4x_TYxMMEZ=Y-jsof9!=&ljyNlvVz+J=yjv*I5+xFWRxu z9MtxUp+v?-TcFhBkHUfV_&FT;gYnT5)5WZYShQEUFweZm4mmJiK#+T$tXd?9mYC!Z za^5QIod@zMHjCOm6Z*B0eiIIAn-{|&=Ao;f+vYe(Rlm?Bzc}pYR9-wzvT-O!%nt+z zP2Y9$r;Qtv@F`ST))SlQ1M3fcr*6v$*B@d-c13%|VGPcH$0VJ&jZ5=0$KB!19F_0D zezbx#=8i++u((DwN5Vn7b{s>4J$4pz)ToDk`^+`SEsDy8r*jSGm5Z5u+_l$Xro|GR z{6W0TRV(c)UeM2xR&23xam?CA-{J@J)c%QV`(Uso4F|cGebCzA`J!J+iUWB=i{H^T zeSmuIK+^2S1jdj0_#jJq{Xu=ky^F9&@mL$rUkBpwV>t7IJ~8bGm%3(*&cr?1#fSf-%5K*M^ugXrMhO62!TEeUu!aF$E@rtTUyT)`9yH zXr-TM2&m!c249_JXZs*HG^iO3wHGY(m@EauwihNr83Y{voE+&Kv78)fC`nz>bM;U; zVwwpuqNAIZj`|kaz?uNaZSqs6ylhs=;?OQ8I&US^FD8AokXs^_&!DlDmQAtng26YK zJC;rv$||YBf$w@;<&nL3Af33Ze@!lU=3E7V%fSf-gS{X_(RH|Fe%{JG>a2@Ld=y z^K6ul{}t=Zdr#6V)@Ku2jd}=oFM1%yk9-HqqhIPohz9*meD!T@Bu~4Vtx9Hp7owds z$ma>hfBpx?ow=$$Sdq`506O?M?Il*7IJl1z#}Q9ZAcBt*>wo3s;Gh2ka{eRVP;)}1 z0ou0PFXpui9^N9aa&3$Y7rmsHWpy=2{KB-4>{>ygNvLjDXgei9jMkzN)Y%I{8ybrE&Dp5PbLcmw&@xOAf>%FYPJ4NErD&lFR9C7|e%`2!#Aoopd5 z-?&Iw|BbL%!qJ57ILeq{ZhYDPrOjf|ZGxB+QR*D)tnN#4Lff>qoYl(6788QQiL9jde3#otr%bkaurXm` zhB-Ze|&!@lu`aKQe16XTEsS3r!NZ;Nj2p zn(M~<7}U`|*jtcs)T1_DFy$_se&J5V+=2J$Z~pu4$m!>p`Ak9JkdOwnDJM)wA_zU{WD}J6lA0k)8IypZ$23Vn=`J1@t>v?QR z`SS=O7n6FFRQ<@NzLOIDjUN^91>7N5wn602k-KB7LxXq%QB+(mvB=;<++8%x-DaqaDuo#@)g=)h+stm-;gdhiA&I88Y1O1_YXzAEFXz4rYb8U=FM}gLE;(B~He8b@<|LWW3mN?`^ z8oEAb^gGj&AfVMo#;$nKC*~}oe$cXkcI@EObpqq0c`)3%H3%-?W?G$TddB08NQf~2 zhg|0_=X>YK930Y-r)Ueb1RUAUM_?k}#;BZxa{3kZu(lSEC(LZkhvqKZR=0qpm5y?E zM^q^eb2|bkE=FPtGgjz7_RZ7!B7#NzRZ+M+#!eX?yH>WEKhW;Ks;X(-)cA}v^WRZd zdlN1fB^CQio$<>@>7y*T)%)NF~9BM$WnYo-0Ju%z;TVH1 zK+|@Nvo+Z|nUinvPa=Lz_Z(#(N3Zxj2hbG!m75^iy(H3?d+1j`baJ?4U z#5c5;sxSU{h~-};V%2AVSiWo8=2+ZMB_Ae%`}ui^Z9g>{aI&>4U&zmXGGE%CW7;ie zWB!<`ltss}TjePt{ZzR9ulQqhOAn3u9Vkz>GAhVWCVqRLH>{H6Fa9{PueR{yXZX$! z>5z|;3{NV)UweHYN*z~)=$93J^UatGS*n{!*(gi@g@gK%TgBAvBHq5%Hj=-QA&C%KRdUt(P9YcW>8Ern0b; z!+9|wJMt)3;ouz|R0FEwSJ=Ud%qp$)>IZ-E!g2{!2yP+->P7XKV_O7PD;vG zWLWHHASO?&8%2I{EQrkyma*{#LrUZ1x4z$TV&qBByD_D%MdIMsZOQ1wsDte5n`d~a zK_NTl}X$?_)a_J1@|M) zD(XCjn}4ceyZMwqBzX#L+8dvh9BY?*+DgtTZRAxckz})MgXVCQhfA1V(%7QwEU9o| z#PFi6N;WXX7MdlCF3jM_hmCo9XpoGr#x5ldIC2jgyUo5aUox5C6#t z`C`@=E8Ykt5M;mPTVeWj&&jhu=`Ov0{l`(}H>)x!Mm+hJtwwuS-G5>GAOEi|EaXA! zdGy-;*+qiSdj`#9!^k({dqF8aagHz2n6qu}|91A>BUUHxnp@b7<4>=Zu#U|wq^;X#MQHET4^kby{e={ldOMnF7 zf8~CN9tqM&JM)42#c!n5G;~L!ApXkLh-x064obz%TyB0!-zivhuXaTpB=(e-&G>r2 zhD%xM8-FU;LueGsztIzw75;z9j7iv+kI4^ol;1BDr{rXwT^^6`Bo1l5P=5GS2~GBi zDSr%(!!UUSeYDmhQz`bz5j5MCj5V}NGBjh~=E*ehDb;DHvO3*7!i?hypZ3RQ{nluO zWEjlB%91DI1wvvTnp&SYNS0T?dilamx}(&8TZZ$FG;b|fnwhWGt^|+2_0{N+_k4%6 zCm-N};KO#QDaK`X+8=rer;kOope8?8c74Eo`{{T}F-jXG9@rPRuc`-O=HhCmZ3V}u ztnqp0Cj!lOX@=vWwrzcVYqLUyh?A|za7bHDf3ywFH=pT)DJ8b?C!bDB5)H%hLi2$` zKdy662wRIx37vN3h26RlcoeriF8!hZq;Flr?(}6TC@XfhQ9f0(!fCR1baUYRx@4DC z?wn>9bO`-`M*Ar_qFwZzW4@w&RZ)Y2_pg)YC3s~z-9}Iv6{h1=*w_07_GrTYq}&Ji z({VW5ie>5d=xf1G<9y^94WKoT#>(Qid0j7H-hJIO0n=xhT{v|HYKLunB_V;#!`0^I}zxo3+Iv{q1|`ari&l zjOKu}Zt_OKPUaO89B7~0_#LGft(aw*O+I+7-K za@z|CZ(gsaSnr(+Z@>K~AaJr*>U)t#KOt>TaKzQc9*hXlU*|)T|Yny&;N#OC~6th^wYn;?RK35YZ-q}^Bl+uhp z7Y8*-aDsngszm6|R$?A5^xYU=oTHJHR@$x@7t7qQFud{)h9#9=e9Dwx5fQc9iIIk- zZ`(T|%|?YmpZ?Xm7^V+xJWe)vq#geZuUh&ajL8!pWHZBWqy1O14x z@%^_x=H$0j$mp&CDBz!yIKd*zG1Ch^jWre6sN#zoCBIYp- zXE%q^co9q0?>?%fAb6hl9Fcp`OUR#eD;a#^*kc!5=X+|6eK;J`y`vJ^@((imiHqzm zo|)h96nznO?7Keu@=|bm_PIZ|7P5m%Yrs`{z%(*((Fu1kd>TG6T zJpOlHxeHMf&%qE3#l*vQS*q|rxh9Qsb|^kbK6H?m(6~+#cWR*?`ZTaFjo8d#Wlo<` zuky9)wOpQsLxaL09`@bHrXqLF5BBTCsAEcWOQO%q|M*tph=an$Wok1G`8)agm%7z; za;>|4x0dTu)22TVe2q(7JQv6K7Wv7R7NW%>Nix|~IuNx=6Zag+1Fg2UZjoP-D*?9#9tB%&yObYyb13(tJV)uU zo}G;TpqV}Dlc^5lBPIP~b&pm@R{5tj=g7m~$D9@;G{Yh7tizON^~m<jkCWi|ge5wHOfeoVW<0SKnYZ2&xeuyH7c9iy`YgRO`00e<{8!~!i1su}%-h)3u0UdSfa{%-?fp<5 z*T=^<{`K2XlVEiYodU(|hBi;GJ$T}RjOeAN9vneo*W0V(l|M{FlKX=0hq9HYUB(4p zpC7Gv5MfhKXA`YBdft{UZjA0*+!ZHTI@;mm9CE55)x57kTFio`0-gVAWYf19Y`^%ev?l`of)Vdz z@cDFoY?KkdSavB$|3fR2{^jz0J&;I0$VYwfTJ(SQ>Pz{+v=RPFf@U|Vr|49#dvYddt`_Q z^b@zmE;eNo=P&jp^Hd!4LF-31GTDzq9hBZN08i~;x}VQo69=m?+qm?;rDXf8^&dGo zbeS+GSDGUD`KFPr{e^!m7}xKEL!Uv-|2ui`Jv~9Pn(-r3B&a}-FUp<#!F<8E(XIN* z)i+D4yzGP3MT&XSug^HoN(cR1IN<&*+STA^*L~ds$K)~%#Iv|%_PWEae0=+2rEdUqHgHa*%dkXz19Nt@crVJ*Erbu$yxq$dZPQF2$%V*T^k@ z3CoKu@8IRG#~v4uf;)S>4c-@>mS_2GP&F>;5?|ITPRCXrV>^G*l8@Ec@QmzFKSee^ z_vHDrc`A-Q$?^h^I*g?n^lvZbwvODpMQF&$vCrL=>B$^kupjsCv*{UL_@8{I-dsbT zqt4t_050c@;$WQ@`_av(f5k)naE!m1lK`ChEU{1yIl7Iv zc%{i7wLm^wJu|fG7#xkE_Oo&e87p@w*@%tm2M1NiHs1CDn?|}j?4=vK(h09I53h2> zEeihZXW4>X=q>~BMeh@}4@Wnjx9*$%2Uc1up5sbtNvzVh)m+y`Wh+nnI8M)l7+UJ$ z$sf{eopA}rh>ztl78?C~hHGPLmt7LGj14H?NKg?PC#M!8DiY&Uoz25&PAN=!+XwyDAmY9vU_-k9m zynXxPpO#kGwu?di>IRcz#N>i{_{&Jg>ClWnzIE(Z;$OgDy$;GBSD|e7{b&c-Zk;#O zbN)!@@w{$N9<<7?zbw8b^QfZZ%^$~icI)Hlf{QZS*{?!^p?O+87yF<7*T0397Y-2A z@4jc1`1*VqQXAM&;!k=ix&g%mpv~vL*s?ce7fPMr23*Gj&IIt8RNHk%418#SC(GXL zP=e5=L1MU*W+h7>4)pr+L=$m?nhc+3tVp=LVyBCvu zzP@9c4XV!|zxpFmCm8*~FLAh-DF_A^Ru@BV{a}K9h9NL_BC|Lie;kgO!Jv&i`#&#; zTw5FfSOCs~P{J)|zZVnq$HhtejZ1bYgCeaZf9%UC#b^h4{K0YHiKn={h|`NIHJU$Z zy&%!^sS(0p8?ueBIE>xV()#+GdQK6eJj(T#N#dodn0qG-@~?y+dKUq|Lw3i~qRYDg z%Dsnp+HK1p;P5hoxHQWAI3L9Fg2SJK6qhFHM;Gn?#Jd}OktW|hcNdO%;9n=2@>2AX zc*SKgC$z1B9bqn_T}*HDY~i*3D#awf`R~t#euYt?lyh}FE3Azl{N;1>5J!8WwXq

Ydi@K1C!)W1+~ZjK{K30c7@KAiMV=a@x6S@l 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�Na&QQWnqus+i2aKH;Ux#znpfoG=NOLEmaEh_z0#zY9He8GEWNJpo{_Q$@uCeT z_9UG$aQ_@3?HrrY*!l9nOT*UOuGCwZ)Pu>MSIhr6kcq*|Qt@rwaEpFyMUXy7p9#?H zcGN_o9M%PXaQtnhep6g3wzm;5I6iI=ADUAW0E!362Yz2#nvU$)XWqJdFq!PJ?7km? z>Zp2ss+6+GoGzDJR6IV-I6mauU5cY>9AIrM_ko zD2-MG>q`qqT>=m&d7PEntrE-R{kv_q@wz&$m12&03fD}6Kk#@-FcTZPLl%a_=QT`O6$!WZ?sv@mw*oWpBp zLKxsX#MyUEy|0U-7P2~1{2+6)0Y}G;E1Y&?>j@GGVUQd;%@!>0=IwVum_5Sac~A>n zVhH};_W0=vdNIrcxK=u5YWQBPmj909=^GDs^h5X2*FU?8&O18FgV1i77^yRp&z^kX zz(5=q79Xol%FQNfFh!IW${RX<9hdQkyKy0%0xz&1-~8|7v}D{dgl}wH!KFmu=JnBX zYo&Q=gZl9mE|9XiGq3sg@rR|T_pa&A3MnOS83(;G?B(M_L+D|md4I(DR!bX}iYF(5 z!E-|^E<=YRpb!&JxC*nHta=6~&dEZ{If1-7IxABoz%a^)ng6WJM@C?r4;E=m2P+el zcAjVhZY$AHHNwmZG=5L|8+TtCOU{71(iqdk6fk6wrN-KUaFis3k$<;g?p1Cc7Pn<8 zzKXiX*$68;8Mp{m?`@FsXWJ}2__GV7+&!^CStMqaX0n`*Co^up&gf6E`&k>eXvR}d z9Iq+<548X1eFW|=g7CmPlQd^LQ^NgtqJ-^bcH@pAa8OA2TF7TA4Dq_^(6r}oK1|y1B(;kOFn7Cr$*4p(0mWGNV!zQBj?q=??q`v)lS0 zbwYjSVia1&((Y}=vQh8JEiBpLxu8K>ZyC3ou6Z}=z>^j>wCix|Jz%XwZSP-)IJN#p zfkj4E`!|U7rLF3jsxww@dFnR_f@j?PGLIyUE_d%#X#wQOvTph#-@XAX`qxTci!#g~ zyPefSq`@##TGi&d%=o~xSaKJ}LB8}c;KZ4yvpCSb{Ho>2`UlTsjpTH@Rj|_~x;$>& zpoxBEp6t%)x+5v%Cb?4L#p$lx^A6u_V={~}^7|rWVdwmyN%0u?W20qr*O76u=ThO+ z-MS@Zu}+X2bmzQlsX{ZXl(I9~j*J*&TquUbphBqMV?EuFUu4t@VoD_ECVN$zy_YsCR~%A!UJ++6-l^;{8dTbh`hh8s;f2)`|_;9!Fg3gnHFXHYGJ5~Ard ztu?jxQ`Y0>wyk5;f=$0>+Qkic9Lz@+dPuJf8}Kxn`*^xVk)_^2cf$A0yaJcwb`gGC zoo{_ak(6wfQ!&lSyb`jv>nL&ypI5b2_k_?ZnihmgD9-stpr(TEHXdJb7&oon=mwo; zJ(7)us^V+~c#^2Xs$Ifko8k`Z9cAHKB>72t%b5mfyt+WO)LPd>`=C>j<2Ah$^1OFf z$3A1kwCZBkz|6dDS3r_NTaVhzlyv+Pk3ZOoZA{u9iPpu|67gbfZMz`g?V8 zW&SBhjej^K6HaEnlzX@RA&`OXP*j~O74K$Bt`-y^TQ!wZ5*D;14!#mn{wqE)2_8o8 z$FIB_XOcw2dm9B^t81!CMxAXv7uRKDV1HHTU40ZVX|KI31@OKRl^LNiW0qfeV&t`p z2KW1D-EFAMsHIGJ17c);US%G+;w!0^ZD3BGnZGStZPdSXEs*&s9bTlHKAh8GBh+-n zJLl=DdZea0jNe{WJPbO%X(q7y4s-4a=|vOWZA19v6X+M&7)~8Hf+o^_W0h>0!&Nl@d)QoEA}_5;t#$pwquYz$_<3tG;dzk{k)c5sLW6rPb^Hj+I??w8m_7H{3&d=xuO}n>Y*YmP%bb|V zf)BqmI1Z4Q)(T4w=>`@1aK4YlYn?X zmBAQW^^CTj#$h#IxAK~s+=Th@?_)KAa~NL-StUqlZuPj0rMYBwoIRa>;vb?Q5vliO z!PLCK_B=v#;<1NL%rmf{Te*E3lO@TD=RyWQbWH=}zoR^*KH)=!M14CDJ(N|0{%pZz z_u@5_{Q0eu`|^wiEd)eM*gdlL9yrg~)pp$CqV_0j7#(lkwgN5aPYGw_lH9He8%)G+ zR);u$uq@_(Y_aY3W$~Vub?oSh-CPK0)wbmR?Ljg1rMn^9N##yW(TYf4nJF(jc}!I- zfzSPnVriRcmhG!pM;=R2rd5KL(f&5crlc`%lX%tn)`Pm;9%G(mNf?IG_A!4>h`Zmb zV4Ue&ms_kO>F}_Ce=q*L;a;CQ*Akdt$eLiGikpo;&=b9Nb!+ChTE=6_&#G+o=ikp% z`WD?TAGk*XSMo0Fb2go^`?B+at?6iD_yB1Jy>7MTdWE8oSJQ6Onnf0?rg$_tdx%zR95U)w10vY}+q%b;UU^pecy+E_P=1Be zGI9OjnW>V4Dx|B{n_<9y4vTfI&#~tiQW%%*tedS6|56NC8+Sk<6HZoS4wBNI%{oF^ zewQ5mI99p^2&!>>>$uw^&_zS#P6_ZYTo3t22Bj{6r>pe!bP>LViv&2&Xzye^Ih6MmdU}&mMf3@894R;W0l9SeZd5|G_>-C+NJjHBaW2zn@qY z7pMr+kv#VFw+q+%{`{Sw5;eIP5GDez!W`VEgE7y{*h{|6&$zpOnv_ z-S727_RE#g3ae@i9ZE-i#KFQZSO5pfJ2Rm}N~osly~TpR3Z5_U@T)@O(oV|t?pV)m zKa!(BHnVA^r(~y{xg`R^JBRN?ubFsr^DM2l1$(bwvGlH=%adB=Sy?iH>H+?Rjn24o z@c@gE{eoE-=b+-6g(Ri;#(H*ZSU-?jMw(dOZWn>{sRLIb2@rvT2w^@~MY!ux9mYa` zepFi;0y-6!$il44oxPm5j&wa^L#T6sB1E5)a=7(@BVmi zoznC<1@)_kkq9SZmrGLexsF?NhqF2#AJ?I$?Rl8g4{!iesxKW}qtx`?$Pn5h%80TLsmoaeAnCNaOC?xWUr~C1r=(!Sb4lzl z)1&w%sT*(q+e=Ker27`t^TJxPE$Y84vY>zaB)8v;l70uvy;v`?V9ZstA4m1#vfNoQ zco3C@R)1Q_5VfBNg1-Ug=IU<|EAU;OKZ$9oiC3Gq%)Vv)OG zQDL*Gj>XuSw|5TFTl$}v1);uTUXa(305vZ8>QU(}I4Qp*d~-c|wMCd&eJfXDVLwhZ z;KfMWIv4W#HX2f8o5Z5dWlkLsEq{`gk;(P*1-KODsS(9o&Dc?=3c zMoYcflybp^t8s&2mMPyeSn4Rtf2JL)7$e(zYrpm(mf1>}2!mh|AW1$wxQlZ}EsI|C2i0!x0I;Klk+mTBv4XM@gD z_P36g`{*GjA$5Hf7hl8nW74V@H+Gnn+d5*sQFfFsbDrcXdZ+Z^CRd8G`-#TQ(!Dv}ghU_ATM26HLV4Vx&ATCxObLIBijfO}i--gI$emKJOd`d`K_ zJJ|> z!{WA%2ZH+SS`i1$`VaQRa*ZP$Dp#{3^70#Hix}Nob_FvL1xd*Li0zI!UpWEC$<7?8 z%$<^or5~uj9bo-RK``MVAPaqgGuY8qVVNC!k+k1d#wwMmow*By!^~n}tm{syf0>Iy zP#nk9FHxEgdSk1P?gM6}cxltaryfG|W*Aly+tI-OYO>>6)a=Vqo{qcx!>A}hZE$;U2m_HISY6Y2Ma1W+#nfR>D4+`><*1s(dK<@m*!&yAg5yPB%OU^!aMcINja z=J`T^mA2!6ULeu!Mz6yB3@+P>ZT0V9+`(b&hW^@Gax6Y#F+D_P3a3)4vq$Ca=Mnd{ zEh;?m3Gj{b`*20DIMJ_M|G}Ey@EUJ${ZreyQBkDm53}RJ`ps!NXh=g1j;G02L7H>p#SP1%0+TQbQmYj;56WUf8X)c9H zj3a9yV$8Ba+*s&gEZ9<3#gml@m$@_abAJ*sB7~6PV(2{v4!hr8i+At^DI6naa*rdL zl)a50p}x5>?7e-IN|`$LkVj=*Aw1ecv@NH5K;E{jQ?3fD(3RYnYnr23>}_}9_}MB#}tEEF;|=AuYN~(0xiFJz6|(+eY+MEt=E$|#OQ~3~Lp=mhdPocMSbN%-e5^n0 zrXc3_lPrU|1!aV!dU&2i9DaxVmMcXjVM&wAR%@wk)5zuT$?|4h$ogj148vckokoxu zw6o&+Gwklp$X`f&=oO>ifr1#HJ1lMz3lZ=}wW1B(31bGCtHI!#|Hr)o_-OVPgY? zUeCEn&Tl7FHPZ`bPGu7}N<-rxG2X=g(DR-fm_Gn3b66MoQ!nODPRM6x9>2^;_u>yE zV+Et{D_A5NIFNS+MHz3qGMy_?c_GlbxDVTgauD?x+_+P|xA8b@5BN+hAU3(YKzIxP zM@cY{HQL->#Ng+?UIEsCFj08o_Nb)skM`CWaueK6GETpCpU(f0ssi53z9V^|wT1=j zlRI3ix!7_&gyaid;uK(*K6onYCi>6u`%S4Pe|?x=eVfh+WV7jH@x%N-=-j8R3N6d1 zZ!(_>H^d;hdNMMlL9m4hWA6spi=Qf#4LbXLf5ozN-yXLxcHc;4XJoeddUB_CdkT`L zC5UvY?sa~NV9H|Vu}FSTGS5r>iABld45N@7AT{`-Nw$8Jv$C#1l(U{i)X`OU(tEZ& z*6RV14g5Ac!p>cS*`z9v8$HKfpexFjv~Duca=$0(NRy@YsKHM2hE%Gy2WhAk1A-#< zntIyyj|L2Hn30AZ9{bgVx62aN6q_p}wk5Mdlacg z1Uyp$ig@X(9GmEA0q_9+*v{8KDDAGbHz-MkE{Bd~ygMDqWa0Ra!T_Q0_|9>9!A7Zh zzCW;C=In@(b@FRqlkTym?B|Fg&46w8mPE$lfRa(fB7V)h|O?K#te5h;Ic^%b#B>2VHOhJ@Bn$y2e>IDxgd}DpxnWEQkFr z2frP_E@7OQp^fEbpF!DOh!afJJb07INUt(xgl(-E+KCih#jWG-)(*JDbW2iL6~|U zUWFMw!`__M$dIik%YTHP@=;;wSQX2$wCteRXbmfPjJ+ufMYju9hb*8785c$jZXBI=Ekgc&ZErxVg83Lo%;x{-uum~m7d+g8B z&`wDnC+v;_{MVxPZDV_vz$(C}2$2oTp0l9U!|tvFvYLJFxnr@p=;gQ>Zgfwu6Z`(= zl`BmP&@&TKWI)u%KrhY5`{Pd`N-HjpY@oZnw0`9Mx#rT?a6Z`gnzxhJ`#eszqI)`Y z?f38+moh1h{kRL;9w&Wskuz2E0p(Q%x#+2$QmyQsN3g$tIMHE2S4vm<_#yNc|JR4WU#O9O``zxrPOxh3J0AsLik;nSH{62hN}xyCVlI4foYQyX zl&UxE%9S!22|M8_Y?Vp0ZtXs;w88dRZ`;q!>lirrLFkn9wJ+ z4+MdDSYE?d-^s*Oe6!H1x8m81%1bhL9XX&k0d*1sABb+(k4x0w?r+MK2oVk)<~+;z zo5D;4Cg!tV3{-DGWij1sZSzpXq8h&*5SM65zPDA7K6SUW{zGa92BB>HEOG0e?v^%g z;ptJD)Bz~#&?M{{0BmxFOKhp}K>8L+E3Z?{cV(rafn4BxX)@JG6StS0Zmy)Jk|R~FT2#^4CEIkwnAto274lNQb>}&4qm%dH zgbrwKe>j9&!aXg z8T);*@UKWsblDIENoaySS0@sUPm(q&y0x0iaH3-Sob|hRGfMSMhNAo;UzQWfmE#IC ztBmgdIFjW#U3m%bm`uLn@P}oj`@5g*XBnS)Yo+{Ewh&21fBKgC|>1X0enrh+2fKbi1lgsrz)9U9U4Md zEmx^AixO6Ca5~Kx==qxT?ZSN3k!r`vl{I%!`vELghKO&68gqN%NQ?K5GN$AwzAG@0 zBzuw~pc{5gPGH-@63Feyk;cEy0VQ-PE(nxSYV${4nqPy_T6s6-uj+RGce)oGI`ZQ& zdV5oi1yn`s&>^2}%J>+(UvG?=w|6NuxwPE7e8LW)7%Uf~L$gln%T+hlt5F;^%>Jy>A_r%>8LA*ArGDKm;8Gz9q{rKz0~H_^O9k3 zM4v>&mQzk9<;CQNMqpslQTYBIc&E6vQ>sl>?@T0etf)Nnut+@kil=wAdRKL3I!ZG< z`m*G4{LZ^>m=gToyZRj2kVS|f^-317f_TI!RTv=6j)%xD(O>(nbdknNrgzV)@Eq@3 zPofe-ivpS>SdZc*=eBFD43J+_7U^1VK9=;@lI(Pm)aj#nfl z8cxxSwI<9N)9{}Q5YE>vgC_(B@43HtGZ>~8nfIc62N|lIf6u8Jo5(SuQ{NIv{He;x z`ywU5y(!4xUyL)P2miT0(X>)VfMj_Q#N3f^+e}kd!>ezrqw?dmu+VIeAYK3Sm(O3X zZYT&g&|mzJlli3d;fH7Iwi3p9e_~>-c(dCOr-t#v+MHHlv5~oL!LQ0cts^A_0~D{! zs6L%IKlAI^=U_8*K}`I5nc)LpfvbBF6hGZ0yRE zjf;_EYnGh!_hf&0U*3xG9c87|+RvoI30Hi&{F+r7>l!<(UOpUnCk$MIg~)Y0`8UW@ za$3teY|Qr+iV)=Q-fFODa-)%tP_PBA-v^~LW?1ovo; zqMkBGyT+$J<@c($y%y$n3Lt0|meFG)??6ECS4W*?L)8@``^2|R_ITDY$_nClpi zS66YAwfUgFAcntiH`Bds25VNqW&X;{j(*qsp3xQ~iS2lmgJSDSDCHGJ5Lkw;CmO?f zqv#toWG-REI0}h4A|FE13EI;_Z%F}L?VKD{O{-ArAK1WzIKTJ9R~NvLJOO}m4F6)} zUms#51pU0rIODml!@f3kszf5aE8uT#9Y;O2eqvJCWd#RPii(Xhy=yy!}S+8>!U(!(qQ;|x^+dIT2 zfmat0*Q7d+AHzuDQM4Qw)a86WkYpyiEk410hVLD+3dOh`Q=jocmOqfSn+_TJ{o`5D z!w)=qTl#7!W*h0?jQT)4z=4u-xPz-5=z*mF6|ve4d?e7s)PvL3nF!WtJ>{sL282um z%K7*O91R5gTFVMg-qWK9U1S--YjyjvV{+aquqmtT?{srelhtgV`I+eFv{H9-)w;Xt$OpO+{d-0S9i5-#Q@f z75LSh{fGN{mJO=bz2ELh*rM4Evb|Ldlegkp%AVn5e}+!n$l4GHS+a}dW3+5wx`blF zp7k0zzhRQ}oT`7dt-ne8;kF`DWeK8J9ca2etWy0qUAMcwP9uKdE)j|@UpX_fx)T}h zrV-#%zYKR21@hEOe$(#tGps$F51t?dl3Xiop05l(gH%ZkFXbNdiwP<(w^iMHvoTa7M|MaFHojdb8l zU8pzF9ktWB%-GmXtN(ODKDp5ddri`opVy~#j_##x(0`p=J|EfhTcKkd3$o`Z`tXV| z-TnYQ4ub~>~FGDUcgTWDTH*ym;3g`gm#P| z`?UA_e0Cpkt-@wM68*if#Y%plR5q9M_(urFk%gSzGQR@ut*TjrpL?=;)DnBl)12&e zUaqg|?aOi0!~eQ8o%=X=s>?2CKAUQ|8pGdq=`JL4eAHHE>0?5}dI&``G6*Cpu z5!4E%4X=wW8Q3)8atp7e)$BSo!}mSaQO0TrQ0`x=cTr z>uX}bPRh>Emp-)cOBgi z3&!EfkIr|D{{+2fsdM7lE+!j>xW^*(?>D=@gWU*wr>tZ?ivN7YsCiUk1+&kEcN_}d z9~QTAvf_%T|B*a@LkUC5ozy?()*dn!=n{%JKynWml*@aX2A<%B2?)p7%NM7M^(&a6 zLc#wyl}*)^#vU4V3hBMlXMVxhGjWks2tIx6>C=!v!H-|r;Tdv_?QcRsN~e-+-w%Vn z>lbp;)Qh8sY@dR;79#@pBc?PmAvvnici$el(hPXq@ya{`=q zhL2g8k7bR3!C@U|r{UsDNt(hZv&xjG+Q4tjR~mV8S9?xJ%PcbE^^HtrF_TBSub{K^gM8t|h`?f(riJkCA*?T-Qr?*0<1h<}X zvdcZlygtUQxPv8bsDk&&6OB5*wMsk=l0x$qPSa?T^!ldFU&Z>9j9yWH6@soU`uu>mQ* zQtZ9*m;CJQkN-LRrK;DX5a1K#8Es+2dRXm4Uy9ibfE{#A$YWoRX`amX4#-z1sKk+1 zacOOa$ikAV7d0a#{xYfwI?k~IS(%s_FsmOTI=}AQsz;Zfy(-banM*3oaM8xq|9X9# zrcZl-(7oWuscHVJz^QhpEd1875rV5 zn4Q^BSL|@AlFNasOvlqbc*WVfldiElqu}Ji>jwPITD$47WA3eW1r=<->eGUfJ(%8# zqH@;QYDM_8on3@ahhZbra}?e8Rm9-RYE$xmSriEFlz8TVUawi2NL;|2X`D^radMxi|nWLQD4?kOGV7?R4=)Ss8pV4rZ zNxt4Q-_{FRvS$`7`0yw4ErbQFfEwFyOZBnCV#uD)Dno#l=5J=k9e*rU9A$0tP}q3Y z)at7IoFrYmSYI1I_Xo4kpsFIbjCfuVuQGL)I(9BMU=}dUM;tjZ3yZ!KN4pJ6B&k&$ zC$!V5?V$Hx&7d!;s~pJaSH?@BuZ42|QTvP5k|N?6x&gj8YZykW;^2n`pu@`R4;$wC z{{Un_o4*I*<-}fM#U;AzKv#OM52(mk<-Kvp`ihYA-TEEvMeNXrU8=VQj>dauGDROs z>WAWcY4PXZ#lU{XxN^Q5ZJ5Z6esS3D?iyl07XY8d7#7X8lQX}-JgXi&CIuGgv)xON za62dZgetm&dHU4vd3pPZ=XBcSK)c{`gwYRUxQ&(l1UY-bp-(fe?7e7j-l?`WneW|g z@?-LTRUDpsL=G>DI%xDeFo}@#+JY8QQC6SPsi!4XjVD4yW_VhUmRtQ%lqgie>T|SWwLP+>KfCi#~Yon_F(Y@p9fx{4tr~K_8A?Y{LRqGUy{tpO{cGzZ4I2 zj0`neT5ZgpUrwK;u=;QqE918$zYm`JF*UJJ#_sv##PoUg4<(+%R8_sb-8xG@5^Pc#POO2N(*^fd%x-6QNeSD#9UdGh zWo1kiOTzyvh3F*d!KT#yl3=X8QUvIr(&j zYF9xR{lg%m-+hqx*~_dOjcT;)5R3u@3VEf9$jyWH!)&ccd_i9J@o4Dr)XI6)hFba{oFl(;&d@h z?x}xl7=Ox6hoj#HqS+143u5w+$wBM=EBiU;ibyXvcMargYxtShDZUU!|CP!aqL-p<5GZ01KkH#l(xpPfiL%BfVf^vcH5 zE1vJaYBHKHzgBm5E~qhZM?V%?3fMc_!MPb-x#jJ4^GiQ#YOCVYFKX~jy6w4UOl~}> zhsAuO{p+U`I}wKc#9P?mua4^?YGdeXH$PeM>YTC1UckYBx`xD{OCM6bZ-3uu z&6Q+rK1@gUA!Q%7m`y@4KLDfeWy>MMybm0K+rk=AY^gq~FiroLjyT7Uk9U_*cavoI zcXu*)Pmr>GV;RPHZE+#YXVRWP{eyUl2felkR4f|QYhUNrGSX9g&hGkz?u5Be4`vXP zmh8n+vA4-&_S;>Gv)Q2`V|?n19^Q2O+9LNRvTQ3>$iveiVRWpmZW5}D-3@@kr1;Mst!oL|_DU7{TpW!doIjdm|1_ww0|4HK%5{u&OpIl|+d26)4SFZ%fG z@yC4R!oXSPiGOsg4bfLINyp)+zCr%lPks~k_`)sm*?8BUBohYX8+t0c@{b`qG$vyY zF_F&?@93YD&G=^Z#B+CMitV}0UAK+7j?Z5Rk`or~!g;Q?B6c^fH7;`g4=uP_3cj<5 zu^TM3PLA<~U$l$j@S|abqh*JU_3C%9xb|3#Ekm6?@gBB~tMM+04->&xpK!8$uL}Py zKEjc-jdh}z#JqEw?b?X3dgFxkHLzKP5vyY5AfFFuxJShE%X{aU)z>$zuTIAsOGmj6 z9D8)KK50ID;&e!W=|flTkv*O`Rm5)EJUb3+nM+Wm*VXZ4)$i!f@)yZxF<8m0FHP;wiFwLcR#HleE;Tpdu zPG@WJQJiX%asRN%L9_lq8~d&epq-?#T|LKi%O2&G72 z;&(oe$&>gSy?&g1*Ox`lwlDn<2ZU~)+v24i;L(=xt3UpOel+AiorRn?3pvz*?HbJy z)@?t6P~NAc3QeE1IvvdDPv*15=qWpdGty;n_7Ck?PO(Ej)7`qK=7-pYL$nLc2g_CE zJ8ZFvEw_I;jo>pj)yhYpSchg8|}Z=IE)iO*+N-yeL`o!m#BErvhW@hMkU z!gno&oIVB|llv6fN|*i|oa4uSPtkZO5~m0sUm%dN%qvs5RM~LfvXdFjJ$`h0WV{@6 z>)ODv@)yzJa`~Qyc^E>rtTW!i%0nnZuHpqwHT3~ zjd$Ww)UghBhiNlCFRsZVk*N%Ij(j91wKE$WD{Sa|ZK8a1J3gj<@Q=;a z8Dt56De_gs(I5{_^hAD$6{jmHZ@;b8w!iXLJzBA|cmK5It8+D5flu6Hh6B2#@{do; zRX)xq58dPs-0`_OCwwX)H=7?FKFTL#m<|Sf7Y=vp(Jj;x{-mCra>=SalA)fog@Z%2 z5LQ>oCPY;o&N58k$FF*}aE#w!bIN2ZTRP>B4}LH?-pWF}^pVj#NEegCU#A* z=_fr!>OEKC@z<7iqL1b*G;9cc>d^CH%V!vmH{zo!AK|A7ue*|;P>VBbr{h8TIaYli z{PKkX$D#y}BQ?_YDihzY!Ag}3GH3rGsT89l^uU^!M=t9hY6}coAc7&@Y-ZwQGWx?7 z0thCc{NVzjW1$C1AG*Bi;yl^2$m%JBdohleV_YA-M!%fC9$Oq5@7FksjR&!~!ughF zUqICIb#(g78{IJ4j<@ak!~5JVQ(YJqM|L`7A~oP{Z}R$@T@{r(D_*^DoSv)R7aeWV zanx0WT;A+vkS}&+wQnN0#WKX|;@@_*ygU@CzeMgovERk2dc2R`Lw2gHvZxW)WPjjE zXuQ#G&(V%edS7{$?*VcAu)Yfpyy%2SA8EGRzKZ3Y|CRC7`m+p;PCHY+g-aAwVY@@K zqK<0~(Qa~!c#ZS)Wva`n@a{Mq!|ZB{9L{Ww_s);)z~}gUVX!$Xcuc~< z2vhZ+zH$B;&cox_7)_av9uDupsy|2Lovbq9UjK6m7K{Hx54hHl4u{G==v4G!lQ!E+ z&$DxiwqGH>msHm40G=u@M&$1J#Or+A@!|zl`)h0Mf98d?Y9F}Ham-HMB|a9#NPS-= zn`?SZ#MaVX1et}#{{zPn7S;5Lf$jNP)$jbFgboA^=x0)hK)6^QesWL2_zmQvSgH-t?Ime&A|2h3u{85KU49>#cwLTjpa}tK>6VL4)*)!>>J=*n|z`XR& zK2L0+5X7Uez1{5-3m@Y#bVnuBM-pO3d~^ED4(2D@CuX2l;q*wi%CJ0~UffhG$$wI1 zig(Uz``LD%t36d-c{~NdQ=snQJd($jmwp&0s5;q0-IGqq_G2aYnC_Gx%H=Nqnlh@7 z`Y?Z>IQzcGCmhF4<-97(8O3FDj-EE~U^yZlIm3DI<=g+9?^w>~yifbDI)`qUhofU zz%2X3HGfC+>Ub`nhxl{-=Oq#k{_#TK?JH+U3 zo$2_g@Y><%G@@6PGYGjBd{y~O^9ZYo#i?O(vhsOVcSlQ7L>${`bf5fkn z4eI0JPdaGY_uqkdK6lo%zw`T%hQOfHc9Sf$Dk-)?eQh(Y_P0ZVM8AXXm5oMSrP!Q` zXONC_$Fi82RvVn6-Cx_6ypwaP+b`|lY!6?azrvK4PW=es>T`zvr~av~EW$R9eUzHK z?(vN#3tbbs`Nx{`$xAOaBnq4u+$3dr=xG(dj@O5@-GH`g?(*2LXgn ztVsy{T2`2Ep8i7l@k?do(W6N|W@UtK$RN51@W z_pX$5-rauX!baEWl`gMEBe6_3?Pj$PPk9VuvzVNKgJYTTRyF`_q}e?v&lvR#xFh-O z;}IULuw%0ARQT}waEb#kknQ`SPd1*#|G`!{1I|82-rC0nsOYp3Hn{d4&xiNnOT=jt zM{jaZ%$`Wx;sH+a5Ch}YKDuL!lW!4ct)KktB&(K-t!om8mHvYw;#@7)_1`?S+3TPVS2>T$6|BsBfCkV0^goh`fB9^1DxU0P zfrDGY6MpuOxGPlMl30Om%a*OJP%0wJ*nWK!?T5!}lPb3`NWS$XnaTxBScUz=6NLNt+K2 zfqwMN36hEzJw}*Ssx$VhL{`T$!X=x|G`ZS*q619d@$?_Fad`(o8~gWgG7ieV9i1{f zUiqmHAz|^z!UVMJHW%M_^vk=vpYrGM|8F~)VV-#M>7AhY z{p5dU_w?tVSBr`l>(=dt-=5={lO{0LX6%xrscpLU8D z$>;CH^tG*e=+{^tCeOCArGw`55oiC%xBn@-U!F9s$gU1W=Y;cVvh`KNOC$lZ8 z?^B2exU#!_u^VAE9`#<8%h>)a;}gr1=Mw6@FR8K{kYD^PtXsHrNS%=O@~J(Cm#H+; zWA(E|=g|VU<3Zq7xqcnRmSQjwH5a%|>BoMh#BD`N-3rz7Y@R26lsd4E6ZR-fx67Rd zQJ&j7JuBCs;W0*xf|Hct@LabkPpR9czM*Z4HyrDv?diCGOvi8xA00iDcpu@BH_%Xb z@b+WBz~Z*Obd z3)dQPI6R`{8S6P@Uxz)0MANAyR;&bt~ZP(QR##+eBf8eSSIOM(>zC zJSs4m-CpdG3-sd)L^S)v8=aS?x|JU08>hQvZZwfDiTUU~-eZea$GKZEZ~J*jhr0tf zH^{qj&5mxbb2IZ|64E4ZIg}So!rY&g;Te_!y`{ygp!vH zz2tW#wWM@K}@!R{%Fz#$4vrZV%Huq zz<;;Yi>vykKYAEk?vVz3?+JJl z?&>VI^l@xWb?v5G?0=e{4%hYR@!g3P)Lx{#M~}o-x7vQ~G10w00A?8Rf!B*(_0|2- z*V{kTUjLx-9v#?AR-@xw2-$XbL3qRUMJzI1g;kS%& zskF354BZ-^0&b_xhHPMQ&N*%LYIl3J7entc#HuY$XP@)JK4!($XLrtce684?J=y!| zQ*!_<_Wl(9=M%AqmV6A{GQD?DglSC0Hw~h7oA=@rZI=Iy^F@AIoJ2hPsf4!jj*oA% z&+KTirTn#@OAmLnRzy55xt|bsE)s|J4IYKuxqld-=g-3U`HPJa_82If(uKbBv)kzVB`*Fw z?WdO)dNxbdN^_Pr6PvpF4L{{+t*6eElBpxwhu}wW)lz zJ393L@p$iX)t~A+=Qr5WkxX^jdXF9A8y~)s#2Xsf?NPH-xkqe_ld}7CHZJlw;z~0y z%IdMBJG7W@e2Nz))&BN~8J^_9K}xi{+e@JKE+YKT`y7&rUnCoDBu5)qyG^H|Ek^c3 z7H+GDfA+YW>TdjzkC$ylvGcRON$gFxHJY$E)E^jAh)qiCL!4v6v-ZRWW$)3&eEZHP zyI@cz9gJ6MV~_2$mSe@Xzx>nFZeaq(IKlg>*kSrbQyB?wJxaIsxZ`+>m*RYVUBvJl zUE3Bndy%?!J4WmgX7;F`96vJY1H5xa_OJ-?rI+8cop&zbtr!v1stjZ8Wxph)L_K3m zkD!GiD~)=@Pk%wLD(@W~;?{fEinGI)(TnL0pXeH{<@WU?I<`MV_G_o-@pTd_(NC^# zs*eIRe&S?zPX9gS7>atS|U!#ysA>rKVzf>Iw@9P7Df-|Xhc6Hv|`1>e&TN3i_q zH&!7$M8nE|OH;7cV5}!zWx~PV^UH#7F*ZAN`0WRejW@Otdup&_n6;BJz?#qSnU2Mt zF*KRRE5(OLHopmMbsj9ngx)VEJ|udx#q|?~us*|^>WTmCZ7k$$cOI=W&!}ukY}jXu z>%}p+#Wp`bmUj$guk`Z%IlSL5ejTrkZ;XjqNgLRBxP83z=WT|HZgA`K2*36?<6l|X zggvS^KX>l(Xy)qTWo*Cr!28N;cggud{LS{|IEQBI`Qfqg2;-wK&~~*+Y{aSav&a7@ zAK|37jX?h)_Er|{#){EO$Re5l9l|ibh|}_iBiv++4*jv<&Lw<4dz7!w_sSEG2u1vY zqFx7kxxK!;(%ERX?i^fBmV2O7R1Unb#2XGaK7A7$G5nyOJ@yDTyGXFk)&~dN$hEum zNBUpB+_?$n==dC2emUg)UZv>HW3YT)edE+@z4>dj(`6Of!_O;H^0|`rpT+<9(|;0h zQC1~mq4Ye4sx%zdHfHx|FYMLY>n;`_aFpN(vqydPkhs2*aqDcCj+mg;ANVZeP|iQ9 zU3+Xy;`kLG4lduj*}Q1Hleyx9V=^AZ`m$`XmmS9;Eq(v_+a|GVBvlqP80lnm65|#j z?JZdJ%L^-e=ot#V6M%;Ipy$Xx@*>rodTIBfBF2sDqcp5@Exsnx$zL!qmS>Ui*Ekm> zIjbPtNeF#`b!fx=bOJ4;oOcZ{ejS*>M>tLgk)#Z;pPPmwT$`|md6;0?FH3}@vIobW zt<*VlfDV{GwiXJ|vlT7a4i1i+a|__nrlrXX92+#imPCWT*{A(=Kv2YoQRrvF3oo0- z`+a`7I85yE7>7p|FLI zz``op5h_Y>u!jM~!&lxq#boI?U&P_~)t~oi5EacPtHa%iDja)> z8$C62c<}h6znDD^?@u}^UxOQpL{x@WY!An=_3MOkJ0MsVdtM+*M_9>I-yoR%*qPt) zf!(5BzuvNr?`cQc$kR?1H&@N#`&*Nvb!4N3FW$xPVv2qe*4kpR_ntkr*!egAb+%p6 z@PsWAeVNGKVB7m^!na@cp}z&NR2Mz!9V^r? ztlzZQN>-;uee~k1*h-GOR2B zKAv|iMFanW1grW)gP_X!fGzi)H0_gYe(HTT@NF>GcK8Q4UFOGSR_?qIJ>DyCvshp4 zV{5wg*}I0kkAg3%&K4V3)bH&*P8h%@W{cAeu(B0fV{egU6UTfr4AJWE{BoXOG(&UV z-x6B36MOa5dnd=*7M&{dD`VMx=e|%tDkk6kwD8)?ZHHb$$u}Ls`}7|K?XHWqCogQp z)Hj1F7lFi+7^|XKWK*_2ZOY`iqRKb$;+N7nx5f`Hixw^-)J{#dERN{^w;-f{UyazZ z6?!(RJ;M0zeAJ-Qz|V`GXOlp}x$_O*X!rQD$shlDoBW}_Vw+Vsy!VTIXxWw=JWS{* zRa;$KE{lIQZm1tUu}~&7>!a0U_heLUc1-MB{ooJbTOV23;+bE?guVsO1iD*paoQsB z3&X`RX8Mc)Q{~nm|vTG^GjeGuiy!5NTc1Dgumu@fWyV9u zvmZW}dSkM^Xgq#zzipiKcP(P~YlraeW!8sFyyMf)jKBT&zdCJ!?&-Dhk~YLH^t!&; zM75tC-;Wp2Jo;VeFcw2Md@+~A)!Ezrf?dX=)7iZ=Cmz1^i*0PTg+?}<&ug>BL)s1- ziMRTuw?E7tZKs2L@+}D9c-th{v#WW7ctbbZcyA0^9kjz*JzHUTaq{u2{l{1SE1qYQ zVsZ<2$*u0;ec}|0@vh$dlH6}ywB7}r;V8fD;*|gSkh2LP*BB^!?4{0hdit1byhY~q zC1es?Orlli>b%%?u11iK+x9(z?6L9CV+&jTE8_dTrOaMO>)QFSgqF6OVX{kH!is z8*ldSkipE;EPSfBk660)aIRS&2X(Y!Oq|v?Z63uhFo`GSi&MLB#3!GhIUL>u;vEk< z=vSp<*f3-ZSfZIdpcCt`v|#Y`y?F24F?3`r?U;`B34529a&3k#m;ZbEZP9EPjy=`} z;F!-ZDILOb7D=P)Z&>xkaI7t|btQC^N5|V&PnVZHqGLZie8ZzHiqm0ZkMj7*wlUEq zohjFsidB6)Bxv-%Y?2S18&8FBkSRXkLHF2tydw+8({|~!ak%kGw68g_@u@huZ9w!n zBWYJVZ$!KPy8LsIn>`x0_{@iJ#3LMgpU#8h)i=fKQ(J^%^V{d#b$xTf9AP`U=Upl=|| zuqW`Vuxe-pd$=2btdmw#N9=_4!cks5>N?eQg6|BZ;-ir@QQrXSGY*p>ohAhgcBga4 zTUa_=_SjYfDtM=i#SIGvqgC4<+CEQ%+CoRb zb#@1)0q;(j!@+iZoUGje!yfT^CHsA{(@v_x5v>5!nJhi@m)61#zi**~?K>Whw(Rpt zk3G`SD(=Pjc;FrO)Exs~<#yNZ8{q#*HW=r}Q zc8PvI-f<>~_6+RxgEL8%vHoxP8m3~}U;^(Y{ToX5kv0Cwy}r|x96o(l?!~lzX8g2i z@zsFb70}{={%kQ8e(C9N|7&z6QPDN&b$7;o@gQ5wHi`4T34C{@3YHCWP8=e4A z#lT|8dv`ZjjCn5(@IgZ8Ui4h~7Btvffvd(Y9>jN7hfKnoIFZYCYZFf&>5ADVY+oz{xO~F6W-Ht zKU-=dW3V5u#e+$kyX5|%U!uxBaF}I|52^JZ$3C%#Yl~X>OIed+dhq2Y;M$FeU$);w z*n(M$ZSQ~fuhOUU)E3Z+DgBx17UEo0E|zB_Qo}mg?1ip^mHqd>Ss%t0C`8B>G}yz7 za>dQ)J5K(7de{Wh;7@GEWRDH)yi87QkRbh}mb^wn&HSsy&+doi7k=Vk9$9)F;*KRU4{#>p`Tx#z|8XK=C+ znenIlv+$(9T^~X&TM-G~O=3D}%bPu6qG@tADeo7dU~``GVrIXJ!d{!Oka=~Sr=ETy z`NLg&_$4>A$4{}2{o0drix?CC+CSU#P3NO+MU_4h-pY+ZR&RP9KEbRo0)41hE9M5@ zq^g1T7V9T4IthJvx9~+iUg#|3RCFSV75TUiJ=jhEk#W`^Tf~u9`(jZ7(QYf|!m))z z!ou;bal+ysX<56=3jc7doxp(>4vScTypjVtv61*Hw#(TY)Lf7;K@dCgrZ|joYf`wE z;D&KJn#>r7DAex$<}briTk9OA&y>H(UR!Uw}9wFC{7%VB1+K%oXlY4Tf%j_Yp;2ueFeUP;6d?Oyx~Uh zUy|G)tG0fry~RI_>_LM5u@AqjZyxRSdwkdW_rh0wnL_R3@$+E;{-AZ3G2)7%U6}PJ zPyf5}Qwqn&|*@vIl3=arP(%v|BN^4E*r&DNkEm8!sLRGhbwnYwP9hi+b@UV{I{7 za~caM^6-n!c5>Dh%b2apa=bV_I1bB)wmj`t|3N36ulb^}_~UaGDk5X!33M+U;YDBC z*kC*MqrsQ%`DIBP4ae!59?VcXCuCv$_H0+(((WiU_FtT4v4U*mKs`9v%|cEI z%nP|~ytP9%aOaV_Wbq4m%3tZoJ>wPq((RkH#o}-Fm=RQXXyc3La3ocK>`uSZ{Ib0$ z^fmL#)lq%C^7+fAr_yS`|B4UoK!$!=U-igFQxccEiNnDbT-wqtzd-pJ2R4gG<)aO| zwuzR%#FNH+)gxEC-JIx&2W`>9KOcXWI>wh?J0Ge`s~&a2&1LUOTimWi{R{He?gFb_?bF0>>v>`zGMZo`oCxuQovc zLw^S4m;Yk}@`ocDMqa$3_i4BQJA2H}*Vf&}zg1_8IpUWtt8(M_PO$dQ68j+Jrwy>O z**e$RwEUS>S5y1Bn6@xM{|Yx?hH1Dkx)zJi!*BLUjuXTt(9!PdAiE`P&|C>Ov4F=N zLYtKNsoG8>^h=%>&9c#c*0>4OCT=ED@!7z{KtcRxlW)5tiEYGecUOo7sp6B4PLsbF zI=Eq>t8~7P>6rN$ussU{`?=fsyc!z~Ry+B_$d0wy-Q_~hbXbRr>oCI8An)34zSmY_ zF}ZZ=k2mPPMJt_e`TDEpP4|m&zK;)Fr~MrsXMmEN+AJJwWD*63#W>{_h&H*=zxe4} z3$;z2W_LV82?w9E>-tc}x$+PQ%e6swY&7uxnoqWH)X8&xHUMTCF~h&vY?FLG_ZZAy z{vUn*&o5v9_P>4k)*^sM>%R0$PzH*y!D0cyAk)udlC@t+V+U<(i*PwMAF%3dG?^V2 z|6A;=4pZ)mGd&DmrbGPj6&G~GySoy;_1K`hbQZJ4het{HXpaZ52WB1bR@!zggw2j@ z5q}%Jc1y2|5}ge7g%wpT8P5roKJkJZyh^4A-t#?YE5LEQ&t^8o#)`Z@K?%UrsapOPn{*Uws9ixeBNcpry zh_}D_Z(GDEgQTw9=Sx0H2X{E>GquI}Y4)pZ_Cgcyseg6iL$dV+Vq*SjAz*!0GF2I) z;+{YA<7|uX%vRwRit>jxc)Svj>c;nx>&~6EzqY6S##lShrmOSz+ZGpFuoJVh&%Cs# zoQ@U&7ZHSpQ9HzYgZO;0b{55XG|ysVbUxYWk-fpP^Mmti`mT+$3;pR6jy(#;=8mhMT2;EYl=~S*Y-oLUH7+sO?)~k4!>?<#>ecl+`g}E*tK!k zD`xH(YyGc2KmOBiyrXsgB0F5O`Sk%gyXaLun~@^^UXuas!GuUX#eJ`T=Lc%{c{9eM zx8lyvKP_+^EXPhs?euakjOWh#Y@-jF-I5s(`=eZ+lZ>Yy*cht1cw*b*q}t$Ow!Uq@ zW}`1(Vc#u`*YFl=yLh>{i!%{)*M7B2`fInzT|YuEG}TVi*(`^izB){>O=(++T^M31 z{kA)*$=aAq@U7tF&-Dq>CGEVxCSr}huaES>!+~y~?}GRB^V*PpFWl$+{UC@%yOYG{ zx9;MkqXVx}I|OKhqbegkHqo|VwYuqlINhy!VzaF{Wi#cYwTDyED072(SoHhtCo!4VwvP`~A%txFVA8(E568pxz-d2uJKy22;uE7IJ+#~X zs5$l>-gNz}>XX%WHT#&(NeA8@Gsz_EN8QYBZ! z2ALmDy^bc3Z)vw+eQ&dCQ?IU-d49EI3a!OhW4?joiZ`8&w z9P(@NNcVl{#N%n}YggO9m=@!xQ66eX0iB;`JNAH^9Y2wLCuP0}yYs$&4ypX=w@=-T6we1bzqBKQ!${;PL-m5+A*z=z6MGO!VL4yyk= zeRbmJLwL`Juhu8TPyIzE-q^mBAnUm20zX026{zs7eEfXa~#s z?u*Qa2D5_a5G#-#cIW7zPgvPj)Hvp!(A=CgRQ$%O&I?HFd~UTB^|dTG^!&zvSDA;d zoR4&fkFi&?dg{Ic0O=KSKwN%h&mqw+MRRf7jAQRLk8+gF9!f7iyWgdV$SxTiok}}A zU*GYM$MjOC;&rs2Xxk;_#pA&`+G|GypP{V6%?K;fgXc4m%qK;$qOdNCZV;FE>fBcD z>q*rK>w@-WkMCg|O44;A;-dQW8z7}u?jgLDC$u7VBQG8K(C4svsBd|h*Vf05ivJ1W zse>I`ziddpO!R5u5arX0k4|QvmyU-P*`am}8=5dbGI~Vi%dfjrq}!f1VA62Ca6qD3 zggcq2Zom3Rc8wgbog}hY_Szj*SIkzG?Wf17b7<@fYZESm^Ih#S(TL9$05)o>VrANHNQKtlwN4$R||4^)3*V-U*quh*7vp><9=c!^6O8%9&J3Abesje$JUtQ%g z(P}_%B8Tr>XTr9LSa{=M!e;ShlV*d=Z(Y$>z-eKi+a~p#8lAxxIZqrcmMt{Nqd{Aw zEVYG6*}HUVr*`nW9veU>W@`t}0@+Te^2rrd@tHj>us`w3#&qe*&nExBi-K)3;9FNm zZTJ4K=;$#2JU)Xf&b}-HaerA$6L}CHJJ7KCPks$_ZM{BR{ZnAJ{abPbl!JN(ej(!WR{N7b~KjplI!{_dqKl+osJ7|k6 zPYlj(!NZ2Li|Z};mjlI8ywCY4`-}V9zqau9HHxaJ3mXjZd#A?NxB86k5^(p%7WvDc z4^h+80)cjzKWG2$6j8p3ZFNNbbQ}>J4?^uf*7Tk@6zS z@27npBpp;WeX4^MnTJCe9MT;XZ{00~J-eK{B~YBUJo*l|0Dz{n7&IYvx8D3+?a|gY30?`(yoZ?a(ngWY^vzSbcnF1Cu8e z`B{EjX?ZGtGr(1z-PkUs?`#aq2*t;V%lUA;qo19_AN{k;}I((=eCCD%C&E&UMUH@pt%8Q++9(6-on7Kp#5g9U5tem_MGqlM;tzPmo^XW!~) z-)a{wzKlNH!=?X-=N49zaR%_8T~jE>BFA?O?}ee@91#zS9*}b~(x+ zKB>HOK1<)(hFwbZRhxag+ts*Y`dg$cg3m-h9r2577jTRnAgt~(@u+xg{|BiJY-6wlCi4ofE(-BIg6STsItb_6ATynM;*3Nvu zUh-y~@{WKq>|m`3N@duAr{j#RtpWlfIy?|b^B7bN95kGu)P{~Or0w%7nYhRf0-aj5E9YpQVehLrG#zGNy^nI%06W{CS zgh#x0Aug`#moOhcTh;Nrwj0Ne7t<#$9ui3PXvYM}Ucu23l7mI&+23`qv99J%N^!Vp zWXHO4)_;_@*ncn_hC6!M>`Gaa7>{Dg9hKKE^clXD#rX1=R0Zqf6!x-XWhYeC+QI1l z$rocipE|;mK1;BFlU=mi=t6#0b^$%&j;k3gIwz5*zf$eej$Qj3%)SorEP4#^;tj`%j(OBTHxJ)A_v!zTZj21_V2~rwth&5qBZL@!%nw z9bhg#7HG<(hwdEtK38M6vnr>Pd*~lJyxQNQgP4oYWGHX{Wp?~u2hm(UXs_tIQStl4 z9^*ej(OYq~U#qxm?7tYT_Cp)jhll{_sU!c1Juyv&$Bh1@N4>gjd3x+5n*7yy7+gsM z+}E-r*!vxHMh4KUaO5SU7h5%u>kfnR-+ByB@!IqTWXb;4K=Coe_2)TJoX&^{@b-93$`HMa#7ar5-*6lq{dH|j}>wt=t>D}NVp5o?tuZaPM0oTEQdYu=n zsl?_g>8zJ=bZi%1RtGp9=_1qco<<~uCN7SYJVal^b{4RvkhK`K!h?X|`yuC4 z*WZ_Kp`!`NiF?>rIMl8fuSr(hlotS;R^NBD-uLq5rzT$(T%uTFn@;|Gxfi=NP*lgD z?rT0Dp4p>;zsJo?#;d)7eth1&{MbO_`niJLEwL-_ZXYde@&UJcxEqZ2IPTtK;_jgM z!@5aR6!yjB25Frr&x>Loz2lOiyIY_~!oKxFPglK7l*Toa$G6{B7Y6Yja-N#K({FY)U|U?BSRs9Oqp&@XtFccs zyNdKD|7Nmw$B4%;f74=4ixy%VZ)yI|*ZBDGsrn1&Xf`m!kE~7X!}|9baY4vGS+Aocm8(P-chXi|=*^N&HPfPci{K{Y;w9 zj^o)Eykhgc1*CH~UUjGvAE3W_WXa=L#q_u0gq~l2*W@y6NEXLz(C(5rtZ)OyU*)UP zuC_*ip8Vap*P~$Hdi3KEB&R#Fwm7YRzMbu=u*V_CJ^IREozIkYx73&4_M&5pl#Ioz zYp-OISKjioNyoI(OVK0-e?CC@Jg-i=D1Cg8!#KbsW>pKtZ3KG&j(QV(q zG-!+O7H`}hzdMyYvK02({T`R=YO6b&Tv=wNqsytkg^Yc4Sj|4 zNpXQ}?*U^gn1{VDLDEOpiLd^kBNWkH{5!f|>Q_bE+^@c+hY(hE=c|0}4!$4U$tBkH zSqc-lMYLab=S=VSK(Bw>yrd;)Ks zV~go=>yIvym(AOk4o%y!&O-O802Y}R?D(wOT*15JROQF_!*Q^UXP7oQ94I-!NiS{M zoiR`LzAut1Lyh$#1taX*(V1*UC-2r=+oZ)ZZZ5xxxHoK#4I1N&(6thk9}`tyrpMrHz`oBq%UetpJ*PLr*_}xf7|gHue%2$+lgoK zh9d@d_k+HCzPnP%J5~!dT!8BM^Yyg^k`khb%GfJ<^BIm#CfB91^A;!TY7OHTS)tR@q?oi z^yAp?c&@@BK5fhZ06+jqL_t)M>lXUYIBcJF`{=ZA|;Fw>s zqrw0D`8^>CJ{X*r_T3yh%KMJ-p&U63cspT+|4incq(3;qJZZDX;kQ8#9ai#*-vbN3 zpZjG3Z){(fN2XJKojM^!w^1vUslz96b60wc4C- zSnXOUYG)BMU3O4`2?iN-ksRDI8@H9;lC{B?)i7Q^GOXns4-#litel-6C@LRtqa0VQ}pEP>t786aB#V4L(L;ST*dzz{B_UoR@ zZ*qGcIjW?3cqoMvt$+5gSg^5B^>+TKzz}hd0RGE-=DFgh|28QUZ*;~Jp37*wErtwo zNGcm1a_95p74KlWw>{CeC?O@@ZPw6{X=&3-j{qpwns+xqS$0?kq1_$CPy0z+t*#0 zHL+A76k;y?bUyD2DLeXOAH3(On7Ej7e(7*k|UvDBgy}bLPg%|wh z^R?qs54*)3o<3yQtv_P@^&_|6`P$=D-+ohjPs#Pqu3~zJTD;voH=njp_2sYrpVOaN zK+~_elj;C%K$5>-)_(u=FT(h=fqXCSSOEUE+UnXXWdS1x1}5T*KGRPIJGC8_LsDF6 zM-Jd?LBKnM-q_{vifN3pHK!K~7KFxIe*U*0_0^}o=G(vcAHRI9zj^!f`kp_pzu9x+ z_*AcU;St_VUg@2|lA7$biuGfgpp}2#Q4^l-T-u_E$2MbgRBT60?GWyQsy!RuzK&fj z!ncsLMZec0Jai8;eWW$KY*~N0amwC}!bT;$OXEG^@zqD>S3K9o^Q)Hx`!%og3sn6| zlm(*jePtUw?q|p>&~+@{_jN>!Ubz?|3cC5X{dWt)@$|A~?_Jt2f@!-Jcj%%Gc5J%= zZvK2;9L=}GItPLUz6KZ~lHP{((7#T9>a`bj^GVlfr?s-HeP#3`jO z&`y=i(J~mQMZg+G`;Trzy=B~EN6?hZ^pLE8O1F;akB4X zgB{k6v&(wtf6qkU3)U7JmU)l z=*#WHJ_p-*pU!1KPWY)Zb*8vlCHsrFYnzjKzX@m6OWWbuD`)#Rf7Cz!`c#(C9U0%8 z4)qXY|0Jek$>$r%&VhrJ7UQnUbnw_Xc=Yp zRz}d}w*_*xIYM9LWt2n0m5pXT^@NTv^%0Ga3KurHr?5Du;TgOR;t;#;})vDhE&X*cK%KNh2%%s(fcwubf_cM-%^ z19H61ze(Tcw8j;UU%?T80IH*58ayeN%I<&VZ+^bd742x3M|lI3om6s=%zaE0GG4b{ zr)l!THKWGUGl!Rs;!aRh{_@+dIcd>efOnAMG92}U1RIQ>L7y(GM0xHwK`-|WFw zvqyTVi?`%iMaQp%cLy+AkWp9Au!r}zIG(G9y5nRwnD7X}_~7-z@iV``i5DGh)in`U zCmbA3^huRDz!(2VEwf=(Tazs26DqKna^lb1M} zcupSjaPPf3pKQG|SG>gYZ?yrk;_>o}g%5f7AKvR2Ua?o*$LF4Xq*K^;m&I^~+knyl z__7#{!Pxvd#&LFh{Tu!b=Ez$N^u7qX+<__DGf>Nyu0k)StFNB@{DkXh=!%3?{pN z$fV;iPk@O_u}0ou;UsoqYJ9W(?&Mh~6_LSpb~F((k>4W22E5^j!T7+|&NppfC%$p2 zFuujb77(T!iScZq#IFLK1-5Vyb5%N5{TyB1tHM&{wa>E8Ns2wxr0-t#8K4b34cPP1 z;aOhsV&b&LIlhR;7C+Rr804-AzSh=E`ov8bXKxdb)q$v*Ehv7Rj9|%n+O1F3cNIC= z>yJ#5ftcyR@&wj!>RHF5de`!Dtms(zJeb-P2#g3mX1p725Ewb{-h zr~2%jpLUl|b@AWFoippV(w7lSTcl}wbenbO&j5^KI?@B5@NRIRqI22$*JSsI&DS8B z2q);oT}IfiOT^_l&#hgj?-sJiIJ&SH72{PZGTON?UMVq6?te zZ$1jcE()TBw-oDR19JF(F=(MHTRP_wAJO{h_TTGo_nxC{zDU5o&)Qpe`{1&8mkqb$ z((=)kBYq|Et3TGqZSkePem^!*3@uLYBK{sXl1EPUHXaZ+9c_X15rS#wwBw&qMv|RV zz@qQaXjkqo+PjAGgMRNQm~HO)qc&pE_Mp7-NOKO*pI-bKX?@2QcIc9mPRv(RKh*og z<^y&6kU!e)sM>q8x;w|?!s|8U`-=xGia(rv>Vl-Rsoe{%ywPYua!=r?+c2r+S;4@B$3D)?pZ?e!-j6D6&+7Yn7 z?cA(QwUD!za!wcD_XkPRC|$!)+JfO?G2Yq?p!yU3iRS4;&M%I|hp(OwTFJt({(41y z-Pk^b=lg~GsS~=zwDY2NqOUK(cKQ(ZNL1&3zf`tygA8qpJ&1PPCr;b_(qjG=F4%`7 z*&w?vW%soybMhEe+y>(lk4*038Jz541ZHxAgHytVD| z+IL^D!B|{>w1LwPpF8g8aXzO?a*R*Kwz~NN7WQBt;CDPB9hmEgk$9lgf1lV32U@03 za&dftV;wY`MX+@1K6>BWDt(a1+o3x5!*CCc?URzVyWiNtdG{$BZDnFmyX9xRZa?#y z(~VF0FiY(0{It$Gq3VmJTRt@Q`DuN^vB$)s9gg~cF^#T*`I&9m1CHwQ_bxVxy>PuW zs?K=9u|9vO)`mB4)t{fNWT;x*==Sn)CF^sI=3vGrtjtgq1)wfp`SGwA533=U)3;d1^dPaDvJ59qUH z>-i-t=8mQL)w!F!XX|Aj9r;CDl+TahTAZ@=r7ic$ZM*o;PQs`iDl!KguBwy+4jnd6 z(HLO&E*+0Oa9A0g)x*1V?4gLnHreA_kKyaTW-VA@uKakeU4Q7C-@ZQ! zTd1Gd;};GXC9d@|mA(DGbDcwVwE^4dcx0nLpQzY+eL^FvKlt&zb46#ts<*dB znJMx6--Uu>1#4>P1iP}l2`nI(O9Sezi|PQjgf_#N{I@uBg7VS|AVEK4#vfu15hzU# zr#K$*Jp-#6DjC;NoV&@Fi8NjdmY57j_&DG?Y9}IC;n=|Fni#Eo20;7p7MyT6`5sdq zzU7~*2ge@ZEeR5fIFCJMl4v&gjsGiPqK4I=nc*LK!%_Zm#LbTh9nhg)FpqIe(i3k9 z5A~IsA(opXNCDJ)e14!l=+;7-x*w5fc4ln+Pp zP1?w%_ftpy(;2PvN1i)Z2OYWztaz{Wcculc>3%Yb>JWey&hBfgX8lg{pFYJ z&HkH&#$SAzwC)6VAe>G%Om*^0cuGK$^PCLJe!WzX%}jRGStnL~9e;V7l&jv~IPuNw zR^BrD>iEqS?j{E0?5cBh3|QY?@q#nkxYd3yP25DV_Az^mdHdmeb(q*B4`!Ge^tmE= z2B5WNcsEJcfg3P&9O+`O$@e?oER`9L^$&K-dp>r!lg)|w$nQ4$VrkC??`pr2U}%eX zArlTKqN%S96n}8+og;EpVIz-KmDo-~zrp%BOf=h7nm?Tsyl3JJKrd#4`ua!%{zF>D zaD1x`yw}m63DTHulDePE79ZIot+oj9USE2CeXP2(_c@8`nh#F#3(!UR7(@MXXCE!ND(Cmnxl^O&w%GealR;OHS9*|FcN1<|rD06o?hX)7GGh7iWjcDiVpsmP zuNEIS0W;~i=O|V7*pn0F7DMn5KMK0jXcLqsG!saukFT>mSF)b0^8M$3mU|7DS`hK; z1oG(p-d!X+iKpz^)wKn0?ar7Rdz0lW|Gb%?=yOhH*z!Sr-0sj}^BV3JQwZsYZ1qy#U3%y=NVW|XSzkJ|6Tpg<=OFEsmrJ2t{og5d2zAHc4)DEHmOx%T7N);5{fe$n*j zv7E)9zD1sxW;eFU_V4?t)*kl}yW^PvwgGh)JEC)k4LfzbcC2vRqp_FzvypsloQz`f zTwp>_ejhaQA~}4-T{6FEE8?z(x&?z<1#^-jNe{l9C1>}DJLc=k`oO%lZ;?%IedgLk z$M4<^RNXyZsWb53v3g0ICiw87q)bvrtnOTwPUO$W`Y7dhBCs}#uFO52*?@J6PDj!4 zTYmz}5JyX{_;wz+Demn>L5_)Lee?FqRi@vZZ6Qaap1#z%e|=;*FyOm!LVcOIjFx6z z8tpv13mNK`2HRI3KG@=Fi}YKBvcU0Uaf1gZjHr!8z4CT9g>isSalV%ioJKX7!{}V7 zPuCQ*`Tno(>uAL8N59ASN?{g<3f7V`&FY@(% zi=YZ?@CsEEcW(%ct`eX52w>>!_d4^`Bdii}fA@Mf-bw zWapd&9jOy|_^_9|t`;HjUjNoujT~S&<5W6ZU~jTFf5Lk_xH?;mNbWgbibaI_>iTK8 z$M-PVzW6{QZYQz|`qnKLIPtCU*k<<77PDoHu{Ixj&*cq+jBt=Q zzpyLbhd+GIyW>6Zm9Rg)8{d<}UjE|w^2^1yI85(n(co%G53ut&f4dO^gE46MQ|tk6(2!<`j53QIABv>e58L&4z{pwafcuD zla5JAo;w-+67197mOp!F%h6mvZgF2iOm7C+me{w6JFnV+>{SeQ@k9 z#M%HXC&dGs+4}kwk0(z&hGYILQ}*n__Q5#zxcL{y#!c%}Ag#u2i!eRs-eV6qYLBNQ z8JzK7oVGU|4$93}EmXlNA@s!ue7P}n8~Jd!;be1Mb|^T1@#B8A>h0~{|A)U0RL@Yv zX-kk*(8&{~BCt!7aQE+q@SHkf_R-qD9P~jhKsK1T!8ilzfTF!B9356g4nE<)KRScn zqhsIrKb6p@uu0KQat{uJqHFXQv3g`mCTZg%DCFVWW_<0GIKm)FAPz_S1<_G4T%SR# z-qGio0Dd?_V?gcihkMZ$*n!zM|vLXfM7ET34Qa8*Ke^_D~(4?4ixf9#4E! zw)7c0SslN8ZnCM_J*0>Bpk7J-7~s|0g2&--QCBvWbvUaUuiK^`-A-48fBei&ChJO= zu4Sp5u60K%-{b(!WFPi%DgMukIOCB$JSwq?)2*WutYqovgcq7Kfm$;~o4mW@OW0Dr?ZFz?5t5vinb{(6X;NQMQmU3f3%Q7y#yG?$G zU}ZS9KfdI)|JY9rpAAggL4R^&LJ+08+v|Hf=@FJ6T2P|n-bu^meRg_$^ub~n+K~*Z z``hC=9iABABl|KA`=Nue<9$`On;+1WukAgyIyK;oKKX8`Ke|OX9&CPJ^M^iI0Qq&L3MeX}dT{21u{efp=Edhk@I&60RwOL=<_ zLB#Xf%N~fMxr&`ToYaxRfc{e(*dr-?7enu%QP%>;7T2CS%a6kz*@zb`N6aYHl_fSe z_|ZSk5|GBS^2yJ~^xlLZMMgVJh~hx0G5R)9N9?svsM3ed#QHK>^_Wpw92mai?e!SPhpI#~tYWl&3P^>~otTXmb`D^62TpB_ zj~yR>utGHI4}UbXN1Oeri-$TF%kWjIB7d1Y=JVZ2c>DOO937QAAisKR8`Tr5o2XV4 zg|BUqO3xw_5$8Q=ZL=RfY_z@`F@o~;;d6%o+q?PbC7Mzrq&r@FY45zRs-4k6bIMge ze1{NWB^+?1V6wi?@wM@(`dF^~eDbtMwVpOU9%54;I-4a-zf-J;_oojbLsE|j8mw>6 z-s^jkJ^q#BKixT|{5=-X?$`PyK9~#9J@$gze$Hi+{bE;#Ke3}vWiS0!uP+z@;XgFm zdYF%No5Qp3`RJoQ-y9tmH;(XH6*g5Nox-w(!yRV}7#^I%s=()NvhNltVQ~Q?5r@~a zd-NMU9pfPmPAuL&65rAmO1EEmTVjVfz|)Z45}FF17}d7d^rA-cVT}&PFPZ6u7fI`z z8^euTW7Hv{_hEZ%zS2s{wD7YswJ*_Z*x|!<{Te^SNA9%$?3YO<(dXc3=U}k2bjnT_ zGITfp_+Vqh1baa`h1aj3xc+%zlm#;^;#sVc6y34G2k*rq-4}0F)Q>1G@07K#7UpzV z)%t;Wxj?Y@S0P~uWzjuSXt|4UpKy%t=tnw!!}hYtgN?i=ea>tD{6q6f>*JWcBwvkF z-rnPvY%>3e^Zs6R52IE3ur*%nacmazTW-7a9GlGO#+paYu~Xa~e#aNHGT4a%|0Wx+!;9H5D%K6|X$oJV?e9Q1=le4PF!EaZ-MQFE&t%U_fy9{CVXajJfQ;&pfF z!E<$3UYJ7~ukvqS_u%+IK$LpyadbTG<>vi=Y~5*&b<1_;_c!yhC)Jdy02?q2fA$m% z55mLoKs2hFh5`Fam8y|QQ6le~{{NnceKIdgk$KLJ9kKegqTS7zB;~oU#nJgC&qG^GXG67;?@3%{Q8S-k+o{ne z9@t>Oex_k&)Z(c^v z)eCmDryQyTcE-Q(HH<@dwg2|l;6Y_}k-Ql^(DJwLk z<#2;{{&Y?OY$7pxRR1C_f6u1lIe+nt4$^boW#{Cv%&Vx9b>1VkCjFJrl?S0dA>Cq(9^CAAZpBd-{wGx_lUn$>onR zJvtxVSnvKH*$$z@Y$Zr*%hyujZvd-gi;HLz1H^`?bZqJsJA)9cS)m*eDxowPnvhSd z>NluN^zxH$(35w~yHjY>DH>-Y5W=O0|7aT6pL|FB^b|*qqlJwvFr?ls_EnmoN8mt) zgU^tZ$fH|19Qb(6=7Xc*vF+j}KeDr`L$j#p+~-*FazZ1ztV%w#$Lm4s2yJv6^#PsC zt{u^O(#x(DYykmDJ6*qV=<9zzA|0vNdujg7B7L3&&LlMc&6OO%jtomy|QaV zK&6KstXX?<)A7;vz#RqCBq9g3?@Qy6Z<|m+LYe&Og#O0Q0to-p`jxZw08<|fDu>|U zwI>O`>Q;@OKm^zS!8mPsHXb@y^*%GsVtx42@TnVcrY1014lKIb#^MY}pMzT-!@h<| zuT#DA@qc7i4#}h+?b4(k4(wvH61JeX$U2)i1D!m3^vx+8qV=_#jt0xO#TDAaKlPKW zwmOdLp&t@hmip2@Ec%>1I`EC^&JSS6Q_!h6KJ9@~UUz7MoG$|9zs~Uu-1jyg&L~(x zcyttBPk#W6o5m>m%SMk(`$MS0k?VW)qrl(Misve`f&Ti3E6WRK#N)>&(_x2~o1tsR zvujAR)tHq#OyeJ)>%X$In=-PHXj^UbG0?MVtX#dXX&f!_IM`dx9)pWEm?zCP2RpgL z504tkAD?Q=?w}H`+gu#8u_M~?Z80#5WtYV^2FEdDWz4GJ$PndE3056WI`nzkt{lI|97zw{v2pn+Qr!p*1o}D0SUK8j|Eus-QvP{(or4|Tsh(J3 zSNdYK(>Fh5;SBJ|;q1_pJCdKW2d-k-7u_%5Wgnv)oJ(oq9{Oi^uGVRPB7JjjxL@Rm z!RknVd>F!X2)E;HAt&}n=Tp|P8?^(A7t+%^znoOT|B#-tsLS5=@@cwDc}kEQ%}XR- z9etc%I;-=Q2DfPX5-9r}9l#s6^ohn1pr;=iP6emGDl?fn;0p_|v~l1$$)-=mQ*@y2 z_pEtk58xH2Bh*IDZ?}=tZ3H(>@Q~b2+O3ltNE<9a+{)%wo`n8MBAwv)S-0G~8-b{9 zhjxqKqrnSdYV20dJ^QHKT_U61oi+(K_7&5`Kz3f*>Q@Eq!Z(b%70T^f*Re01*Jy%q z+vsx@tlPBS$U(*j@L_T15dw*B zvqyM%J%T;(-k-7e42AdjW%fAehpv41Y|Q7ABSLP8V-GaZTapP@%=|)pe38SgZ(ER8 z_oRUbPmaCMrh*2*-L~rXKDPc!AHKVM*n@v`hVR%b+&d4ch8{jwmN`>e$wd@_Ff3jRZ8%$9H;SDHu|@d z<4gQE8Azk9D6+*=8i6muTse=Of~D)z9YXr$YK7(2 zT-bu$v>ELKzW$*2JNLH)+DzvR+}YX=d9>+8q{W8EH2PZ~l0HX2oiTXd>Cp#ovaOy^ z%g;8B&dE}H-IRwcHlO$I>~>Y}+z8v$gv z$HoI1dGPe8Zojm07kqT~xiI9ASb7lp>x#}0Buj%84bB$~zd$2)w%ON9KlR6N9uW%v z*+`*l)RtI6+`E!(I&BWg=8tXC-y+p`>#E!q<6)jV)&j#n zGCu6;<;sL!ysp3LgxC)GP~3G$o_M$mCSUG{X6%gUxA_@-$#L!6iGHAVvX?Fgw|Cyq zCBnxufcT-Z^#Abl(bvy=e?;-e{#z`@>hPEcii;jQ$##7F(Jk+1gDPTtTp|uFCl=gv zK0Z?+e{E3ymE7r(-_YBfsK=gW+ZUy99{oBV%;X7gd~VsX*e6|ev)x-d-ZnB@>rZc6 zW4L3K)H~gkA zVCU+vpAZxM*5SpEV1uFc?pz3%1%XZ$ZA~oxkYDs0{q64S>3if=|4x@tVK?Km`Az)2 zY`xpz_n4YECJY|o&}cRhYxNo0_};VhJQ6)09% z$zg8T$@(#KGLIubeA0+?k`0QB^)q;Rw3r-Ki?Qcs_zABNU2|0SjpiOBN>Tm^` zhSQ^}1z>zS-y>7mh%x%VUlCD<(J80i7>c{!Va<(MxAEJNqOW6wE$+V(uBA#i{Xpwp^<^NMyh(+kX3n zzW4GF8`{LE0q7I#Xs64!AM&|2MZDVD9z_J^JQ6HJ*3lz_b`YL+wjUNiPwkH3McbUr zov*rI?eOrDN3;~m`ld3Yj|VdQ@LT-Yt_1F>eq`S}Q?##DvZMP|M^l6*Oqbw+k{*t)-C!+jrs$$QH8IO5_X9kmB^(dSOZWExJ{#ol9UW5Q|gv)_^GrQ__ec|kn1mxuP~;(gQllsosCjOp>%WBiXO2f8|C z=1F3^WZd1aDlU4CO~|u00YE(K1H@jqANCT8*Uf1rZLrCHY?`d;IR9u<1J^Hl0f*0Ty`&~I^bM(ND_9eKK2-FWFN|dF)l9dB68yi*VTovP$KTQ?5o24 zih*|uRP&_oEr7j0rss1PT*`5zsAtjN4K^3JqHljr$h{OcAzu{%{K`ut33Xt1$dDi2 zfg&I?!paz+LHfh{3hL}<-`IWpysw^P{MdU`5z-H@$>y?82bG)8+ z4Cz2<>Hn8K%TK45j8#pJe2zZY;3~|2*%a+H;tI*~AwG^A2M~NV*SYh{f)>6M4mtk0 zo50qHKIIs!pK6`2uA0g9mdu+VKR!f*yvaQtQzFvd?=m@h2Tx@h*y29d^) z+A-XPPwsx*W*x1`F)Uvi_&S7iK}PCw|9%-qr{w&S9}b)M6Xayst>IphnVmj)j;o1JZSU-0vBwz5`B=Mq56Gm_ecsj8N^;4*uNYy_W zNZ)^Kk@>T5o=!1%o%{yIeE6O{;1YqJZy(vCnBKbzDyy=Jr%$NAVSh!zzPCyE@u%YS zpKFW!9FdBPxdww@23toTr_ui~@&8#1VDCCISzIhc=q?b@6pgx+vd0H8c{Zo^E{1Bz zK3~x}+8a15v<$M^=S>^(4e0rNFY!gQ&%)>PTK(F`M;mBAD_#iJXLmXT|6RYgfgQ)=_t`VQ z?5EE2Ne)o5&(fIK%#d)zf+p;4Y zrK4YdvQhlK8SW2a0S_C0{ZiZdxA=`0;r)xln~1_Qi+M71u6pv!QwLBztjUgV`E#`& zKS*IThJH6OstD|O=~o(aEjkxv1Mf?lZsD2}XTy(PkhhIv<8Twg^J`PtG}_zbX$;+B zVuTS%KMUmA^Zdb)A|(h{bOy^uQFL|{!qF2ZIfvW?Q1|b-Gr&W&&I{tP<*_n>w7P3-ljxS zY%&Odk*)+Sehqz2eeV51i25$`71pe54PSl3k1kDJ{bj8tY zVme;YRN;$ljMxA4Uvf)*a6j+9g@<;8FaCj@M;^h8gZ}7TUjMQU5uChSmmZZpo88+i z%kO*XvG@9T{~*?W16nROLPwN>Mea$~fyE&FZplpkz-!abk(Xs_B0S;)$-Kg)*o zW!oeJ%g*H0R~XmIuM91=(tii99g@Xv^+y-<-i=-QH1YB0Y(yUM*qmav40jubw|p;$ z4P6?`Ki39|(@oG7j9)yPPwWNZ^&xwdNWYN}KQy82c{DusU3;{7LO%YF#$q#jiqrMw zhvn*+VRi_Pe?^kE^km-;ee~a-v@*4Gq0w%KAoMPcj_F%A(ix5|5Tg(SMPS{XrUw~>%TwDaVA@E+BjdM5g+px zeZ%@lJ_`0H@sUtorv9TC0l#$Y@~xM6yHI4FF$`iQI21B zk#_Uy>H}OmHGS8=dFMyG+2o0{{dD{WzvwQmR0hVbcawn$rz;)F5x|F+ur0oeL+`Nz zkMKj=IKaa@?`vaUsL|vjiEK+0Y;L%5eo-+F;nati7kY0;cAOmoJueT>{`!tfYjbw* zyh~5Af)!_rO>-IZ1xW=L<;(SN+GT}jbG|z3qm6&jNWLG9AI(wUde??_%5KW3`mJBn zJadfntb;$}Sp5s13hpa0Y1XG@GKfd*N^KBE<6HgpHZZFm8hEi+JNVq-NN~Q_Pk6V_ zrH$I&r$tAlSNFFzuJ&tRd(VqFP#3gudmFXJ?JJl0`w#VJ*?R4Sfb0}4ZGgSWAt~A% z53KPH4do0Hovn9jZwUCFp@P$PQ4kgCR__3hO%@EFc%Ys{C%>Y&_fYW`l!f=FJ&xtV zXZz-8yEu0Hgwdg+i}U)AmkhI5bX$XLUWdO_Ilr3^m?vDD4o^R%?H}#-{ZYTZcXGN& zbnP^~@XUT2FOYroWslxNH8CDV=~%mcV?(edzI`|U6nnL`$G0PdE*Z6pIR!%TVhosH zScE;IqOYLi+RI3f`sM@Tsi#_I39_JN4akO9khw-1TW(`iWjLKfbgW6)2oUHs1; zPgVB8SM=>ONQGiT3>Bx-pKVAehTpRfA2$Aqup~IK#}-$PwKaTO z8*TpZTJvLpc6~uUG{!&XAMafNh&C9YL=;YY+3`o#H97v(-;ko}oW6u$=N2h7(CrYj zT*iJaj=!)OiVYPsbf$rhp@|&Be}P?dcTK*WlX#*d&2r$qP8Xdx7gCheERb z`frmjo?w@_yF_MkEN~S>$l}gIeMXphPdR-AQj?x~z5Ej_{C);?G_KK5S>$jC_n0_6 zk+jMI9QqStU$2^F$Vm=AO*%>A6@B{8uJ}$4KB!FNr6U<H-= z0Fr}W(9l4aD*uIFDY}!9OM4POJ~zqLF{=|;j~p-BRncE(AffFXk>C8g8?^ZQT>p@R zt@&lCI)l1jiz&+vFO$-Tt^X}K*3i%`O`e$A-Ig9X5G03AZL!q(6DMR4e~&$s>qy8! zfCp|ukt5oh_#3eM$N#s{rq9bBSDwX3`N=_`5G-`)`N*NTv_TyF9n2CcK4MEJpldkd ztkb~9=TX`7N1?@;L^cFb&tlF*o|87=mx)W3_ZG5zXgQzwckmR-P5&+ z+3vK9mWlp;frJbu_O7@sE+iNn(R?xLY)2bC3zW4X`%@JD!t+I+e$N zo%;Mz-O93$*qdK!pWu~?Q*EHw+U|Y1@#VwYM$a?5N1xYbOM~S$XbzRhG`ZHhioYc3 z6ZOd_UukFgMGPDzIzJ+je*+b<*t+xGy;AJCD)}VhO9tR=Jk@#g1KRsLCqYC=9>Q?= z^6+pf(tC4K}NzbzJQaGsL$(pLKa z{=cSrvC{?Nbh`FPC2)V55#qrbLZe@aK2wVU`U??0p+2mka<1c~3fpL1_x zavP1}vv@i>932;TYXiY99{<>2hG@LRPHkbE3ENnxcrT>xNDiAgCg1gGdl7YIn>^Mh zk<(o)vpw+6Up`_Vwul5V&qj|EX9|?bAGllOYzR|XegBJLzba$gg~BE>d{|$zc3@JD zNZ+nj7P?28wuja zi<#k+wE59vYa*@<824DJGUXjNj?~ZYDwlo&!{pc|jy6!A_5R1=H6m+f^+6^*Uf#R5 zlacpR<<-x(aK*J_q-+Y?4A`9@$v-*s;o9l?ukb40WSyPFpbb0*RK7)6wx)!*fAty0 zx2bbv#!IL1;O%%$eb2w_2LN5_i~TZhEpT^1A^K}eYzKBg2Y!Z~ufsEjELCR?gGTlr z`RIQ)xocv&7tUMA?=LX?_^H0~w1djTfr~nhrEOH}AIWJ$M;`pzV)~&yAC%XA#2xNwOYuR{uL2X&r4Y1@93=7wq2Jv?w>d zcZUh`qnYo6jnt`kVZsFY)&Y(P6 z^b~_)Y>5vS3&EOSM0WEfHZ*_8uEwyn&C2v=`pv_utI`piU2HHJi`gby>2udth((Or z^c$aeS?>AhBcp4HUyHrXPqIsr4Rm_ZpDb(V#+In* zf0fS<;PoF=;`1_SmnQc%aq_$R={mU(>7x9RS^q8W;g0Bu@nywK zGE9l+Z;q7Tc9(YW@Acs)KC(gmkqd=@k3Fz}o3?z*mh4{IFMo<_?WyyJh7)anal!7L zuYU!5+lI1N`qC#HI>GA~ljAEG#WprYV|V<}S7A2ZX7XRi!Cq$#8O-E3az1>?yS{*b z`jZ~H4rJxqJjou|Jct)?8|mwpvpovNG2;>cPF8?rBwydF|p9;(0cNgSUx1 znc3s`Mf^^#OM5Xje)^0yld-&VEZ$de8ODD79%1jM$ZA})x5gdKtDg#X)fTe#wolMz zPwTqmib_dgiJWxQC$WhJr>!ma_~pVK=+hsdv9@?9ZL{%<91rbx`mL|lZpBOqugS62 zeW`Z1?WI8@|DLwHGCmCF`1}j_%P;E_UN1X7F-IvoMUI?wy3->7MWyOD2?_CF4GV@&c+J9BXNI>6yopYvZYTAZ4jnE&VBvh>NrI)>5#0%1QNgYPU!4hi ztgiEpoB-v>MUHF@-nY9{@PT^@S2KJx$jKh+4VXUjAz+^fqs^YL`WmO(f~TXpPr}R1 zK1Yt#DV)AHz|ot)Wgb1~w3sNsdS+5Os)-LYzX%yJ01x1 zMNSrJQ>}pbr_Sm!>ykUietqF*$#)+3QjXUIMLR*j%P3?FFx$rq+ds~yCV$V z!EM4%9t6p1QeV=&5LIM4o`wJW-g)rq@=V%_zqjADVbz@q&tlCWYZCs}M#7;H`DAb< zc9X#gf7+`@TsC2LwT)i%)dpVikqmWan_PF?Pi?C&K4ym)n7p5NGlWZKW!c5cIoC}V zo10>2yKOXV@^bA1gE+JtZyOONp==SI+r!8XkhwRBIwj+S2e@~3hd0n`C48=J-OmHVcY-SMj!yk-tAogwg(o|M%O+fBJvEz1!3g%WYb^$}Yyn zmOk<=YFsH)Mxg1cy|L53H1SqL5N)1sg7~rcKmH_(`e4aXdztOY`DecEZjdf(o!E%q z?hr}()fdNf!&SRVA1^cg{@XS<+Qcx4c6Y|dZ~tyr&NrzI{@jh$hJr~RyTuz%`hVDL zHL+xeqtKe_^1hUHj(6#0I1^hnxHJxqJiq-UAUsasob=u?Y_r&yK zq5gC2wXs5cEKb;?WU`k3%o%nE$l7IcX#+{LtKLVvQ^w!)t&aZ?S#@8dBVJZ=Dz!WQ zI_B$}ot?zbVK$Hv>wfX5jkS+oH;%>QP>!1ZeDQT~HtB~?kNDX{L}DDtFCL8+nCrzHH(h;t-M9BexICMq_H`H(Nv~yqM^9cPlG*-t4@yjBx?JWF^sBC zR&CD4=;mgfYwOc}w2m+KYaT7Ow+UnX0TbWVmVNcrXw@(Fu-=i8Z?!kP#10HRDYSV) z3lFiXfspT6}oO~nC7mGBCkpIBSZBuFW<=HKGz3ceKW3qJ@^v6GTN8s-pyV(nRf8Q;5|Ehk; z-H$zPY^>&|_h)=|v4s3&(%x*?>QnNqUkyBu;hL+E4^gmv^5gEtsdRlAU+goW^x@~D z<0LVc6DgP1^aHxonYj|0>|;z^e1Kx34$r6fRnI2$!}Dw`ln1Ejg3ozutUawvo=jJc zm%OJoiKCUA^EEo#3gZ6J1hv?|svcg4+llLFC&MRy7~#+ft+i{kI&bc`et45XPziq1 zV%}!VY;fAEF?1U+h?jPN!q+z@MtAKiTxo_oln*?Fa&%O%zTk|jYm3TOArmZoeGOmI z03YYY?2!PRBnE;tu8=#ry9q-cOFBCGIKbzFd~qy%?4fKic)-SjE!Ix;8D5I6Eo*D! z_(JqZ(zo_BImAaO>2vs$pC1tCS+FO+{uY7V){@Ly!#+A*Fre2SCpPuJ^`S300K6z4 z9gSD3N8`ldq9Ylfm^#O67_kYC4&j|mt@5LMzKA*dkx@T5%IeT$Xv!~e^8KUM)%}5U<+R8!;|SVJudts^XT2i2uEDKQaDh-Kr66UPfumDU%IXiAecTY zxX0;OAvq>vc_Zv_AV^M1*LG_d$)elcWO9`wd?103x8^5*?fB4f{8JN)-}mT_$)d^f z?BGg9jlPZwwIk={eGk(SZD}1}G0{1kbviJI484;13~&U>ZwI=Lz}3w&7>1vpUOV2< zhyP?~c`d-ait$hX??P@i>u54)qUqS8%);!W+xy@8e77hoK24b1DPi%j4tg??Eke;- zJ2rv;Q}qTO^3N{pSXbWpEc5VGTHbRuvq82+hOu^&S-z&Z#gk(c;j_bDl)ME*XpMJ%A!rjIHXnOYbNC%| zyE0z^*=@X=WXAi)Z8E1Dy!8)pSsNm3x(7FZ$J2sk6Z|F*?`Ji7H13=QPKr|JWa_JY2d0F1^J|mQ992dD zl3hF!0!Gaik>$5A{C#%}xohb9cI3mc$vM7A{Go|^3+&OX4Sw9KJtLSMj0GRh71W0S z(}ls2CqBz+F9rT?i#7>cKTATwi^ba2vg}vUoT%#9b4BvWI{W0WgWGw2Gx=KofZqE0 zpp0q3)8~1Fa#jgsu}Q{DMLdewYqlL1Yh-0ppIO^c>gB}IUQcf9paaR$nS4{C`laMv zyXr(cQ|B?e`Mu-H$c;ybYk-b%8ndj=UZrg&|3LUM002M$Nkl0$MDpjiFv*<*)+Bn2k7q+%*L^8-b~hXTw6Or^X2X)qpK9{Z5U)zvGrOE&-U@k zret1=$(OrBwAkEZdBw^j*Tf#Zln9=bqi4cejJAPv7F#tN3>pnKE?5UB;g+=J(EL(`jB? zI`M*u4U27RR!_d!h&X(q?{!g&9@UNZ+I4b}!Q)T(krljybDYQg992)3^?Rzb{pLNV zKQcC4Q&mUqFxC%VIl+&h8vaDSKRWHCqrN;M&wNmu@lGgZZ@(|5|M9=Bjcy(&KBah= zcRokd))&)tde<(dPc+amPP4HO8)t+0#l<>z?~#Si$R%(+vP?1Oj!U?dR-S&<@rpP- zIaJQy0lb=vvFwM6>Q8TlpOd?l+)+nu{JW8>gN|^58Pnk?HoOF z@CO;ms_vx4JN+;HL#4W%)0K`L$l!QCd@8>SWsb^&Jr@da7=cPpT7N>O7NY^tEw@&1%c~@zp)>;g}PCN^@b91xwRI=*n{O#>^LbLyliOjyI1iFPLQl znqJuieDc4TzGV3eyxA{UHh=LwFh7ADJur{{;(#Q+52i8X{q(TvpA$-7UmO$tmDbgY{!n2N*p&UaVJt(*+OPd@|f%2CA$p%{NyAaCf!0Ey8&0~okN8$4bnZ?kMYh`>)(PV7$M^bMJ4zX_4g-p-}ny zz!D(2EBJvO@*(?bTi?KYzFzyc!DBIUb@52yu9BtSSrA7sG^l5Smb?~Joo|DWw1M1~ zUp|`3rUO}zOxsilXK6xKQ9AumeGmF~AufM*8afnjyL)eaLsZEuZ!w{x3zs!d?m8vA-B7n>{W_Onr z;=ziK6SIfz^3{=XaUR$<9mx$Ry?(46teu4a&{saaCS5sx0aRjlwWn=|TSko+`nC$s zp7o9?3a#3vmc*6)uW9ZRdPpnvf{dgXT&Rz2QT($U|J2=$2G zUMT5BvVXA1EN;3RYL7%(kXEwCo;=FjTh~|I zS6WVFI@~%4=aD(E;oiG}#mw~YYcH{eQ#`D1i`vImyF52iTve!rN#N@B@ zo}KWM@y#ZXnA1)drB_blg7R&=MG0j7_xZkv(mG~DqB z)CLGHz5C5k@uK*WbJ(18zEoEUot4A881g6jjs!=ZLv4P2Fvgc|CtWt1Qz`l0T{v&u zkv5*c>u%{k^j^VaB;O;;E_mA{^BxuPI2o!PJ2sb+OpG59cFq@UJ`u|9j=0XXaczBZ z;{uQV_cuMltbLRg+shukSExK5PYKy3-(~o)Rkn&9$a>_P41I~8z4GD{tXwIkYX{@f z`L+2Grc<~h^2t|7Yz!L#@?F-0og~QIiZTFhTJZ=f#(QS@1QBCjU>9?2KjWy#5&%Z% z@~vQgR9v~L*En4MVLz0wCl~%H>hvZhK9`B3tn?V;ob`Pw_I+Uv<`bm{P}K|d#jw)l zZ{H2{5<31?e(`SIE|PpL3u3e@`x2oq=^wdAM`?CE@MHACMIH?M?YMI==W`@+maPX- z)#{!jxWna?%S)fs4z{vS8jG(}2Mo@hsY8+s zCuu3!E-({%9o4L$`cu^-NkuwQ4R`Q5zK488Hwng-YV@0Upbf81;gRqG?g(})*O3Mm z{WD5I6{3<&? z3=VB(V=sChMyLAW`QQxA*W-A2$-aRLNp;et|D0~e+)4B&#|RJd^Q(HgY=FD|uyB89 zd}cx^eAkgw$<|~h2bgGRK%eR170!5Hg7U%A1jKkd&eoM1^k06#Lo%U$1PW`}d)z|9 zL^V5_#G^WU1O%@93Dsy@WUQ?6D?dq|P?kHi8;tp6aOD%6gvv-b=^Rcz#jg?JikXu5@=fu-;Y-~e@zu=g7 zP39ntK;WBXJY_#rw$fl-dEBkbZq4)8gwvva&ry$f?O==h)mEOpIyZ&gqHH$D2bca_ zi7`R2uW1@4G9biJ6HY;%;NU1GNE* z+u0@QPQ9ac%NE7=d}I`Ez|OyLukh>@eGer7!4Xvq6l^KPFiw*x}FCVDrx`!$!%;hm)t{^e@iGpI-6U z#JxJ39ya}K1}NX6ntl_kvW}$v-h$w}S#(#(`DY?%J7x3}hiZ6?5??zv+_Q?c&g2pi0br-_kQC4|Z zkJTWQD|YlG@ZBic2`(OQsZ{Ppj|8iulEd|};wmS~;J-_)ufN%fs|9$)RU;k5& zl0>howtF!w!V(|UXAL&Lh#O-sGqVw&Egry5wpmX0*oJ&-I{=P1jnCrlEGF7Y!E0mW zp+PBh*^E)x*&SHkA*D$D^z-ht?wHtBVEvCprMBepjb`6lgo>$Xcm!}S>n(o-*G6Xf zVx#_sFVRl2#Q~X0(@nk)zW_QKFZ+^l$dA*ttqMf%>01yAKN@GVN4pEAb6h6h&1)ZY zWFs31eu3#+b*p^%>@q6=>c7Y+&e5?UxA#)DIQLlKuA-;c_r@)cSgq}82Vy#eNqHLn zvCR=PyPdcuuPgQM7T)m?S1~(u=ob7oaBY|cySo9vX-mP0$+OWC9nj=neXwM{V@`-K zx(i>lw9)W+1K;l--8ED3;Sb)4LpJQQ_LrU><6SI~kL?l z7W(DccaPSrEl0u~I5wQx#NMV(INQ{^n>Kr-7OVb*`bUrAc>mdZ{mR}|X1=36v!6R| z_&WIc&bx8EEIs<}ic)7B*{8#PK~Rhe1Y@4NU24y}s6elW?%Gc<#+fX}CUbxoEoR4X zF{IDyG}^l>Rc7NZ`i~>lf{{N`*Iv3i3Efb3R}vqhed|x`R}Uxo&bxV{+38{y z?R`QKTbp;37cjw(6LRx2yyKt6b@d;+(>cn=if@3|BPZSr?`6mr~3Lo)W^G% z>aTkb-|xIox=lE3lkM={a`O0dC`aNDZ z$C+>baOH?LO!(N$=Hh<3cOLFZ$7b@ZF?c!jgJ1jDc;&N7$`=vdYOK-r{UpDY)a%|LreveG6`2t&3+S({`J6(L- zic`Jv&G9;S5pHuicGZ^*rutjXEb}vj@eFLn$7O1&>{~g2^EG@FhNBJ0@k?d%||*Ab_HqmJ`SB+e|#YXp9oXn1JEYtO(n7-0J{P_Q#_ zZ~1?A&}VoPm<{3=_^~26T5RqO;PQf;eCxpDGr0$Rcw0o!QMqF9ZuOtFCRl}4kXZt2 zP+fiJaGtb$U;V?JQ`N~VXrj?zxCCIx)uAnz+y?x}=bX$2$3R|u9=_x-Sy8VOY{GV) z%^P9FL&H;+rx)q@wFdU!6`B8T~%_{8Eld5q~MO z(CMGZIw6+r77N-LLr6#YIFYw)D=pY_n=EF_2OtRTO zfBldhbe3CW1+~eAqrOSMP@+*TTADr5`S^t?f(<~JlvCjUOa^XLD@OlZO|CAU&&zZ5 zky~73|LGU4q#Lc-xEOu!*Y6H(3)2|s`!1gehu?vCFgwGO)WOy!*RJW^W|?-erKvVn z*<`OBttq9<;+%aCcJ=sDVp3!b%J%Wb{mIh7q#cMwHOyXIzqTf?-z_%QFB|N~S6|g5 zPV;~LMZa7%Ba27l1sTVZCiF`#@hPS(9OAzLE&lKKg>N6-#tp}>BDt$(6aC4h@8M(i zIBmd$!(tyFdavEm9iNDtzAsoW=GG5Qh_e|grngA1EcP@!vhI->fG3S>i0bJnZ8DBu zdD5s`n>ZZC`z*|=0Y?^(eHll!9et7a9Mq2A_2Xdbx3(e5C)sHJ`Kx}7tBu|XMlXGw zHoggbcAVd?1SXiB@9{FeVq3Q9#p>tX5aq>CA{7a#-{fny8vC)x=;KY^6(sA7L%+%n zr@r~hCU(DGvAD!1dK-(%4?jM8WJkGn`m5pu4rAjZMzl?Jb3n%yko#34o4~#Q$l`vq z*yF}z63sT%geyMcx4!Ab`b75#Q8qa75+okulPu(#ZAK|EPOQvc)g6FDq^vLE2I@oZ zm9NT@AP!`wv(MsVTuFCQ^^18n!Z$*bogDRzc`UNg{baJ3-bDhC#mL%{g?edysu*Zd z?7c{9hhl1!VnGLE4}N&WbA3X#iu?Gitpv7BJ#pD0aaXM;Uln4BJbZ-C@aWn2dN)Ot zZroc;1vmM}0n^!^FqVC;id#|00mPdZY z2j%*JO_k6(kW?Jriu1t9YqpxdYt&*6$mo0)EVVoNdB;muvM zHeJ}YbFkAdo6JxA#ctZ|?fch0L*9m=4I1;CJvLR0NNjWcf~3!xuNv#lTqc4_XS4C$ zS7mq=!)K!=*|pQ|+5kT~HXDrp3}7y-FW8YBLAVIjJYlp)Grf{={dlxChM}d-xx0uC z^zgTFCpMJfUGBt1Sz`~~@MimX?_F`c!Jg{Su3fCHJ$=)tq)Y$k!QDnRCc&F~Y|K2h zCzfk(XYLUQS?4b{$cE-1Y=9Sg)-P>SmH(&njbt*K+xJ;)MgLt){GmR!ci(*b>)r>) zW(3=#QQ7I2?pVC`(HHcdx?PA^N0g57B+63r*Vp@R*m8c0{Ab4qaEzM35 zvXLlOY$|D^Mg%@Jhj^vV^}qV~*}6l-*~0&sZ)8Jpt^fAg0x<~|6c{ONhRbUBppGV|LgMX ztv~cj$E7Xc!Pj5!;td6^&lmq}K)<~cO03%K$Zi|EfU*Y$WUSm;+&HN0I(GAaemK&O zFWb*Q<~)zQY;D{SXE#Nqn2pMmCwne0dbBGGmxO z=&1kRd2;Bt)?NpS`@zDy_}{Oa(Rs3G)8u~qvX~qFFLJD1;D`-o?oqcd;ir2>W}VSHfW3)R(%+5n+3P=pvO@HNPx}w!BLvObW*Me z&Im|UZjmWHv@5H$j-zsmbOr?H^GvQX{%gW8IfAk1rm%Aa@DpeYu;gCwDzCzX(B^_P z+8s@nAr@dSe&|@J(s2`LgKYAVgIqc(fu2oPZqPAMljAxi3SSa}r4Gcy`ZIN+;IYTv zvvSM8nJn2Xzy zrAVh)dQ9HvZh^q={Ec=mKsK=R|0H9p(GLI5l{B&VaNBLaRPxp&;_ch%1A;nz<&hKuvlap??{>t?nD!9gubNHhbf41Rrt?F<+DhO z{^UhVETy4Msy!|U*sl*3BXm~$nqbgL8v%1C*57|oO!kpZTzAyI*j4O%pYgJAQOU`ZYO@=Sgah)!pSW-4q!^wqOjm z_LV`VBl?ex;GaSFQV3>ceeLm!PDwuh?5hee7Y_7%sQAg}x7}f4k=A>0Oq_ZcXEr_y zZ;&TxBd(}#Fxk?)|1r=#6^wRA}z zbiU|tVx>s2arpSF7i-y+dh4gf_o8gF9xdl{zS`zx;=Ft5roW%(KR;<3?Ux@cV3T7s z#1txYv4H3oBf1bWb%HTi&a(LOUKtCiU@f?KW#joK#KmPgtsSQK?pO@( z^b<$>=?jlde1)%VujE45Fgm-VNgp%d+?1b;gPr?Z zv(1j)6}EAa&uMNx!q+zQ)_0y_{@x>N<`CI#k6&Vkmo~{i_$w=sZxiZZx1qw``crMq zrVqKY-ww^i7UTLeaA>Hgd_PAEM`sG9uU)iQ=Nc?{KGdS%72o9GDp6w2vyE4ATspQY zqyKTyt}GjEqs{!oSfJDfP5r3&^b+k&zJq<>!SMTsg{Hnk$IdnY#N8hC9i@v^RduIi z8Pc8DRC*jziNb70Ui6Yj|KyHT+JF1!#xC;}Fxgn&JQzNkokpSZV#?gjSPZF~i^__{p%iaThPY`z6h2ov~INNTMWZ%-PawcOTRv?V^F$BO{_{ zlOdVT#z)!NH6Cbtx7o(OX%=jHut9#I`=^}I(O&2Tbfo#vX5zt}{ntOlZ)0Hgo2*AY zv^L)$GkwT~j&aYOl-dq?*+`7Cee}=RK%4%QHO`#Hv67i0bsLNJc;e|d)gWU5YhxRn z_VUbER-iqvzpR42$kjY+ItLHO7m?U`eLFaP9UK0#F_b+{R2;x`;+LZ*yPWo~|Mf1t zLk!tVm`&JETeOi%9&4NFXe_yKVAx5U;Wy>`z-=96UM&$;6Av*kR7Al=RqLn@H!WGWeZ)}}F(_8T?_73di z2xo0=8;I=Hxw5Z*5&KV~pkL8-!N(uEaL6Ie)+;>cY)p>LDz06{nsapL%L^|~(H18N z`=1=_k^lT%n{52%lg7R~>aX6sa6S-E(Rlt|KV+eutvr$Bee?^_&8i0%MSgk32T`KR zU;OelPRTbpfY|1WQ|{F|H_R8dUfCViX0QObatvY0U5D^ZS&CWzaR z=$rx=sd$un5Ws8bTi7JnXg9!SVPzgNRU(?|w_*OHLeLXfI zgJdB6DhJv+oAJ6ZBLz3v=%`Ku;TIE$4XzadN8f}64p{V+=a=1<-N_^hZgQyv&o2hS zcm@RzQ0T{|BZGO$vyaU*uZP^ zZi5S21$dpBO_c3iUlB$##Knv^!A}nHkv-Ui4X&)@&^WQ#o51O4LaEUdACqx$O;(hH zg==HWU|z?$O`Q3hUvvads;MMnrKc=kY_Qb{@YUseYj-}(S9|F!-L`8xq6dc@M`pL6 zmrpe+`IKE|kFgEsfpwDXwW&R-=5(=Ah9CM&wp4p=!QPeEaE_emmE3zAKv8HLl*;}n zCZg-bgs#}Qk||!?@lwkTB6FcHlaRAyx32GfBL@G}VrxnBp@%Q@=`(-d%?|dk^S()2 zd{Cv~lF5hxIK9?4xO$YoKe|2NWbSAZJv5`tc77S^HF*;seXhi_2f0tICfk=;5-pY{ zrzUdF$v%lvWN{)!#Sggoe9WJ(`C|h@a%|EZ_TF`1uny;uc~W=22zYGyRR$CT=0nX@ zI(o{e;NRM%!N&$#m8-9cPh&P}kBTSmtEgV}29`3Q3<2A0$yPr!LED26`Fd?W9S1|- z@bDE+liQs+3Fna(eUiIpK=Z@?r`NT2_8_lGu9(%QMyAyHbUA!B`Os$hyepC0+-m_W zE-u7mxX6{p8a-{Xe&jq_qqKAwOy`$<#2X(PU()S)mk#=Db$kS$)_wQI|1#>N#2roa zuL`I9Kpvdxz7F084<*P_Z7R9X;v;h6{7IKC+Kai1vklMu{X=cX`+_DTVIH|w(y1}R z)!!!md~-H5h|Ful8p_(Dg6Y$lSXxYHjr{uPdqC1v8z8fS;B3^aADAe8J*tr@S~iK@ zZMFBCFrc7`TSj+u8-1Z7(*Q6d#sWuY|=T6 ze-z7NG_Jd=f*yk;#i9F>2QNfOsNp5Q(+Bb#FZRp!;GzSUQ9%P_PHk&N@#Zu1z@klF zV&Whs59Xn@vielxY<3gZOW~ZpC+K3>#DBNt>lgF8KI!|$-!>YejQ2Do>pdH<{HTvx zAI3h_op?AHc)^>kqpiL8bt`=u{%3-!{?ZQ?-L-AH@OvNB2GJ?lQ9nrO)CGq=v-e`Q z{^Wok*iOX5A>E0KZ|q^dkSu%O�$oa08tfX>uQ>T4Myi@#2vN(l`xIXdcFwxx;io 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

A7Kd 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%0D_>Y)@0g7W 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Ä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%0DoHP1Z2rnAprFW7Jo$S927`G5*Xd3FPNA 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

8;Pa=WKp`@ihgFcI5m3= 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

-xH|UYu+vt;sRGt01zaKtl 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 z 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

>&XBE~i(O(x#o3~)-pv43FUzRxV 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

DaFV_AT>q}D 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 z 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

Bc9SF=qmN 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

dqpy2Y<9~$XvxPxtOv+?pgKt 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 Eg3nI@Hvj+t literal 0 HcmV?d00001 diff --git a/README.md b/README.md index fa40b2fc..d16c34af 100644 --- a/README.md +++ b/README.md @@ -3,18 +3,25 @@ [![GitHub release (latest by date)](https://img.shields.io/github/v/release/ixofoundation/ixo-blockchain?color=white&label=release&style=flat-square)](https://github.com/ixofoundation/ixo-blockchain/releases/latest) ![GitHub Release Date](https://img.shields.io/github/release-date/ixofoundation/ixo-blockchain?label=date&color=white&style=flat-square) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/ixofoundation/ixo-blockchain?color=00d2ff&include_prereleases&label=candidate&style=flat-square)](https://github.com/ixofoundation/ixo-blockchain/releases/) [![GitHub license](https://img.shields.io/github/license/ixofoundation/ixo-blockchain?color=lightgrey&style=flat-square)](https://github.com/ixofoundation/ixo-blockchain/blob/main/LICENSE) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/ixofoundation/ixo-blockchain?color=lightgrey&style=flat-square) ![GitHub repo size](https://img.shields.io/github/repo-size/ixofoundation/ixo-blockchain?color=lightgrey&style=flat-square) - [![Go Report Card](https://goreportcard.com/badge/github.com/ixofoundation/ixo-blockchain)](https://goreportcard.com/report/github.com/ixofoundation/ixo-blockchain) +[![Discord](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/ixo) [![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/ixonetwork) +[![Twitter](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/ixoworld) +[![Medium](https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white)](https://medium.com/ixo-blog) + +

+ +

+
+ The ixo Blockchain is a Layer 1 blockchain that runs on both Testnet and Mainnet. It is built using the [Cosmos SDK](https://docs.cosmos.network/main), [Tendermint](https://docs.tendermint.com/), and [IBC](https://ibc.cosmos.network/), and was one of the earliest networks to incorporate these technologies. The recent addition of [CosmWASM](https://github.com/CosmWasm/wasmd) in v0.19.3 demonstrates ixo's commitment to ongoing innovation and evolution. Have a look at [go.mod](https://github.com/ixofoundation/ixo-blockchain/blob/main/go.mod) for specific dependencies and their most recent versions. The ixo Blockchain powers client applications that aim to have a global positive impact. The [Impact Wallet](https://github.com/ixofoundation/ixo-Mobile-dev), [JAMBO](https://github.com/ixofoundation/jambo), and [Launchpad](https://github.com/ixofoundation/ixo-webclient) are examples of client applications that use the ixo Blockchain to enable social impact projects around the world. The [Impact SDK](https://www.npmjs.com/package/@ixo/impactxclient-sdk) makes it simple to interact with the ixo Blockchain. -## How to contribute +## 🤝 How to contribute + If you are interested in contributing to the ixo Blockchain, you can start by reviewing the documentation on our [website](https://docs.ixo.foundation/ixo/developers). There are many opportunities to get involved, such as contributing code or participating in community discussions. Our community is passionate about using blockchain technology to create a positive impact on the world. We believe in the power of collaboration and innovation to drive change, and we welcome anyone who shares our vision to join us on Discord or Telegram. - -[![Discord](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/ixo) [![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/ixonetwork) From 16e88a5c90032b6533961f3b9a869abbb29fbfc7 Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Mon, 3 Jul 2023 11:18:22 +0200 Subject: [PATCH 08/18] fix(wasm): enable wasm statesync --- app/app.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/app.go b/app/app.go index ec1c9810..b309d013 100644 --- a/app/app.go +++ b/app/app.go @@ -10,6 +10,7 @@ import ( "github.com/CosmWasm/wasmd/x/wasm" wasmclient "github.com/CosmWasm/wasmd/x/wasm/client" + wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" @@ -681,6 +682,15 @@ func NewIxoApp( app.SetAnteHandler(ixoAnteHandler) app.SetEndBlocker(app.EndBlocker) + if manager := app.SnapshotManager(); manager != nil { + err = manager.RegisterExtensions( + wasmkeeper.NewWasmSnapshotter(app.CommitMultiStore(), &app.WasmKeeper), + ) + if err != nil { + panic("failed to register snapshot extension: " + err.Error()) + } + } + if loadLatest { if err := app.LoadLatestVersion(); err != nil { tmos.Exit(err.Error()) From 0597a7b1fbe9ee3e287fdde8b04041fcf1344de3 Mon Sep 17 00:00:00 2001 From: Michael-Ixo <113350374+Michael-Ixo@users.noreply.github.com> Date: Tue, 22 Aug 2023 11:55:43 +0200 Subject: [PATCH 09/18] Develop wasmd (#305) * fix: fix ante-handlers, add wasm stargate queriers * chore: dependancy update * feat: enabling ledger support by default and adding checks * chore: add snapshot download instructions * chore: small updates * fix: change token grpc routes to fix metadata route * feature: add ibq and packet-forward-middleware * feat: create wasmbinding module for wasm stargate queries * chore: add security.md * chore: big refactor * fix: enable wasmd proposals * fix: fix modules querier and remove bonds rest querier * upgrade: add v2 upgrade * fix: add 1st inline migration from version map as 1 * fix: fix 1st inline migration from version map * fix: cleanup v2 upgrade * fix: re-add export for zero height * chore: enable cors for local node script * feat: add types events for bonds module * chore: upgrade cosmos-sdk to 0.45.15 and tendermint->cometbft, clenaup github workflows and files * ci: add new build flow * ops(cicd): add commitlint check and lefthook * ops(gha): add release workflow --- .github/CODEOWNERS | 3 + .github/ISSUE_TEMPLATE.md | 0 .github/ISSUE_TEMPLATE/bug.md | 27 + .github/ISSUE_TEMPLATE/config.yaml | 1 + .github/ISSUE_TEMPLATE/feature_request.md | 31 + .github/ISSUE_TEMPLATE/issue.md | 31 + .github/PULL_REQUEST_TEMPLATE.md | 47 + .github/_workflows/_build.yaml | 25 - .github/_workflows/_create_release.yaml | 1 - .github/_workflows/_prepare_prerelease.yaml | 56 - .github/_workflows/_test.yaml | 9 - .github/_workflows/check_compatability.yaml | 0 .github/_workflows/prepare_prerelease.yaml | 30 - .github/_workflows/publish_prerelease.yaml | 12 - .github/_workflows/pull_requets.yaml | 0 .github/_workflows/release_publish.yaml | 12 - .github/_workflows/release_stable.yaml | 7 - .github/dependabot.yml | 33 + .github/ideas/release.manifest.yaml | 4 - .github/workflows/build.yml | 78 + .github/workflows/ibc-e2e.yaml | 34 +- .github/workflows/lint.yml | 59 +- .github/workflows/prepare_release.yaml | 624 +-- .github/workflows/release.yml | 31 + .github/workflows/test_pull_request.yaml | 324 +- .golangci.yml | 59 + .goreleaser.yaml | 207 + .infra/dockerfiles/Dockerfile | 1 - Dockerfile | 1 - Makefile | 115 +- SECURITY.md | 4 + SUPPORT.md | 0 app/ante.go | 37 +- app/app.go | 784 +-- app/blocked.go | 33 + app/encoding.go | 10 +- app/export.go | 9 +- app/keepers/keepers.go | 554 +++ app/keepers/keys.go | 121 + app/keepers/querier.go | 22 + app/modules.go | 352 ++ app/params/config.go | 59 + app/upgrades/types.go | 45 + app/upgrades/v2/README.md | 3 + app/upgrades/v2/constants.go | 24 + app/upgrades/v2/upgrades.go | 85 + cmd/ixod/cmd/genaccounts.go | 5 +- cmd/ixod/cmd/root.go | 120 +- cmd/ixod/cmd/testnet.go | 12 +- cmd/ixod/cmd/validate_genesis_ixo.go | 81 - cmd/ixod/main.go | 2 + commitlint.config.js | 57 +- config.yml | 24 - docs/SNAPSHOT.md | 38 + docs/core/proto-docs.html | 873 +++- docs/core/proto-docs.json | 860 +++- docs/core/proto-docs.md | 305 +- genesis.json | 759 --- go.mod | 80 +- go.sum | 564 ++- lefthook.yml | 2 +- package-lock.json | 3689 -------------- package.json | 9 +- proto/ixo/bonds/v1beta1/bonds.proto | 194 +- proto/ixo/bonds/v1beta1/event.proto | 161 + proto/ixo/bonds/v1beta1/genesis.proto | 13 +- proto/ixo/bonds/v1beta1/query.proto | 145 +- proto/ixo/bonds/v1beta1/tx.proto | 264 +- proto/ixo/token/v1beta1/query.proto | 13 +- scripts/run_with_all_data.sh | 7 + wasmbinding/query_plugin.go | 37 + wasmbinding/stargate_whitelist.go | 139 + wasmbinding/wasm.go | 19 + x/bonds/client/rest/query.go | 528 +- x/bonds/client/rest/rest.go | 37 +- x/bonds/client/rest/tx.go | 1024 ++-- x/bonds/handler.go | 13 +- x/bonds/keeper/batch.go | 222 +- x/bonds/keeper/bonds.go | 12 +- x/bonds/keeper/grpc_query.go | 115 +- x/bonds/keeper/keeper.go | 4 +- x/bonds/keeper/msg_server.go | 288 +- x/bonds/keeper/querier.go | 896 ++-- x/bonds/module.go | 13 +- x/bonds/spec/09_stargate_upgrade.md | 37 - x/bonds/types/bonds.pb.go | 306 +- x/bonds/types/event.pb.go | 4797 +++++++++++++++++++ x/bonds/types/events.go | 67 - x/bonds/types/genesis.pb.go | 44 +- x/bonds/types/params.go | 2 +- x/bonds/types/query.pb.go | 280 +- x/bonds/types/query.pb.gw.go | 4 +- x/bonds/types/tx.pb.go | 355 +- x/claims/keeper/grpc_query.go | 46 +- x/claims/keeper/payments.go | 2 +- x/claims/keeper/querier.go | 21 - x/claims/module.go | 7 +- x/entity/ante/decorators.go | 2 +- x/entity/keeper/grpc_query.go | 40 +- x/entity/keeper/querier.go | 21 - x/entity/module.go | 10 +- x/iid/keeper/grpc_query.go | 24 +- x/iid/module.go | 66 +- x/iid/types/{x_test.go => x_test.go.ignore} | 0 x/token/keeper/grpc_query.go | 30 +- x/token/keeper/querier.go | 21 - x/token/module.go | 8 +- x/token/types/query.pb.go | 165 +- x/token/types/query.pb.gw.go | 154 +- x/token/types/token.pb.go | 2 +- yarn.lock | 1620 +++++++ 111 files changed, 14506 insertions(+), 9253 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/bug.md create mode 100644 .github/ISSUE_TEMPLATE/config.yaml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/issue.md delete mode 100644 .github/_workflows/_build.yaml delete mode 100644 .github/_workflows/_create_release.yaml delete mode 100644 .github/_workflows/_prepare_prerelease.yaml delete mode 100644 .github/_workflows/_test.yaml delete mode 100644 .github/_workflows/check_compatability.yaml delete mode 100644 .github/_workflows/prepare_prerelease.yaml delete mode 100644 .github/_workflows/publish_prerelease.yaml delete mode 100644 .github/_workflows/pull_requets.yaml delete mode 100644 .github/_workflows/release_publish.yaml delete mode 100644 .github/_workflows/release_stable.yaml create mode 100644 .github/dependabot.yml delete mode 100644 .github/ideas/release.manifest.yaml create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/release.yml create mode 100644 .golangci.yml create mode 100644 .goreleaser.yaml create mode 100644 SECURITY.md delete mode 100644 SUPPORT.md create mode 100644 app/blocked.go create mode 100644 app/keepers/keepers.go create mode 100644 app/keepers/keys.go create mode 100644 app/keepers/querier.go create mode 100644 app/modules.go create mode 100644 app/params/config.go create mode 100644 app/upgrades/types.go create mode 100644 app/upgrades/v2/README.md create mode 100644 app/upgrades/v2/constants.go create mode 100644 app/upgrades/v2/upgrades.go delete mode 100644 cmd/ixod/cmd/validate_genesis_ixo.go delete mode 100644 config.yml create mode 100644 docs/SNAPSHOT.md delete mode 100644 genesis.json delete mode 100644 package-lock.json create mode 100644 proto/ixo/bonds/v1beta1/event.proto create mode 100644 wasmbinding/query_plugin.go create mode 100644 wasmbinding/stargate_whitelist.go create mode 100644 wasmbinding/wasm.go delete mode 100644 x/bonds/spec/09_stargate_upgrade.md create mode 100644 x/bonds/types/event.pb.go delete mode 100644 x/bonds/types/events.go delete mode 100644 x/claims/keeper/querier.go delete mode 100644 x/entity/keeper/querier.go rename x/iid/types/{x_test.go => x_test.go.ignore} (100%) delete mode 100644 x/token/keeper/querier.go create mode 100644 yarn.lock diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e69de29b..faf0598d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -0,0 +1,3 @@ +# CODEOWNERS: https://help.github.com/articles/about-codeowners/ + +- @Michael-Ixo diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index e69de29b..00000000 diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md new file mode 100644 index 00000000..26316e08 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -0,0 +1,27 @@ +--- +name: Report a bug +about: Issue tracker is used for reporting bugs +title: '' +labels: 'type:bug' +assignees: '' +--- + +#### Specifications + +Ixo version: `Ixod version` +OS & Version: Windows/Linux/OSX +Commit hash: + +#### Expected behavior + +#### Actual behavior + +#### Steps to reproduce the behavior + +#### Backtrace + +``` +[backtrace] +``` + +When submitting logs: please submit them as text and not screenshots. diff --git a/.github/ISSUE_TEMPLATE/config.yaml b/.github/ISSUE_TEMPLATE/config.yaml new file mode 100644 index 00000000..a49eab2f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yaml @@ -0,0 +1 @@ +blank_issues_enabled: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..53144e13 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,31 @@ + + +# Summary + + + +## Problem Definition + + + +## Proposal + + + +--- + +### For Admin Use + +- [ ] Not duplicate issue +- [ ] Appropriate labels applied +- [ ] Appropriate contributors tagged +- [ ] Contributor-assigned/self-assigned +- [ ] Is a spike necessary to map out how the issue should be approached? diff --git a/.github/ISSUE_TEMPLATE/issue.md b/.github/ISSUE_TEMPLATE/issue.md new file mode 100644 index 00000000..28415085 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue.md @@ -0,0 +1,31 @@ +--- +name: General issue +about: A template for general issues with acceptance criteria +title: '' +assignees: '' +--- + + + +## Background + +> This is where you can provide code examples or context (e.g. past PR's) +> e.g. +> +> - The following PRs contributed to... + +## Suggested Design + +> Here, you can put concrete steps as to what to do next +> e.g. +> +> - create test file in... + +## Acceptance Criteria + +> Goals & criteria for success +> e.g. +> +> - all existing and new tests should pass diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e69de29b..c6ceed59 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,47 @@ + + +Closes: #XXX + +## What is the purpose of the change + +> Add a description of the overall background and high level changes that this PR introduces + +_(E.g.: This pull request improves documentation of area A by adding ...._ + +## Testing and Verifying + +_(Please pick one of the following options)_ + +This change is a trivial rework / code cleanup without any test coverage. + +_(or)_ + +This change is already covered by existing tests, such as _(please describe tests)_. + +_(or)_ + +This change added tests and can be verified as follows: + +_(example:)_ + +- _Added unit test that validates ..._ +- _Added integration tests for end-to-end deployment with ..._ +- _Extended integration test for ..._ +- _Manually verified the change by ..._ + +## Documentation and Release Note + +- [ ] Does this pull request introduce a new feature or user-facing behavior changes? +- [ ] Changelog entry added to `Unreleased` section of `CHANGELOG.md`? + +Where is the change documented? + +- [ ] Specification (`x/{module}/README.md`) +- [ ] Osmosis documentation site +- [ ] Code comments? +- [ ] N/A diff --git a/.github/_workflows/_build.yaml b/.github/_workflows/_build.yaml deleted file mode 100644 index 25f88ca3..00000000 --- a/.github/_workflows/_build.yaml +++ /dev/null @@ -1,25 +0,0 @@ -jobs: - - test-build: - name: Run ${{ matrix.test }} tests - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - build: - - build-command: docker build -t ${{ docker.image }} . - artifact: app - os: ubuntu-latests - - - build-command: docker build -t ${{ docker.image }} . - artifact: app - os: ubuntu-latests - - include: - - test: unit - command: npm test - - - test: integration - command: npm test - steps: - - run: echo "All Good" \ No newline at end of file diff --git a/.github/_workflows/_create_release.yaml b/.github/_workflows/_create_release.yaml deleted file mode 100644 index 080347c5..00000000 --- a/.github/_workflows/_create_release.yaml +++ /dev/null @@ -1 +0,0 @@ - on: \ No newline at end of file diff --git a/.github/_workflows/_prepare_prerelease.yaml b/.github/_workflows/_prepare_prerelease.yaml deleted file mode 100644 index 335f61ac..00000000 --- a/.github/_workflows/_prepare_prerelease.yaml +++ /dev/null @@ -1,56 +0,0 @@ -name: Publish Release - -on: - push: - branches: - - "devel/ops-upgrade" - -jobs: - # test: - - # create-prerelease: - - publish-github-prerelease: - name: Publish Github Release - runs-on: ubuntu-latest - - # needs: - # - build-package - # - upload-release-artifacts - # outputs: - # version: ${{ steps.release.outputs.tag_name }} - # changelog: ${{ steps.release.outputs.body }} - # changelog-url: ${{ steps.release.outputs.html_url }} - steps: - - name: Git Version - uses: codacy/git-version@2.2.0 - - - name: Bump release version - id: bump_version - uses: christian-draeger/increment-semantic-version@1.0.2 - with: - current-version: '2.11.7-alpha3' - version-fragment: 'feature' - - - name: Publish Pre Release - id: pre-release - uses: release-drafter/release-drafter@v5 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - config-name: prerelease-config.yaml - version: "1.2.3" - publish: true - commitish: ${{ github.sha }} - - - name: Publish Stable Release - id: stable-release - uses: release-drafter/release-drafter@v5 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - config-name: release-config.yaml - publish: false - commitish: ${{ github.sha }} - -#udhui \ No newline at end of file diff --git a/.github/_workflows/_test.yaml b/.github/_workflows/_test.yaml deleted file mode 100644 index b7d49512..00000000 --- a/.github/_workflows/_test.yaml +++ /dev/null @@ -1,9 +0,0 @@ -strategy: - fail-fast: false - matrix: - include: - - test: unit - command: npm test - - - test: integration - command: npm test \ No newline at end of file diff --git a/.github/_workflows/check_compatability.yaml b/.github/_workflows/check_compatability.yaml deleted file mode 100644 index e69de29b..00000000 diff --git a/.github/_workflows/prepare_prerelease.yaml b/.github/_workflows/prepare_prerelease.yaml deleted file mode 100644 index f7d633fb..00000000 --- a/.github/_workflows/prepare_prerelease.yaml +++ /dev/null @@ -1,30 +0,0 @@ -on: - push: - branches: main - - -jobs: - test: - - create-prerelease: - - publish-github-release: - name: Publish Github Release - runs-on: ubuntu-latest - needs: - - build-package - - upload-release-artifacts - outputs: - version: ${{ steps.release.outputs.tag_name }} - changelog: ${{ steps.release.outputs.body }} - changelog-url: ${{ steps.release.outputs.html_url }} - steps: - - name: Publish Release - id: release - uses: release-drafter/release-drafter@v5 - env: - GITHUB_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }} - with: - config-name: ${{ env.release-config }} - publish: true - commitish: ${{ github.sha }} \ No newline at end of file diff --git a/.github/_workflows/publish_prerelease.yaml b/.github/_workflows/publish_prerelease.yaml deleted file mode 100644 index be07bc8f..00000000 --- a/.github/_workflows/publish_prerelease.yaml +++ /dev/null @@ -1,12 +0,0 @@ -on: - tag: - - - -jobs: - build: - - publish: - - update_release_draft: - \ No newline at end of file diff --git a/.github/_workflows/pull_requets.yaml b/.github/_workflows/pull_requets.yaml deleted file mode 100644 index e69de29b..00000000 diff --git a/.github/_workflows/release_publish.yaml b/.github/_workflows/release_publish.yaml deleted file mode 100644 index 6717435a..00000000 --- a/.github/_workflows/release_publish.yaml +++ /dev/null @@ -1,12 +0,0 @@ -on: - tag: - branches: - - release/v* - -jobs: - test: - - build: - - - publish: \ No newline at end of file diff --git a/.github/_workflows/release_stable.yaml b/.github/_workflows/release_stable.yaml deleted file mode 100644 index f2b882c1..00000000 --- a/.github/_workflows/release_stable.yaml +++ /dev/null @@ -1,7 +0,0 @@ -on: - push: - tag: - -jobs: - test: - \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..efa3cb66 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,33 @@ +################################# +# GitHub Dependabot Config info # +################################# + +version: 2 +updates: + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + target-branch: "develop" + directory: "/" + schedule: + interval: "weekly" + + # Maintain dependencies for NPM + - package-ecosystem: "npm" + target-branch: "develop" + directory: "/" + schedule: + interval: "weekly" + + # Maintain dependencies for Docker + - package-ecosystem: "docker" + target-branch: "develop" + directory: "/" + schedule: + interval: "weekly" + + # Maintain dependencies for Golang + - package-ecosystem: "gomod" + target-branch: "develop" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/ideas/release.manifest.yaml b/.github/ideas/release.manifest.yaml deleted file mode 100644 index 3f73af3c..00000000 --- a/.github/ideas/release.manifest.yaml +++ /dev/null @@ -1,4 +0,0 @@ -packages: - - name: dockerfile - image: xx - \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..f5618794 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,78 @@ +# # This workflow builds the ixos binary for amd64 and arm64 on Darwin and Linux. +# # +# # This workflow runs: +# # - on pushes to main +# # - on every pull requests +# # - when manually triggered +# # +# # Caching strategy +# # This code will store the Go modules cache based on the hash of your go.sum file, +# # ensuring that the cache will be invalidated when your dependencies change. +# # The cache will be stored on a per-branch basis, which should prevent cache pollution issues between different branches. + +# name: Build ixod + +# on: +# pull_request: +# branches: +# - "**" +# push: +# branches: +# - "main" +# - "v[0-9]**" +# workflow_dispatch: + +# env: +# GO_VERSION: 1.20.7 + +# concurrency: +# group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} +# cancel-in-progress: true + +# jobs: +# build: +# name: ixod-${{ matrix.targetos }}-${{ matrix.arch }} +# runs-on: ubuntu-latest + +# strategy: +# matrix: +# arch: [amd64, arm64] +# targetos: [darwin, linux] +# include: +# - targetos: darwin +# arch: arm64 + +# steps: +# - name: Check out repository code +# uses: actions/checkout@v3 +# - name: Get git diff +# uses: technote-space/get-diff-action@v6.1.2 +# with: +# PATTERNS: | +# **/**.wasm +# **/**.go +# go.mod +# go.sum +# Makefile +# .github/workflows/build.yml +# - name: 🐿 Setup Golang +# uses: actions/setup-go@v4 +# if: env.GIT_DIFF +# with: +# go-version: ${{env.GO_VERSION}} +# env: +# GOOS: ${{ matrix.targetos }} +# GOARCH: ${{ matrix.arch }} +# - name: Download Dependencies +# if: env.GIT_DIFF +# run: go mod download +# - name: Build ixod +# if: env.GIT_DIFF +# run: | +# GOWRK=off go build cmd/ixod/main.go +# - name: Upload ixod artifact +# if: env.GIT_DIFF +# uses: actions/upload-artifact@v3 +# with: +# name: ixod-${{ matrix.targetos }}-${{ matrix.arch }} +# path: cmd/ixod/ixod diff --git a/.github/workflows/ibc-e2e.yaml b/.github/workflows/ibc-e2e.yaml index 72471505..04a1b3e1 100644 --- a/.github/workflows/ibc-e2e.yaml +++ b/.github/workflows/ibc-e2e.yaml @@ -1,18 +1,18 @@ -name: Tests / E2E Upgrade -on: - workflow_dispatch: - push: - branches: [master] +# name: Tests / E2E Upgrade +# on: +# workflow_dispatch: +# push: +# branches: [master] -jobs: - upgrade-v5: - uses: cosmos/ibc-go/.github/workflows/e2e-test-workflow-call.yml@main - with: - chain-image: ghcr.io/ixofoundation/ixo-blockchain - chain-binary: ixod - chain-a-tag: 0.19.3 - chain-b-tag: 0.19.3 - chain-upgrade-tag: debug-v0.19.4.7 - upgrade-plan-name: "normal upgrade" - test-entry-point: "TestUpgradeTestSuite" - test: "TestIBCChainUpgrade" \ No newline at end of file +# jobs: +# upgrade-v5: +# uses: cosmos/ibc-go/.github/workflows/e2e-test-workflow-call.yml@main +# with: +# chain-image: ghcr.io/ixofoundation/ixo-blockchain +# chain-binary: ixod +# chain-a-tag: 0.19.3 +# chain-b-tag: 0.19.3 +# chain-upgrade-tag: debug-v0.19.4.7 +# upgrade-plan-name: "normal upgrade" +# test-entry-point: "TestUpgradeTestSuite" +# test: "TestIBCChainUpgrade" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d49ad4f2..ffbf262e 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,27 +1,32 @@ -name: golangci-lint -on: - push: - tags: - - v* - branches: - - master - - main - pull_request: -permissions: - contents: read - # Optional: allow read access to pull request. Use with `only-new-issues` option. - # pull-requests: read -jobs: - golangci: - name: lint - runs-on: ubuntu-latest - steps: - - uses: actions/setup-go@v3 - with: - go-version: 1.19 - - uses: actions/checkout@v3 - - name: golangci-lint - uses: golangci/golangci-lint-action@v3 - with: - # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version - version: latest \ No newline at end of file +# name: golangci-lint +# on: +# push: +# tags: +# - v* +# branches: +# - main +# pull_request: + +# env: +# GO_VERSION: 1.20.7 + +# permissions: +# contents: read + +# jobs: +# golangci: +# name: Run golangci-lint +# runs-on: ubuntu-latest +# steps: +# - name: Check out repository code +# uses: actions/checkout@v3 +# - name: 🐿 Setup Golang +# uses: actions/setup-go@v4 +# with: +# go-version: ${{env.GO_VERSION}} +# - name: golangci-lint +# uses: golangci/golangci-lint-action@v3 +# with: +# # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version +# version: latest +# args: --timeout 10m diff --git a/.github/workflows/prepare_release.yaml b/.github/workflows/prepare_release.yaml index 5c014bd0..9ba007d1 100644 --- a/.github/workflows/prepare_release.yaml +++ b/.github/workflows/prepare_release.yaml @@ -1,312 +1,312 @@ -name: Prepare Release - -on: - push: - tags: - - v* - -jobs: - gather-build-info: - name: Gather Build Info - runs-on: ubuntu-latest - outputs: - is-prerelease: ${{ startsWith(steps.get_version.outputs.prerelease, 'rc') }} - version: ${{ steps.get_version.outputs.version }} - steps: - - id: get_version - uses: battila7/get-version-action@master - - test-code: - name: ${{ matrix.test.name }} - runs-on: ubuntu-latest - continue-on-error: ${{ matrix.test.experimental }} - needs: - - gather-build-info - strategy: - fail-fast: false - matrix: - test: - - name: Unit Tests (Code) - command: npm run test:code - experimental: true - artifact: "" - enabled: true - - - name: Snyk (Security) - command: npm run test:security - experimental: true - enabled: true - - - name: Lint (Quality) - command: npm run lint - experimental: true - enabled: true - - - name: Coverage (Quality) - command: npm run test:coverage - experimental: true - enabled: false - - exclude: - - test: - enabled: false - steps: - - uses: actions/checkout@v2 - - name: Install Npm Dependencies - run: npm install --ignore-scripts - - name: Run Test - run: ${{ matrix.test.command }} - - build: - name: ${{ matrix.build.name }} - runs-on: ubuntu-latest - needs: - - gather-build-info - strategy: - fail-fast: false - matrix: - build: - - name: Build docker image - os: ubuntu-latest - enabled: true - artifact: ixo-chain - docker: - file: .infra/dockerfiles/Dockerfile - target: dist-stable - outputs: - type: "image" - # post-build: - # enabled: false - - - name: Build debian package - os: ubuntu-latest - artifact: "ixod_linux_amd64" - enabled: true - docker: - file: .infra/dockerfiles/Dockerfile - target: build-binary - outputs: - type: file - path: /dist/app/ixo-blockchain_linux_amd64.tar.gz - # post-build: - # enabled: false - - - name: Build darwin binary - os: ubuntu-latest - artifact: "ixod_darwin_amd64" - enabled: true - docker: - file: .infra/dockerfiles/Dockerfile - target: build-binary - outputs: - type: file - path: /dist/app/ixo-blockchain_darwin_amd64.tar.gz - - exclude: - - build: - enabled: false - - steps: - - uses: actions/checkout@v2 - - - name: Set up Docker Buildx - if: matrix.build.outputs.type == 'image' - uses: docker/setup-buildx-action@v1 - - - name: Build Docker Image and Save - if: matrix.build.outputs.type == 'image' - uses: docker/build-push-action@v2 - with: - push: false - context: . - tags: ${{ matrix.build.artifact }}:tmp - target: ${{ matrix.build.docker.target }} - file: ${{ matrix.build.docker.file }} - outputs: type=docker,dest=/tmp/${{ matrix.build.artifact }}.tar - - - name: Build Docker Image - if: matrix.build.outputs.type == 'file' - uses: docker/build-push-action@v2 - with: - push: false - context: . - tags: ${{ matrix.build.artifact }}:tmp - target: ${{ matrix.build.docker.target }} - file: ${{ matrix.build.docker.file }} - - - name: Extract files from Docker Image - id: extracted-files - if: matrix.build.outputs.type == 'file' - uses: shrink/actions-docker-extract@v1 - with: - image: ${{ matrix.build.artifact }}:tmp - path: ${{ matrix.build.outputs.path }} - - - name: Upload Docker Image - if: matrix.build.outputs.type == 'image' - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.build.artifact }} - path: /tmp/${{ matrix.build.artifact }}.tar - - - name: Upload File - if: matrix.build.outputs.type == 'file' - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.build.artifact }} - path: ${{ steps.extracted-files.outputs.destination }} - - test-artifact: - name: ${{ matrix.test.name }} - runs-on: ubuntu-latest - continue-on-error: ${{ matrix.test.experimental }} - needs: - - build - strategy: - matrix: - test: - - name: Scan Docker image (Security) - os: ubuntu-latest - artifact: ixo-chain - enabled: true - experimental: true - command: docker scan --file .infra/dockerfiles/Dockerfile ixo-chain:tmp - - - name: Integration Tests (Quality) - os: ubuntu-latest - artifact: ixo-chain - enabled: false - experimental: true - - exclude: - - test: - enabled: false - steps: - - uses: actions/checkout@v2 - - name: Download artifact - uses: actions/download-artifact@v2 - with: - name: ${{ matrix.test.artifact }} - - - name: Load image - run: docker load --input ${{ matrix.test.artifact }}.tar - - - name: Run ${{matrix.test.name }} - run: ${{ matrix.test.command }} - - publish-release: - name: ${{ matrix.release.name }} - runs-on: ubuntu-latest - outputs: - upload-url: ${{ steps.release.outputs.upload_url}} - needs: - - gather-build-info - - test-code - - build - - test-artifact - strategy: - fail-fast: false - matrix: - release: - - name: Publish Release - enabled: ${{ !needs.gather-build-info.outputs.is-prerelease }} - config: release-config.yaml - - - name: Publish Pre-Release - enabled: ${{ needs.gather-build-info.outputs.is-prerelease }} - config: prerelease-config.yaml - - exclude: - - release: - enabled: false - steps: - - name: Create Release - id: release - uses: release-drafter/release-drafter@v5 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - config-name: ${{ matrix.release.config }} - tag: ${{ needs.gather-build-info.outputs.version }} - publish: true - commitish: ${{ github.sha }} - - publish-release-artifacts: - name: ${{ matrix.artifact.name }} - runs-on: ubuntu-latest - needs: - - gather-build-info - - build - - publish-release - strategy: - matrix: - artifact: - - name: Publish Docker Image - os: ubuntu-latest - artifact: ixo-chain - enabled: true - type: docker - docker: - registry: ghcr.io - owner: ${{ github.repository_owner }} - image: ${{ github.event.repository.name }} - username: ${{ github.actor }} - # password: ${{ secrets.GITHUB_TOKEN }} - tag: ${{ needs.gather-build-info.outputs.version }} - - - name: Publish Linux Binary - os: ubuntu-latest - artifact: "ixod_linux_amd64" - enabled: true - type: file - file: - path: ixo-blockchain_linux_amd64.tar.gz - extention: .tar.gz - - - name: Publish Darwin Binary - os: ubuntu-latest - artifact: "ixod_darwin_amd64" - enabled: true - type: file - file: - path: ixo-blockchain_darwin_amd64.tar.gz - extention: .tar.gz - - exclude: - - artifact: - enabled: false - - steps: - - name: Login to DockerHub - if: matrix.artifact.type == 'docker' - uses: docker/login-action@v1 - with: - registry: ${{ matrix.artifact.docker.registry }} - username: ${{ matrix.artifact.docker.username }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Download artifact - uses: actions/download-artifact@v2 - with: - name: ${{ matrix.artifact.artifact }} - - - name: Upload Release Asset - if: matrix.artifact.type == 'file' - id: upload-release-asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ needs.publish-release.outputs.upload-url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps - asset_path: ./${{ matrix.artifact.file.path }} - asset_name: ${{ matrix.artifact.artifact }}.${{ matrix.artifact.file.extention }} - asset_content_type: application/tar+gzip - - - name: Publish Docker Image - if: matrix.artifact.type == 'docker' - env: - image: ${{ matrix.artifact.docker.registry }}/${{ matrix.artifact.docker.owner }}/${{ matrix.artifact.docker.image }}:${{ matrix.artifact.docker.tag }} - run: | - docker load --input ${{ matrix.artifact.artifact }}.tar - docker tag ${{ matrix.artifact.artifact }}:tmp ${{ env.image }} - docker push ${{ env.image }} +# name: Prepare Release + +# on: +# push: +# tags: +# - v* + +# jobs: +# gather-build-info: +# name: Gather Build Info +# runs-on: ubuntu-latest +# outputs: +# is-prerelease: ${{ startsWith(steps.get_version.outputs.prerelease, 'rc') }} +# version: ${{ steps.get_version.outputs.version }} +# steps: +# - id: get_version +# uses: battila7/get-version-action@master + +# test-code: +# name: ${{ matrix.test.name }} +# runs-on: ubuntu-latest +# continue-on-error: ${{ matrix.test.experimental }} +# needs: +# - gather-build-info +# strategy: +# fail-fast: false +# matrix: +# test: +# - name: Unit Tests (Code) +# command: npm run test:code +# experimental: true +# artifact: "" +# enabled: true + +# - name: Snyk (Security) +# command: npm run test:security +# experimental: true +# enabled: true + +# - name: Lint (Quality) +# command: npm run lint +# experimental: true +# enabled: true + +# - name: Coverage (Quality) +# command: npm run test:coverage +# experimental: true +# enabled: false + +# exclude: +# - test: +# enabled: false +# steps: +# - uses: actions/checkout@v2 +# - name: Install Npm Dependencies +# run: npm install --ignore-scripts +# - name: Run Test +# run: ${{ matrix.test.command }} + +# build: +# name: ${{ matrix.build.name }} +# runs-on: ubuntu-latest +# needs: +# - gather-build-info +# strategy: +# fail-fast: false +# matrix: +# build: +# - name: Build docker image +# os: ubuntu-latest +# enabled: true +# artifact: ixo-chain +# docker: +# file: .infra/dockerfiles/Dockerfile +# target: dist-stable +# outputs: +# type: "image" +# # post-build: +# # enabled: false + +# - name: Build debian package +# os: ubuntu-latest +# artifact: "ixod_linux_amd64" +# enabled: true +# docker: +# file: .infra/dockerfiles/Dockerfile +# target: build-binary +# outputs: +# type: file +# path: /dist/app/ixo-blockchain_linux_amd64.tar.gz +# # post-build: +# # enabled: false + +# - name: Build darwin binary +# os: ubuntu-latest +# artifact: "ixod_darwin_amd64" +# enabled: true +# docker: +# file: .infra/dockerfiles/Dockerfile +# target: build-binary +# outputs: +# type: file +# path: /dist/app/ixo-blockchain_darwin_amd64.tar.gz + +# exclude: +# - build: +# enabled: false + +# steps: +# - uses: actions/checkout@v2 + +# - name: Set up Docker Buildx +# if: matrix.build.outputs.type == 'image' +# uses: docker/setup-buildx-action@v1 + +# - name: Build Docker Image and Save +# if: matrix.build.outputs.type == 'image' +# uses: docker/build-push-action@v2 +# with: +# push: false +# context: . +# tags: ${{ matrix.build.artifact }}:tmp +# target: ${{ matrix.build.docker.target }} +# file: ${{ matrix.build.docker.file }} +# outputs: type=docker,dest=/tmp/${{ matrix.build.artifact }}.tar + +# - name: Build Docker Image +# if: matrix.build.outputs.type == 'file' +# uses: docker/build-push-action@v2 +# with: +# push: false +# context: . +# tags: ${{ matrix.build.artifact }}:tmp +# target: ${{ matrix.build.docker.target }} +# file: ${{ matrix.build.docker.file }} + +# - name: Extract files from Docker Image +# id: extracted-files +# if: matrix.build.outputs.type == 'file' +# uses: shrink/actions-docker-extract@v1 +# with: +# image: ${{ matrix.build.artifact }}:tmp +# path: ${{ matrix.build.outputs.path }} + +# - name: Upload Docker Image +# if: matrix.build.outputs.type == 'image' +# uses: actions/upload-artifact@v2 +# with: +# name: ${{ matrix.build.artifact }} +# path: /tmp/${{ matrix.build.artifact }}.tar + +# - name: Upload File +# if: matrix.build.outputs.type == 'file' +# uses: actions/upload-artifact@v2 +# with: +# name: ${{ matrix.build.artifact }} +# path: ${{ steps.extracted-files.outputs.destination }} + +# test-artifact: +# name: ${{ matrix.test.name }} +# runs-on: ubuntu-latest +# continue-on-error: ${{ matrix.test.experimental }} +# needs: +# - build +# strategy: +# matrix: +# test: +# - name: Scan Docker image (Security) +# os: ubuntu-latest +# artifact: ixo-chain +# enabled: true +# experimental: true +# command: docker scan --file .infra/dockerfiles/Dockerfile ixo-chain:tmp + +# - name: Integration Tests (Quality) +# os: ubuntu-latest +# artifact: ixo-chain +# enabled: false +# experimental: true + +# exclude: +# - test: +# enabled: false +# steps: +# - uses: actions/checkout@v2 +# - name: Download artifact +# uses: actions/download-artifact@v2 +# with: +# name: ${{ matrix.test.artifact }} + +# - name: Load image +# run: docker load --input ${{ matrix.test.artifact }}.tar + +# - name: Run ${{matrix.test.name }} +# run: ${{ matrix.test.command }} + +# publish-release: +# name: ${{ matrix.release.name }} +# runs-on: ubuntu-latest +# outputs: +# upload-url: ${{ steps.release.outputs.upload_url}} +# needs: +# - gather-build-info +# - test-code +# - build +# - test-artifact +# strategy: +# fail-fast: false +# matrix: +# release: +# - name: Publish Release +# enabled: ${{ !needs.gather-build-info.outputs.is-prerelease }} +# config: release-config.yaml + +# - name: Publish Pre-Release +# enabled: ${{ needs.gather-build-info.outputs.is-prerelease }} +# config: prerelease-config.yaml + +# exclude: +# - release: +# enabled: false +# steps: +# - name: Create Release +# id: release +# uses: release-drafter/release-drafter@v5 +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# with: +# config-name: ${{ matrix.release.config }} +# tag: ${{ needs.gather-build-info.outputs.version }} +# publish: true +# commitish: ${{ github.sha }} + +# publish-release-artifacts: +# name: ${{ matrix.artifact.name }} +# runs-on: ubuntu-latest +# needs: +# - gather-build-info +# - build +# - publish-release +# strategy: +# matrix: +# artifact: +# - name: Publish Docker Image +# os: ubuntu-latest +# artifact: ixo-chain +# enabled: true +# type: docker +# docker: +# registry: ghcr.io +# owner: ${{ github.repository_owner }} +# image: ${{ github.event.repository.name }} +# username: ${{ github.actor }} +# # password: ${{ secrets.GITHUB_TOKEN }} +# tag: ${{ needs.gather-build-info.outputs.version }} + +# - name: Publish Linux Binary +# os: ubuntu-latest +# artifact: "ixod_linux_amd64" +# enabled: true +# type: file +# file: +# path: ixo-blockchain_linux_amd64.tar.gz +# extention: .tar.gz + +# - name: Publish Darwin Binary +# os: ubuntu-latest +# artifact: "ixod_darwin_amd64" +# enabled: true +# type: file +# file: +# path: ixo-blockchain_darwin_amd64.tar.gz +# extention: .tar.gz + +# exclude: +# - artifact: +# enabled: false + +# steps: +# - name: Login to DockerHub +# if: matrix.artifact.type == 'docker' +# uses: docker/login-action@v1 +# with: +# registry: ${{ matrix.artifact.docker.registry }} +# username: ${{ matrix.artifact.docker.username }} +# password: ${{ secrets.GITHUB_TOKEN }} + +# - name: Download artifact +# uses: actions/download-artifact@v2 +# with: +# name: ${{ matrix.artifact.artifact }} + +# - name: Upload Release Asset +# if: matrix.artifact.type == 'file' +# id: upload-release-asset +# uses: actions/upload-release-asset@v1 +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# with: +# upload_url: ${{ needs.publish-release.outputs.upload-url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps +# asset_path: ./${{ matrix.artifact.file.path }} +# asset_name: ${{ matrix.artifact.artifact }}.${{ matrix.artifact.file.extention }} +# asset_content_type: application/tar+gzip + +# - name: Publish Docker Image +# if: matrix.artifact.type == 'docker' +# env: +# image: ${{ matrix.artifact.docker.registry }}/${{ matrix.artifact.docker.owner }}/${{ matrix.artifact.docker.image }}:${{ matrix.artifact.docker.tag }} +# run: | +# docker load --input ${{ matrix.artifact.artifact }}.tar +# docker tag ${{ matrix.artifact.artifact }}:tmp ${{ env.image }} +# docker push ${{ env.image }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..200f4d2e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,31 @@ +# This workflow creates a release using goreleaser +# via the 'make release' command. + +name: Create release + +on: + workflow_dispatch: + inputs: + release_tag: + description: "The desired tag for the release (e.g. v0.1.0)." + required: true + +permissions: + contents: write + +jobs: + release: + name: Create release + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + ref: ${{ github.event.inputs.release_tag }} + - name: Make release + run: | + sudo rm -rf dist + make release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test_pull_request.yaml b/.github/workflows/test_pull_request.yaml index 3ea73b84..7f2fd665 100644 --- a/.github/workflows/test_pull_request.yaml +++ b/.github/workflows/test_pull_request.yaml @@ -1,162 +1,162 @@ -name: Review Pull Request - -on: - pull_request: - -jobs: - gather-build-info: - name: Gather Build Info - runs-on: ubuntu-latest - outputs: - is-prerelease: ${{ startsWith(steps.get_version.outputs.prerelease, 'rc') }} - version: ${{ steps.get_version.outputs.version }} - steps: - - run: echo "hi" - - test-code: - name: ${{ matrix.test.name }} - runs-on: ubuntu-latest - continue-on-error: ${{ matrix.test.experimental }} - needs: - - gather-build-info - strategy: - fail-fast: false - matrix: - test: - - name: Unit Tests (Code) - command: npm run test:code - experimental: true - artifact: "" - enabled: true - - - name: Snyk (Security) - command: npm run test:security - experimental: true - enabled: true - - - name: Lint (Quality) - command: npm run lint - experimental: true - enabled: true - - - name: Coverage (Quality) - command: npm run test:coverage - experimental: true - enabled: false - - exclude: - - test: - enabled: false - steps: - - uses: actions/checkout@v2 - - name: Install Npm Dependencies - run: npm install --ignore-scripts - - name: Run Test - run: ${{ matrix.test.command }} - - build: - name: ${{ matrix.build.name }} - runs-on: ubuntu-latest - needs: - - gather-build-info - strategy: - fail-fast: false - matrix: - build: - - name: Build docker image - os: ubuntu-latest - enabled: true - artifact: ixo-chain - docker: - file: .infra/dockerfiles/Dockerfile - target: dist-stable - post-build: - enabled: false - command: | - docker build -t $IMAGE_NAME:$VERSION -f .infra/docker . - - - name: Build debian package - os: ubuntu-latest - artifact: "ixod" - enabled: false - docker: - file: .infra/dockerfiles/Dockerfile - target: dist-stable - post-build: - enabled: false - command: | - docker build -t $IMAGE_NAME:$VERSION -f .infra/docker . - - - name: Build macos binary - command: docker build -t $IMAGE_NAME:$VERSION . - os: ubuntu-latest - artifact: "" - enabled: false - - exclude: - - build: - enabled: false - - steps: - - uses: actions/checkout@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Build and push - uses: docker/build-push-action@v2 - with: - push: false - context: . - tags: ${{ matrix.build.artifact }}:tmp - target: ${{ matrix.build.docker.target }} - file: ${{ matrix.build.docker.file }} - outputs: type=docker,dest=/tmp/${{ matrix.build.artifact }}.tar - - - run: ls -l - - if: matrix.build.post-command.enabled - run: echo "hi" - - - name: Upload artifact - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.build.artifact }} - path: /tmp/${{ matrix.build.artifact }}.tar - - test-artifact: - name: ${{ matrix.test.name }} - runs-on: ubuntu-latest - continue-on-error: ${{ matrix.test.experimental }} - needs: - - build - strategy: - matrix: - test: - - name: Scan Docker image (Security) - os: ubuntu-latest - artifact: ixo-chain - enabled: true - experimental: true - command: docker scan --file .infra/dockerfiles/Dockerfile ixo-chain:tmp - - - name: Integration Tests (Quality) - os: ubuntu-latest - artifact: ixo-chain - enabled: false - experimental: true - - exclude: - - test: - enabled: false - steps: - - uses: actions/checkout@v2 - - name: Download artifact - uses: actions/download-artifact@v2 - with: - name: ${{ matrix.test.artifact }} - - - name: Load image - run: docker load --input ${{ matrix.test.artifact }}.tar - - - name: Run ${{matrix.test.name }} - run: ${{ matrix.test.command }} \ No newline at end of file +# name: Review Pull Request + +# on: +# pull_request: + +# jobs: +# gather-build-info: +# name: Gather Build Info +# runs-on: ubuntu-latest +# outputs: +# is-prerelease: ${{ startsWith(steps.get_version.outputs.prerelease, 'rc') }} +# version: ${{ steps.get_version.outputs.version }} +# steps: +# - run: echo "hi" + +# test-code: +# name: ${{ matrix.test.name }} +# runs-on: ubuntu-latest +# continue-on-error: ${{ matrix.test.experimental }} +# needs: +# - gather-build-info +# strategy: +# fail-fast: false +# matrix: +# test: +# - name: Unit Tests (Code) +# command: npm run test:code +# experimental: true +# artifact: "" +# enabled: true + +# - name: Snyk (Security) +# command: npm run test:security +# experimental: true +# enabled: true + +# - name: Lint (Quality) +# command: npm run lint +# experimental: true +# enabled: true + +# - name: Coverage (Quality) +# command: npm run test:coverage +# experimental: true +# enabled: false + +# exclude: +# - test: +# enabled: false +# steps: +# - uses: actions/checkout@v2 +# - name: Install Npm Dependencies +# run: npm install --ignore-scripts +# - name: Run Test +# run: ${{ matrix.test.command }} + +# build: +# name: ${{ matrix.build.name }} +# runs-on: ubuntu-latest +# needs: +# - gather-build-info +# strategy: +# fail-fast: false +# matrix: +# build: +# - name: Build docker image +# os: ubuntu-latest +# enabled: true +# artifact: ixo-chain +# docker: +# file: .infra/dockerfiles/Dockerfile +# target: dist-stable +# post-build: +# enabled: false +# command: | +# docker build -t $IMAGE_NAME:$VERSION -f .infra/docker . + +# - name: Build debian package +# os: ubuntu-latest +# artifact: "ixod" +# enabled: false +# docker: +# file: .infra/dockerfiles/Dockerfile +# target: dist-stable +# post-build: +# enabled: false +# command: | +# docker build -t $IMAGE_NAME:$VERSION -f .infra/docker . + +# - name: Build macos binary +# command: docker build -t $IMAGE_NAME:$VERSION . +# os: ubuntu-latest +# artifact: "" +# enabled: false + +# exclude: +# - build: +# enabled: false + +# steps: +# - uses: actions/checkout@v2 + +# - name: Set up Docker Buildx +# uses: docker/setup-buildx-action@v1 + +# - name: Build and push +# uses: docker/build-push-action@v2 +# with: +# push: false +# context: . +# tags: ${{ matrix.build.artifact }}:tmp +# target: ${{ matrix.build.docker.target }} +# file: ${{ matrix.build.docker.file }} +# outputs: type=docker,dest=/tmp/${{ matrix.build.artifact }}.tar + +# - run: ls -l +# - if: matrix.build.post-command.enabled +# run: echo "hi" + +# - name: Upload artifact +# uses: actions/upload-artifact@v2 +# with: +# name: ${{ matrix.build.artifact }} +# path: /tmp/${{ matrix.build.artifact }}.tar + +# test-artifact: +# name: ${{ matrix.test.name }} +# runs-on: ubuntu-latest +# continue-on-error: ${{ matrix.test.experimental }} +# needs: +# - build +# strategy: +# matrix: +# test: +# - name: Scan Docker image (Security) +# os: ubuntu-latest +# artifact: ixo-chain +# enabled: true +# experimental: true +# command: docker scan --file .infra/dockerfiles/Dockerfile ixo-chain:tmp + +# - name: Integration Tests (Quality) +# os: ubuntu-latest +# artifact: ixo-chain +# enabled: false +# experimental: true + +# exclude: +# - test: +# enabled: false +# steps: +# - uses: actions/checkout@v2 +# - name: Download artifact +# uses: actions/download-artifact@v2 +# with: +# name: ${{ matrix.test.artifact }} + +# - name: Load image +# run: docker load --input ${{ matrix.test.artifact }}.tar + +# - name: Run ${{matrix.test.name }} +# run: ${{ matrix.test.command }} diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..b9f19041 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,59 @@ +run: + tests: false + timeout: 5m # timeout for analysis, e.g. 30s, 5m, default is 1m + +linters: + disable-all: true + # Enable specific linter + # https://golangci-lint.run/usage/linters/#enabled-by-default-linters + enable: + - asciicheck + - bidichk + - depguard + - durationcheck + - errcheck + - errname + - exportloopref + - forcetypeassert + - goconst + - gofmt + - goimports + - goheader + - gomodguard + - goprintffuncname + - gosimple + - govet + - importas + - ineffassign + - makezero + - misspell + - nakedret + - nilnil + - promlinter + - staticcheck + - stylecheck + - tenv + - thelper + - tparallel + - typecheck + - thelper + - unconvert + - unused + - whitespace + +issues: + exclude-rules: + - linters: + - staticcheck + text: "SA1024: cutset contains duplicate characters" # proved to not provide much value, only false positives. + - linters: + - staticcheck + text: "SA9004: only the first constant in this group has an explicit type" # explicitly recommended in go syntax + - linters: + - stylecheck + text: "ST1003:" # requires identifiers with "id" to be "ID". + - linters: + - stylecheck + text: "ST1005:" # punctuation in error messages + max-issues-per-linter: 0 + max-same-issues: 0 diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 00000000..49bc7017 --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,207 @@ +project_name: ixod + +env: + - CGO_ENABLED=1 + +builds: + - id: ixod-darwin-amd64 + main: ./cmd/ixod/main.go + binary: ixod + hooks: + pre: + - wget https://github.com/CosmWasm/wasmvm/releases/download/{{ .Env.COSMWASM_VERSION }}/libwasmvmstatic_darwin.a -O /lib/libwasmvmstatic_darwin.a + env: + - CC=o64-clang + - CGO_LDFLAGS=-L/lib + goos: + - darwin + goarch: + - amd64 + flags: + - -mod=readonly + - -trimpath + ldflags: + - -X github.com/cosmos/cosmos-sdk/version.Name=ixo + - -X github.com/cosmos/cosmos-sdk/version.AppName=ixod + - -X github.com/cosmos/cosmos-sdk/version.Version={{ .Version }} + - -X github.com/cosmos/cosmos-sdk/version.Commit={{ .Commit }} + - -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,ledger,static_wasm + - -w -s + - -linkmode=external + tags: + - netgo + - ledger + - static_wasm + + - id: ixod-darwin-arm64 + main: ./cmd/ixod/main.go + binary: ixod + hooks: + pre: + - wget https://github.com/CosmWasm/wasmvm/releases/download/{{ .Env.COSMWASM_VERSION }}/libwasmvmstatic_darwin.a -O /lib/libwasmvmstatic_darwin.a + env: + - CC=oa64-clang + - CGO_LDFLAGS=-L/lib + goos: + - darwin + goarch: + - arm64 + flags: + - -mod=readonly + - -trimpath + ldflags: + - -X github.com/cosmos/cosmos-sdk/version.Name=ixo + - -X github.com/cosmos/cosmos-sdk/version.AppName=ixod + - -X github.com/cosmos/cosmos-sdk/version.Version={{ .Version }} + - -X github.com/cosmos/cosmos-sdk/version.Commit={{ .Commit }} + - -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,ledger,static_wasm + - -w -s + - -linkmode=external + tags: + - netgo + - ledger + - static_wasm + + - id: ixod-linux-amd64 + main: ./cmd/ixod + binary: ixod + hooks: + pre: + - wget https://github.com/CosmWasm/wasmvm/releases/download/{{ .Env.COSMWASM_VERSION }}/libwasmvm_muslc.x86_64.a -O /usr/lib/x86_64-linux-gnu/libwasmvm_muslc.a + goos: + - linux + goarch: + - amd64 + env: + - CC=x86_64-linux-gnu-gcc + flags: + - -mod=readonly + - -trimpath + ldflags: + - -X github.com/cosmos/cosmos-sdk/version.Name=ixo + - -X github.com/cosmos/cosmos-sdk/version.AppName=ixod + - -X github.com/cosmos/cosmos-sdk/version.Version={{ .Version }} + - -X github.com/cosmos/cosmos-sdk/version.Commit={{ .Commit }} + - -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,ledger,muslc,osusergo + - -w -s + - -linkmode=external + - -extldflags '-Wl,-z,muldefs -static -lm' + tags: + - netgo + - ledger + - muslc + - osusergo + + - id: ixod-linux-arm64 + main: ./cmd/ixod + binary: ixod + hooks: + pre: + - wget https://github.com/CosmWasm/wasmvm/releases/download/{{ .Env.COSMWASM_VERSION }}/libwasmvm_muslc.aarch64.a -O /usr/lib/aarch64-linux-gnu/libwasmvm_muslc.a + goos: + - linux + goarch: + - arm64 + env: + - CC=aarch64-linux-gnu-gcc + flags: + - -mod=readonly + - -trimpath + ldflags: + - -X github.com/cosmos/cosmos-sdk/version.Name=ixo + - -X github.com/cosmos/cosmos-sdk/version.AppName=ixod + - -X github.com/cosmos/cosmos-sdk/version.Version={{ .Version }} + - -X github.com/cosmos/cosmos-sdk/version.Commit={{ .Commit }} + - -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,ledger,muslc,osusergo + - -w -s + - -linkmode=external + - -extldflags '-Wl,-z,muldefs -static -lm' + tags: + - netgo + - ledger + - muslc + - osusergo + +universal_binaries: + - id: ixod-darwin-universal + ids: + - ixod-darwin-amd64 + - ixod-darwin-arm64 + replace: false + +archives: + - id: zipped + builds: + - ixod-darwin-universal + - ixod-linux-amd64 + - ixod-linux-arm64 + - ixod-darwin-amd64 + - ixod-darwin-arm64 + name_template: "{{.ProjectName}}-{{ .Version }}-{{ .Os }}-{{ .Arch }}" + format: tar.gz + files: + - none* + - id: binaries + builds: + - ixod-darwin-universal + - ixod-linux-amd64 + - ixod-linux-arm64 + - ixod-darwin-amd64 + - ixod-darwin-arm64 + name_template: "{{.ProjectName}}-{{ .Version }}-{{ .Os }}-{{ .Arch }}" + format: binary + files: + - none* + +checksum: + name_template: "sha256sum.txt" + algorithm: sha256 + +# Docs: https://goreleaser.com/customization/changelog/ +changelog: + skip: true + +# Docs: https://goreleaser.com/customization/release/ +release: + github: + owner: ixofoundation + name: ixo-blockchain + replace_existing_draft: true + header: | + < DESCRIPTION OF RELEASE > + + ## Changelog + + See the full changelog [here](https://github.com/ixofoundation/ixo-blockchain/blob/v{{ .Version }}/CHANGELOG.md) + + ## ⚡️ Binaries + + Binaries for Linux and Darwin (amd64 and arm64) are available below. + Darwin users can also use the same universal binary `ixod-{{ .Version }}-darwin-all` for both amd64 and arm64. + + #### 🔨 Build from source + + If you prefer to build from source, you can use the following commands: + + ````bash + git clone https://github.com/ixofoundation/ixo-blockchain + cd ixo-blockchain && git checkout v{{ .Version }} + make install + ```` + + name_template: "Ixo v{{.Version}} 🚀" + mode: replace + draft: true +# Docs: https://goreleaser.com/customization/announce/ +# We could automatically announce the release in +# - discord +# - slack +# - twitter +# - webhooks +# - telegram +# - reddit +# +# announce: +# discord: +# enabled: true +# message_template: 'New {{.Tag}} is out!' diff --git a/.infra/dockerfiles/Dockerfile b/.infra/dockerfiles/Dockerfile index 03fb43de..29b951d5 100644 --- a/.infra/dockerfiles/Dockerfile +++ b/.infra/dockerfiles/Dockerfile @@ -56,7 +56,6 @@ ENTRYPOINT ["ixod", "start"] FROM --platform=linux/amd64 ubuntu:latest as distributable COPY --from=build-binary /go/bin/ixod /app/ixod -COPY --from=build-binary /go/pkg/mod/github.com/!cosm!wasm/wasmvm@v1.1.1/internal/api/ /go/pkg/mod/github.com/!cosm!wasm/wasmvm@v1.1.1/internal/api/ COPY ./.infra/dockerfiles/setups/setup-devnet.sh /root/setup-devnet.sh ENV HOME=/root/ diff --git a/Dockerfile b/Dockerfile index 43347db1..0dd44050 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,6 @@ FROM ubuntu:20.04 as run # FROM gcr.io/distroless/base-debian11 as run COPY --from=build /app/build/ixod /bin/ixod -COPY --from=build /go/pkg/mod/github.com/!cosm!wasm/wasmvm@v1.1.1/internal/api/ /go/pkg/mod/github.com/!cosm!wasm/wasmvm@v1.1.1/internal/api/ COPY --from=build /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib/x86_64-linux-gnu/libgcc_s.so.1 ENV HOME /ixo diff --git a/Makefile b/Makefile index ec64cb82..0a519692 100644 --- a/Makefile +++ b/Makefile @@ -2,23 +2,50 @@ VERSION := $(shell echo $(shell git describe --tags) | sed 's/^v//') COMMIT := $(shell git log -1 --format='%H') +LEDGER_ENABLED ?= yes SDK_PACK := $(shell go list -m github.com/cosmos/cosmos-sdk | sed 's/ /\@/g') TM_VERSION := $(shell go list -m github.com/tendermint/tendermint | sed 's:.* ::') # grab everything after the space in "github.com/tendermint/tendermint v0.34.7" DOCKER := $(shell which docker) DOCKER_BUF := $(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace bufbuild/buf HTTPS_GIT := https://github.com/ixofoundation/ixo-blockchain.git +GO_VERSION := $(shell cat go.mod | grep -E 'go [0-9].[0-9]+' | cut -d ' ' -f 2) +GO_MODULE := $(shell cat go.mod | grep "module " | cut -d ' ' -f 2) +GO_MAJOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1) +GO_MINOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2) + export GO111MODULE = on export COSMOS_SDK_TEST_KEYRING = n -# process build tags +############################################################################### +### Build Tags/Flags ### +############################################################################### -build_tags = +build_tags = netgo ifeq ($(WITH_CLEVELDB),yes) build_tags += gcc endif ifeq ($(LEDGER_ENABLED),yes) - build_tags += ledger + ifeq ($(OS),Windows_NT) + GCCEXE = $(shell where gcc.exe 2> NUL) + ifeq ($(GCCEXE),) + $(error gcc.exe not installed for ledger support, please install or set LEDGER_ENABLED=false) + else + build_tags += ledger + endif + else + UNAME_S = $(shell uname -s) + ifeq ($(UNAME_S),OpenBSD) + $(warning OpenBSD detected, disabling ledger support (https://github.com/cosmos/cosmos-sdk/issues/1988)) + else + GCC = $(shell command -v gcc 2> /dev/null) + ifeq ($(GCC),) + $(error gcc not installed for ledger support, please install or set LEDGER_ENABLED=false) + else + build_tags += ledger + endif + endif + endif endif build_tags += $(BUILD_TAGS) @@ -47,20 +74,44 @@ ldflags := $(strip $(ldflags)) BUILD_FLAGS := -tags "$(build_tags)" -ldflags '$(ldflags)' +############################################################################### +### Go Version ### +############################################################################### + +GO_MAJOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1) +GO_MINOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2) +MIN_GO_MAJOR_VERSION = 1 +MIN_GO_MINOR_VERSION = 19 +GO_VERSION_ERR_MSG = ❌ ERROR: Golang version $(MIN_GO_MAJOR_VERSION).$(MIN_GO_MINOR_VERSION)+ is required + +check-go-version: + @echo "Verifying go version..." + @if [ $(GO_MAJOR_VERSION) -gt $(MIN_GO_MAJOR_VERSION) ]; then \ + exit 0; \ + elif [ $(GO_MAJOR_VERSION) -lt $(MIN_GO_MAJOR_VERSION) ]; then \ + echo $(GO_VERSION_ERR_MSG); \ + exit 1; \ + elif [ $(GO_MINOR_VERSION) -lt $(MIN_GO_MINOR_VERSION) ]; then \ + echo $(GO_VERSION_ERR_MSG); \ + exit 1; \ + fi + +.PHONY: check-go-version + ############################################################################### ### Build / Install ### ############################################################################### -all: lint install +all: check-go-version lint install -build: go.sum +build: check-go-version go.sum ifeq ($(OS),Windows_NT) go build -mod=readonly $(BUILD_FLAGS) -o build/ixod.exe ./cmd/ixod else go build -mod=readonly $(BUILD_FLAGS) -o build/ixod ./cmd/ixod endif -install: go.sum +install: check-go-version go.sum go install -mod=readonly $(BUILD_FLAGS) ./cmd/ixod ############################################################################### @@ -141,3 +192,55 @@ proto-docs: @echo "Generating Protobuf docs" docker rm $(containerProtoGen) || true docker run --name $(containerProtoGen) -v $(CURDIR):/workspace --workdir /workspace $(containerProtoImage) sh ./scripts/protoc-docs-gen.sh + +############################################################################### +### Release ### +############################################################################### + +GORELEASER_IMAGE := ghcr.io/goreleaser/goreleaser-cross:v$(GO_VERSION) +COSMWASM_VERSION := $(shell go list -m github.com/CosmWasm/wasmvm | sed 's/.* //') + +ifdef GITHUB_TOKEN +release: + docker run \ + --rm \ + -e GITHUB_TOKEN=$(GITHUB_TOKEN) \ + -e COSMWASM_VERSION=$(COSMWASM_VERSION) \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v `pwd`:/go/src/ixod \ + -w /go/src/ixod \ + $(GORELEASER_IMAGE) \ + release \ + --clean +else +release: + @echo "Error: GITHUB_TOKEN is not defined. Please define it before running 'make release'." +endif + +release-dry-run: + docker run \ + --rm \ + -e COSMWASM_VERSION=$(COSMWASM_VERSION) \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v `pwd`:/go/src/ixod \ + -w /go/src/ixod \ + $(GORELEASER_IMAGE) \ + release \ + --clean \ + --skip-publish + +release-snapshot: + docker run \ + --rm \ + -e COSMWASM_VERSION=$(COSMWASM_VERSION) \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v `pwd`:/go/src/ixod \ + -w /go/src/ixod \ + $(GORELEASER_IMAGE) \ + release \ + --clean \ + --snapshot \ + --skip-validate \ + --skip-publish + +.PHONY: release release-dry-run release-snapshot diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..2e6e86e9 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,4 @@ +If there is any security issue with this repository, please contact the following email address(es): + +- alwyn.vanwyk@ixo.world +- michael@ixo.world diff --git a/SUPPORT.md b/SUPPORT.md deleted file mode 100644 index e69de29b..00000000 diff --git a/app/ante.go b/app/ante.go index ffc41d08..4aef41e8 100644 --- a/app/ante.go +++ b/app/ante.go @@ -5,11 +5,7 @@ import ( wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - txsigning "github.com/cosmos/cosmos-sdk/types/tx/signing" authante "github.com/cosmos/cosmos-sdk/x/auth/ante" - authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" ibcante "github.com/cosmos/ibc-go/v4/modules/core/ante" ibckeeper "github.com/cosmos/ibc-go/v4/modules/core/keeper" entityante "github.com/ixofoundation/ixo-blockchain/x/entity/ante" @@ -20,16 +16,13 @@ import ( // HandlerOptions are the options required for constructing a default SDK AnteHandler. type HandlerOptions struct { - AccountKeeper authante.AccountKeeper - BankKeeper bankkeeper.Keeper - FeegrantKeeper authante.FeegrantKeeper + authante.HandlerOptions + IidKeeper iidkeeper.Keeper EntityKeeper entitykeeper.Keeper - wasmConfig *wasmtypes.WasmConfig + WasmConfig wasmtypes.WasmConfig IBCKeeper *ibckeeper.Keeper - txCounterStoreKey sdk.StoreKey - SignModeHandler authsigning.SignModeHandler - SigGasConsumer func(meter sdk.GasMeter, sig txsigning.SignatureV2, params authtypes.Params) error + TxCounterStoreKey sdk.StoreKey } // IxoAnteHandler returns an AnteHandler that checks and increments sequence @@ -37,16 +30,17 @@ type HandlerOptions struct { // signer. func IxoAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) { if options.AccountKeeper == nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "account keeper is required for ante builder") + return nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "account keeper is required for AnteHandler") } - if options.BankKeeper == nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "bank keeper is required for ante builder") + return nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "bank keeper is required for AnteHandler") } - if options.SignModeHandler == nil { return nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "sign mode handler is required for ante builder") } + if options.TxCounterStoreKey == nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "tx counter key is required for ante builder") + } var sigGasConsumer = options.SigGasConsumer if sigGasConsumer == nil { @@ -57,8 +51,8 @@ func IxoAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) { // outermost AnteDecorator. SetUpContext must be called first authante.NewSetUpContextDecorator(), // wasm ante handlers after setup context to enforce limits early - wasmkeeper.NewLimitSimulationGasDecorator(options.wasmConfig.SimulationGasLimit), - wasmkeeper.NewCountTXDecorator(options.txCounterStoreKey), + wasmkeeper.NewLimitSimulationGasDecorator(options.WasmConfig.SimulationGasLimit), + wasmkeeper.NewCountTXDecorator(options.TxCounterStoreKey), authante.NewRejectExtensionOptionsDecorator(), authante.NewMempoolFeeDecorator(), authante.NewValidateBasicDecorator(), @@ -80,3 +74,12 @@ func IxoAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) { return sdk.ChainAnteDecorators(anteDecorators...), nil } + +// NewIxoAnteHandler returns a new sdk.AnteHandler or panics if fail to create. +func NewIxoAnteHandler(options HandlerOptions) sdk.AnteHandler { + ixoAnteHandler, err := IxoAnteHandler(options) + if err != nil { + panic(err) + } + return ixoAnteHandler +} diff --git a/app/app.go b/app/app.go index b309d013..f9c58a88 100644 --- a/app/app.go +++ b/app/app.go @@ -5,11 +5,9 @@ import ( "io" "net/http" "os" - "path/filepath" "strings" "github.com/CosmWasm/wasmd/x/wasm" - wasmclient "github.com/CosmWasm/wasmd/x/wasm/client" wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" @@ -25,225 +23,63 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/cosmos-sdk/x/auth" + "github.com/cosmos/cosmos-sdk/x/auth/ante" authrest "github.com/cosmos/cosmos-sdk/x/auth/client/rest" - authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" - authsims "github.com/cosmos/cosmos-sdk/x/auth/simulation" authtx "github.com/cosmos/cosmos-sdk/x/auth/tx" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/cosmos/cosmos-sdk/x/auth/vesting" - vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" - "github.com/cosmos/cosmos-sdk/x/authz" - authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" - authzmodule "github.com/cosmos/cosmos-sdk/x/authz/module" - "github.com/cosmos/cosmos-sdk/x/bank" - bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" - banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/cosmos-sdk/x/capability" - capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" "github.com/cosmos/cosmos-sdk/x/crisis" - crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper" - crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" - distr "github.com/cosmos/cosmos-sdk/x/distribution" - distrclient "github.com/cosmos/cosmos-sdk/x/distribution/client" - distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" - distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/cosmos/cosmos-sdk/x/evidence" - evidencekeeper "github.com/cosmos/cosmos-sdk/x/evidence/keeper" - evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" - "github.com/cosmos/cosmos-sdk/x/feegrant" - feegrantkeeper "github.com/cosmos/cosmos-sdk/x/feegrant/keeper" - feegrantmodule "github.com/cosmos/cosmos-sdk/x/feegrant/module" - "github.com/cosmos/cosmos-sdk/x/genutil" - genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" - "github.com/cosmos/cosmos-sdk/x/gov" - govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/cosmos/cosmos-sdk/x/mint" - mintkeeper "github.com/cosmos/cosmos-sdk/x/mint/keeper" - minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - sdkparams "github.com/cosmos/cosmos-sdk/x/params" - paramsclient "github.com/cosmos/cosmos-sdk/x/params/client" - paramskeeper "github.com/cosmos/cosmos-sdk/x/params/keeper" - paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" - paramproposal "github.com/cosmos/cosmos-sdk/x/params/types/proposal" - "github.com/cosmos/cosmos-sdk/x/slashing" - slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper" - slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" - "github.com/cosmos/cosmos-sdk/x/staking" - stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/cosmos-sdk/x/upgrade" - upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" - upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - ica "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts" - icacontroller "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller" - icacontrollerkeeper "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/keeper" - icacontrollertypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types" - icahost "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host" - icahostkeeper "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/keeper" - icahosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types" - icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types" - ibcfee "github.com/cosmos/ibc-go/v4/modules/apps/29-fee" - ibcfeekeeper "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/keeper" - ibcfeetypes "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types" - "github.com/cosmos/ibc-go/v4/modules/apps/transfer" - ibctransferkeeper "github.com/cosmos/ibc-go/v4/modules/apps/transfer/keeper" - ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" - ibc "github.com/cosmos/ibc-go/v4/modules/core" - ibcclient "github.com/cosmos/ibc-go/v4/modules/core/02-client" - ibcclientclient "github.com/cosmos/ibc-go/v4/modules/core/02-client/client" - ibcclienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types" - porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types" - ibchost "github.com/cosmos/ibc-go/v4/modules/core/24-host" - ibckeeper "github.com/cosmos/ibc-go/v4/modules/core/keeper" - - intertx "github.com/cosmos/interchain-accounts/x/inter-tx" - intertxkeeper "github.com/cosmos/interchain-accounts/x/inter-tx/keeper" - intertxtypes "github.com/cosmos/interchain-accounts/x/inter-tx/types" "github.com/gorilla/mux" - "github.com/ixofoundation/ixo-blockchain/app/params" + "github.com/ixofoundation/ixo-blockchain/app/keepers" + "github.com/ixofoundation/ixo-blockchain/app/upgrades" + v2 "github.com/ixofoundation/ixo-blockchain/app/upgrades/v2" "github.com/ixofoundation/ixo-blockchain/lib/ixo" - "github.com/ixofoundation/ixo-blockchain/x/bonds" - bondskeeper "github.com/ixofoundation/ixo-blockchain/x/bonds/keeper" - bondstypes "github.com/ixofoundation/ixo-blockchain/x/bonds/types" - - entitymodule "github.com/ixofoundation/ixo-blockchain/x/entity" - entityclient "github.com/ixofoundation/ixo-blockchain/x/entity/client" - entitykeeper "github.com/ixofoundation/ixo-blockchain/x/entity/keeper" - entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" - - tokenmodule "github.com/ixofoundation/ixo-blockchain/x/token" - tokenclient "github.com/ixofoundation/ixo-blockchain/x/token/client" - tokenkeeper "github.com/ixofoundation/ixo-blockchain/x/token/keeper" - tokentypes "github.com/ixofoundation/ixo-blockchain/x/token/types" - - claimsmodule "github.com/ixofoundation/ixo-blockchain/x/claims" - claimsmodulekeeper "github.com/ixofoundation/ixo-blockchain/x/claims/keeper" - claimsmoduletypes "github.com/ixofoundation/ixo-blockchain/x/claims/types" - - iidmodule "github.com/ixofoundation/ixo-blockchain/x/iid" - iidmodulekeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" - "github.com/rakyll/statik/fs" "github.com/spf13/cast" abci "github.com/tendermint/tendermint/abci/types" tmjson "github.com/tendermint/tendermint/libs/json" "github.com/tendermint/tendermint/libs/log" tmos "github.com/tendermint/tendermint/libs/os" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" dbm "github.com/tendermint/tm-db" ) const ( - appName = "IxoApp" - Bech32MainPrefix = "ixo" - Bech32PrefixAccAddr = Bech32MainPrefix - Bech32PrefixAccPub = Bech32MainPrefix + sdk.PrefixPublic - Bech32PrefixValAddr = Bech32MainPrefix + sdk.PrefixValidator + sdk.PrefixOperator - Bech32PrefixValPub = Bech32MainPrefix + sdk.PrefixValidator + sdk.PrefixOperator + sdk.PrefixPublic - Bech32PrefixConsAddr = Bech32MainPrefix + sdk.PrefixValidator + sdk.PrefixConsensus - Bech32PrefixConsPub = Bech32MainPrefix + sdk.PrefixValidator + sdk.PrefixConsensus + sdk.PrefixPublic + appName = "IxoApp" ) var ( // DefaultNodeHome default home directories for the application daemon DefaultNodeHome = os.ExpandEnv("$HOME/.ixod") - // ModuleBasics defines the module BasicManager which is in charge of setting up basic, - // non-dependant module elements, such as codec registration - // and genesis verification. - ModuleBasics = module.NewBasicManager( - // Standard Cosmos modules - auth.AppModuleBasic{}, - genutil.AppModuleBasic{}, - authzmodule.AppModuleBasic{}, - bank.AppModuleBasic{}, - capability.AppModuleBasic{}, - staking.AppModuleBasic{}, - mint.AppModuleBasic{}, - distr.AppModuleBasic{}, - sdkparams.AppModuleBasic{}, - crisis.AppModuleBasic{}, - slashing.AppModuleBasic{}, - ibc.AppModuleBasic{}, - upgrade.AppModuleBasic{}, - evidence.AppModuleBasic{}, - transfer.AppModuleBasic{}, - vesting.AppModuleBasic{}, - feegrantmodule.AppModuleBasic{}, - gov.NewAppModuleBasic( - append( - wasmclient.ProposalHandlers, - paramsclient.ProposalHandler, - distrclient.ProposalHandler, - upgradeclient.ProposalHandler, - upgradeclient.CancelProposalHandler, - entityclient.ProposalHandler, - tokenclient.ProposalHandler, - ibcclientclient.UpdateClientProposalHandler, - ibcclientclient.UpgradeProposalHandler, - )..., - ), - wasm.AppModuleBasic{}, - ica.AppModuleBasic{}, - intertx.AppModuleBasic{}, - ibcfee.AppModuleBasic{}, - - // Custom ixo modules - iidmodule.AppModuleBasic{}, - bonds.AppModuleBasic{}, - entitymodule.AppModuleBasic{}, - tokenmodule.AppModuleBasic{}, - claimsmodule.AppModuleBasic{}, - ) - - // Module account permissions - maccPerms = map[string][]string{ - // Standard Cosmos module accounts - authtypes.FeeCollectorName: nil, - distrtypes.ModuleName: nil, - minttypes.ModuleName: {authtypes.Minter}, - stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking}, - stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, - govtypes.ModuleName: {authtypes.Burner}, - ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner}, - ibcfeetypes.ModuleName: nil, - icatypes.ModuleName: nil, - wasm.ModuleName: {authtypes.Burner}, - - // Custom ixo module accounts - bondstypes.BondsMintBurnAccount: {authtypes.Minter, authtypes.Burner}, - bondstypes.BatchesIntermediaryAccount: nil, - bondstypes.BondsReserveAccount: nil, - } - - // Module accounts that are allowed to receive tokens - allowedReceivingModAcc = map[string]bool{ - distrtypes.ModuleName: true, - } -) + // scheduled upgrades and forks + Upgrades = []upgrades.Upgrade{v2.Upgrade} + Forks = []upgrades.Fork{} -var ( - // If EnabledSpecificProposals is "", and this is "true", then enable all x/wasm proposals. - // If EnabledSpecificProposals is "", and this is not "true", then disable all x/wasm proposals. - ProposalsEnabled = "false" - // If set to non-empty string it must be comma-separated list of values that are all a subset - // of "EnableAllProposals" (takes precedence over ProposalsEnabled) + // If EnableSpecificWasmProposals is "", and this is "true", then enable all x/wasm proposals. + // If EnableSpecificWasmProposals is "", and this is not "true", then disable all x/wasm proposals. + WasmProposalsEnabled = "true" + // EnableSpecificWasmProposals, if set to non-empty string it must be comma-separated list of values that are all a subset + // of "EnableAllProposals" (takes precedence over WasmProposalsEnabled) // https://github.com/CosmWasm/wasmd/blob/02a54d33ff2c064f3539ae12d75d027d9c665f05/x/wasm/internal/types/proposal.go#L28-L34 - EnableSpecificProposals = "" + EnableSpecificWasmProposals = "" + + // Verify app interface at compile time + _ simapp.App = (*IxoApp)(nil) + _ servertypes.Application = (*IxoApp)(nil) ) -func GetEnabledProposals() []wasm.ProposalType { - if EnableSpecificProposals == "" { - if ProposalsEnabled == "true" { +// GetWasmEnabledProposals parses the WasmProposalsEnabled and +// EnableSpecificWasmProposals values to produce a list of enabled proposals to +// pass into the application. +func GetWasmEnabledProposals() []wasm.ProposalType { + if EnableSpecificWasmProposals == "" { + if WasmProposalsEnabled == "true" { return wasm.EnableAllProposals } + return wasm.DisableAllProposals } - chunks := strings.Split(EnableSpecificProposals, ",") + chunks := strings.Split(EnableSpecificWasmProposals, ",") proposals, err := wasm.ConvertToProposals(chunks) if err != nil { panic(err) @@ -251,66 +87,20 @@ func GetEnabledProposals() []wasm.ProposalType { return proposals } -// Verify app interface at compile time -var _ simapp.App = (*IxoApp)(nil) -var _ servertypes.Application = (*IxoApp)(nil) - // Extended ABCI application type IxoApp struct { *baseapp.BaseApp + keepers.AppKeepers + legacyAmino *codec.LegacyAmino appCodec codec.Codec interfaceRegistry types.InterfaceRegistry invCheckPeriod uint - // keys to access the substores - keys map[string]*sdk.KVStoreKey - tkeys map[string]*sdk.TransientStoreKey - memKeys map[string]*sdk.MemoryStoreKey - - // keepers - AuthzKeeper authzkeeper.Keeper - AccountKeeper authkeeper.AccountKeeper - BankKeeper bankkeeper.Keeper - CapabilityKeeper *capabilitykeeper.Keeper - StakingKeeper stakingkeeper.Keeper - SlashingKeeper slashingkeeper.Keeper - MintKeeper mintkeeper.Keeper - DistrKeeper distrkeeper.Keeper - GovKeeper govkeeper.Keeper - CrisisKeeper crisiskeeper.Keeper - UpgradeKeeper upgradekeeper.Keeper - ParamsKeeper paramskeeper.Keeper - IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly - IBCFeeKeeper ibcfeekeeper.Keeper - ICAControllerKeeper icacontrollerkeeper.Keeper - ICAHostKeeper icahostkeeper.Keeper - InterTxKeeper intertxkeeper.Keeper - EvidenceKeeper evidencekeeper.Keeper - TransferKeeper ibctransferkeeper.Keeper - FeeGrantKeeper feegrantkeeper.Keeper - WasmKeeper wasm.Keeper - - // make scoped keepers public for test purposes - ScopedIBCKeeper capabilitykeeper.ScopedKeeper - ScopedICAHostKeeper capabilitykeeper.ScopedKeeper - ScopedICAControllerKeeper capabilitykeeper.ScopedKeeper - ScopedInterTxKeeper capabilitykeeper.ScopedKeeper - ScopedTransferKeeper capabilitykeeper.ScopedKeeper - ScopedWasmKeeper capabilitykeeper.ScopedKeeper - ScopedIBCFeeKeeper capabilitykeeper.ScopedKeeper - - // Custom ixo keepers - - IidKeeper iidmodulekeeper.Keeper - EntityKeeper entitykeeper.Keeper - TokenKeeper tokenkeeper.Keeper - BondsKeeper bondskeeper.Keeper - ClaimsKeeper claimsmodulekeeper.Keeper - - // the module manager - mm *module.Manager + // the module manager and configurator + mm *module.Manager + configurator module.Configurator // simulation manager sm *module.SimulationManager @@ -319,371 +109,112 @@ type IxoApp struct { // NewIxoApp returns a reference to an initialized IxoApp. func NewIxoApp( logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, skipUpgradeHeights map[int64]bool, - homePath string, invCheckPeriod uint, encodingConfig params.EncodingConfig, enabledProposals []wasm.ProposalType, - appOpts servertypes.AppOptions, wasmOpts []wasm.Option, baseAppOptions ...func(*baseapp.BaseApp), + homePath string, invCheckPeriod uint, appOpts servertypes.AppOptions, wasmOpts []wasm.Option, + baseAppOptions ...func(*baseapp.BaseApp), ) *IxoApp { - - appCodec := encodingConfig.Marshaler - legacyAmino := encodingConfig.Amino + encodingConfig := GetEncodingConfig() + appCodec, legacyAmino := encodingConfig.Marshaler, encodingConfig.Amino interfaceRegistry := encodingConfig.InterfaceRegistry + wasmEnabledProposals := GetWasmEnabledProposals() bApp := baseapp.NewBaseApp(appName, logger, db, encodingConfig.TxConfig.TxDecoder(), baseAppOptions...) bApp.SetCommitMultiStoreTracer(traceStore) bApp.SetVersion(version.Version) bApp.SetInterfaceRegistry(interfaceRegistry) - keys := sdk.NewKVStoreKeys( - // Standard Cosmos store keys - authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey, - minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey, - govtypes.StoreKey, paramstypes.StoreKey, ibchost.StoreKey, upgradetypes.StoreKey, - evidencetypes.StoreKey, ibctransfertypes.StoreKey, capabilitytypes.StoreKey, - authzkeeper.StoreKey, feegrant.StoreKey, - wasm.StoreKey, - icahosttypes.StoreKey, - icacontrollertypes.StoreKey, - intertxtypes.StoreKey, - ibcfeetypes.StoreKey, - // Custom ixo store keys - iidtypes.StoreKey, - bondstypes.StoreKey, - entitytypes.StoreKey, - tokentypes.StoreKey, - claimsmoduletypes.StoreKey, - ) - tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey) - memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) - app := &IxoApp{ + AppKeepers: keepers.AppKeepers{}, BaseApp: bApp, legacyAmino: legacyAmino, appCodec: appCodec, interfaceRegistry: interfaceRegistry, invCheckPeriod: invCheckPeriod, - keys: keys, - tkeys: tkeys, - memKeys: memKeys, } - // init params keeper and subspaces - app.ParamsKeeper = initParamsKeeper(appCodec, legacyAmino, keys[paramstypes.StoreKey], tkeys[paramstypes.TStoreKey]) - - // set the BaseApp's parameter store - bApp.SetParamStore(app.ParamsKeeper.Subspace(baseapp.Paramspace).WithKeyTable(paramskeeper.ConsensusParamsKeyTable())) - - // add capability keeper and ScopeToModule for ibc module - app.CapabilityKeeper = capabilitykeeper.NewKeeper(appCodec, keys[capabilitytypes.StoreKey], memKeys[capabilitytypes.MemStoreKey]) - scopedIBCKeeper := app.CapabilityKeeper.ScopeToModule(ibchost.ModuleName) - scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) - scopedICAControllerKeeper := app.CapabilityKeeper.ScopeToModule(icacontrollertypes.SubModuleName) - scopedInterTxKeeper := app.CapabilityKeeper.ScopeToModule(intertxtypes.ModuleName) - scopedTransferKeeper := app.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName) - scopedWasmKeeper := app.CapabilityKeeper.ScopeToModule(wasm.ModuleName) - // seal capability keeper after scoping modules - app.CapabilityKeeper.Seal() - - // add keepers (for standard Cosmos modules) - // ----------------------------------------------------- - app.AccountKeeper = authkeeper.NewAccountKeeper(appCodec, keys[authtypes.StoreKey], app.getSubspace(authtypes.ModuleName), authtypes.ProtoBaseAccount, maccPerms) - app.BankKeeper = bankkeeper.NewBaseKeeper(appCodec, keys[banktypes.StoreKey], app.AccountKeeper, app.getSubspace(banktypes.ModuleName), app.BlockedAddrs()) - stakingKeeper := stakingkeeper.NewKeeper(appCodec, keys[stakingtypes.StoreKey], app.AccountKeeper, app.BankKeeper, app.getSubspace(stakingtypes.ModuleName)) - app.MintKeeper = mintkeeper.NewKeeper(appCodec, keys[minttypes.StoreKey], app.getSubspace(minttypes.ModuleName), &stakingKeeper, - app.AccountKeeper, app.BankKeeper, authtypes.FeeCollectorName) - app.DistrKeeper = distrkeeper.NewKeeper(appCodec, keys[distrtypes.StoreKey], app.getSubspace(distrtypes.ModuleName), app.AccountKeeper, - app.BankKeeper, &stakingKeeper, authtypes.FeeCollectorName, app.ModuleAccountAddrs()) - app.SlashingKeeper = slashingkeeper.NewKeeper(appCodec, keys[slashingtypes.StoreKey], &stakingKeeper, app.getSubspace(slashingtypes.ModuleName)) - app.AuthzKeeper = authzkeeper.NewKeeper(keys[authzkeeper.StoreKey], appCodec, app.BaseApp.MsgServiceRouter()) - app.CrisisKeeper = crisiskeeper.NewKeeper(app.getSubspace(crisistypes.ModuleName), invCheckPeriod, app.BankKeeper, authtypes.FeeCollectorName) - app.FeeGrantKeeper = feegrantkeeper.NewKeeper(appCodec, keys[feegrant.StoreKey], app.AccountKeeper) - - // NewKeeper constructs an upgrade Keeper which requires the following arguments: - // skipUpgradeHeights - map of heights to skip an upgrade - // storeKey - a store key with which to access upgrade's store - // cdc - the app-wide binary codec - // homePath - root directory of the application's config - app.UpgradeKeeper = upgradekeeper.NewKeeper(skipUpgradeHeights, keys[upgradetypes.StoreKey], appCodec, homePath, nil) - - // register the staking hooks - // NOTE: stakingKeeper above is passed by reference, so that it will contain these hooks - app.StakingKeeper = *stakingKeeper.SetHooks(stakingtypes.NewMultiStakingHooks(app.DistrKeeper.Hooks(), app.SlashingKeeper.Hooks())) - - app.IBCKeeper = ibckeeper.NewKeeper(appCodec, keys[ibchost.StoreKey], app.getSubspace(ibchost.ModuleName), app.StakingKeeper, app.UpgradeKeeper, scopedIBCKeeper) - - app.IBCFeeKeeper = ibcfeekeeper.NewKeeper( - appCodec, keys[ibcfeetypes.StoreKey], app.getSubspace(ibcfeetypes.ModuleName), - app.IBCKeeper.ChannelKeeper, // may be replaced with IBC middleware - app.IBCKeeper.ChannelKeeper, - &app.IBCKeeper.PortKeeper, app.AccountKeeper, app.BankKeeper, - ) - - // Create Transfer Keeper and pass IBCFeeKeeper as expected Channel and PortKeeper - // since fee middleware will wrap the IBCKeeper for underlying application. - app.TransferKeeper = ibctransferkeeper.NewKeeper( - appCodec, keys[ibctransfertypes.StoreKey], app.getSubspace(ibctransfertypes.ModuleName), - app.IBCFeeKeeper, // ISC4 Wrapper: fee IBC middleware - app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, - app.AccountKeeper, app.BankKeeper, scopedTransferKeeper, - ) - transferModule := transfer.NewAppModule(app.TransferKeeper) - - app.ICAHostKeeper = icahostkeeper.NewKeeper( - appCodec, keys[icahosttypes.StoreKey], app.getSubspace(icahosttypes.SubModuleName), - app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, - app.AccountKeeper, scopedICAHostKeeper, app.MsgServiceRouter(), - ) - app.ICAControllerKeeper = icacontrollerkeeper.NewKeeper( - appCodec, keys[icacontrollertypes.StoreKey], app.getSubspace(icacontrollertypes.SubModuleName), - app.IBCFeeKeeper, // use ics29 fee as ics4Wrapper in middleware stack - app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, - scopedICAControllerKeeper, app.MsgServiceRouter(), - ) - - app.InterTxKeeper = intertxkeeper.NewKeeper(appCodec, keys[intertxtypes.StoreKey], app.ICAControllerKeeper, scopedInterTxKeeper) - - // create evidence keeper with router - evidenceKeeper := evidencekeeper.NewKeeper(appCodec, keys[evidencetypes.StoreKey], &app.StakingKeeper, app.SlashingKeeper) - // If evidence needs to be handled for the app, set routes in router here and seal - app.EvidenceKeeper = *evidenceKeeper - - wasmDir := filepath.Join(homePath, "wasm") wasmConfig, err := wasm.ReadWasmConfig(appOpts) + // Uncomment this for debugging contracts. In the future this could be made into a param passed by the tests + // wasmConfig.ContractDebugMode = true if err != nil { panic(fmt.Sprintf("error while reading wasm config: %s", err)) } - // The last arguments can contain custom message handlers, and custom query handlers, - // if we want to allow any custom callbacks - supportedFeatures := "iterator,staking,stargate,cosmwasm_1_1" - app.WasmKeeper = wasm.NewKeeper( + app.InitKeepers( appCodec, - keys[wasm.StoreKey], - app.getSubspace(wasm.ModuleName), - app.AccountKeeper, - app.BankKeeper, - app.StakingKeeper, - app.DistrKeeper, - app.IBCKeeper.ChannelKeeper, - &app.IBCKeeper.PortKeeper, - scopedWasmKeeper, - app.TransferKeeper, - app.MsgServiceRouter(), - app.GRPCQueryRouter(), - wasmDir, + bApp, + appOpts, + maccPerms, + legacyAmino, + wasmEnabledProposals, + wasmOpts, wasmConfig, - supportedFeatures, - wasmOpts..., - ) - - // add keepers (for custom ixo modules) - app.IidKeeper = *iidmodulekeeper.NewKeeper(appCodec, keys[iidtypes.StoreKey], keys[iidtypes.MemStoreKey]) - app.BondsKeeper = bondskeeper.NewKeeper(app.BankKeeper, app.AccountKeeper, app.StakingKeeper, app.IidKeeper, - keys[bondstypes.StoreKey], app.getSubspace(bondstypes.ModuleName), app.appCodec) - - app.EntityKeeper = entitykeeper.NewKeeper(appCodec, keys[entitytypes.StoreKey], keys[entitytypes.MemStoreKey], app.IidKeeper, - app.WasmKeeper, app.getSubspace(entitytypes.ModuleName), app.AccountKeeper, app.AuthzKeeper) - app.TokenKeeper = tokenkeeper.NewKeeper(appCodec, keys[tokentypes.StoreKey], keys[tokentypes.MemStoreKey], app.IidKeeper, - app.WasmKeeper, app.getSubspace(tokentypes.ModuleName)) - app.ClaimsKeeper = claimsmodulekeeper.NewKeeper(appCodec, keys[claimsmoduletypes.StoreKey], keys[claimsmoduletypes.MemStoreKey], - app.getSubspace(claimsmoduletypes.ModuleName), app.IidKeeper, app.AuthzKeeper, app.BankKeeper, app.EntityKeeper, app.WasmKeeper) - // register the proposal types - govRouter := govtypes.NewRouter() - govRouter.AddRoute(govtypes.RouterKey, govtypes.ProposalHandler). - AddRoute(paramproposal.RouterKey, sdkparams.NewParamChangeProposalHandler(app.ParamsKeeper)). - AddRoute(entitytypes.RouterKey, entitymodule.NewEntityParamChangeProposalHandler(app.EntityKeeper)). - AddRoute(tokentypes.RouterKey, tokenmodule.NewTokenParamChangeProposalHandler(app.TokenKeeper)). - AddRoute(distrtypes.RouterKey, distr.NewCommunityPoolSpendProposalHandler(app.DistrKeeper)). - AddRoute(upgradetypes.RouterKey, upgrade.NewSoftwareUpgradeProposalHandler(app.UpgradeKeeper)). - AddRoute(ibcclienttypes.RouterKey, ibcclient.NewClientProposalHandler(app.IBCKeeper.ClientKeeper)). - AddRoute(wasm.RouterKey, wasm.NewWasmProposalHandler(app.WasmKeeper, wasm.EnableAllProposals)) - - app.GovKeeper = govkeeper.NewKeeper( - appCodec, keys[govtypes.StoreKey], app.getSubspace(govtypes.ModuleName), app.AccountKeeper, app.BankKeeper, - &stakingKeeper, govRouter, + app.BlockedAddresses(), + invCheckPeriod, + skipUpgradeHeights, + homePath, ) - // Create fee enabled wasm ibc Stack - var wasmStack porttypes.IBCModule - wasmStack = wasm.NewIBCHandler(app.WasmKeeper, app.IBCKeeper.ChannelKeeper, app.IBCFeeKeeper) - wasmStack = ibcfee.NewIBCMiddleware(wasmStack, app.IBCFeeKeeper) - - // Create Transfer Stack - var transferStack porttypes.IBCModule - transferStack = transfer.NewIBCModule(app.TransferKeeper) - transferStack = ibcfee.NewIBCMiddleware(transferStack, app.IBCFeeKeeper) - - var icaControllerStack porttypes.IBCModule - icaControllerStack = intertx.NewIBCModule(app.InterTxKeeper) - icaControllerStack = icacontroller.NewIBCMiddleware(icaControllerStack, app.ICAControllerKeeper) - icaControllerStack = ibcfee.NewIBCMiddleware(icaControllerStack, app.IBCFeeKeeper) - - var icaHostStack porttypes.IBCModule - icaHostStack = icahost.NewIBCModule(app.ICAHostKeeper) - icaHostStack = ibcfee.NewIBCMiddleware(icaHostStack, app.IBCFeeKeeper) - - // Create static IBC router, add app routes, then set and seal it - ibcRouter := porttypes.NewRouter(). - AddRoute(ibctransfertypes.ModuleName, transferStack). - AddRoute(wasm.ModuleName, wasmStack). - AddRoute(intertxtypes.ModuleName, icaControllerStack). - AddRoute(icacontrollertypes.SubModuleName, icaControllerStack). - AddRoute(icahosttypes.SubModuleName, icaHostStack) - app.IBCKeeper.SetRouter(ibcRouter) + app.SetupHooks() /**** Module Options ****/ // ----------------------------------------------------- // NOTE: we may consider parsing `appOpts` inside module constructors. For the moment // we prefer to be more strict in what arguments the modules expect. - var skipGenesisInvariants = cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) + skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) // NOTE: Any module instantiated in the module manager that is later modified // must be passed by reference here. - app.mm = module.NewManager( - // Standard Cosmos AppModules - genutil.NewAppModule( - app.AccountKeeper, app.StakingKeeper, app.BaseApp.DeliverTx, - encodingConfig.TxConfig, - ), - auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts), - vesting.NewAppModule(app.AccountKeeper, app.BankKeeper), - bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper), - capability.NewAppModule(appCodec, *app.CapabilityKeeper), - crisis.NewAppModule(&app.CrisisKeeper, skipGenesisInvariants), - gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper), - mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper), - slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), - distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), - staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper), - upgrade.NewAppModule(app.UpgradeKeeper), - wasm.NewAppModule(appCodec, &app.WasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper), - evidence.NewAppModule(app.EvidenceKeeper), - ibc.NewAppModule(app.IBCKeeper), - ica.NewAppModule(&app.ICAControllerKeeper, &app.ICAHostKeeper), - intertx.NewAppModule(appCodec, app.InterTxKeeper), - sdkparams.NewAppModule(app.ParamsKeeper), - feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry), - authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), - transferModule, - ibcfee.NewAppModule(app.IBCFeeKeeper), - - // Custom ixo AppModules - iidmodule.NewAppModule(app.appCodec, app.IidKeeper), - bonds.NewAppModule(app.BondsKeeper, app.AccountKeeper), - entitymodule.NewAppModule(app.EntityKeeper), - tokenmodule.NewAppModule(app.TokenKeeper), - claimsmodule.NewAppModule(app.ClaimsKeeper), - ) + app.mm = module.NewManager(appModules(app, encodingConfig, skipGenesisInvariants)...) - // During begin block slashing happens after distr.BeginBlocker so that - // there is nothing left over in the validator fee pool, so as to keep the - // CanWithdrawInvariant invariant. - // NOTE: staking module is required if HistoricalEntries param > 0 - app.mm.SetOrderBeginBlockers( - // Standard Cosmos modules - upgradetypes.ModuleName, minttypes.ModuleName, distrtypes.ModuleName, slashingtypes.ModuleName, - evidencetypes.ModuleName, stakingtypes.ModuleName, ibchost.ModuleName, banktypes.ModuleName, - genutiltypes.ModuleName, crisistypes.ModuleName, - paramstypes.ModuleName, authtypes.ModuleName, capabilitytypes.ModuleName, - govtypes.ModuleName, ibctransfertypes.ModuleName, vestingtypes.ModuleName, - authz.ModuleName, feegrant.ModuleName, - icatypes.ModuleName, ibcfeetypes.ModuleName, intertxtypes.ModuleName, wasm.ModuleName, - - // Custom ixo modules - bondstypes.ModuleName, iidtypes.ModuleName, entitytypes.ModuleName, - tokentypes.ModuleName, claimsmoduletypes.ModuleName, - ) + // Tell the app's module manager how to set the order of BeginBlockers, which are run at the beginning of every block. + app.mm.SetOrderBeginBlockers(orderBeginBlockers()...) + // Tell the app's module manager how to set the order of EndBlockers, which are run at the end of every block. + app.mm.SetOrderEndBlockers(orderEndBlockers()...) + // Tell the app's module manager how to set the order of InitGenesis, which are run genesis initialization. + app.mm.SetOrderInitGenesis(orderInitBlockers()...) - app.mm.SetOrderEndBlockers( - // Standard Cosmos modules - crisistypes.ModuleName, govtypes.ModuleName, stakingtypes.ModuleName, - distrtypes.ModuleName, evidencetypes.ModuleName, banktypes.ModuleName, - upgradetypes.ModuleName, ibchost.ModuleName, paramstypes.ModuleName, authtypes.ModuleName, - minttypes.ModuleName, genutiltypes.ModuleName, vestingtypes.ModuleName, - capabilitytypes.ModuleName, slashingtypes.ModuleName, ibctransfertypes.ModuleName, - authz.ModuleName, feegrant.ModuleName, - icatypes.ModuleName, ibcfeetypes.ModuleName, intertxtypes.ModuleName, wasm.ModuleName, - // Custom ixo modules - iidtypes.ModuleName, entitytypes.ModuleName, tokentypes.ModuleName, - bondstypes.ModuleName, claimsmoduletypes.ModuleName, - ) - - // NOTE: The genutils module must occur after staking so that pools are - // properly initialized with tokens from genesis accounts. - // NOTE: Capability module must occur first so that it can initialize any capabilities - // so that other modules that want to create or claim capabilities afterwards in InitChain - // can do so safely. - app.mm.SetOrderInitGenesis( - // Standard Cosmos modules - capabilitytypes.ModuleName, authtypes.ModuleName, banktypes.ModuleName, distrtypes.ModuleName, stakingtypes.ModuleName, - slashingtypes.ModuleName, govtypes.ModuleName, minttypes.ModuleName, crisistypes.ModuleName, - ibchost.ModuleName, genutiltypes.ModuleName, evidencetypes.ModuleName, ibctransfertypes.ModuleName, - upgradetypes.ModuleName, paramstypes.ModuleName, vestingtypes.ModuleName, authz.ModuleName, - feegrant.ModuleName, icatypes.ModuleName, ibcfeetypes.ModuleName, intertxtypes.ModuleName, wasm.ModuleName, - - // Custom ixo modules - iidtypes.ModuleName, bondstypes.ModuleName, tokentypes.ModuleName, - entitytypes.ModuleName, claimsmoduletypes.ModuleName, - ) - - ModuleBasics.RegisterInterfaces(app.interfaceRegistry) app.mm.RegisterInvariants(&app.CrisisKeeper) app.mm.RegisterRoutes(app.Router(), app.QueryRouter(), encodingConfig.Amino) - app.mm.RegisterServices(module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter())) + app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter()) + app.mm.RegisterServices(app.configurator) // add test gRPC service for testing gRPC queries in isolation testdata.RegisterQueryServer(app.GRPCQueryRouter(), testdata.QueryImpl{}) - // create the simulation manager and define the order of the modules for deterministic simulations - app.sm = module.NewSimulationManager( - auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts), - bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper), - capability.NewAppModule(appCodec, *app.CapabilityKeeper), - gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper), - mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper), - staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper), - distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), - slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), - sdkparams.NewAppModule(app.ParamsKeeper), - wasm.NewAppModule(appCodec, &app.WasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper), - authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), - evidence.NewAppModule(app.EvidenceKeeper), - ibc.NewAppModule(app.IBCKeeper), - feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry), - transferModule, - ) - - app.sm.RegisterStoreDecoders() + // setup upgrades + app.setupUpgradeHandlers() + app.setupUpgradeStoreLoaders() // initialize stores - app.MountKVStores(keys) - app.MountTransientStores(tkeys) - app.MountMemoryStores(memKeys) + app.MountKVStores(app.GetKVStoreKey()) + app.MountTransientStores(app.GetTransientStoreKey()) + app.MountMemoryStores(app.GetMemoryStoreKey()) // initialize BaseApp - ixoAnteHandler, err := IxoAnteHandler(HandlerOptions{ - AccountKeeper: app.AccountKeeper, - BankKeeper: app.BankKeeper, - FeegrantKeeper: app.FeeGrantKeeper, + app.SetInitChainer(app.InitChainer) + app.SetBeginBlocker(app.BeginBlocker) + app.SetAnteHandler(NewIxoAnteHandler(HandlerOptions{ + HandlerOptions: ante.HandlerOptions{ + AccountKeeper: app.AccountKeeper, + BankKeeper: app.BankKeeper, + FeegrantKeeper: app.FeeGrantKeeper, + SignModeHandler: encodingConfig.TxConfig.SignModeHandler(), + SigGasConsumer: ixo.IxoSigVerificationGasConsumer, + }, IidKeeper: app.IidKeeper, EntityKeeper: app.EntityKeeper, - wasmConfig: &wasmConfig, + WasmConfig: wasmConfig, IBCKeeper: app.IBCKeeper, - txCounterStoreKey: keys[wasm.StoreKey], - - SignModeHandler: encodingConfig.TxConfig.SignModeHandler(), - SigGasConsumer: ixo.IxoSigVerificationGasConsumer, - }) - if err != nil { - panic(err) - } - - app.SetInitChainer(app.InitChainer) - app.SetBeginBlocker(app.BeginBlocker) - app.SetAnteHandler(ixoAnteHandler) + TxCounterStoreKey: app.GetKey(wasm.StoreKey), + })) + // TODO add on sdk upgrade + // app.SetPostHandler(NewPostHandler(app.ProtoRevKeeper)) app.SetEndBlocker(app.EndBlocker) + // must be before Loading version + // Register snapshot extensions to enable state-sync for wasm. if manager := app.SnapshotManager(); manager != nil { - err = manager.RegisterExtensions( + err := manager.RegisterExtensions( wasmkeeper.NewWasmSnapshotter(app.CommitMultiStore(), &app.WasmKeeper), ) if err != nil { @@ -695,25 +226,27 @@ func NewIxoApp( if err := app.LoadLatestVersion(); err != nil { tmos.Exit(err.Error()) } + + ctx := app.BaseApp.NewUncachedContext(true, tmproto.Header{}) + // Initialize pinned codes in wasmvm as they are not persisted there + if err := app.WasmKeeper.InitializePinnedCodes(ctx); err != nil { + tmos.Exit(fmt.Sprintf("failed initialize pinned codes %s", err)) + } } - app.ScopedIBCKeeper = scopedIBCKeeper - app.ScopedTransferKeeper = scopedTransferKeeper - app.ScopedWasmKeeper = scopedWasmKeeper - app.ScopedICAHostKeeper = scopedICAHostKeeper - app.ScopedICAControllerKeeper = scopedICAControllerKeeper - app.ScopedInterTxKeeper = scopedInterTxKeeper + // create the simulation manager and define the order of the modules for deterministic simulations + // + // NOTE: this is not required apps that don't use the simulator for fuzz testing + // transactions + app.sm = module.NewSimulationManager(simulationModules(app, encodingConfig, skipGenesisInvariants)...) + app.sm.RegisterStoreDecoders() return app } -// MakeCodecs constructs the *std.Codec and *codec.LegacyAmino instances used by -// ixoapp. It is useful for tests and clients who do not want to construct the -// full ixoapp. -func MakeCodecs() (codec.Codec, *codec.LegacyAmino) { - config := MakeTestEncodingConfig() - return config.Marshaler, config.Amino -} +//------------------------------------------------------------------------------ +// Implement `ixoapptypes.App` interface for IxoApp +//------------------------------------------------------------------------------ // Name returns the name of the App func (app *IxoApp) Name() string { return app.BaseApp.Name() } @@ -723,6 +256,7 @@ func (app *IxoApp) GetBaseApp() *baseapp.BaseApp { return app.BaseApp } // BeginBlocker application updates every begin block func (app *IxoApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock { + app.beginBlockForks(ctx) return app.mm.BeginBlock(ctx, req) } @@ -737,6 +271,7 @@ func (app *IxoApp) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci. if err := tmjson.Unmarshal(req.AppStateBytes, &genesisState); err != nil { panic(err) } + app.UpgradeKeeper.SetModuleVersionMap(ctx, app.mm.GetVersionMap()) return app.mm.InitGenesis(ctx, app.appCodec, genesisState) } @@ -745,26 +280,6 @@ func (app *IxoApp) LoadHeight(height int64) error { return app.LoadVersion(height) } -// ModuleAccountAddrs returns all the app's module account addresses. -func (app *IxoApp) ModuleAccountAddrs() map[string]bool { - modAccAddrs := make(map[string]bool) - for acc := range maccPerms { - modAccAddrs[authtypes.NewModuleAddress(acc).String()] = true - } - - return modAccAddrs -} - -// BlockedAddrs returns all the app's module account addresses black listed for receiving tokens. -func (app *IxoApp) BlockedAddrs() map[string]bool { - blockedAddrs := make(map[string]bool) - for acc := range maccPerms { - blockedAddrs[authtypes.NewModuleAddress(acc).String()] = !allowedReceivingModAcc[acc] - } - - return blockedAddrs -} - // LegacyAmino returns IxoApp's amino codec. // // NOTE: This is solely to be used for testing purposes as it may be desirable @@ -786,35 +301,6 @@ func (app *IxoApp) InterfaceRegistry() types.InterfaceRegistry { return app.interfaceRegistry } -// GetKey returns the KVStoreKey for the provided store key. -// -// NOTE: This is solely to be used for testing purposes. -func (app *IxoApp) GetKey(storeKey string) *sdk.KVStoreKey { - return app.keys[storeKey] -} - -// GetTKey returns the TransientStoreKey for the provided store key. -// -// NOTE: This is solely to be used for testing purposes. -func (app *IxoApp) GetTKey(storeKey string) *sdk.TransientStoreKey { - return app.tkeys[storeKey] -} - -// GetMemKey returns the MemStoreKey for the provided mem key. -// -// NOTE: This is solely used for testing purposes. -func (app *IxoApp) GetMemKey(storeKey string) *sdk.MemoryStoreKey { - return app.memKeys[storeKey] -} - -// getSubspace returns a param subspace for a given module name. -// -// NOTE: This is solely to be used for testing purposes. -func (app *IxoApp) getSubspace(moduleName string) paramstypes.Subspace { - subspace, _ := app.ParamsKeeper.GetSubspace(moduleName) - return subspace -} - // SimulationManager implements the SimulationApp interface func (app *IxoApp) SimulationManager() *module.SimulationManager { return app.sm @@ -872,29 +358,43 @@ func GetMaccPerms() map[string][]string { return dupMaccPerms } -// initParamsKeeper init params keeper and its subspaces -func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino, key, tkey sdk.StoreKey) paramskeeper.Keeper { - paramsKeeper := paramskeeper.NewKeeper(appCodec, legacyAmino, key, tkey) - // init params keeper and subspaces (for standard Cosmos modules) - paramsKeeper.Subspace(authtypes.ModuleName) - paramsKeeper.Subspace(banktypes.ModuleName) - paramsKeeper.Subspace(stakingtypes.ModuleName) - paramsKeeper.Subspace(minttypes.ModuleName) - paramsKeeper.Subspace(distrtypes.ModuleName) - paramsKeeper.Subspace(slashingtypes.ModuleName) - paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govtypes.ParamKeyTable()) - paramsKeeper.Subspace(crisistypes.ModuleName) - paramsKeeper.Subspace(ibctransfertypes.ModuleName) - paramsKeeper.Subspace(ibchost.ModuleName) - paramsKeeper.Subspace(icacontrollertypes.SubModuleName) - paramsKeeper.Subspace(icahosttypes.SubModuleName) - paramsKeeper.Subspace(wasm.ModuleName) - // init params keeper and subspaces (for custom ixo modules) - paramsKeeper.Subspace(iidtypes.ModuleName) - paramsKeeper.Subspace(bondstypes.ModuleName) - paramsKeeper.Subspace(entitytypes.ModuleName) - paramsKeeper.Subspace(tokentypes.ModuleName) - paramsKeeper.Subspace(claimsmoduletypes.ModuleName) - - return paramsKeeper +//------------------------------------------------------------------------------ +// Upgrades and forks +//------------------------------------------------------------------------------ + +// configure store loader that checks if version == upgradeHeight and applies store upgrades +func (app *IxoApp) setupUpgradeStoreLoaders() { + upgradeInfo, err := app.UpgradeKeeper.ReadUpgradeInfoFromDisk() + if err != nil { + panic(fmt.Sprintf("failed to read upgrade info from disk: %s", err)) + } + + if app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) { + return + } + + for _, upgrade := range Upgrades { + if upgradeInfo.Name == upgrade.UpgradeName { + app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, &upgrade.StoreUpgrades)) + } + } +} + +func (app *IxoApp) setupUpgradeHandlers() { + for _, upgrade := range Upgrades { + app.UpgradeKeeper.SetUpgradeHandler( + upgrade.UpgradeName, + upgrade.CreateUpgradeHandler(app.mm, app.configurator, &app.AppKeepers), + ) + } +} + +// BeginBlockForks is intended to be ran in a chain upgrade. +func (app *IxoApp) beginBlockForks(ctx sdk.Context) { + for _, fork := range Forks { + if ctx.BlockHeight() == fork.UpgradeHeight { + fork.BeginForkLogic(ctx, &app.AppKeepers) + return + } + } } diff --git a/app/blocked.go b/app/blocked.go new file mode 100644 index 00000000..8da8cd9a --- /dev/null +++ b/app/blocked.go @@ -0,0 +1,33 @@ +package app + +import ( + "strings" + + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" +) + +var ( + // Module accounts that are allowed to receive tokens + allowedReceivingModAcc = map[string]bool{ + distrtypes.ModuleName: true, + } +) + +// BlockedAddrs returns all the app's module account addresses that are not +// allowed to receive external tokens. +func (app *IxoApp) BlockedAddresses() map[string]bool { + blockedAddrs := make(map[string]bool) + for acc := range maccPerms { + blockedAddrs[authtypes.NewModuleAddress(acc).String()] = !allowedReceivingModAcc[acc] + } + + // We can add any addresses we want to block below + addresses := []string{} + for _, addr := range addresses { + blockedAddrs[addr] = true + blockedAddrs[strings.ToLower(addr)] = true + } + + return blockedAddrs +} diff --git a/app/encoding.go b/app/encoding.go index 4a5aece6..d6cc7e88 100644 --- a/app/encoding.go +++ b/app/encoding.go @@ -5,8 +5,14 @@ import ( "github.com/ixofoundation/ixo-blockchain/app/params" ) -// MakeTestEncodingConfig creates an EncodingConfig for testing -func MakeTestEncodingConfig() params.EncodingConfig { +var encodingConfig params.EncodingConfig = MakeEncodingConfig() + +func GetEncodingConfig() params.EncodingConfig { + return encodingConfig +} + +// MakeEncodingConfig creates an EncodingConfig +func MakeEncodingConfig() params.EncodingConfig { encodingConfig := params.MakeTestEncodingConfig() std.RegisterLegacyAminoCodec(encodingConfig.Amino) std.RegisterInterfaces(encodingConfig.InterfaceRegistry) diff --git a/app/export.go b/app/export.go index 5b791a3f..a9699683 100644 --- a/app/export.go +++ b/app/export.go @@ -25,6 +25,7 @@ func (app *IxoApp) ExportAppStateAndValidators( // Tendermint will start InitChain. height := app.LastBlockHeight() + 1 if forZeroHeight { + // return servertypes.ExportedApp{}, fmt.Errorf("forZeroHeight not supported") height = 0 app.prepForZeroHeightGenesis(ctx, jailAllowedAddrs) } @@ -35,7 +36,7 @@ func (app *IxoApp) ExportAppStateAndValidators( return servertypes.ExportedApp{}, err } - validators, err := staking.WriteValidators(ctx, app.StakingKeeper) + validators, err := staking.WriteValidators(ctx, *app.StakingKeeper) return servertypes.ExportedApp{ AppState: appState, Validators: validators, @@ -44,6 +45,10 @@ func (app *IxoApp) ExportAppStateAndValidators( }, err } +func (app *IxoApp) ExportState(ctx sdk.Context) map[string]json.RawMessage { + return app.mm.ExportGenesis(ctx, app.AppCodec()) +} + // prepare for fresh start at zero height // NOTE zero height genesis is a temporary feature which will be deprecated // @@ -153,7 +158,7 @@ func (app *IxoApp) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs [] // Iterate through validators by power descending, reset bond heights, and // update bond intra-tx counters. - store := ctx.KVStore(app.keys[stakingtypes.StoreKey]) + store := ctx.KVStore(app.GetKey(stakingtypes.StoreKey)) iter := sdk.KVStoreReversePrefixIterator(store, stakingtypes.ValidatorsKey) counter := int16(0) diff --git a/app/keepers/keepers.go b/app/keepers/keepers.go new file mode 100644 index 00000000..522b35b8 --- /dev/null +++ b/app/keepers/keepers.go @@ -0,0 +1,554 @@ +package keepers + +import ( + "path/filepath" + + // Wasmd + "github.com/CosmWasm/wasmd/x/wasm" + + // Cosmos SDK + "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/codec" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + sdk "github.com/cosmos/cosmos-sdk/types" + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" + bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper" + crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" + distr "github.com/cosmos/cosmos-sdk/x/distribution" + distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + evidencekeeper "github.com/cosmos/cosmos-sdk/x/evidence/keeper" + evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" + "github.com/cosmos/cosmos-sdk/x/feegrant" + feegrantkeeper "github.com/cosmos/cosmos-sdk/x/feegrant/keeper" + govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + mintkeeper "github.com/cosmos/cosmos-sdk/x/mint/keeper" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + sdkparams "github.com/cosmos/cosmos-sdk/x/params" + paramskeeper "github.com/cosmos/cosmos-sdk/x/params/keeper" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + paramproposal "github.com/cosmos/cosmos-sdk/x/params/types/proposal" + slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/cosmos/cosmos-sdk/x/upgrade" + upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + + // ICA + icq "github.com/cosmos/ibc-apps/modules/async-icq/v4" + icqkeeper "github.com/cosmos/ibc-apps/modules/async-icq/v4/keeper" + icqtypes "github.com/cosmos/ibc-apps/modules/async-icq/v4/types" + icacontroller "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller" + icacontrollerkeeper "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/keeper" + icacontrollertypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types" + icahost "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host" + icahostkeeper "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/keeper" + icahosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types" + intertx "github.com/cosmos/interchain-accounts/x/inter-tx" + intertxkeeper "github.com/cosmos/interchain-accounts/x/inter-tx/keeper" + intertxtypes "github.com/cosmos/interchain-accounts/x/inter-tx/types" + + // IBC + ibcfee "github.com/cosmos/ibc-go/v4/modules/apps/29-fee" + ibcfeekeeper "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/keeper" + ibcfeetypes "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types" + "github.com/cosmos/ibc-go/v4/modules/apps/transfer" + ibctransferkeeper "github.com/cosmos/ibc-go/v4/modules/apps/transfer/keeper" + ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" + ibcclient "github.com/cosmos/ibc-go/v4/modules/core/02-client" + ibcclienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types" + porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types" + ibchost "github.com/cosmos/ibc-go/v4/modules/core/24-host" + ibckeeper "github.com/cosmos/ibc-go/v4/modules/core/keeper" + packetforward "github.com/strangelove-ventures/packet-forward-middleware/v4/router" + packetforwardkeeper "github.com/strangelove-ventures/packet-forward-middleware/v4/router/keeper" + packetforwardtypes "github.com/strangelove-ventures/packet-forward-middleware/v4/router/types" + + // Local + wasmbinding "github.com/ixofoundation/ixo-blockchain/wasmbinding" + bondskeeper "github.com/ixofoundation/ixo-blockchain/x/bonds/keeper" + bondstypes "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + claimsmodulekeeper "github.com/ixofoundation/ixo-blockchain/x/claims/keeper" + claimsmoduletypes "github.com/ixofoundation/ixo-blockchain/x/claims/types" + entitymodule "github.com/ixofoundation/ixo-blockchain/x/entity" + entitykeeper "github.com/ixofoundation/ixo-blockchain/x/entity/keeper" + entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" + iidmodulekeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" + iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + tokenmodule "github.com/ixofoundation/ixo-blockchain/x/token" + tokenkeeper "github.com/ixofoundation/ixo-blockchain/x/token/keeper" + tokentypes "github.com/ixofoundation/ixo-blockchain/x/token/types" +) + +type AppKeepers struct { + // keepers + AuthzKeeper authzkeeper.Keeper + AccountKeeper authkeeper.AccountKeeper + BankKeeper bankkeeper.Keeper + CapabilityKeeper *capabilitykeeper.Keeper + StakingKeeper *stakingkeeper.Keeper + SlashingKeeper slashingkeeper.Keeper + MintKeeper mintkeeper.Keeper + DistrKeeper distrkeeper.Keeper + GovKeeper *govkeeper.Keeper + CrisisKeeper crisiskeeper.Keeper + UpgradeKeeper upgradekeeper.Keeper + ParamsKeeper paramskeeper.Keeper + IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly + IBCFeeKeeper ibcfeekeeper.Keeper + ICAControllerKeeper icacontrollerkeeper.Keeper + ICAHostKeeper icahostkeeper.Keeper + InterTxKeeper intertxkeeper.Keeper + EvidenceKeeper evidencekeeper.Keeper + TransferKeeper ibctransferkeeper.Keeper + FeeGrantKeeper feegrantkeeper.Keeper + WasmKeeper wasm.Keeper + PacketForwardKeeper *packetforwardkeeper.Keeper + ICQKeeper *icqkeeper.Keeper + + // Custom ixo keepers + IidKeeper iidmodulekeeper.Keeper + EntityKeeper entitykeeper.Keeper + TokenKeeper tokenkeeper.Keeper + BondsKeeper bondskeeper.Keeper + ClaimsKeeper claimsmodulekeeper.Keeper + + // make scoped keepers public for test purposes + ScopedIBCKeeper capabilitykeeper.ScopedKeeper + ScopedICAHostKeeper capabilitykeeper.ScopedKeeper + ScopedICAControllerKeeper capabilitykeeper.ScopedKeeper + ScopedInterTxKeeper capabilitykeeper.ScopedKeeper + ScopedTransferKeeper capabilitykeeper.ScopedKeeper + ScopedWasmKeeper capabilitykeeper.ScopedKeeper + ScopedIBCFeeKeeper capabilitykeeper.ScopedKeeper + ScopedICQKeeper capabilitykeeper.ScopedKeeper + + // keys to access the substores + keys map[string]*sdk.KVStoreKey + tkeys map[string]*sdk.TransientStoreKey + memKeys map[string]*sdk.MemoryStoreKey +} + +// InitKeepers initializes all keepers. +func (appKeepers *AppKeepers) InitKeepers( + appCodec codec.Codec, + bApp *baseapp.BaseApp, + appOpts servertypes.AppOptions, + maccPerms map[string][]string, + cdc *codec.LegacyAmino, + wasmEnabledProposals []wasm.ProposalType, + wasmOpts []wasm.Option, + wasmConfig wasm.Config, + blockedAddress map[string]bool, + invCheckPeriod uint, + skipUpgradeHeights map[int64]bool, + homePath string, +) { + // Set keys KVStoreKey, TransientStoreKey, MemoryStoreKey + appKeepers.GenerateKeys() + + // init params keeper and subspaces + appKeepers.ParamsKeeper = appKeepers.initParamsKeeper(appCodec, cdc, appKeepers.keys[paramstypes.StoreKey], appKeepers.tkeys[paramstypes.TStoreKey]) + + // set the BaseApp's parameter store + bApp.SetParamStore(appKeepers.ParamsKeeper.Subspace(baseapp.Paramspace).WithKeyTable(paramskeeper.ConsensusParamsKeyTable())) + + // add capability keeper and ScopeToModule for ibc module + appKeepers.CapabilityKeeper = capabilitykeeper.NewKeeper(appCodec, appKeepers.keys[capabilitytypes.StoreKey], appKeepers.memKeys[capabilitytypes.MemStoreKey]) + appKeepers.ScopedIBCKeeper = appKeepers.CapabilityKeeper.ScopeToModule(ibchost.ModuleName) + appKeepers.ScopedICAHostKeeper = appKeepers.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) + appKeepers.ScopedICAControllerKeeper = appKeepers.CapabilityKeeper.ScopeToModule(icacontrollertypes.SubModuleName) + appKeepers.ScopedInterTxKeeper = appKeepers.CapabilityKeeper.ScopeToModule(intertxtypes.ModuleName) + appKeepers.ScopedTransferKeeper = appKeepers.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName) + appKeepers.ScopedWasmKeeper = appKeepers.CapabilityKeeper.ScopeToModule(wasm.ModuleName) + appKeepers.ScopedICQKeeper = appKeepers.CapabilityKeeper.ScopeToModule(icqtypes.ModuleName) + // seal capability keeper after scoping modules + appKeepers.CapabilityKeeper.Seal() + + // Add Keepers Cosmos Modules + // ============================= + appKeepers.AccountKeeper = authkeeper.NewAccountKeeper( + appCodec, + appKeepers.keys[authtypes.StoreKey], + appKeepers.GetSubspace(authtypes.ModuleName), + authtypes.ProtoBaseAccount, + maccPerms, + ) + appKeepers.BankKeeper = bankkeeper.NewBaseKeeper( + appCodec, + appKeepers.keys[banktypes.StoreKey], + appKeepers.AccountKeeper, + appKeepers.GetSubspace(banktypes.ModuleName), + blockedAddress, + ) + stakingKeeper := stakingkeeper.NewKeeper( + appCodec, + appKeepers.keys[stakingtypes.StoreKey], + appKeepers.AccountKeeper, + appKeepers.BankKeeper, + appKeepers.GetSubspace(stakingtypes.ModuleName), + ) + appKeepers.StakingKeeper = &stakingKeeper + appKeepers.MintKeeper = mintkeeper.NewKeeper( + appCodec, + appKeepers.keys[minttypes.StoreKey], + appKeepers.GetSubspace(minttypes.ModuleName), + appKeepers.StakingKeeper, + appKeepers.AccountKeeper, + appKeepers.BankKeeper, + authtypes.FeeCollectorName, + ) + appKeepers.DistrKeeper = distrkeeper.NewKeeper( + appCodec, + appKeepers.keys[distrtypes.StoreKey], + appKeepers.GetSubspace(distrtypes.ModuleName), + appKeepers.AccountKeeper, + appKeepers.BankKeeper, + appKeepers.StakingKeeper, + authtypes.FeeCollectorName, + blockedAddress, + ) + appKeepers.SlashingKeeper = slashingkeeper.NewKeeper( + appCodec, + appKeepers.keys[slashingtypes.StoreKey], + appKeepers.StakingKeeper, + appKeepers.GetSubspace(slashingtypes.ModuleName), + ) + appKeepers.AuthzKeeper = authzkeeper.NewKeeper( + appKeepers.keys[authzkeeper.StoreKey], + appCodec, + bApp.MsgServiceRouter(), + ) + appKeepers.CrisisKeeper = crisiskeeper.NewKeeper( + appKeepers.GetSubspace(crisistypes.ModuleName), + invCheckPeriod, + appKeepers.BankKeeper, + authtypes.FeeCollectorName, + ) + appKeepers.FeeGrantKeeper = feegrantkeeper.NewKeeper( + appCodec, + appKeepers.keys[feegrant.StoreKey], + appKeepers.AccountKeeper, + ) + appKeepers.UpgradeKeeper = upgradekeeper.NewKeeper( + skipUpgradeHeights, + appKeepers.keys[upgradetypes.StoreKey], + appCodec, + homePath, + bApp, + ) + + // IBC Keepers + // ============================= + appKeepers.IBCKeeper = ibckeeper.NewKeeper( + appCodec, + appKeepers.keys[ibchost.StoreKey], + appKeepers.GetSubspace(ibchost.ModuleName), + appKeepers.StakingKeeper, + appKeepers.UpgradeKeeper, + appKeepers.ScopedIBCKeeper, + ) + + appKeepers.IBCFeeKeeper = ibcfeekeeper.NewKeeper( + appCodec, + appKeepers.keys[ibcfeetypes.StoreKey], + appKeepers.GetSubspace(ibcfeetypes.ModuleName), + appKeepers.IBCKeeper.ChannelKeeper, // may be replaced with IBC middleware + appKeepers.IBCKeeper.ChannelKeeper, + &appKeepers.IBCKeeper.PortKeeper, + appKeepers.AccountKeeper, + appKeepers.BankKeeper, + ) + + // It's important to note that the PFM Keeper must be initialized before the Transfer Keeper + appKeepers.PacketForwardKeeper = packetforwardkeeper.NewKeeper( + appCodec, + appKeepers.keys[packetforwardtypes.StoreKey], + appKeepers.GetSubspace(packetforwardtypes.ModuleName), + appKeepers.TransferKeeper, // will be zero-value here, reference is set later on with SetTransferKeeper. + appKeepers.IBCKeeper.ChannelKeeper, + appKeepers.DistrKeeper, + appKeepers.BankKeeper, + appKeepers.IBCKeeper.ChannelKeeper, + ) + + // Create Transfer Keeper and pass IBCFeeKeeper as expected Channel and PortKeeper + // since fee middleware will wrap the IBCKeeper for underlying application. + appKeepers.TransferKeeper = ibctransferkeeper.NewKeeper( + appCodec, + appKeepers.keys[ibctransfertypes.StoreKey], + appKeepers.GetSubspace(ibctransfertypes.ModuleName), + // The ICS4Wrapper is replaced by the PacketForwardKeeper instead of the channel so that sending can be overridden by the middleware + appKeepers.PacketForwardKeeper, + appKeepers.IBCKeeper.ChannelKeeper, + &appKeepers.IBCKeeper.PortKeeper, + appKeepers.AccountKeeper, + appKeepers.BankKeeper, + appKeepers.ScopedTransferKeeper, + ) + + // transferModule := transfer.NewAppModule(appKeepers.TransferKeeper) + appKeepers.PacketForwardKeeper.SetTransferKeeper(appKeepers.TransferKeeper) + + // ICA Keepers + // ============================= + appKeepers.ICAHostKeeper = icahostkeeper.NewKeeper( + appCodec, + appKeepers.keys[icahosttypes.StoreKey], + appKeepers.GetSubspace(icahosttypes.SubModuleName), + appKeepers.IBCKeeper.ChannelKeeper, + &appKeepers.IBCKeeper.PortKeeper, + appKeepers.AccountKeeper, + appKeepers.ScopedICAHostKeeper, + bApp.MsgServiceRouter(), + ) + appKeepers.ICAControllerKeeper = icacontrollerkeeper.NewKeeper( + appCodec, + appKeepers.keys[icacontrollertypes.StoreKey], + appKeepers.GetSubspace(icacontrollertypes.SubModuleName), + appKeepers.IBCFeeKeeper, // use ics29 fee as ics4Wrapper in middleware stack + appKeepers.IBCKeeper.ChannelKeeper, + &appKeepers.IBCKeeper.PortKeeper, + appKeepers.ScopedICAControllerKeeper, + bApp.MsgServiceRouter(), + ) + + appKeepers.InterTxKeeper = intertxkeeper.NewKeeper( + appCodec, + appKeepers.keys[intertxtypes.StoreKey], + appKeepers.ICAControllerKeeper, + appKeepers.ScopedInterTxKeeper, + ) + + // ICQ Keepers + // ============================= + icqKeeper := icqkeeper.NewKeeper( + appCodec, + appKeepers.keys[icqtypes.StoreKey], + appKeepers.GetSubspace(icqtypes.ModuleName), + appKeepers.IBCKeeper.ChannelKeeper, // may be replaced with middleware + appKeepers.IBCKeeper.ChannelKeeper, + &appKeepers.IBCKeeper.PortKeeper, + appKeepers.ScopedICQKeeper, + bApp.GRPCQueryRouter(), + ) + appKeepers.ICQKeeper = &icqKeeper + // Create Async ICQ module + icqModule := icq.NewIBCModule(*appKeepers.ICQKeeper) + + // Evidence Keeper + // ============================= + // create evidence keeper with router + evidenceKeeper := evidencekeeper.NewKeeper( + appCodec, + appKeepers.keys[evidencetypes.StoreKey], + appKeepers.StakingKeeper, + appKeepers.SlashingKeeper, + ) + // If evidence needs to be handled for the app, set routes in router here and seal + appKeepers.EvidenceKeeper = *evidenceKeeper + + // WASM Keepers + // ============================= + // The last arguments can contain custom message handlers, and custom query handlers, + // if we want to allow any custom callbacks + // See https://github.com/CosmWasm/cosmwasm/blob/main/docs/CAPABILITIES-BUILT-IN.md + // TODO add cosmwasm_1_3 once updated to cosmwasm vm 1.3.0 + supportedFeatures := "iterator,staking,stargate,cosmwasm_1_1,cosmwasm_1_2" + wasmDir := filepath.Join(homePath, "wasm") + + // Add wasmbinding opts for stargate queries + wasmOpts = append(wasmbinding.RegisterStargateQueries(*bApp.GRPCQueryRouter(), appCodec), wasmOpts...) + + appKeepers.WasmKeeper = wasm.NewKeeper( + appCodec, + appKeepers.keys[wasm.StoreKey], + appKeepers.GetSubspace(wasm.ModuleName), + appKeepers.AccountKeeper, + appKeepers.BankKeeper, + appKeepers.StakingKeeper, + appKeepers.DistrKeeper, + appKeepers.IBCKeeper.ChannelKeeper, + &appKeepers.IBCKeeper.PortKeeper, + appKeepers.ScopedWasmKeeper, + appKeepers.TransferKeeper, + bApp.MsgServiceRouter(), + bApp.GRPCQueryRouter(), + wasmDir, + wasmConfig, + supportedFeatures, + wasmOpts..., + ) + + // Custom IXO Keepers + // ============================= + appKeepers.IidKeeper = *iidmodulekeeper.NewKeeper( + appCodec, + appKeepers.keys[iidtypes.StoreKey], + appKeepers.keys[iidtypes.MemStoreKey], + ) + appKeepers.BondsKeeper = bondskeeper.NewKeeper( + appCodec, + appKeepers.BankKeeper, + appKeepers.AccountKeeper, + *appKeepers.StakingKeeper, + appKeepers.IidKeeper, + appKeepers.keys[bondstypes.StoreKey], + appKeepers.GetSubspace(bondstypes.ModuleName), + ) + appKeepers.EntityKeeper = entitykeeper.NewKeeper( + appCodec, + appKeepers.keys[entitytypes.StoreKey], + appKeepers.keys[entitytypes.MemStoreKey], + appKeepers.IidKeeper, + appKeepers.WasmKeeper, + appKeepers.GetSubspace(entitytypes.ModuleName), + appKeepers.AccountKeeper, + appKeepers.AuthzKeeper, + ) + appKeepers.TokenKeeper = tokenkeeper.NewKeeper( + appCodec, + appKeepers.keys[tokentypes.StoreKey], + appKeepers.keys[tokentypes.MemStoreKey], + appKeepers.IidKeeper, + appKeepers.WasmKeeper, + appKeepers.GetSubspace(tokentypes.ModuleName), + ) + appKeepers.ClaimsKeeper = claimsmodulekeeper.NewKeeper( + appCodec, + appKeepers.keys[claimsmoduletypes.StoreKey], + appKeepers.keys[claimsmoduletypes.MemStoreKey], + appKeepers.GetSubspace(claimsmoduletypes.ModuleName), + appKeepers.IidKeeper, + appKeepers.AuthzKeeper, + appKeepers.BankKeeper, + appKeepers.EntityKeeper, + appKeepers.WasmKeeper, + ) + + // GOV Keeper + // ============================= + // Register the proposal types + govRouter := govtypes.NewRouter() + govRouter.AddRoute(govtypes.RouterKey, govtypes.ProposalHandler). + AddRoute(paramproposal.RouterKey, sdkparams.NewParamChangeProposalHandler(appKeepers.ParamsKeeper)). + AddRoute(entitytypes.RouterKey, entitymodule.NewEntityParamChangeProposalHandler(appKeepers.EntityKeeper)). + AddRoute(tokentypes.RouterKey, tokenmodule.NewTokenParamChangeProposalHandler(appKeepers.TokenKeeper)). + AddRoute(distrtypes.RouterKey, distr.NewCommunityPoolSpendProposalHandler(appKeepers.DistrKeeper)). + AddRoute(upgradetypes.RouterKey, upgrade.NewSoftwareUpgradeProposalHandler(appKeepers.UpgradeKeeper)). + AddRoute(ibcclienttypes.RouterKey, ibcclient.NewClientProposalHandler(appKeepers.IBCKeeper.ClientKeeper)) + + // register wasm gov proposal types + // The gov proposal types can be individually enabled + if len(wasmEnabledProposals) != 0 { + govRouter.AddRoute(wasm.RouterKey, wasm.NewWasmProposalHandler(appKeepers.WasmKeeper, wasmEnabledProposals)) + } + + govkeeper := govkeeper.NewKeeper( + appCodec, + appKeepers.keys[govtypes.StoreKey], + appKeepers.GetSubspace(govtypes.ModuleName), + appKeepers.AccountKeeper, + appKeepers.BankKeeper, + appKeepers.StakingKeeper, + govRouter, + ) + appKeepers.GovKeeper = &govkeeper + + // IBC Stacks and seal router + // ============================= + // Create fee enabled wasm ibc Stack + var wasmStack porttypes.IBCModule + wasmStack = wasm.NewIBCHandler(appKeepers.WasmKeeper, appKeepers.IBCKeeper.ChannelKeeper, appKeepers.IBCFeeKeeper) + wasmStack = ibcfee.NewIBCMiddleware(wasmStack, appKeepers.IBCFeeKeeper) + + // Create Transfer Stack + var transferStack porttypes.IBCModule + transferStack = transfer.NewIBCModule(appKeepers.TransferKeeper) + transferStack = ibcfee.NewIBCMiddleware(transferStack, appKeepers.IBCFeeKeeper) + transferStack = packetforward.NewIBCMiddleware( + transferStack, + appKeepers.PacketForwardKeeper, + 0, // retries on timeout + packetforwardkeeper.DefaultForwardTransferPacketTimeoutTimestamp, // forward timeout + packetforwardkeeper.DefaultRefundTransferPacketTimeoutTimestamp, // refund timeout + ) + + var icaControllerStack porttypes.IBCModule + icaControllerStack = intertx.NewIBCModule(appKeepers.InterTxKeeper) + icaControllerStack = icacontroller.NewIBCMiddleware(icaControllerStack, appKeepers.ICAControllerKeeper) + icaControllerStack = ibcfee.NewIBCMiddleware(icaControllerStack, appKeepers.IBCFeeKeeper) + + var icaHostStack porttypes.IBCModule + icaHostStack = icahost.NewIBCModule(appKeepers.ICAHostKeeper) + icaHostStack = ibcfee.NewIBCMiddleware(icaHostStack, appKeepers.IBCFeeKeeper) + + // Create static IBC router, add app routes, then set and seal it + ibcRouter := porttypes.NewRouter(). + AddRoute(ibctransfertypes.ModuleName, transferStack). + AddRoute(wasm.ModuleName, wasmStack). + AddRoute(intertxtypes.ModuleName, icaControllerStack). + AddRoute(icacontrollertypes.SubModuleName, icaControllerStack). + AddRoute(icahosttypes.SubModuleName, icaHostStack). + AddRoute(icqtypes.ModuleName, icqModule) + + appKeepers.IBCKeeper.SetRouter(ibcRouter) + +} + +// initParamsKeeper init params keeper and its subspaces. +func (appKeepers *AppKeepers) initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino, key, tkey sdk.StoreKey) paramskeeper.Keeper { + paramsKeeper := paramskeeper.NewKeeper(appCodec, legacyAmino, key, tkey) + // init params keeper and subspaces (for standard Cosmos modules) + paramsKeeper.Subspace(authtypes.ModuleName) + paramsKeeper.Subspace(banktypes.ModuleName) + paramsKeeper.Subspace(stakingtypes.ModuleName) + paramsKeeper.Subspace(minttypes.ModuleName) + paramsKeeper.Subspace(distrtypes.ModuleName) + paramsKeeper.Subspace(slashingtypes.ModuleName) + paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govtypes.ParamKeyTable()) + paramsKeeper.Subspace(crisistypes.ModuleName) + paramsKeeper.Subspace(ibctransfertypes.ModuleName) + paramsKeeper.Subspace(ibchost.ModuleName) + paramsKeeper.Subspace(icacontrollertypes.SubModuleName) + paramsKeeper.Subspace(icahosttypes.SubModuleName) + paramsKeeper.Subspace(wasm.ModuleName) + paramsKeeper.Subspace(icqtypes.ModuleName) + paramsKeeper.Subspace(packetforwardtypes.ModuleName).WithKeyTable(packetforwardtypes.ParamKeyTable()) + // init params keeper and subspaces (for custom ixo modules) + paramsKeeper.Subspace(iidtypes.ModuleName) + paramsKeeper.Subspace(bondstypes.ModuleName) + paramsKeeper.Subspace(entitytypes.ModuleName) + paramsKeeper.Subspace(tokentypes.ModuleName) + paramsKeeper.Subspace(claimsmoduletypes.ModuleName) + + return paramsKeeper +} + +// SetupHooks sets up hooks for modules. +func (appKeepers *AppKeepers) SetupHooks() { + // For every module that has hooks set on it, + // you must check InitKeepers to ensure that it is passed by reference + + appKeepers.StakingKeeper.SetHooks( + stakingtypes.NewMultiStakingHooks( + appKeepers.DistrKeeper.Hooks(), + appKeepers.SlashingKeeper.Hooks(), + ), + ) + + appKeepers.GovKeeper.SetHooks( + govtypes.NewMultiGovHooks( + // insert governance hooks receivers here + ), + ) +} diff --git a/app/keepers/keys.go b/app/keepers/keys.go new file mode 100644 index 00000000..4b1e058c --- /dev/null +++ b/app/keepers/keys.go @@ -0,0 +1,121 @@ +package keepers + +import ( + // Wasmd + "github.com/CosmWasm/wasmd/x/wasm" + + // Cosmos SDK + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" + "github.com/cosmos/cosmos-sdk/x/feegrant" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + + // ICA + icqtypes "github.com/cosmos/ibc-apps/modules/async-icq/v4/types" + icacontrollertypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types" + icahosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types" + intertxtypes "github.com/cosmos/interchain-accounts/x/inter-tx/types" + + // IBC + ibcfeetypes "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types" + ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" + ibchost "github.com/cosmos/ibc-go/v4/modules/core/24-host" + packetforwardtypes "github.com/strangelove-ventures/packet-forward-middleware/v4/router/types" + + // Local + bondstypes "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + claimsmoduletypes "github.com/ixofoundation/ixo-blockchain/x/claims/types" + entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + tokentypes "github.com/ixofoundation/ixo-blockchain/x/token/types" +) + +func (appKeepers *AppKeepers) GenerateKeys() { + appKeepers.keys = sdk.NewKVStoreKeys( + // Standard Cosmos store keys + authtypes.StoreKey, + banktypes.StoreKey, + stakingtypes.StoreKey, + minttypes.StoreKey, + distrtypes.StoreKey, + slashingtypes.StoreKey, + govtypes.StoreKey, + paramstypes.StoreKey, + ibchost.StoreKey, + upgradetypes.StoreKey, + evidencetypes.StoreKey, + ibctransfertypes.StoreKey, + capabilitytypes.StoreKey, + authzkeeper.StoreKey, + feegrant.StoreKey, + wasm.StoreKey, + icahosttypes.StoreKey, + icacontrollertypes.StoreKey, + intertxtypes.StoreKey, + ibcfeetypes.StoreKey, + icqtypes.StoreKey, + packetforwardtypes.StoreKey, + + // Custom ixo store keys + iidtypes.StoreKey, + bondstypes.StoreKey, + entitytypes.StoreKey, + tokentypes.StoreKey, + claimsmoduletypes.StoreKey, + ) + + appKeepers.tkeys = sdk.NewTransientStoreKeys(paramstypes.TStoreKey) + appKeepers.memKeys = sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) +} + +// GetSubspace gets existing substore from keeper. +func (appKeepers *AppKeepers) GetSubspace(moduleName string) paramstypes.Subspace { + subspace, _ := appKeepers.ParamsKeeper.GetSubspace(moduleName) + return subspace +} + +// GetKVStoreKey gets KV Store keys. +func (appKeepers *AppKeepers) GetKVStoreKey() map[string]*sdk.KVStoreKey { + return appKeepers.keys +} + +// GetTransientStoreKey gets Transient Store keys. +func (appKeepers *AppKeepers) GetTransientStoreKey() map[string]*sdk.TransientStoreKey { + return appKeepers.tkeys +} + +// GetMemoryStoreKey get memory Store keys. +func (appKeepers *AppKeepers) GetMemoryStoreKey() map[string]*sdk.MemoryStoreKey { + return appKeepers.memKeys +} + +// GetKey returns the KVStoreKey for the provided store key. +// +// NOTE: This is solely to be used for testing purposes. +func (appKeepers *AppKeepers) GetKey(storeKey string) *sdk.KVStoreKey { + return appKeepers.keys[storeKey] +} + +// GetTKey returns the TransientStoreKey for the provided store key. +// +// NOTE: This is solely to be used for testing purposes. +func (appKeepers *AppKeepers) GetTKey(storeKey string) *sdk.TransientStoreKey { + return appKeepers.tkeys[storeKey] +} + +// GetMemKey returns the MemStoreKey for the provided mem key. +// +// NOTE: This is solely used for testing purposes. +func (appKeepers *AppKeepers) GetMemKey(storeKey string) *sdk.MemoryStoreKey { + return appKeepers.memKeys[storeKey] +} diff --git a/app/keepers/querier.go b/app/keepers/querier.go new file mode 100644 index 00000000..2f4ba318 --- /dev/null +++ b/app/keepers/querier.go @@ -0,0 +1,22 @@ +package keepers + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + abci "github.com/tendermint/tendermint/abci/types" +) + +// QuerierWrapper is a local wrapper around BaseApp that exports only the Queryable interface. +// This is used to pass the baseApp to Async ICQ without exposing all methods +type QuerierWrapper struct { + querier sdk.Queryable +} + +var _ sdk.Queryable = QuerierWrapper{} + +func NewQuerierWrapper(querier sdk.Queryable) QuerierWrapper { + return QuerierWrapper{querier: querier} +} + +func (q QuerierWrapper) Query(req abci.RequestQuery) abci.ResponseQuery { + return q.querier.Query(req) +} diff --git a/app/modules.go b/app/modules.go new file mode 100644 index 00000000..c3f8ee52 --- /dev/null +++ b/app/modules.go @@ -0,0 +1,352 @@ +package app + +import ( + "github.com/CosmWasm/wasmd/x/wasm" + wasmclient "github.com/CosmWasm/wasmd/x/wasm/client" + "github.com/cosmos/cosmos-sdk/types/module" + "github.com/cosmos/cosmos-sdk/x/auth" + authsims "github.com/cosmos/cosmos-sdk/x/auth/simulation" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + "github.com/cosmos/cosmos-sdk/x/auth/vesting" + vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" + "github.com/cosmos/cosmos-sdk/x/authz" + authzmodule "github.com/cosmos/cosmos-sdk/x/authz/module" + "github.com/cosmos/cosmos-sdk/x/bank" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/cosmos/cosmos-sdk/x/capability" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + "github.com/cosmos/cosmos-sdk/x/crisis" + crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" + distr "github.com/cosmos/cosmos-sdk/x/distribution" + distrclient "github.com/cosmos/cosmos-sdk/x/distribution/client" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + "github.com/cosmos/cosmos-sdk/x/evidence" + evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" + "github.com/cosmos/cosmos-sdk/x/feegrant" + feegrantmodule "github.com/cosmos/cosmos-sdk/x/feegrant/module" + "github.com/cosmos/cosmos-sdk/x/genutil" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/cosmos/cosmos-sdk/x/gov" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/cosmos/cosmos-sdk/x/mint" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + sdkparams "github.com/cosmos/cosmos-sdk/x/params" + paramsclient "github.com/cosmos/cosmos-sdk/x/params/client" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/cosmos/cosmos-sdk/x/slashing" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + "github.com/cosmos/cosmos-sdk/x/staking" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/cosmos/cosmos-sdk/x/upgrade" + upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + icq "github.com/cosmos/ibc-apps/modules/async-icq/v4" + icqtypes "github.com/cosmos/ibc-apps/modules/async-icq/v4/types" + ica "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts" + icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types" + ibcfee "github.com/cosmos/ibc-go/v4/modules/apps/29-fee" + ibcfeetypes "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types" + "github.com/cosmos/ibc-go/v4/modules/apps/transfer" + ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" + ibc "github.com/cosmos/ibc-go/v4/modules/core" + ibcclientclient "github.com/cosmos/ibc-go/v4/modules/core/02-client/client" + ibchost "github.com/cosmos/ibc-go/v4/modules/core/24-host" + intertx "github.com/cosmos/interchain-accounts/x/inter-tx" + intertxtypes "github.com/cosmos/interchain-accounts/x/inter-tx/types" + appparams "github.com/ixofoundation/ixo-blockchain/app/params" + "github.com/ixofoundation/ixo-blockchain/x/bonds" + bondstypes "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + claimsmodule "github.com/ixofoundation/ixo-blockchain/x/claims" + claimsmoduletypes "github.com/ixofoundation/ixo-blockchain/x/claims/types" + entitymodule "github.com/ixofoundation/ixo-blockchain/x/entity" + entityclient "github.com/ixofoundation/ixo-blockchain/x/entity/client" + entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" + iidmodule "github.com/ixofoundation/ixo-blockchain/x/iid" + iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + tokenmodule "github.com/ixofoundation/ixo-blockchain/x/token" + tokenclient "github.com/ixofoundation/ixo-blockchain/x/token/client" + tokentypes "github.com/ixofoundation/ixo-blockchain/x/token/types" + packetforward "github.com/strangelove-ventures/packet-forward-middleware/v4/router" + packetforwardtypes "github.com/strangelove-ventures/packet-forward-middleware/v4/router/types" +) + +// module account permissions +var maccPerms = map[string][]string{ + // Standard Cosmos module accounts + authtypes.FeeCollectorName: nil, + distrtypes.ModuleName: nil, + minttypes.ModuleName: {authtypes.Minter}, + stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking}, + stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, + govtypes.ModuleName: {authtypes.Burner}, + ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner}, + ibcfeetypes.ModuleName: nil, + icatypes.ModuleName: nil, + icqtypes.ModuleName: nil, + wasm.ModuleName: {authtypes.Burner}, + + // Custom ixo module accounts + bondstypes.BondsMintBurnAccount: {authtypes.Minter, authtypes.Burner}, + bondstypes.BatchesIntermediaryAccount: nil, + bondstypes.BondsReserveAccount: nil, +} + +// ModuleBasics defines the module BasicManager is in charge of setting up basic, +// non-dependant module elements, such as codec registration +// and genesis verification. +var ModuleBasics = module.NewBasicManager( + // Standard Cosmos modules + auth.AppModuleBasic{}, + genutil.AppModuleBasic{}, + authzmodule.AppModuleBasic{}, + bank.AppModuleBasic{}, + capability.AppModuleBasic{}, + staking.AppModuleBasic{}, + mint.AppModuleBasic{}, + distr.AppModuleBasic{}, + sdkparams.AppModuleBasic{}, + crisis.AppModuleBasic{}, + slashing.AppModuleBasic{}, + ibc.AppModuleBasic{}, + upgrade.AppModuleBasic{}, + evidence.AppModuleBasic{}, + transfer.AppModuleBasic{}, + vesting.AppModuleBasic{}, + feegrantmodule.AppModuleBasic{}, + gov.NewAppModuleBasic( + append( + wasmclient.ProposalHandlers, + paramsclient.ProposalHandler, + distrclient.ProposalHandler, + upgradeclient.ProposalHandler, + upgradeclient.CancelProposalHandler, + entityclient.ProposalHandler, + tokenclient.ProposalHandler, + ibcclientclient.UpdateClientProposalHandler, + ibcclientclient.UpgradeProposalHandler, + )..., + ), + wasm.AppModuleBasic{}, + ica.AppModuleBasic{}, + intertx.AppModuleBasic{}, + ibcfee.AppModuleBasic{}, + icq.AppModuleBasic{}, + packetforward.AppModuleBasic{}, + + // Custom ixo modules + iidmodule.AppModuleBasic{}, + bonds.AppModuleBasic{}, + entitymodule.AppModuleBasic{}, + tokenmodule.AppModuleBasic{}, + claimsmodule.AppModuleBasic{}, +) + +// appModules return modules to initialize module manager. +func appModules( + app *IxoApp, + encodingConfig appparams.EncodingConfig, + skipGenesisInvariants bool, +) []module.AppModule { + appCodec := encodingConfig.Marshaler + + return []module.AppModule{ + // Standard Cosmos AppModules + genutil.NewAppModule( + app.AccountKeeper, app.StakingKeeper, app.BaseApp.DeliverTx, + encodingConfig.TxConfig, + ), + auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts), + vesting.NewAppModule(app.AccountKeeper, app.BankKeeper), + bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper), + capability.NewAppModule(appCodec, *app.CapabilityKeeper), + crisis.NewAppModule(&app.CrisisKeeper, skipGenesisInvariants), + gov.NewAppModule(appCodec, *app.GovKeeper, app.AccountKeeper, app.BankKeeper), + mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper), + slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), + distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), + staking.NewAppModule(appCodec, *app.StakingKeeper, app.AccountKeeper, app.BankKeeper), + upgrade.NewAppModule(app.UpgradeKeeper), + wasm.NewAppModule(appCodec, &app.WasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper), + evidence.NewAppModule(app.EvidenceKeeper), + ibc.NewAppModule(app.IBCKeeper), + ica.NewAppModule(&app.ICAControllerKeeper, &app.ICAHostKeeper), + intertx.NewAppModule(appCodec, app.InterTxKeeper), + sdkparams.NewAppModule(app.ParamsKeeper), + feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry), + authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), + transfer.NewAppModule(app.TransferKeeper), + ibcfee.NewAppModule(app.IBCFeeKeeper), + packetforward.NewAppModule(app.PacketForwardKeeper), + icq.NewAppModule(*app.ICQKeeper), + + // Custom ixo AppModules + iidmodule.NewAppModule(app.appCodec, app.IidKeeper), + bonds.NewAppModule(app.BondsKeeper, app.AccountKeeper), + entitymodule.NewAppModule(app.EntityKeeper), + tokenmodule.NewAppModule(app.TokenKeeper), + claimsmodule.NewAppModule(app.ClaimsKeeper), + } +} + +// simulationModules returns modules for simulation manager +// define the order of the modules for deterministic simulationss +func simulationModules( + app *IxoApp, + encodingConfig appparams.EncodingConfig, + _ bool, +) []module.AppModuleSimulation { + appCodec := encodingConfig.Marshaler + + return []module.AppModuleSimulation{ + auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts), + bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper), + capability.NewAppModule(appCodec, *app.CapabilityKeeper), + gov.NewAppModule(appCodec, *app.GovKeeper, app.AccountKeeper, app.BankKeeper), + mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper), + staking.NewAppModule(appCodec, *app.StakingKeeper, app.AccountKeeper, app.BankKeeper), + distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), + slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), + sdkparams.NewAppModule(app.ParamsKeeper), + wasm.NewAppModule(appCodec, &app.WasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper), + authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), + evidence.NewAppModule(app.EvidenceKeeper), + ibc.NewAppModule(app.IBCKeeper), + feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry), + transfer.NewAppModule(app.AppKeepers.TransferKeeper), + } +} + +// orderBeginBlockers returns the order of BeginBlockers, by module name. +func orderBeginBlockers() []string { + // During begin block slashing happens after distr.BeginBlocker so that + // there is nothing left over in the validator fee pool, so as to keep the + // CanWithdrawInvariant invariant. + // NOTE: staking module is required if HistoricalEntries param > 0 + return []string{ + // Standard Cosmos modules + // Upgrades should be run VERY first + upgradetypes.ModuleName, + minttypes.ModuleName, + // Next 4 is Staking ordering + distrtypes.ModuleName, + slashingtypes.ModuleName, + evidencetypes.ModuleName, + stakingtypes.ModuleName, + ibchost.ModuleName, + banktypes.ModuleName, + genutiltypes.ModuleName, + crisistypes.ModuleName, + paramstypes.ModuleName, + authtypes.ModuleName, + capabilitytypes.ModuleName, + govtypes.ModuleName, + ibctransfertypes.ModuleName, + vestingtypes.ModuleName, + authz.ModuleName, + feegrant.ModuleName, + icatypes.ModuleName, + ibcfeetypes.ModuleName, + intertxtypes.ModuleName, + wasm.ModuleName, + packetforwardtypes.ModuleName, + icqtypes.ModuleName, + + // Custom ixo modules + bondstypes.ModuleName, + iidtypes.ModuleName, + entitytypes.ModuleName, + tokentypes.ModuleName, + claimsmoduletypes.ModuleName, + } +} + +// orderEndBlockers returns EndBlockers (crisis, govtypes, staking) with no relative order. +func orderEndBlockers() []string { + return []string{ + // Standard Cosmos modules + crisistypes.ModuleName, + // Staking must be after gov. + govtypes.ModuleName, + stakingtypes.ModuleName, + distrtypes.ModuleName, + evidencetypes.ModuleName, + banktypes.ModuleName, + upgradetypes.ModuleName, + ibchost.ModuleName, + paramstypes.ModuleName, + authtypes.ModuleName, + minttypes.ModuleName, + genutiltypes.ModuleName, + vestingtypes.ModuleName, + capabilitytypes.ModuleName, + slashingtypes.ModuleName, + ibctransfertypes.ModuleName, + authz.ModuleName, + feegrant.ModuleName, + icatypes.ModuleName, + ibcfeetypes.ModuleName, + intertxtypes.ModuleName, + wasm.ModuleName, + packetforwardtypes.ModuleName, + icqtypes.ModuleName, + + // Custom ixo modules + iidtypes.ModuleName, + entitytypes.ModuleName, + tokentypes.ModuleName, + bondstypes.ModuleName, + claimsmoduletypes.ModuleName, + } +} + +// orderInitGenesis returns module names in order for init genesis calls. +func orderInitBlockers() []string { + return []string{ + // Standard Cosmos modules + // Capability module must occur first so that it can initialize any capabilities + // so that other modules that want to create or claim capabilities afterwards in InitChain + // can do so safely. + capabilitytypes.ModuleName, + authtypes.ModuleName, + banktypes.ModuleName, + distrtypes.ModuleName, + stakingtypes.ModuleName, + slashingtypes.ModuleName, + govtypes.ModuleName, + minttypes.ModuleName, + crisistypes.ModuleName, + ibchost.ModuleName, + genutiltypes.ModuleName, + evidencetypes.ModuleName, + ibctransfertypes.ModuleName, + upgradetypes.ModuleName, + paramstypes.ModuleName, + vestingtypes.ModuleName, + authz.ModuleName, + feegrant.ModuleName, + icatypes.ModuleName, + ibcfeetypes.ModuleName, + intertxtypes.ModuleName, + // wasm after ibc transfer + wasm.ModuleName, + icqtypes.ModuleName, + packetforwardtypes.ModuleName, + + // Custom ixo modules + iidtypes.ModuleName, + bondstypes.ModuleName, + tokentypes.ModuleName, + entitytypes.ModuleName, + claimsmoduletypes.ModuleName, + } +} + +// ModuleAccountAddrs returns all the app's module account addresses. +func (app *IxoApp) ModuleAccountAddrs() map[string]bool { + modAccAddrs := make(map[string]bool) + for acc := range maccPerms { + modAccAddrs[authtypes.NewModuleAddress(acc).String()] = true + } + + return modAccAddrs +} diff --git a/app/params/config.go b/app/params/config.go new file mode 100644 index 00000000..14a6c2bd --- /dev/null +++ b/app/params/config.go @@ -0,0 +1,59 @@ +package params + +import ( + errorsmod "cosmossdk.io/errors" + "github.com/cosmos/cosmos-sdk/types/address" + + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +const ( + Bech32Prefix = "ixo" +) + +var ( + // Bech32PrefixAccAddr defines the Bech32 prefix of an account's address + Bech32PrefixAccAddr = Bech32Prefix + // Bech32PrefixAccPub defines the Bech32 prefix of an account's public key + Bech32PrefixAccPub = Bech32Prefix + sdk.PrefixPublic + // Bech32PrefixValAddr defines the Bech32 prefix of a validator's operator address + Bech32PrefixValAddr = Bech32Prefix + sdk.PrefixValidator + sdk.PrefixOperator + // Bech32PrefixValPub defines the Bech32 prefix of a validator's operator public key + Bech32PrefixValPub = Bech32Prefix + sdk.PrefixValidator + sdk.PrefixOperator + sdk.PrefixPublic + // Bech32PrefixConsAddr defines the Bech32 prefix of a consensus node address + Bech32PrefixConsAddr = Bech32Prefix + sdk.PrefixValidator + sdk.PrefixConsensus + // Bech32PrefixConsPub defines the Bech32 prefix of a consensus node public key + Bech32PrefixConsPub = Bech32Prefix + sdk.PrefixValidator + sdk.PrefixConsensus + sdk.PrefixPublic +) + +func init() { + SetAddressPrefixes() +} + +// SetAddressPrefixes builds the Config with Bech32 addressPrefix and publKeyPrefix for accounts, validators, and consensus nodes and verifies that addreeses have correct format. +func SetAddressPrefixes() { + config := sdk.GetConfig() + config.SetBech32PrefixForAccount(Bech32PrefixAccAddr, Bech32PrefixAccPub) + config.SetBech32PrefixForValidator(Bech32PrefixValAddr, Bech32PrefixValPub) + config.SetBech32PrefixForConsensusNode(Bech32PrefixConsAddr, Bech32PrefixConsPub) + + // This is copied from the cosmos sdk v0.43.0-beta1 + // source: https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-beta1/types/address.go#L141 + config.SetAddressVerifier(func(bytes []byte) error { + if len(bytes) == 0 { + return errorsmod.Wrap(sdkerrors.ErrUnknownAddress, "addresses cannot be empty") + } + + if len(bytes) > address.MaxAddrLen { + return errorsmod.Wrapf(sdkerrors.ErrUnknownAddress, "address max length is %d, got %d, %x", address.MaxAddrLen, len(bytes), bytes) + } + + // TODO: Do we want to allow addresses of lengths other than 20 and 32 bytes? + if len(bytes) != 20 && len(bytes) != 32 { + return errorsmod.Wrapf(sdkerrors.ErrUnknownAddress, "address length must be 20 or 32 bytes, got %d, %x", len(bytes), bytes) + } + + return nil + }) +} diff --git a/app/upgrades/types.go b/app/upgrades/types.go new file mode 100644 index 00000000..ac861a2a --- /dev/null +++ b/app/upgrades/types.go @@ -0,0 +1,45 @@ +package upgrades + +import ( + store "github.com/cosmos/cosmos-sdk/store/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + "github.com/ixofoundation/ixo-blockchain/app/keepers" +) + +// Upgrade defines a struct containing necessary fields that a +// SoftwareUpgradeProposal must have written, in order for the state migration +// to go smoothly. +// +// An upgrade must implement this struct, and then set it in the app.go. +// The app.go will then define the handler. +type Upgrade struct { + // version name for the upgrade handler, e.g. `v7` + UpgradeName string + + // CreateUpgradeHandler defines the function that creates an upgrade handler + CreateUpgradeHandler func(*module.Manager, module.Configurator, *keepers.AppKeepers) upgradetypes.UpgradeHandler + + // used for any new modules introduced, new modules deleted, or store names renamed + StoreUpgrades store.StoreUpgrades +} + +// Fork defines a struct containing the requisite fields for a non-software +// upgrade proposal Hard Fork at a given height to implement. +// +// There is one time code that can be added for the start of the Fork, in +// `BeginForkLogic`. +// +// Any other change in the code should be height-gated, if the goal is to have +// old and new binaries to be compatible prior to the upgrade height. +type Fork struct { + // version name for the upgrade handler, e.g. `v7` + UpgradeName string + + // height the upgrade occurs at + UpgradeHeight int64 + + // function that runs some custom state transition code at the beginning of a fork + BeginForkLogic func(ctx sdk.Context, keepers *keepers.AppKeepers) +} diff --git a/app/upgrades/v2/README.md b/app/upgrades/v2/README.md new file mode 100644 index 00000000..191ab712 --- /dev/null +++ b/app/upgrades/v2/README.md @@ -0,0 +1,3 @@ +# v2 + +In v2 upgrade diff --git a/app/upgrades/v2/constants.go b/app/upgrades/v2/constants.go new file mode 100644 index 00000000..66d56634 --- /dev/null +++ b/app/upgrades/v2/constants.go @@ -0,0 +1,24 @@ +package v2 + +import ( + "github.com/ixofoundation/ixo-blockchain/app/upgrades" + + store "github.com/cosmos/cosmos-sdk/store/types" + icqtypes "github.com/cosmos/ibc-apps/modules/async-icq/v4/types" + packetforwardtypes "github.com/strangelove-ventures/packet-forward-middleware/v4/router/types" +) + +// UpgradeName defines the on-chain upgrade name for the Ixo v2 upgrade. +const UpgradeName = "v2" + +var Upgrade = upgrades.Upgrade{ + UpgradeName: UpgradeName, + CreateUpgradeHandler: CreateUpgradeHandler, + StoreUpgrades: store.StoreUpgrades{ + Added: []string{ + icqtypes.StoreKey, + packetforwardtypes.StoreKey, + }, + Deleted: []string{}, + }, +} diff --git a/app/upgrades/v2/upgrades.go b/app/upgrades/v2/upgrades.go new file mode 100644 index 00000000..ba41296f --- /dev/null +++ b/app/upgrades/v2/upgrades.go @@ -0,0 +1,85 @@ +package v2 + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + icqkeeper "github.com/cosmos/ibc-apps/modules/async-icq/v4/keeper" + icqtypes "github.com/cosmos/ibc-apps/modules/async-icq/v4/types" + icahostkeeper "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/keeper" + icahosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types" + "github.com/ixofoundation/ixo-blockchain/app/keepers" + "github.com/ixofoundation/ixo-blockchain/wasmbinding" + packetforwardtypes "github.com/strangelove-ventures/packet-forward-middleware/v4/router/types" +) + +func CreateUpgradeHandler( + mm *module.Manager, + configurator module.Configurator, + keepers *keepers.AppKeepers, +) upgradetypes.UpgradeHandler { + return func(ctx sdk.Context, plan upgradetypes.Plan, _ module.VersionMap) (module.VersionMap, error) { + ctx.Logger().Info("🚀 executing Ixo v2 upgrade 🚀") + + // 1st-time running in-store migrations, setting fromVersion to + // avoid running InitGenesis and migrations. + fromVM := map[string]uint64{ + "auth": 2, + "authz": 1, + "bank": 2, + "bonds": 1, + "capability": 1, + "claims": 1, + "crisis": 1, + "distribution": 2, + "entity": 1, + "evidence": 1, + "feegrant": 1, + "feeibc": 1, + "genutil": 1, + "gov": 2, + "ibc": 2, + "iid": 1, + "interchainaccounts": 1, + "intertx": 1, + "mint": 1, + "params": 1, + "slashing": 2, + "staking": 2, + "token": 1, + "transfer": 2, + "upgrade": 1, + "vesting": 1, + "wasm": 2, + } + + // Run migrations before applying any other state changes. + migrations, err := mm.RunMigrations(ctx, configurator, fromVM) + + ctx.Logger().Info("set PacketForwardKeeper params") + keepers.PacketForwardKeeper.SetParams(ctx, packetforwardtypes.DefaultParams()) + + ctx.Logger().Info("set ICQKeeper params") + setICQParams(ctx, keepers.ICQKeeper) + + ctx.Logger().Info("update ICAHostKeeper params to allow all messages") + setICAHostParams(ctx, &keepers.ICAHostKeeper) + + return migrations, err + } +} + +func setICQParams(ctx sdk.Context, icqKeeper *icqkeeper.Keeper) { + icqparams := icqtypes.DefaultParams() + icqparams.AllowQueries = wasmbinding.GetStargateWhitelistedPaths() + // Adding SmartContractState query to allowlist + icqparams.AllowQueries = append(icqparams.AllowQueries, "/cosmwasm.wasm.v1.Query/SmartContractState") + icqKeeper.SetParams(ctx, icqparams) +} + +func setICAHostParams(ctx sdk.Context, icahostkeeper *icahostkeeper.Keeper) { + icahostkeeper.SetParams(ctx, icahosttypes.Params{ + HostEnabled: true, + AllowMessages: []string{"*"}, + }) +} diff --git a/cmd/ixod/cmd/genaccounts.go b/cmd/ixod/cmd/genaccounts.go index c9cf93a2..031d4e11 100644 --- a/cmd/ixod/cmd/genaccounts.go +++ b/cmd/ixod/cmd/genaccounts.go @@ -8,7 +8,6 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/cosmos/cosmos-sdk/server" sdk "github.com/cosmos/cosmos-sdk/types" @@ -39,8 +38,8 @@ contain valid denominations. Accounts may optionally be supplied with vesting pa Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { clientCtx := client.GetClientContextFromCmd(cmd) - depCdc := clientCtx.JSONCodec - cdc := depCdc.(codec.Codec) + depCdc := clientCtx.Codec + cdc := depCdc serverCtx := server.GetServerContextFromCmd(cmd) config := serverCtx.Config diff --git a/cmd/ixod/cmd/root.go b/cmd/ixod/cmd/root.go index 263fc278..48c90b14 100755 --- a/cmd/ixod/cmd/root.go +++ b/cmd/ixod/cmd/root.go @@ -8,15 +8,15 @@ import ( "github.com/CosmWasm/wasmd/x/wasm" wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" - "github.com/prometheus/client_golang/prometheus" - "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/config" "github.com/cosmos/cosmos-sdk/client/debug" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/keys" "github.com/cosmos/cosmos-sdk/client/rpc" "github.com/cosmos/cosmos-sdk/server" + serverconfig "github.com/cosmos/cosmos-sdk/server/config" servertypes "github.com/cosmos/cosmos-sdk/server/types" "github.com/cosmos/cosmos-sdk/snapshots" "github.com/cosmos/cosmos-sdk/store" @@ -28,6 +28,7 @@ import ( genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" "github.com/ixofoundation/ixo-blockchain/app" "github.com/ixofoundation/ixo-blockchain/app/params" + "github.com/prometheus/client_golang/prometheus" "github.com/spf13/cast" "github.com/spf13/cobra" tmcli "github.com/tendermint/tendermint/libs/cli" @@ -38,17 +39,10 @@ import ( // NewRootCmd creates a new root command for simd. It is called once in the // main function. func NewRootCmd() (*cobra.Command, params.EncodingConfig) { - encodingConfig := app.MakeTestEncodingConfig() - - // Read in the configuration file for the sdk - config := sdk.GetConfig() - config.SetBech32PrefixForAccount(app.Bech32PrefixAccAddr, app.Bech32PrefixAccPub) - config.SetBech32PrefixForValidator(app.Bech32PrefixValAddr, app.Bech32PrefixValPub) - config.SetBech32PrefixForConsensusNode(app.Bech32PrefixConsAddr, app.Bech32PrefixConsPub) - config.Seal() + encodingConfig := app.MakeEncodingConfig() initClientCtx := client.Context{}. - WithJSONCodec(encodingConfig.Marshaler). + WithCodec(encodingConfig.Marshaler). WithInterfaceRegistry(encodingConfig.InterfaceRegistry). WithTxConfig(encodingConfig.TxConfig). WithLegacyAmino(encodingConfig.Amino). @@ -56,10 +50,17 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) { WithAccountRetriever(types.AccountRetriever{}). WithBroadcastMode(flags.BroadcastBlock). WithHomeDir(app.DefaultNodeHome) + // TODO add on sdk upgrade + // WithViper("IXO") + + // TODO add .toml config file + // Allows you to add extra params to your client.toml + // gas, gas-price, gas-adjustment, fees, note, etc. + // SetCustomEnvVariablesFromClientToml(initClientCtx) rootCmd := &cobra.Command{ Use: "ixod", - Short: "ixod app", + Short: "Start ixo app", PersistentPreRunE: func(cmd *cobra.Command, _ []string) error { // set the default command outputs @@ -71,6 +72,7 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) { return err } + // TODO add on sdk upgrade // initClientCtx, err = config.ReadFromClientConfig(initClientCtx) // if err != nil { // return err @@ -80,16 +82,11 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) { return err } - // customAppTemplate, customAppConfig := initAppConfig() - - // return server.InterceptConfigsPreRunHandler(cmd, customAppTemplate, customAppConfig) - - // if err := client.SetCmdClientContextHandler(initClientCtx, cmd); err != nil { - // return err - // } + customAppTemplate, customAppConfig := initAppConfig() - return server.InterceptConfigsPreRunHandler(cmd, "", nil) + return server.InterceptConfigsPreRunHandler(cmd, customAppTemplate, customAppConfig) }, + SilenceUsage: true, } initRootCmd(rootCmd, encodingConfig) @@ -97,24 +94,50 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) { return rootCmd, encodingConfig } +// TODO add wasm config once upgraded wasmd +// initAppConfig helps to override default appConfig template and configs. +// return "", nil if no custom configuration is required for the application. +func initAppConfig() (string, interface{}) { + type CustomAppConfig struct { + serverconfig.Config + // Wasm wasmtypes.WasmConfig `mapstructure:"wasm"` + } + + // Optionally allow the chain developer to overwrite the SDK's default + // server config. + srvCfg := serverconfig.DefaultConfig() + srvCfg.MinGasPrices = "0uixo" + + customAppConfig := CustomAppConfig{ + Config: *srvCfg, + // Wasm: wasmtypes.DefaultWasmConfig(), + } + + // customAppTemplate := serverconfig.DefaultConfigTemplate + wasmtypes.DefaultConfigTemplate() + customAppTemplate := serverconfig.DefaultConfigTemplate + + return customAppTemplate, customAppConfig +} + +// initRootCmd initializes root commands when creating a new root command for simd. func initRootCmd(rootCmd *cobra.Command, encodingConfig params.EncodingConfig) { - // This was removed from COSMOS-SDK, I assume this gets injected somewhere else. For now leaving it in. - // authclient.Codec = encodingConfig.Marshaler + cfg := sdk.GetConfig() + cfg.Seal() rootCmd.AddCommand( genutilcli.InitCmd(app.ModuleBasics, app.DefaultNodeHome), genutilcli.CollectGenTxsCmd(banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), - genutilcli.MigrateGenesisCmd(), //TODO create a custom function which calls our genesis migrating script to also migrate ixo specific modules + genutilcli.MigrateGenesisCmd(), genutilcli.GenTxCmd(app.ModuleBasics, encodingConfig.TxConfig, banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), - ValidateGenesisCmd(app.ModuleBasics), //, encodingConfig.TxConfig), + genutilcli.ValidateGenesisCmd(app.ModuleBasics), AddGenesisAccountCmd(app.DefaultNodeHome), tmcli.NewCompletionCmd(rootCmd, true), testnetCmd(app.ModuleBasics, banktypes.GenesisBalancesIterator{}), debug.Cmd(), + config.Cmd(), ) - a := appCreator{encodingConfig} - server.AddCommands(rootCmd, app.DefaultNodeHome, a.newApp, a.appExport, addModuleInitFlags) + server.AddCommands(rootCmd, app.DefaultNodeHome, newApp, appExport, addModuleInitFlags) // add keybase, auxiliary RPC, query, and tx child commands rootCmd.AddCommand( @@ -125,6 +148,17 @@ func initRootCmd(rootCmd *cobra.Command, encodingConfig params.EncodingConfig) { ) } +// TODO use below after sdk upgrade +// genesisCommand builds genesis-related `simd genesis` command. Users may provide application specific commands as a parameter +// func genesisCommand(encodingConfig params.EncodingConfig, cmds ...*cobra.Command) *cobra.Command { +// cmd := genutilcli.GenesisCoreCommand(encodingConfig.TxConfig, app.ModuleBasics, app.DefaultNodeHome) + +// for _, subCmd := range cmds { +// cmd.AddCommand(subCmd) +// } +// return cmd +// } + func addModuleInitFlags(startCmd *cobra.Command) { crisis.AddModuleInitFlags(startCmd) } @@ -180,12 +214,8 @@ func txCommand() *cobra.Command { return cmd } -type appCreator struct { - encCfg params.EncodingConfig -} - -// newApp is an AppCreator -func (a appCreator) newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts servertypes.AppOptions) servertypes.Application { +// newApp initializes and returns a new ixo app. +func newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts servertypes.AppOptions) servertypes.Application { var cache sdk.MultiStorePersistentCache if cast.ToBool(appOpts.Get(server.FlagInterBlockCache)) { @@ -201,6 +231,8 @@ func (a appCreator) newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, a if err != nil { panic(err) } + + // TODO change to data but have to inform validators snapshotDir := filepath.Join(cast.ToString(appOpts.Get(flags.FlagHome)), "iid", "snapshots") snapshotDB, err := sdk.NewLevelDB("metadata", snapshotDir) if err != nil { @@ -210,6 +242,7 @@ func (a appCreator) newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, a if err != nil { panic(err) } + var wasmOpts []wasm.Option if cast.ToBool(appOpts.Get("telemetry.enabled")) { wasmOpts = append(wasmOpts, wasmkeeper.WithVMCacheMetrics(prometheus.DefaultRegisterer)) @@ -218,8 +251,6 @@ func (a appCreator) newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, a return app.NewIxoApp(logger, db, traceStore, true, skipUpgradeHeights, cast.ToString(appOpts.Get(flags.FlagHome)), cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)), - app.MakeTestEncodingConfig(), // Ideally, we would reuse the one created by NewRootCmd.) - app.GetEnabledProposals(), appOpts, wasmOpts, baseapp.SetPruning(pruningOpts), @@ -236,30 +267,23 @@ func (a appCreator) newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, a ) } -func (a appCreator) appExport( +// appExport creates and exports the new ixo app, returns the state of the new ixo app for a genesis file. +func appExport( logger log.Logger, db dbm.DB, traceStore io.Writer, height int64, forZeroHeight bool, jailAllowedAddrs []string, appOpts servertypes.AppOptions) (servertypes.ExportedApp, error) { - - //encCfg := app.MakeTestEncodingConfig() // Ideally, we would reuse the one created by NewRootCmd. - //encCfg.Marshaler = codec.NewProtoCodec(encCfg.InterfaceRegistry) homePath, ok := appOpts.Get(flags.FlagHome).(string) if !ok || homePath == "" { return servertypes.ExportedApp{}, errors.New("application home not set") } - //var ixoApp *app.ixoApp - var emptyWasmOpts []wasm.Option - if height != -1 { - ixoApp := app.NewIxoApp(logger, db, traceStore, false, map[int64]bool{}, homePath, uint(1), a.encCfg, app.GetEnabledProposals(), appOpts, emptyWasmOpts) + loadLatest := height == -1 + ixoApp := app.NewIxoApp(logger, db, traceStore, loadLatest, map[int64]bool{}, homePath, uint(1), appOpts, []wasm.Option{}) + if !loadLatest { if err := ixoApp.LoadHeight(height); err != nil { return servertypes.ExportedApp{}, err } - - return ixoApp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs) - } else { - ixoApp := app.NewIxoApp(logger, db, traceStore, true, map[int64]bool{}, homePath, uint(1), a.encCfg, app.GetEnabledProposals(), appOpts, emptyWasmOpts) - - return ixoApp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs) } + + return ixoApp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs) } diff --git a/cmd/ixod/cmd/testnet.go b/cmd/ixod/cmd/testnet.go index 36542693..08869ed5 100644 --- a/cmd/ixod/cmd/testnet.go +++ b/cmd/ixod/cmd/testnet.go @@ -265,11 +265,11 @@ func initGenFiles( genFiles []string, numValidators int, ) error { - appGenState := mbm.DefaultGenesis(clientCtx.JSONCodec) + appGenState := mbm.DefaultGenesis(clientCtx.Codec) // set the accounts in the genesis state var authGenState authtypes.GenesisState - clientCtx.JSONCodec.MustUnmarshalJSON(appGenState[authtypes.ModuleName], &authGenState) + clientCtx.Codec.MustUnmarshalJSON(appGenState[authtypes.ModuleName], &authGenState) accounts, err := authtypes.PackAccounts(genAccounts) if err != nil { @@ -277,14 +277,14 @@ func initGenFiles( } authGenState.Accounts = accounts - appGenState[authtypes.ModuleName] = clientCtx.JSONCodec.MustMarshalJSON(&authGenState) + appGenState[authtypes.ModuleName] = clientCtx.Codec.MustMarshalJSON(&authGenState) // set the balances in the genesis state var bankGenState banktypes.GenesisState - clientCtx.JSONCodec.MustUnmarshalJSON(appGenState[banktypes.ModuleName], &bankGenState) + clientCtx.Codec.MustUnmarshalJSON(appGenState[banktypes.ModuleName], &bankGenState) bankGenState.Balances = genBalances - appGenState[banktypes.ModuleName] = clientCtx.JSONCodec.MustMarshalJSON(&bankGenState) + appGenState[banktypes.ModuleName] = clientCtx.Codec.MustMarshalJSON(&bankGenState) appGenStateJSON, err := json.MarshalIndent(appGenState, "", " ") if err != nil { @@ -331,7 +331,7 @@ func collectGenFiles( return err } - nodeAppState, err := genutil.GenAppStateFromConfig(clientCtx.JSONCodec, clientCtx.TxConfig, nodeConfig, initCfg, *genDoc, genBalIterator) + nodeAppState, err := genutil.GenAppStateFromConfig(clientCtx.Codec, clientCtx.TxConfig, nodeConfig, initCfg, *genDoc, genBalIterator) if err != nil { return err } diff --git a/cmd/ixod/cmd/validate_genesis_ixo.go b/cmd/ixod/cmd/validate_genesis_ixo.go deleted file mode 100644 index 7b3098c5..00000000 --- a/cmd/ixod/cmd/validate_genesis_ixo.go +++ /dev/null @@ -1,81 +0,0 @@ -package cmd - -import ( - "encoding/json" - "fmt" - "runtime/debug" - - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/server" - "github.com/cosmos/cosmos-sdk/types/module" - "github.com/spf13/cobra" - - tmtypes "github.com/tendermint/tendermint/types" -) - -const chainUpgradeGuide = "https://docs.cosmos.network/master/migrations/chain-upgrade-guide-040.html" - -func ValidateGenesisCmd(mbm module.BasicManager) *cobra.Command { - return &cobra.Command{ - Use: "validate-genesis [file]", - Args: cobra.RangeArgs(0, 1), - Short: "validates the genesis file at the default location or at the location passed as an arg", - RunE: func(cmd *cobra.Command, args []string) (err error) { - serverCtx := server.GetServerContextFromCmd(cmd) - clientCtx := client.GetClientContextFromCmd(cmd) - - cdc := clientCtx.Codec - - // Load default if passed no args, otherwise load passed file - var genesis string - if len(args) == 0 { - genesis = serverCtx.Config.GenesisFile() - } else { - genesis = args[0] - } - - genDoc, err := validateGenDoc(genesis) - if err != nil { - debug.PrintStack() - return err - } - - var genState map[string]json.RawMessage - if err = json.Unmarshal(genDoc.AppState, &genState); err != nil { - debug.PrintStack() - return fmt.Errorf("error unmarshalling genesis doc %s: %s", genesis, err.Error()) - } - - for _, b := range mbm { - if err := b.ValidateGenesis(cdc, clientCtx.TxConfig, genState[b.Name()]); err != nil { - debug.PrintStack() - return fmt.Errorf("error validating genesis file %s: %s", genesis, err.Error()) - } - } - - // if err = mbm.ValidateGenesis(cdc, clientCtx.TxConfig, genState); err != nil { - // debug.PrintStack() - // return fmt.Errorf("error validating genesis file %s: %s", genesis, err.Error()) - // } - - fmt.Printf("File at %s is a valid genesis file\n", genesis) - return nil - }, - } -} - -// validateGenDoc reads a genesis file and validates that it is a correct -// Tendermint GenesisDoc. This function does not do any cosmos-related -// validation. -func validateGenDoc(importGenesisFile string) (*tmtypes.GenesisDoc, error) { - genDoc, err := tmtypes.GenesisDocFromFile(importGenesisFile) - if err != nil { - return nil, fmt.Errorf("%s. Make sure that"+ - " you have correctly migrated all Tendermint consensus params, please see the"+ - " chain migration guide at %s for more info", - err.Error(), chainUpgradeGuide, - ) - } - - return genDoc, nil -} diff --git a/cmd/ixod/main.go b/cmd/ixod/main.go index 120f2dd0..13cea935 100644 --- a/cmd/ixod/main.go +++ b/cmd/ixod/main.go @@ -3,6 +3,7 @@ package main import ( "os" + "github.com/ixofoundation/ixo-blockchain/app/params" "github.com/ixofoundation/ixo-blockchain/cmd/ixod/cmd" "github.com/cosmos/cosmos-sdk/server" @@ -11,6 +12,7 @@ import ( ) func main() { + params.SetAddressPrefixes() rootCmd, _ := cmd.NewRootCmd() if err := svrcmd.Execute(rootCmd, app.DefaultNodeHome); err != nil { switch e := err.(type) { diff --git a/commitlint.config.js b/commitlint.config.js index 5e6f4e68..60d5c0f5 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,30 +1,29 @@ const Configuration = { - /* - * Resolve and load @commitlint/config-conventional from node_modules. - * Referenced packages must be installed - */ - extends: ['@commitlint/config-conventional'], - /* - * Any rules defined here will override rules from @commitlint/config-conventional - */ - rules: { - 'type-enum': [2, 'always', ['feat', 'patch', 'refactor', 'ops', 'docs', 'upgrade']], - 'scope-empty': [2, 'never'], - 'header-max-length': [2, 'always', 120], - }, - /* - * Functions that return true if commitlint should ignore the given message. - */ - // ignores: [(commit) => commit === ''], - /* - * Whether commitlint uses the default ignore rules. - */ - defaultIgnores: true, - /* - * Custom URL to show upon failure - */ - helpUrl: - 'https://github.com/conventional-changelog/commitlint/#what-is-commitlint', - }; - - module.exports = Configuration; \ No newline at end of file + /* + * Resolve and load @commitlint/config-conventional from node_modules. + * Referenced packages must be installed + */ + extends: ['@commitlint/config-conventional'], + /* + * Any rules defined here will override rules from @commitlint/config-conventional + */ + rules: { + 'type-enum': [2, 'always', ['feat', 'fix', 'patch', 'style', 'test', 'refactor', 'ops', 'docs', 'upgrade', 'chore', 'revert']], + 'scope-empty': [2, 'never'], + 'header-max-length': [2, 'always', 120], + }, + /* + * Functions that return true if commitlint should ignore the given message. + */ + // ignores: [(commit) => commit === ''], + /* + * Whether commitlint uses the default ignore rules. + */ + defaultIgnores: true, + /* + * Custom URL to show upon failure + */ + helpUrl: 'https://github.com/conventional-changelog/commitlint/#what-is-commitlint', +}; + +module.exports = Configuration; diff --git a/config.yml b/config.yml deleted file mode 100644 index 7840b518..00000000 --- a/config.yml +++ /dev/null @@ -1,24 +0,0 @@ -accounts: - - name: alice - coins: [ "1000000000uixo" ] - mnemonic: clutch script morning bacon knock unique impact update aisle morning okay outer witness liquid ordinary direct mention dove arrow witness speed satisfy work any - # address: ixo1gp04jgaqvpa5pwndra6a78e05glgllw99k74mm - - name: bob - coins: [ "1000000000uixo" ] - mnemonic: salmon vivid library slow organ flag card check moment venture hip album vehicle write curtain often inquiry bid oven charge catch erosion voice unfold - # address: ixo1ra5anxz5tpvll3td822ecf7v4aa88at3nd339j -validator: - name: alice - staked: "100000000uixo" -init: - app: - minimum-gas-prices: "0.025uixo" -genesis: - chain_id: "pandora-4" - app_state: - staking: - params: - bond_denom: "uixo" -build: - main: cmd/ixod - bindary: ixod \ No newline at end of file diff --git a/docs/SNAPSHOT.md b/docs/SNAPSHOT.md new file mode 100644 index 00000000..a4ac0b44 --- /dev/null +++ b/docs/SNAPSHOT.md @@ -0,0 +1,38 @@ +## Download latest snapshot + +### 1. Stop the validator + +```bash +systemctl stop ixod +``` + +### 2. Backup validator state + +If you are already running a validator, be sure you backed up your priv_validator_key.json prior to removing your current data or getting the new snapshot. + +``` +cp ~/.ixod/data/priv_validator_state.json ~/ +``` + +### 3. Remove old data in directory `~/.ixod/data` + +```bash +rm -rf ~/.ixod/data; \ + +mkdir -p ~/.ixod/data; \ +cd ~/.ixod/data +``` + +### 4. Download snapshot + +```bash +SNAP_NAME=$(curl -s https://snapshots.stake2.me/ixo/ | egrep -o ">ixo.*tar" | tr -d ">" | tail -n1); \ +wget -O - https://snapshots.stake2.me/ixo/${SNAP_NAME} | tar xf - +``` + +### 5. Start service and check logs + +```bash +systemctl start ixod; \ +journalctl -u ixod -f --no-hostname +``` diff --git a/docs/core/proto-docs.html b/docs/core/proto-docs.html index 9fa416e8..7541261f 100644 --- a/docs/core/proto-docs.html +++ b/docs/core/proto-docs.html @@ -217,6 +217,77 @@

Table of Contents

+ + + + +
  • + ixo/bonds/v1beta1/event.proto +
  • @@ -1793,112 +1864,682 @@

    Bond

    - max_supply - cosmos.base.v1beta1.Coin + max_supply + cosmos.base.v1beta1.Coin + +

    + + + + order_quantity_limits + cosmos.base.v1beta1.Coin + repeated +

    + + + + sanity_rate + string + +

    + + + + sanity_margin_percentage + string + +

    + + + + current_supply + cosmos.base.v1beta1.Coin + +

    + + + + current_reserve + cosmos.base.v1beta1.Coin + repeated +

    + + + + available_reserve + cosmos.base.v1beta1.Coin + repeated +

    + + + + current_outcome_payment_reserve + cosmos.base.v1beta1.Coin + repeated +

    + + + + allow_sells + bool + +

    + + + + allow_reserve_withdrawals + bool + +

    + + + + alpha_bond + bool + +

    + + + + batch_blocks + string + +

    + + + + outcome_payment + string + +

    + + + + state + string + +

    + + + + bond_did + string + +

    + + + + oracle_did + string + +

    + + + + + + + + + +

    BondDetails

    +

    BondDetails contains details about the current state of a given bond.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    bond_didstring

    spot_pricecosmos.base.v1beta1.DecCoinrepeated

    supplycosmos.base.v1beta1.Coin

    reservecosmos.base.v1beta1.Coinrepeated

    + + + + + +

    BuyOrder

    +

    BuyOrder defines a type for submitting a buy order on a bond, together with

    the maximum amount of reserve tokens the buyer is willing to pay.

    + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    base_orderBaseOrder

    max_pricescosmos.base.v1beta1.Coinrepeated

    + + + + + +

    FunctionParam

    +

    FunctionParam is a key-value pair used for specifying a specific bond

    parameter.

    + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    paramstring

    valuestring

    + + + + + +

    Params

    +

    Params defines the parameters for the bonds module.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    reserved_bond_tokensstringrepeated

    + + + + + +

    SellOrder

    +

    SellOrder defines a type for submitting a sell order on a bond.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    base_orderBaseOrder

    + + + + + +

    SwapOrder

    +

    SwapOrder defines a type for submitting a swap order between two tokens on a

    bond.

    + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    base_orderBaseOrder

    to_tokenstring

    + + + + + + + + + + + + + +
    +

    ixo/bonds/v1beta1/event.proto

    Top +
    +

    + + +

    BondBuyOrderCancelledEvent

    +

    BondBuyOrderCancelledEvent is an event triggered on a Bond buy order

    cancellation

    + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    bond_didstring

    orderBuyOrder

    + + + + + +

    BondBuyOrderEvent

    +

    BondBuyOrderEvent is an event triggered on a Bond buy order

    + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    orderBuyOrder

    bond_didstring

    + + + + + +

    BondBuyOrderFulfilledEvent

    +

    BondBuyOrderFulfilledEvent is an event triggered on a Bond buy order

    fullfillment

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    bond_didstring

    orderBuyOrder

    charged_pricescosmos.base.v1beta1.Coinrepeated

    charged_feescosmos.base.v1beta1.Coinrepeated

    returned_to_addresscosmos.base.v1beta1.Coinrepeated

    new_bond_token_balancestring

    charged_prices_of_which_reservestring

    charged_prices_of_which_fundingcosmos.base.v1beta1.Coinrepeated

    + + + + + +

    BondCreatedEvent

    +

    BondCreatedEvent is an event triggered on a Bond creation

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    bondBond

    + + + + + +

    BondEditAlphaFailedEvent

    +

    BondEditAlphaFailedEvent is an event triggered on a failed attempt to edit of

    Bond alpha value

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    bond_didstring

    tokenstring

    cancel_reasonstring

    + + + + + +

    BondEditAlphaSuccessEvent

    +

    BondEditAlphaSuccessEvent is an event triggered on a successful edit of Bond

    alpha value

    + + + + + + + + - - - + + + - + - + - - + + + +
    FieldTypeLabelDescription
    order_quantity_limitscosmos.base.v1beta1.Coinrepeatedbond_didstring

    sanity_ratetoken string

    sanity_margin_percentagepublic_alpha string

    current_supplycosmos.base.v1beta1.Coinsystem_alphastring

    + + + + + +

    BondMakeOutcomePaymentEvent

    +

    BondMakeOutcomePaymentEvent is an event triggered on a Bond make outcome

    payment

    + + + + + + + + - - - + + + - + - - - + + + - - + + + +
    FieldTypeLabelDescription
    current_reservecosmos.base.v1beta1.Coinrepeatedbond_didstring

    available_reserveoutcome_payment cosmos.base.v1beta1.Coin repeated

    current_outcome_payment_reservecosmos.base.v1beta1.Coinrepeatedsender_didstring

    allow_sellsboolsender_addressstring

    + + + + + +

    BondSellOrderEvent

    +

    BondSellOrderEvent is an event triggered on a Bond sell order

    + + + + + + + + - - + + - - + + + +
    FieldTypeLabelDescription
    allow_reserve_withdrawalsboolorderSellOrder

    alpha_bondboolbond_didstring

    + + + + + +

    BondSellOrderFulfilledEvent

    +

    BondSellOrderFulfilledEvent is an event triggered on a Bond sell order

    fullfillment

    + + + + + + + + - + - - + + - - - + + + - - - + + + - + @@ -1911,8 +2552,8 @@

    Bond

    -

    BondDetails

    -

    BondDetails contains details about the current state of a given bond.

    +

    BondSetNextAlphaEvent

    +

    BondSetNextAlphaEvent is an event triggered when next batch alpha is set

    FieldTypeLabelDescription
    batch_blocksbond_did string

    outcome_paymentstringorderSellOrder

    statestringcharged_feescosmos.base.v1beta1.Coinrepeated

    bond_didstringreturned_to_addresscosmos.base.v1beta1.Coinrepeated

    oracle_didnew_bond_token_balance string

    @@ -1929,23 +2570,16 @@

    BondDetails

    - - - - - - - - - + + - - - + + + @@ -1956,8 +2590,8 @@

    BondDetails

    -

    BuyOrder

    -

    BuyOrder defines a type for submitting a buy order on a bond, together with

    the maximum amount of reserve tokens the buyer is willing to pay.

    +

    BondSwapOrderEvent

    +

    BondSwapOrderEvent is an event triggered on a Bond swap order

    spot_pricecosmos.base.v1beta1.DecCoinrepeated

    supplycosmos.base.v1beta1.Coinnext_alphastring

    reservecosmos.base.v1beta1.Coinrepeatedsignerstring

    @@ -1967,16 +2601,16 @@

    BuyOrder

    - - + + - - - + + + @@ -1987,8 +2621,8 @@

    BuyOrder

    -

    FunctionParam

    -

    FunctionParam is a key-value pair used for specifying a specific bond

    parameter.

    +

    BondSwapOrderFulfilledEvent

    +

    BondSwapOrderFulfilledEvent is an event triggered on a Bond swap order

    fullfillment

    base_orderBaseOrderorderSwapOrder

    max_pricescosmos.base.v1beta1.Coinrepeatedbond_didstring

    @@ -1998,15 +2632,36 @@

    FunctionParam

    - + - - + + + + + + + + + + + + + + + + + + + + + + + @@ -2018,8 +2673,8 @@

    FunctionParam

    -

    Params

    -

    Params defines the parameters for the bonds module.

    +

    BondUpdatedEvent

    +

    BondUpdatedEvent is an event triggered on a Bond update

    parambond_did string

    valuestringorderSwapOrder

    charged_feecosmos.base.v1beta1.Coin

    returned_to_addresscosmos.base.v1beta1.Coinrepeated

    tokens_swappedcosmos.base.v1beta1.Coin

    @@ -2029,9 +2684,9 @@

    Params

    - - - + + + @@ -2042,8 +2697,8 @@

    Params

    -

    SellOrder

    -

    SellOrder defines a type for submitting a sell order on a bond.

    +

    BondWithdrawReserveEvent

    +

    BondWithdrawReserveEvent is an event triggered on a Bond reserve withdrawal

    reserved_bond_tokensstringrepeatedbondBond

    @@ -2053,8 +2708,36 @@

    SellOrder

    - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2066,8 +2749,8 @@

    SellOrder

    -

    SwapOrder

    -

    SwapOrder defines a type for submitting a swap order between two tokens on a

    bond.

    +

    BondWithdrawShareEvent

    +

    BondWithdrawShareEvent is an event triggered on a Bond share withdrawal

    base_orderBaseOrderbond_didstring

    withdraw_amountcosmos.base.v1beta1.Coinrepeated

    withdrawer_didstring

    withdrawer_addressstring

    reserve_withdrawal_addressstring

    @@ -2077,14 +2760,28 @@

    SwapOrder

    - - + + - + + + + + + + + + + + + + + + @@ -3038,7 +3735,7 @@

    Methods with HTTP bindings

    - + @@ -3048,7 +3745,7 @@

    Methods with HTTP bindings

    - + @@ -10205,7 +10902,7 @@

    TokenProperties

    - + @@ -11643,6 +12340,13 @@

    Query

    + + + + + + + @@ -11657,13 +12361,6 @@

    Query

    - - - - - - -
    base_orderBaseOrderbond_didstring

    to_tokenwithdraw_paymentcosmos.base.v1beta1.Coinrepeated

    recipient_didstring

    recipient_address string

    Bonds GET/ixo/bonds/ixo/bonds/bonds
    BondsDetailed GET/ixo/bonds_detailed/ixo/bonds/bonds_detailed
    name string

    index is the unique identifier hexstring that identifies the token

    name is the token name, which is same as Token name

    TokenMetadataQueryTokenMetadataRequestQueryTokenMetadataResponse

    TokenList QueryTokenListRequest

    TokenMetadataQueryTokenMetadataRequestQueryTokenMetadataResponse

    @@ -11695,9 +12392,9 @@

    Methods with HTTP bindings

    - TokenList + TokenMetadata GET - /ixo/token/{minter} + /ixo/token/metadata/{id} @@ -11705,9 +12402,9 @@

    Methods with HTTP bindings

    - TokenDoc + TokenList GET - /ixo/token/{minter}/{contract_address} + /ixo/token/minter/{minter} @@ -11715,9 +12412,9 @@

    Methods with HTTP bindings

    - TokenMetadata + TokenDoc GET - /ixo/token/metadata/{id} + /ixo/token/minter/{minter}/{contract_address} diff --git a/docs/core/proto-docs.json b/docs/core/proto-docs.json index da4351e8..b7483156 100644 --- a/docs/core/proto-docs.json +++ b/docs/core/proto-docs.json @@ -770,6 +770,812 @@ ], "services": [] }, + { + "name": "ixo/bonds/v1beta1/event.proto", + "description": "", + "package": "ixo.bonds.v1beta1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "BondBuyOrderCancelledEvent", + "longName": "BondBuyOrderCancelledEvent", + "fullName": "ixo.bonds.v1beta1.BondBuyOrderCancelledEvent", + "description": "BondBuyOrderCancelledEvent is an event triggered on a Bond buy order\ncancellation", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order", + "description": "", + "label": "", + "type": "BuyOrder", + "longType": "BuyOrder", + "fullType": "ixo.bonds.v1beta1.BuyOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondBuyOrderEvent", + "longName": "BondBuyOrderEvent", + "fullName": "ixo.bonds.v1beta1.BondBuyOrderEvent", + "description": "BondBuyOrderEvent is an event triggered on a Bond buy order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "order", + "description": "", + "label": "", + "type": "BuyOrder", + "longType": "BuyOrder", + "fullType": "ixo.bonds.v1beta1.BuyOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondBuyOrderFulfilledEvent", + "longName": "BondBuyOrderFulfilledEvent", + "fullName": "ixo.bonds.v1beta1.BondBuyOrderFulfilledEvent", + "description": "BondBuyOrderFulfilledEvent is an event triggered on a Bond buy order\nfullfillment", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order", + "description": "", + "label": "", + "type": "BuyOrder", + "longType": "BuyOrder", + "fullType": "ixo.bonds.v1beta1.BuyOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "charged_prices", + "description": "", + "label": "repeated", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "charged_fees", + "description": "", + "label": "repeated", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "returned_to_address", + "description": "", + "label": "repeated", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_bond_token_balance", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "charged_prices_of_which_reserve", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "charged_prices_of_which_funding", + "description": "", + "label": "repeated", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondCreatedEvent", + "longName": "BondCreatedEvent", + "fullName": "ixo.bonds.v1beta1.BondCreatedEvent", + "description": "BondCreatedEvent is an event triggered on a Bond creation", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond", + "description": "", + "label": "", + "type": "Bond", + "longType": "Bond", + "fullType": "ixo.bonds.v1beta1.Bond", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondEditAlphaFailedEvent", + "longName": "BondEditAlphaFailedEvent", + "fullName": "ixo.bonds.v1beta1.BondEditAlphaFailedEvent", + "description": "BondEditAlphaFailedEvent is an event triggered on a failed attempt to edit of\nBond alpha value", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "token", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cancel_reason", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondEditAlphaSuccessEvent", + "longName": "BondEditAlphaSuccessEvent", + "fullName": "ixo.bonds.v1beta1.BondEditAlphaSuccessEvent", + "description": "BondEditAlphaSuccessEvent is an event triggered on a successful edit of Bond\nalpha value", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "token", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "public_alpha", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "system_alpha", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondMakeOutcomePaymentEvent", + "longName": "BondMakeOutcomePaymentEvent", + "fullName": "ixo.bonds.v1beta1.BondMakeOutcomePaymentEvent", + "description": "BondMakeOutcomePaymentEvent is an event triggered on a Bond make outcome\npayment", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "outcome_payment", + "description": "", + "label": "repeated", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sender_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sender_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondSellOrderEvent", + "longName": "BondSellOrderEvent", + "fullName": "ixo.bonds.v1beta1.BondSellOrderEvent", + "description": "BondSellOrderEvent is an event triggered on a Bond sell order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "order", + "description": "", + "label": "", + "type": "SellOrder", + "longType": "SellOrder", + "fullType": "ixo.bonds.v1beta1.SellOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondSellOrderFulfilledEvent", + "longName": "BondSellOrderFulfilledEvent", + "fullName": "ixo.bonds.v1beta1.BondSellOrderFulfilledEvent", + "description": "BondSellOrderFulfilledEvent is an event triggered on a Bond sell order\nfullfillment", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order", + "description": "", + "label": "", + "type": "SellOrder", + "longType": "SellOrder", + "fullType": "ixo.bonds.v1beta1.SellOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "charged_fees", + "description": "", + "label": "repeated", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "returned_to_address", + "description": "", + "label": "repeated", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_bond_token_balance", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondSetNextAlphaEvent", + "longName": "BondSetNextAlphaEvent", + "fullName": "ixo.bonds.v1beta1.BondSetNextAlphaEvent", + "description": "BondSetNextAlphaEvent is an event triggered when next batch alpha is set", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "next_alpha", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signer", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondSwapOrderEvent", + "longName": "BondSwapOrderEvent", + "fullName": "ixo.bonds.v1beta1.BondSwapOrderEvent", + "description": "BondSwapOrderEvent is an event triggered on a Bond swap order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "order", + "description": "", + "label": "", + "type": "SwapOrder", + "longType": "SwapOrder", + "fullType": "ixo.bonds.v1beta1.SwapOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondSwapOrderFulfilledEvent", + "longName": "BondSwapOrderFulfilledEvent", + "fullName": "ixo.bonds.v1beta1.BondSwapOrderFulfilledEvent", + "description": "BondSwapOrderFulfilledEvent is an event triggered on a Bond swap order\nfullfillment", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order", + "description": "", + "label": "", + "type": "SwapOrder", + "longType": "SwapOrder", + "fullType": "ixo.bonds.v1beta1.SwapOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "charged_fee", + "description": "", + "label": "", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "returned_to_address", + "description": "", + "label": "repeated", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tokens_swapped", + "description": "", + "label": "", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondUpdatedEvent", + "longName": "BondUpdatedEvent", + "fullName": "ixo.bonds.v1beta1.BondUpdatedEvent", + "description": "BondUpdatedEvent is an event triggered on a Bond update", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond", + "description": "", + "label": "", + "type": "Bond", + "longType": "Bond", + "fullType": "ixo.bonds.v1beta1.Bond", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondWithdrawReserveEvent", + "longName": "BondWithdrawReserveEvent", + "fullName": "ixo.bonds.v1beta1.BondWithdrawReserveEvent", + "description": "BondWithdrawReserveEvent is an event triggered on a Bond reserve withdrawal", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "withdraw_amount", + "description": "", + "label": "repeated", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "withdrawer_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "withdrawer_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reserve_withdrawal_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BondWithdrawShareEvent", + "longName": "BondWithdrawShareEvent", + "fullName": "ixo.bonds.v1beta1.BondWithdrawShareEvent", + "description": "BondWithdrawShareEvent is an event triggered on a Bond share withdrawal", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bond_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "withdraw_payment", + "description": "", + "label": "repeated", + "type": "Coin", + "longType": "cosmos.base.v1beta1.Coin", + "fullType": "cosmos.base.v1beta1.Coin", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "recipient_did", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "recipient_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, { "name": "ixo/bonds/v1beta1/genesis.proto", "description": "", @@ -1692,7 +2498,7 @@ "rules": [ { "method": "GET", - "pattern": "/ixo/bonds" + "pattern": "/ixo/bonds/bonds" } ] } @@ -1714,7 +2520,7 @@ "rules": [ { "method": "GET", - "pattern": "/ixo/bonds_detailed" + "pattern": "/ixo/bonds/bonds_detailed" } ] } @@ -11060,7 +11866,7 @@ }, { "name": "name", - "description": "index is the unique identifier hexstring that identifies the token", + "description": "name is the token name, which is same as Token name", "label": "", "type": "string", "longType": "string", @@ -12880,66 +13686,66 @@ } }, { - "name": "TokenList", + "name": "TokenMetadata", "description": "", - "requestType": "QueryTokenListRequest", - "requestLongType": "QueryTokenListRequest", - "requestFullType": "ixo.token.v1beta1.QueryTokenListRequest", + "requestType": "QueryTokenMetadataRequest", + "requestLongType": "QueryTokenMetadataRequest", + "requestFullType": "ixo.token.v1beta1.QueryTokenMetadataRequest", "requestStreaming": false, - "responseType": "QueryTokenListResponse", - "responseLongType": "QueryTokenListResponse", - "responseFullType": "ixo.token.v1beta1.QueryTokenListResponse", + "responseType": "QueryTokenMetadataResponse", + "responseLongType": "QueryTokenMetadataResponse", + "responseFullType": "ixo.token.v1beta1.QueryTokenMetadataResponse", "responseStreaming": false, "options": { "google.api.http": { "rules": [ { "method": "GET", - "pattern": "/ixo/token/{minter}" + "pattern": "/ixo/token/metadata/{id}" } ] } } }, { - "name": "TokenDoc", + "name": "TokenList", "description": "", - "requestType": "QueryTokenDocRequest", - "requestLongType": "QueryTokenDocRequest", - "requestFullType": "ixo.token.v1beta1.QueryTokenDocRequest", + "requestType": "QueryTokenListRequest", + "requestLongType": "QueryTokenListRequest", + "requestFullType": "ixo.token.v1beta1.QueryTokenListRequest", "requestStreaming": false, - "responseType": "QueryTokenDocResponse", - "responseLongType": "QueryTokenDocResponse", - "responseFullType": "ixo.token.v1beta1.QueryTokenDocResponse", + "responseType": "QueryTokenListResponse", + "responseLongType": "QueryTokenListResponse", + "responseFullType": "ixo.token.v1beta1.QueryTokenListResponse", "responseStreaming": false, "options": { "google.api.http": { "rules": [ { "method": "GET", - "pattern": "/ixo/token/{minter}/{contract_address}" + "pattern": "/ixo/token/minter/{minter}" } ] } } }, { - "name": "TokenMetadata", + "name": "TokenDoc", "description": "", - "requestType": "QueryTokenMetadataRequest", - "requestLongType": "QueryTokenMetadataRequest", - "requestFullType": "ixo.token.v1beta1.QueryTokenMetadataRequest", + "requestType": "QueryTokenDocRequest", + "requestLongType": "QueryTokenDocRequest", + "requestFullType": "ixo.token.v1beta1.QueryTokenDocRequest", "requestStreaming": false, - "responseType": "QueryTokenMetadataResponse", - "responseLongType": "QueryTokenMetadataResponse", - "responseFullType": "ixo.token.v1beta1.QueryTokenMetadataResponse", + "responseType": "QueryTokenDocResponse", + "responseLongType": "QueryTokenDocResponse", + "responseFullType": "ixo.token.v1beta1.QueryTokenDocResponse", "responseStreaming": false, "options": { "google.api.http": { "rules": [ { "method": "GET", - "pattern": "/ixo/token/metadata/{id}" + "pattern": "/ixo/token/minter/{minter}/{contract_address}" } ] } diff --git a/docs/core/proto-docs.md b/docs/core/proto-docs.md index 07ed9973..8fe3d1dc 100644 --- a/docs/core/proto-docs.md +++ b/docs/core/proto-docs.md @@ -14,6 +14,23 @@ - [SellOrder](#ixo.bonds.v1beta1.SellOrder) - [SwapOrder](#ixo.bonds.v1beta1.SwapOrder) +- [ixo/bonds/v1beta1/event.proto](#ixo/bonds/v1beta1/event.proto) + - [BondBuyOrderCancelledEvent](#ixo.bonds.v1beta1.BondBuyOrderCancelledEvent) + - [BondBuyOrderEvent](#ixo.bonds.v1beta1.BondBuyOrderEvent) + - [BondBuyOrderFulfilledEvent](#ixo.bonds.v1beta1.BondBuyOrderFulfilledEvent) + - [BondCreatedEvent](#ixo.bonds.v1beta1.BondCreatedEvent) + - [BondEditAlphaFailedEvent](#ixo.bonds.v1beta1.BondEditAlphaFailedEvent) + - [BondEditAlphaSuccessEvent](#ixo.bonds.v1beta1.BondEditAlphaSuccessEvent) + - [BondMakeOutcomePaymentEvent](#ixo.bonds.v1beta1.BondMakeOutcomePaymentEvent) + - [BondSellOrderEvent](#ixo.bonds.v1beta1.BondSellOrderEvent) + - [BondSellOrderFulfilledEvent](#ixo.bonds.v1beta1.BondSellOrderFulfilledEvent) + - [BondSetNextAlphaEvent](#ixo.bonds.v1beta1.BondSetNextAlphaEvent) + - [BondSwapOrderEvent](#ixo.bonds.v1beta1.BondSwapOrderEvent) + - [BondSwapOrderFulfilledEvent](#ixo.bonds.v1beta1.BondSwapOrderFulfilledEvent) + - [BondUpdatedEvent](#ixo.bonds.v1beta1.BondUpdatedEvent) + - [BondWithdrawReserveEvent](#ixo.bonds.v1beta1.BondWithdrawReserveEvent) + - [BondWithdrawShareEvent](#ixo.bonds.v1beta1.BondWithdrawShareEvent) + - [ixo/bonds/v1beta1/genesis.proto](#ixo/bonds/v1beta1/genesis.proto) - [GenesisState](#ixo.bonds.v1beta1.GenesisState) @@ -541,6 +558,290 @@ bond. + +

    Top

    + +## ixo/bonds/v1beta1/event.proto + + + + + +### BondBuyOrderCancelledEvent +BondBuyOrderCancelledEvent is an event triggered on a Bond buy order +cancellation + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond_did | [string](#string) | | | +| order | [BuyOrder](#ixo.bonds.v1beta1.BuyOrder) | | | + + + + + + + + +### BondBuyOrderEvent +BondBuyOrderEvent is an event triggered on a Bond buy order + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| order | [BuyOrder](#ixo.bonds.v1beta1.BuyOrder) | | | +| bond_did | [string](#string) | | | + + + + + + + + +### BondBuyOrderFulfilledEvent +BondBuyOrderFulfilledEvent is an event triggered on a Bond buy order +fullfillment + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond_did | [string](#string) | | | +| order | [BuyOrder](#ixo.bonds.v1beta1.BuyOrder) | | | +| charged_prices | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| charged_fees | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| returned_to_address | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| new_bond_token_balance | [string](#string) | | | +| charged_prices_of_which_reserve | [string](#string) | | | +| charged_prices_of_which_funding | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | + + + + + + + + +### BondCreatedEvent +BondCreatedEvent is an event triggered on a Bond creation + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond | [Bond](#ixo.bonds.v1beta1.Bond) | | | + + + + + + + + +### BondEditAlphaFailedEvent +BondEditAlphaFailedEvent is an event triggered on a failed attempt to edit of +Bond alpha value + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond_did | [string](#string) | | | +| token | [string](#string) | | | +| cancel_reason | [string](#string) | | | + + + + + + + + +### BondEditAlphaSuccessEvent +BondEditAlphaSuccessEvent is an event triggered on a successful edit of Bond +alpha value + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond_did | [string](#string) | | | +| token | [string](#string) | | | +| public_alpha | [string](#string) | | | +| system_alpha | [string](#string) | | | + + + + + + + + +### BondMakeOutcomePaymentEvent +BondMakeOutcomePaymentEvent is an event triggered on a Bond make outcome +payment + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond_did | [string](#string) | | | +| outcome_payment | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| sender_did | [string](#string) | | | +| sender_address | [string](#string) | | | + + + + + + + + +### BondSellOrderEvent +BondSellOrderEvent is an event triggered on a Bond sell order + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| order | [SellOrder](#ixo.bonds.v1beta1.SellOrder) | | | +| bond_did | [string](#string) | | | + + + + + + + + +### BondSellOrderFulfilledEvent +BondSellOrderFulfilledEvent is an event triggered on a Bond sell order +fullfillment + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond_did | [string](#string) | | | +| order | [SellOrder](#ixo.bonds.v1beta1.SellOrder) | | | +| charged_fees | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| returned_to_address | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| new_bond_token_balance | [string](#string) | | | + + + + + + + + +### BondSetNextAlphaEvent +BondSetNextAlphaEvent is an event triggered when next batch alpha is set + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond_did | [string](#string) | | | +| next_alpha | [string](#string) | | | +| signer | [string](#string) | | | + + + + + + + + +### BondSwapOrderEvent +BondSwapOrderEvent is an event triggered on a Bond swap order + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| order | [SwapOrder](#ixo.bonds.v1beta1.SwapOrder) | | | +| bond_did | [string](#string) | | | + + + + + + + + +### BondSwapOrderFulfilledEvent +BondSwapOrderFulfilledEvent is an event triggered on a Bond swap order +fullfillment + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond_did | [string](#string) | | | +| order | [SwapOrder](#ixo.bonds.v1beta1.SwapOrder) | | | +| charged_fee | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | | | +| returned_to_address | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| tokens_swapped | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | | | + + + + + + + + +### BondUpdatedEvent +BondUpdatedEvent is an event triggered on a Bond update + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond | [Bond](#ixo.bonds.v1beta1.Bond) | | | + + + + + + + + +### BondWithdrawReserveEvent +BondWithdrawReserveEvent is an event triggered on a Bond reserve withdrawal + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond_did | [string](#string) | | | +| withdraw_amount | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| withdrawer_did | [string](#string) | | | +| withdrawer_address | [string](#string) | | | +| reserve_withdrawal_address | [string](#string) | | | + + + + + + + + +### BondWithdrawShareEvent +BondWithdrawShareEvent is an event triggered on a Bond share withdrawal + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| bond_did | [string](#string) | | | +| withdraw_payment | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| recipient_did | [string](#string) | | | +| recipient_address | [string](#string) | | | + + + + + + + + + + + + + + +

    Top

    @@ -4267,7 +4568,7 @@ credential link ***.ipfs | | ----- | ---- | ----- | ----------- | | id | [string](#string) | | | | index | [string](#string) | | index is the unique identifier hexstring that identifies the token | -| name | [string](#string) | | index is the unique identifier hexstring that identifies the token | +| name | [string](#string) | | name is the token name, which is same as Token name | | collection | [string](#string) | | did of collection (eg Supamoto Malawi) | | tokenData | [TokenData](#ixo.token.v1beta1.TokenData) | repeated | tokenData is the linkedResources added to tokenMetadata when queried eg (credential link ***.ipfs) | @@ -5009,9 +5310,9 @@ Query defines the gRPC querier service. | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | Params | [QueryParamsRequest](#ixo.token.v1beta1.QueryParamsRequest) | [QueryParamsResponse](#ixo.token.v1beta1.QueryParamsResponse) | | +| TokenMetadata | [QueryTokenMetadataRequest](#ixo.token.v1beta1.QueryTokenMetadataRequest) | [QueryTokenMetadataResponse](#ixo.token.v1beta1.QueryTokenMetadataResponse) | | | TokenList | [QueryTokenListRequest](#ixo.token.v1beta1.QueryTokenListRequest) | [QueryTokenListResponse](#ixo.token.v1beta1.QueryTokenListResponse) | | | TokenDoc | [QueryTokenDocRequest](#ixo.token.v1beta1.QueryTokenDocRequest) | [QueryTokenDocResponse](#ixo.token.v1beta1.QueryTokenDocResponse) | | -| TokenMetadata | [QueryTokenMetadataRequest](#ixo.token.v1beta1.QueryTokenMetadataRequest) | [QueryTokenMetadataResponse](#ixo.token.v1beta1.QueryTokenMetadataResponse) | | diff --git a/genesis.json b/genesis.json deleted file mode 100644 index 761e63e5..00000000 --- a/genesis.json +++ /dev/null @@ -1,759 +0,0 @@ -{ - "app_hash": "", - "app_state": { - "auth": { - "accounts": [ - { "@type": "/cosmos.auth.v1beta1.BaseAccount", "account_number": "11", "address": "ixo1rzcm2uhqq85ktv6amsszufun6sx3csa2r6kq99", "pub_key": null, "sequence": "0" }, - { "@type": "/cosmos.auth.v1beta1.BaseAccount", "account_number": "5", "address": "ixo1rngxtm5sapzqdtw3k3e2e9zkjxzgpxd6vw9pye", "pub_key": null, "sequence": "0" }, - { - "@type": "/cosmos.auth.v1beta1.ModuleAccount", - "base_account": { "account_number": "18", "address": "ixo1yl6hdjhmkf37639730gffanpzndzdpmh32gmns", "pub_key": null, "sequence": "0" }, - "name": "transfer", - "permissions": ["minter", "burner"] - }, - { "@type": "/cosmos.auth.v1beta1.BaseAccount", "account_number": "4", "address": "ixo19hatudm363ufmyrrykxdmrf8f0884yq75expse", "pub_key": null, "sequence": "0" }, - { "@type": "/cosmos.auth.v1beta1.BaseAccount", "account_number": "7", "address": "ixo1xd7nsl5w6d5wmk6ume9a2gw57fw725r3jg9s05", "pub_key": null, "sequence": "0" }, - { "@type": "/cosmos.auth.v1beta1.BaseAccount", "account_number": "8", "address": "ixo1823lsxavsh3puau288gy0xx62fztss25jph32u", "pub_key": null, "sequence": "0" }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "account_number": "2", - "address": "ixo1fewufqrjy0r8kercq3wazsr7v0cymhvgteq442", - "pub_key": { "@type": "/cosmos.crypto.secp256k1.PubKey", "key": "A3bgdN1w3sd4air0O5s81rSPo1bJndlklmEyU+PGxPrX" }, - "sequence": "1" - }, - { - "@type": "/cosmos.auth.v1beta1.ModuleAccount", - "base_account": { "account_number": "14", "address": "ixo1fl48vsnmsdzcv85q5d2q4z5ajdha8yu32whaay", "pub_key": null, "sequence": "0" }, - "name": "bonded_tokens_pool", - "permissions": ["burner", "staking"] - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "account_number": "0", - "address": "ixo12am7v5xgjh72c7xujreyvtncqwue3w0v6ud3r4", - "pub_key": { "@type": "/cosmos.crypto.secp256k1.PubKey", "key": "Amfx123Bf2HsXHP0s1YKnovOmeHllyR9QWx/t0qjvqWn" }, - "sequence": "5" - }, - { - "@type": "/cosmos.auth.v1beta1.ModuleAccount", - "base_account": { "account_number": "15", "address": "ixo1tygms3xhhs3yv487phx3dw4a95jn7t7l7wtvts", "pub_key": null, "sequence": "0" }, - "name": "not_bonded_tokens_pool", - "permissions": ["burner", "staking"] - }, - { - "@type": "/cosmos.auth.v1beta1.ModuleAccount", - "base_account": { "account_number": "16", "address": "ixo10d07y265gmmuvt4z0w9aw880jnsr700j9hdhjq", "pub_key": null, "sequence": "0" }, - "name": "gov", - "permissions": ["burner"] - }, - { "@type": "/cosmos.auth.v1beta1.BaseAccount", "account_number": "20", "address": "ixo1syjk0qh59vxz3zk776m5vrzvyv4nwpvh57yps2", "pub_key": null, "sequence": "0" }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "account_number": "1", - "address": "ixo13dy867pyn8jda82vnshy7jjjv42n69k7497jrh", - "pub_key": { "@type": "/cosmos.crypto.secp256k1.PubKey", "key": "AvU3I8mVQjPaG50sP23GmdkEyS8fsxQjeAxvd83AfOXF" }, - "sequence": "1" - }, - { - "@type": "/cosmos.auth.v1beta1.ModuleAccount", - "base_account": { "account_number": "13", "address": "ixo1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8c26wdv", "pub_key": null, "sequence": "0" }, - "name": "distribution", - "permissions": [] - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "account_number": "3", - "address": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "pub_key": { "@type": "/cosmos.crypto.secp256k1.PubKey", "key": "A4b4mrTlSxpbPyJ8gfzM8W68hHGHW6CzflOFU4U+yvsl" }, - "sequence": "25" - }, - { "@type": "/cosmos.auth.v1beta1.BaseAccount", "account_number": "10", "address": "ixo140dtvdlvad4808qve73fknueszfnaegu3hmm5l", "pub_key": null, "sequence": "0" }, - { "@type": "/cosmos.auth.v1beta1.BaseAccount", "account_number": "19", "address": "ixo14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sqa3vn7", "pub_key": null, "sequence": "0" }, - { "@type": "/cosmos.auth.v1beta1.BaseAccount", "account_number": "6", "address": "ixo1hxtwxasp24tv4ld0qkkhgmc4lz4875es6ksskh", "pub_key": null, "sequence": "0" }, - { "@type": "/cosmos.auth.v1beta1.BaseAccount", "account_number": "9", "address": "ixo1htp3fnlymxalw6kvu9erna0spqtu65rnevaw0w", "pub_key": null, "sequence": "0" }, - { - "@type": "/cosmos.auth.v1beta1.ModuleAccount", - "base_account": { "account_number": "17", "address": "ixo1m3h30wlvsf8llruxtpukdvsy0km2kum8hye2rn", "pub_key": null, "sequence": "0" }, - "name": "mint", - "permissions": ["minter"] - }, - { - "@type": "/cosmos.auth.v1beta1.ModuleAccount", - "base_account": { "account_number": "12", "address": "ixo17xpfvakm2amg962yls6f84z3kell8c5l0vaj0w", "pub_key": null, "sequence": "0" }, - "name": "fee_collector", - "permissions": [] - } - ], - "params": { "max_memo_characters": "256", "sig_verify_cost_ed25519": "590", "sig_verify_cost_secp256k1": "1000", "tx_sig_limit": "7", "tx_size_cost_per_byte": "10" } - }, - "authz": { - "authorization": [ - { - "authorization": { "@type": "/cosmos.bank.v1beta1.SendAuthorization", "spend_limit": [{ "amount": "9000000", "denom": "uixo" }] }, - "expiration": "2024-03-06T05:16:07.654Z", - "grantee": "ixo12am7v5xgjh72c7xujreyvtncqwue3w0v6ud3r4", - "granter": "ixo1syjk0qh59vxz3zk776m5vrzvyv4nwpvh57yps2" - }, - { - "authorization": { "@type": "/cosmos.authz.v1beta1.GenericAuthorization", "msg": "/cosmos.gov.v1beta1.MsgSubmitProposal" }, - "expiration": "2024-03-06T05:53:43.172Z", - "grantee": "ixo12am7v5xgjh72c7xujreyvtncqwue3w0v6ud3r4", - "granter": "ixo1syjk0qh59vxz3zk776m5vrzvyv4nwpvh57yps2" - }, - { - "authorization": { "@type": "/cosmos.authz.v1beta1.GenericAuthorization", "msg": "/cosmos.gov.v1beta1.MsgVote" }, - "expiration": "2024-03-06T05:34:10.348Z", - "grantee": "ixo12am7v5xgjh72c7xujreyvtncqwue3w0v6ud3r4", - "granter": "ixo1syjk0qh59vxz3zk776m5vrzvyv4nwpvh57yps2" - } - ] - }, - "bank": { - "balances": [ - { - "address": "ixo1rzcm2uhqq85ktv6amsszufun6sx3csa2r6kq99", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "1000000000000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { - "address": "ixo1rngxtm5sapzqdtw3k3e2e9zkjxzgpxd6vw9pye", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "1000000000000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { - "address": "ixo19hatudm363ufmyrrykxdmrf8f0884yq75expse", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "1000000000000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { - "address": "ixo1xd7nsl5w6d5wmk6ume9a2gw57fw725r3jg9s05", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "1000000000000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { - "address": "ixo1823lsxavsh3puau288gy0xx62fztss25jph32u", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "1000000000000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { - "address": "ixo1fewufqrjy0r8kercq3wazsr7v0cymhvgteq442", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "999999900000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { "address": "ixo1fl48vsnmsdzcv85q5d2q4z5ajdha8yu32whaay", "coins": [{ "amount": "1000000", "denom": "uixo" }] }, - { - "address": "ixo12am7v5xgjh72c7xujreyvtncqwue3w0v6ud3r4", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "1000000500000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { "address": "ixo1syjk0qh59vxz3zk776m5vrzvyv4nwpvh57yps2", "coins": [{ "amount": "999000000", "denom": "uixo" }] }, - { - "address": "ixo13dy867pyn8jda82vnshy7jjjv42n69k7497jrh", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "999999900000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { "address": "ixo1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8c26wdv", "coins": [{ "amount": "2369513747", "denom": "uixo" }] }, - { - "address": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "998976800000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { - "address": "ixo140dtvdlvad4808qve73fknueszfnaegu3hmm5l", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "1000000000000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { - "address": "ixo1hxtwxasp24tv4ld0qkkhgmc4lz4875es6ksskh", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "1000000000000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - }, - { - "address": "ixo1htp3fnlymxalw6kvu9erna0spqtu65rnevaw0w", - "coins": [ - { "amount": "1000000000000", "denom": "res" }, - { "amount": "1000000000000", "denom": "rez" }, - { "amount": "1000000000000", "denom": "uixo" }, - { "amount": "1000000000000", "denom": "uxgbp" } - ] - } - ], - "denom_metadata": [], - "params": { "default_send_enabled": true, "send_enabled": [] }, - "supply": [ - { "amount": "12000000000000", "denom": "res" }, - { "amount": "12000000000000", "denom": "rez" }, - { "amount": "12002346613747", "denom": "uixo" }, - { "amount": "12000000000000", "denom": "uxgbp" } - ] - }, - "bonds": { "batches": [], "bonds": [], "params": { "reserved_bond_tokens": [] } }, - "capability": { - "index": "2", - "owners": [ - { - "index": "1", - "index_owners": { - "owners": [ - { "module": "ibc", "name": "ports/transfer" }, - { "module": "transfer", "name": "ports/transfer" } - ] - } - } - ] - }, - "claims": { - "claims": [], - "collections": [], - "params": { "collection_sequence": "1", "ixo_account": "ixo1y0d7w5xfj9a0p7ygpx0uwvyrnmmqj3fd4sva7t", "network_fee_percentage": "10.000000000000000000", "node_fee_percentage": "10.000000000000000000" } - }, - "crisis": { "constant_fee": { "amount": "1000", "denom": "uixo" } }, - "distribution": { - "delegator_starting_infos": [ - { - "delegator_address": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "starting_info": { "height": "0", "previous_period": "1", "stake": "1000000.000000000000000000" }, - "validator_address": "ixovaloper1n8yrmeatsk74dw0zs95ess9sgzptd6thzncf20" - } - ], - "delegator_withdraw_infos": [], - "fee_pool": { "community_pool": [{ "amount": "47390274.940000000000000000", "denom": "uixo" }] }, - "outstanding_rewards": [{ "outstanding_rewards": [{ "amount": "2322123472.060000000000000000", "denom": "uixo" }], "validator_address": "ixovaloper1n8yrmeatsk74dw0zs95ess9sgzptd6thzncf20" }], - "params": { "base_proposer_reward": "0.010000000000000000", "bonus_proposer_reward": "0.040000000000000000", "community_tax": "0.020000000000000000", "withdraw_addr_enabled": true }, - "previous_proposer": "ixovalcons1fce0amecrevnt4xccsg7ptt444her0l6r3snm2", - "validator_accumulated_commissions": [{ "accumulated": { "commission": [{ "amount": "232212347.206000000000000000", "denom": "uixo" }] }, "validator_address": "ixovaloper1n8yrmeatsk74dw0zs95ess9sgzptd6thzncf20" }], - "validator_current_rewards": [ - { "rewards": { "period": "2", "rewards": [{ "amount": "2089911124.854000000000000000", "denom": "uixo" }] }, "validator_address": "ixovaloper1n8yrmeatsk74dw0zs95ess9sgzptd6thzncf20" } - ], - "validator_historical_rewards": [{ "period": "1", "rewards": { "cumulative_reward_ratio": [], "reference_count": 2 }, "validator_address": "ixovaloper1n8yrmeatsk74dw0zs95ess9sgzptd6thzncf20" }], - "validator_slash_events": [] - }, - "entity": { - "entities": [ - { - "accounts": [{ "address": "ixo1syjk0qh59vxz3zk776m5vrzvyv4nwpvh57yps2", "name": "name" }], - "credentials": [], - "end_date": null, - "entity_verified": false, - "id": "did:ixo:entity:eaff254f2fc62aefca0d831bc7361c14", - "metadata": { "created": "2023-03-06T17:01:24.989101714Z", "updated": "2023-03-06T17:38:46.776723794Z", "version_id": "d2c8546240928f7707b5137bdce51036227fedd08ee753357474377d1607d6f5" }, - "relayer_node": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "start_date": null, - "status": 0, - "type": "asset" - } - ], - "params": { "createSequence": "1", "nftContractAddress": "ixo14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sqa3vn7", "nftContractMinter": "ixo1g7xtrvc8ejkenee8a3gryvx6d4n9uu6gpsx63z" } - }, - "evidence": { "evidence": [] }, - "feegrant": { "allowances": [] }, - "genutil": { "gen_txs": [] }, - "gov": { - "deposit_params": { "max_deposit_period": "172800s", "min_deposit": [{ "amount": "10000000", "denom": "uixo" }] }, - "deposits": [], - "proposals": [ - { - "content": { - "@type": "/cosmwasm.wasm.v1.StoreCodeProposal", - "description": "Description", - "instantiate_permission": { "address": "", "addresses": [], "permission": "Everybody" }, - "run_as": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "title": "Upload cw721 smart contract", - "unpin_code": false, - "wasm_byte_code": "AGFzbQEAAAABzgEbYAJ/fwBgBn9/f39/fwBgAX8AYAR/f39/AGAHf39/f39/fwBgA39/fwBgBX9/f39/AGADf39/AX9gAn9/AX9gAX8Bf2ADf39/AX5gBX9/f39+AGAJf39/f39/f39/AGAIf39/f39/f38AYAx/f39/f39/f39/fn4AYAR/f39/AX9gAX8BfmAAAGADf39+AGAAAX9gBX9/f39/AX9gB39/f39/f38Bf2ADfn9/AGAEfn5/fwF/YAZ/f39/f38Bf2ADfn9/AX9gBX9+fn5+AAKOAg4DZW52B2RiX3JlYWQACQNlbnYIZGJfd3JpdGUAAANlbnYJZGJfcmVtb3ZlAAIDZW52B2RiX3NjYW4ABwNlbnYHZGJfbmV4dAAJA2Vudg1hZGRyX3ZhbGlkYXRlAAkDZW52EWFkZHJfY2Fub25pY2FsaXplAAgDZW52DWFkZHJfaHVtYW5pemUACANlbnYQc2VjcDI1NmsxX3ZlcmlmeQAHA2VudhhzZWNwMjU2azFfcmVjb3Zlcl9wdWJrZXkACgNlbnYOZWQyNTUxOV92ZXJpZnkABwNlbnYUZWQyNTUxOV9iYXRjaF92ZXJpZnkABwNlbnYFZGVidWcAAgNlbnYLcXVlcnlfY2hhaW4ACQO5BLcEBgAFBgsFAAAAAgACAAMFBgEFAwEBAAMDAQEFAAACAQIFBQUAAAMAAwUAAAwEAQ0BDgABAwACAAMFCwQDBQQFAAAFAAAFBQAFBQMABgUBBQUAAAAAAgUFBgUFAAACBQgIAgICAgUFCAgIBwcDBQUFAAYHBwgIBQ8IAAAFCAgIAgIICAgHBwMAAAgIAA0DCAICCAgHCAcGBgAABQMABQMCCAAAAAMABQUCAAAGBAAAAgUFDQAAABACBQICBQIICAgICAgIAgIIBwMICAgICAgICAIABQgICAgCEQAAAAkCBQECAAAAAAABAAEAAAEAAQEBARACAgIFAAUACAcIAwMDAwMFAAMGBQQRAwMFDQQNDQUDAAAAAAAAAAgICAIICAcABQAFCAgICAgCCQAFAAICEQgABQcDBQUGAAgICAgCBRIDAAQDBg0JCAAFBQIAAAADAAAAAAMABQgCBQIQBQIAAAgFBQUICAkRAQUICAgIAgUCEAUCAAAQEAUCAgIICQgICAcAAwgJAAIAEwIAEQIFAAAIBQ8IAgAAAAAGAAkICQkJEwkJCQIJCQAAAAAFCAgJEwkJCQkJCQkICQUUDwcICQkICAgAAAACCAAIBwUDABEAAAAIAAAACAMDCAAAAAAAAAIFBQUHBQUICAACAAAABwgIEAUJFRQFBQgJCQkACAgGBwYJBwUHCRYIFxgICAcICAUIDwcICQkDAAcHCAUICAgICAUFCBkICAgICAgICAgHBwcaBwcHBAcBcAGrAasBBQMBABEGGQN/AUGAgMAAC38AQeiewQALfwBB8J7BAAsHjQEKBm1lbW9yeQIAC2luc3RhbnRpYXRlAH8HZXhlY3V0ZQCAAQVxdWVyeQCBAQhhbGxvY2F0ZQDqAQpkZWFsbG9jYXRlAOsBEXJlcXVpcmVzX2l0ZXJhdG9yAOYBE2ludGVyZmFjZV92ZXJzaW9uXzgA5gEKX19kYXRhX2VuZAMBC19faGVhcF9iYXNlAwIJxAIBAEEBC6oBISImJyxs9gP5AjdvkQKUApICkwKWApcCmAKZApoCmwKcAp0CngJIS3AUFXJzcXh1bXd0drkEF9cBiQGKAY0BkgGPAYsBjAGRAY4BkAGdAaIBoQGbAZwBoAGeAZ8BtQHDAbwBugG7Ab0BvgHGAbcBtgHJAekB6AGnAs0BzwG0AuMB3QHQAc4B0gHUAdMBqALRAcsBygHMAaYC2AHhAbIC2gHeAeUD3AHlAf8B2QGJAoECiAKHAoAChAKGAoMChQLbAakCrAKqAqsCtgK8AsECvgK7Au4C1QLoAu0C7ALrAukC9wOtBPgC+wL6Av4CgwOCA4ED/wKdA4cDjwOMA44DiAOEA4UDiQOkA6UDpgOnA9UD2QPWA9gD0APRA88DhwT+A6oE6AOMBO8DgAS6BI8EmgSbBLsEnASdBJ4EvAQKqKsRtwTdCgIFfwF+I4CAgIAAQZABayIFJICAgIAAIAEoAgAhBgJAAkAgAS0ABEUNACAGKAIIIQcMAQsCQCAGKAIIIgggBkEEaigCAEcNACAGIAgQj4CAgAAgBigCCCEICyAGIAhBAWoiBzYCCCAGKAIAIAhqQSw6AAALIAFBADoABAJAIAcgBkEEaiIBKAIARw0AIAYgBxCPgICAACAGKAIIIQcLIAYoAgAgB2pBIjoAACAGIAdBAWoiBzYCCAJAIAEoAgAgB2sgA08NACAGIAcgAxCQgICAACAGKAIIIQcLIAYoAgAgB2ogAiADEMCEgIAAGiAGIAcgA2oiBzYCCAJAIAZBBGooAgAgB2tBAUsNACAGIAdBAhCQgICAACAGKAIIIQcLIAYoAgAgB2pBovQAOwAAIAYgB0ECajYCCCAEKAIAIQMgBUHgAGogBkEBIAQoAggiBxDRgoCAAAJAAkACQCAFKAJgDQAgBUHoAGotAAAhBCAFKAJkIQECQAJAAkAgB0UNACAHQQV0IQIgBEH/AXFFIQYgBUHgAGpBBHIhCQNAAkAgBkEBcUUNAAJAIAEoAggiBiABQQRqKAIARw0AIAEgBhCPgICAACABKAIIIQYLIAEgBkEBajYCCCABKAIAIAZqQSw6AAALIAVB4ABqIAFB/IXAgABBBEECENKCgIAAAkACQCAFKAJgDQAgBSAFLQBoOgA8IAUgBSgCZDYCOCAFQeAAaiAFQThqQYCGwIAAQQUgA0EQahCRgICAAAJAIAUoAmANACAFKAI4IQYCQCAFLQA8RQ0AIAYoAgghBwwDCwJAIAYoAggiBCAGQQRqKAIARw0AIAYgBBCPgICAACAGKAIIIQQLIAYgBEEBaiIHNgIIIAYoAgAgBGpBLDoAAAwCCyAFQShqQQxqIAVB4ABqQQxqKAIANgIAIAUgBSkCZDcCLAwECyAFQTRqIAlBCGooAgA2AgAgBSAJKQIANwIsDAMLIAVBADoAPAJAIAcgBkEEaiIEKAIARw0AIAYgBxCPgICAACAGKAIIIQcLIAYoAgAgB2pBIjoAACAGIAdBAWoiBzYCCAJAIAQoAgAgB2tBBUsNACAGIAdBBhCQgICAACAGKAIIIQcLIAYoAgAgB2oiCEEAKACFhsCAADYAACAIQQRqQQAvAImGwIAAOwAAIAYgB0EGaiIHNgIIAkAgBCgCACAHa0EBSw0AIAYgB0ECEJCAgIAAIAYoAgghBwsgBigCACAHakGi9AA7AAAgBiAHQQJqNgIIIAVBADYCWCAFQgE3A1AgBUHgAGogBUHQAGpBoI7AgAAQn4SAgAAgAyAFQeAAahCxgoCAAA0DIAVBwABqIAYgBSgCUCAFKAJYEM6CgIAAAkAgBSgCVCIHRQ0AIAUoAlAiBEUNACAEIAdBARCDgYCAAAsCQCAFKAJARQ0AIAVBKGpBDGogBUHAAGpBDGooAgA2AgAgBSAFKQJENwIsDAMLIAVBKGogBkEAEPCCgIAAIAUoAigNAiADQSBqIQNBASEGIAJBYGoiAg0AC0EAIQQLQQAhBiAFQRhqIAEgBEH/AXFBAEcQ74KAgAAgBSgCGA0DDAQLIAVBGGpBDGogBUEoakEMaigCADYCACAFIAUpAiw3AhwMAgtBuI7AgABBNyAFQYgBakGsl8CAAEG8j8CAABCOhICAAAALIAVBJGogBUHgAGpBBHIiBkEIaigCADYCACAFIAYpAgA3AhwLIAVBEGogBUEYakEMaigCACIGNgIAIAUgBSkCHCIKNwMIIABBDGogBjYCACAAIAo3AgRBASEGCyAAIAY2AgAgBUGQAWokgICAgAAL2wEBA38jgICAgABBIGsiAiSAgICAAAJAIAFBAWoiAyABSQ0AIABBBGooAgAiBEEBdCIBIAMgASADSxsiAUEIIAFBCEsbIQECQAJAIARFDQAgAkEQakEIakEBNgIAIAIgBDYCFCACIAAoAgA2AhAMAQsgAkEANgIQCyACIAFBASACQRBqEPmAgIAAAkAgAigCAEUNACACQQhqKAIAIgBFDQEgAigCBCAAENyDgIAAAAsgAigCBCEDIABBBGogATYCACAAIAM2AgAgAkEgaiSAgICAAA8LEN2DgIAAAAvbAQECfyOAgICAAEEgayIDJICAgIAAAkAgASACaiICIAFJDQAgAEEEaigCACIEQQF0IgEgAiABIAJLGyIBQQggAUEISxshAQJAAkAgBEUNACADQRBqQQhqQQE2AgAgAyAENgIUIAMgACgCADYCEAwBCyADQQA2AhALIAMgAUEBIANBEGoQ+YCAgAACQCADKAIARQ0AIANBCGooAgAiAEUNASADKAIEIAAQ3IOAgAAACyADKAIEIQIgAEEEaiABNgIAIAAgAjYCACADQSBqJICAgIAADwsQ3YOAgAAAC60DAgR/AX4jgICAgABBIGsiBSSAgICAACABKAIAIQYCQAJAIAEtAARFDQAgBigCCCEHDAELAkAgBigCCCIIIAZBBGooAgBHDQAgBiAIEI+AgIAAIAYoAgghCAsgBiAIQQFqIgc2AgggBigCACAIakEsOgAACyABQQA6AAQCQCAHIAZBBGoiASgCAEcNACAGIAcQj4CAgAAgBigCCCEHCyAGKAIAIAdqQSI6AAAgBiAHQQFqIgc2AggCQCABKAIAIAdrIANPDQAgBiAH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RQ0CIAAgAUEBEIOBgIAADwsCQCAAQQhqKAIAIgFFDQAgAEEEaigCACICRQ0AIAIgAUEBEIOBgIAACyAAQRRqKAIAIgFFDQEgAEEQaigCACIARQ0BIAAgAUEBEIOBgIAADwsgAEEIaigCACIBRQ0AIABBBGooAgAiAEUNACAAIAFBARCDgYCAAA8LC7QKAhJ/BH4jgICAgABB4AFrIgIkgICAgAAgAUEEaiEDIAEoAgAhBAJAAkACQAJAIAFB0ABqKAIAIgVFDQAgAUHsAGooAgAhBiABQeQAaigCACEHIAFB4ABqKAIAIQggAUHcAGooAgAhCSABQdgAaigCACEKIAFB1ABqKAIAIQsgAkHYAGpBBHIhDCACQaABakEMaiENIAJB2ABqQRhqIQ4gAkHYAGpBDGohDwNAAkAgBEEDRg0AIAFBAjYCACAEQQJHDQQgAUEDNgIACyACQTBqIAUgCygCDBGAgICAAAACQAJAAkAgAigCMEUNACACQaABakEQaiIQIAJBMGpBEGopAwA3AwAgAkGgAWpBCGoiESACQTBqQQhqKQMANwMAIAIgAikDMDcDoAEgAkHYAGogCSAIIAcgBiACQaABaiAKEYGAgIAAACACKAJYIhINASACQaABakE4aiAMQThqKQIANwMAIAJBoAFqQTBqIAxBMGopAgA3AwAgAkGgAWpBKGogDEEoaikCADcDACACQaABakEgaiAMQSBqKQIANwMAIAJBoAFqQRhqIAxBGGopAgA3AwAgECAMQRBqKQIANwMAIBEgDEEIaiIEKQIANwMAIAIgDCkCADcDoAEgDRCZgICAACACQcgAakEIaiAEKAIANgIAIAIgDCkCADcDSEEAIQQMAgsgBSALKAIAEYKAgIAAAAJAIAsoAgQiDEUNACAFIAwgCygCCBCDgYCAAAsCQCABQegAaigCACIMRQ0AIAdFDQAgByAMQQEQg4GAgAALIAFBADYCUAwECyACQcgAakEIaiAPQQhqKAIANgIAIBEgDkEIaikDADcDACACIA8pAgA3A0ggAiAOKQMANwOgASACKAJgIQQLIAJBIGpBCGogAkHIAGpBCGooAgAiEzYCACACQQhqQQhqIBEpAwAiFDcDACACQQhqQRBqIBApAwAiFTcDACACIAIpA0giFjcDICACIAIpA6ABIhc3AwggESATNgIAIA0gFzcCACANQQhqIBQ3AgAgDUEQaiAVNwIAIAIgFjcDoAECQAJAIBINACACQdgAakEgaiACQaABakEgaigCADYCACAOIAJBoAFqQRhqKQMANwMAIAJB2ABqQRBqIBApAwA3AwAgAkHYAGpBCGogESkDADcDACACIAIpA6ABNwNYDAELIAwgAikDoAE3AgAgDEEIaiARKQMANwIAIAxBEGogECkDADcCACAMQRhqIAJBoAFqQRhqKAIANgIAIAIgBDYCWCACQdgAahCXgICAAEECIQQLIAMgAikDWDcCACADQSBqIAJB2ABqQSBqKAIANgIAIANBGGogDikDADcCACADQRBqIAJB2ABqQRBqKQMANwIAIANBCGogAkHYAGpBCGopAwA3AgAgASAENgIADAALCyAEQQNGDQAgAUECNgIAIARBAkcNASABQQM2AgALQQIhDAJAAkAgASgCKCIDQQNGDQAgAUECNgIoIANBAkYNASAAQSRqIAFBzABqKAIANgIAIABBHGogAUHEAGopAgA3AgAgAEEUaiABQTxqKQIANwIAIABBDGogAUE0aikCADcCACAAIAFBLGopAgA3AgQgAyEMCyAAIAw2AgAMAgsgAUEDNgIoIABBAjYCAAwBCyAAIAQ2AgAgACADKQIANwIEIABBJGogA0EgaigCADYCACAAQRxqIANBGGopAgA3AgAgAEEUaiADQRBqKQIANwIAIABBDGogA0EIaikCADcCAAsgAkHgAWokgICAgAALkQIBBH8CQCAAQQRqKAIAIgFFDQAgACgCACICRQ0AIAIgAUEBEIOBgIAACyAAKAIMIQECQCAAQRRqKAIAIgJFDQAgAkEFdCECIAFBFGohAQNAAkAgASgCACIDRQ0AIAFBfGooAgAiBEUNACAEIANBARCDgYCAAAsgAUEgaiEBIAJBYGoiAg0ACyAAKAIMIQELAkAgAEEQaigCACICRQ0AIAFFDQAgAkEFdCICRQ0AIAEgAkEIEIOBgIAACwJAIAAoAhgiAUUNACAAQRxqKAIAIgJFDQAgASACQQEQg4GAgAALAkAgACgCJEUNACAAQShqKAIAIgFFDQAgAEEsaigCACICRQ0AIAEgAkEBEIOBgIAACwubAQEDfyOAgICAAEEQayICJICAgIAAIAEoAihBAXZBAXMgASgCAEEBdkEBc2ohAwJAAkAgASgCUCIERQ0AIAIgBCABQdQAaigCACgCEBGAgICAAABBACEBIAIoAgANASACKAIEQQFHDQEgAkEIaigCAA0BCyAAQQhqIAM2AgBBASEBCyAAIAE2AgQgACADNgIAIAJBEGokgICAgAALwwUBCH8jgICAgABBMGsiBCSAgICAACACQRRqKAIAIgVBBXQhBiACKAIMIQcCQAJAAkACQAJAIAMNACAGIQUgByEIA0AgBUUNAyAFQWBqIQUgCCABEJaBgIAAIQkgCEEgaiICIQggCQ0ACyACQWBqIQUMAQsgBUUNASAHQSBqIQIgByEFCyAEQRBqIAUQlYGAgAAgBCkDEEIDUg0BCyAAQQA2AgggAEIINwIADAELAkACQAJAQYABQQgQgoGAgAAiCkUNACAHIAZqIQggCiAEKQMQNwMAIApBGGogBEEQakEYaiIGKQMANwMAIApBEGogBEEQakEQaiILKQMANwMAIApBCGogBEEQakEIaikDADcDACAEQoSAgIAQNwIEIAQgCjYCACADDQFBASEHA0AgAiAIRg0DIAIgARCWgYCAACEFIAJBIGoiCSECIAUNACAEQRBqIAlBYGoQlYGAgAAgBCkDEEIDUQ0DAkAgByAEKAIERw0AIAQgB0EBEJyAgIAAIAQoAgAhCgsgCiAHQQV0aiICIAQpAxA3AwAgAkEYaiAGKQMANwMAIAJBEGogCykDADcDACACQQhqIARBEGpBCGopAwA3AwAgBCAHQQFqIgc2AgggCSECDAALC0GAAUEIENyDgIAAAAsgCCACRg0AQQAhBSAEQShqIQcgBEEgaiEDIARBGGohBkEBIQEDQCAEQRBqIAIgBWoQlYGAgAAgBCkDEEIDUQ0BAkAgASAEKAIERw0AIAQgAUEBEJyAgIAAIAQoAgAhCgsgCiAFaiIJQThqIAcpAwA3AwAgCUEwaiADKQMANwMAIAlBKGogBikDADcDACAJQSBqIAQpAxA3AwAgBCABQQFqIgE2AgggAiAFQSBqIgVqIAhHDQALCyAAIAQpAwA3AgAgAEEIaiAEQQhqKAIANgIACyAEQTBqJICAgIAAC/MBAQN/I4CAgIAAQSBrIgMkgICAgAACQCABIAJqIgIgAUkNACAAQQRqKAIAIgRBAXQiASACIAEgAksbIgFBBCABQQRLGyIBQf///z9xIAFGQQN0IQIgAUEFdCEFAkACQCAERQ0AIANBEGpBCGpBCDYCACADIARBBXQ2AhQgAyAAKAIANgIQDAELIANBADYCEAsgAyAFIAIgA0EQahD5gICAAAJAIAMoAgBFDQAgA0EIaigCACIARQ0BIAMoAgQgABDcg4CAAAALIAMoAgQhAiAAQQRqIAE2AgAgACACNgIAIANBIGokgICAgAAPCxDdg4CAAAALm8EBBAV/BH4VfwF+I4CAgIAAQdAEayIFJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAADgsAAQIDChoZGA0MCwALIARBCGooAgAhBiAEQQxqKAIAIQcgBEEEaigCACEIIAQtAAEhCSACKAIEIQQgAigCACECIAVByANqQTBqIANBMGopAwA3AwAgBUHIA2pBKGogA0EoaikDADcDACAFQcgDakEgaiADQSBqKQMANwMAIAVByANqQRhqIANBGGopAwA3AwAgBUHIA2pBEGogA0EQaikDADcDACAFQcgDakEIaiADQQhqKQMANwMAIAUgAykDADcDyAMgBUGIBGogAUEgaiACIAQgCCAHEJ6AgIAAAkAgBSgCiAQNACAFQfgCakEwaiAFQbwEaigCACIDNgIAIAVB+AJqQShqIAVBtARqKQIAIgo3AwAgBUH4AmpBIGogBUGsBGopAgAiCzcDACAFQcACakEIaiAFQYgEakEMaikCADcDACAFQcACakEQaiAFQZwEaikCADcDACAFQcACakEYaiAFQaQEaikCADcDACAFQcACakEgaiALNwMAIAVBwAJqQShqIAo3AwAgBUHAAmpBMGogAzYCACAFIAUpAowENwPAAiAFQQA2AoADIAVCATcD+AIgBUGIBGogBUH4AmpBoI7AgAAQn4SAgAAgBUHAAmogBUGIBGoQx4KAgAANCSAFQZQEaiAFQcgDaiAFQcACaiAJQQJHIAlxEJuAgIAAIAVBiARqQQhqIgMgBUH4AmpBCGooAgA2AgAgBUG4AWpBEGogBUGIBGpBEGopAwA3AwAgBUG4AWpBCGogAykDADcDACAFIAUpA/gCIgo3A4gEIAUgCjcDuAEgBUHAAmoQmYCAgAACQCAGRQ0AIAgg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QQhqIA03AgAgAEEBNgIADBULAkAgAygCCCICIANBBGooAgBHDQAgAyACEI+AgIAAIAMoAgghAgsgAyACQQFqIgQ2AgggAygCACACakEsOgAADAILIAVB1ANqIAVBiARqQQRyIgNBCGooAgA2AgAgBSADKQIANwLMAwwCC0G4jsCAAEE3IAVBsAJqQayXwIAAQbyPwIAAEI6EgIAAAAsCQCAEIANBBGoiAigCAEcNACADIAQQj4CAgAAgAygCCCEECyADKAIAIARqQSI6AAAgAyAEQQFqIgQ2AggCQCACKAIAIARrQQVLDQAgAyAEQQYQkICAgAAgAygCCCEECyADKAIAIARqIgJBACgAm5nAgAA2AAAgAkEEakEALwCfmcCAADsAACADIARBBmoiBDYCCAJAIANBBGooAgAgBGtBAUsNACADIARBAhCQgICAACADKAIIIQQLIAMoAgAgBGpBovQAOwAAIAMgBEECajYCCCAFQYgEaiAFQcgAaiADEJ+AgIAAAkACQCAFKAKIBA0AAkAgAygCCCIEIANBBGoiAigCAEcNACADIAQQj4CAgAAgAygCCCEECyADKAIAIARqQSw6AAAgAyAEQQFqIgQ2AggCQCAEIAIoAgBHDQAgAyAEEI+AgIAAIAMoAgghBAsgAygCACAEakEiOgAAIAMgBEEBaiIENgIIAkAgA0EEaiICKAIAIARrQQNLDQAgAyAEQQQQkICAgAAgAygCCCEECyAFQeAAaiEBIAMoAgAgBGpB6dyZ+wY2AAAgAyAEQQRqIgQ2AggCQCACKAIAIARrQQFLDQAgAyAEQQIQkICAgAAgAygCCCEECyADKAIAIARqQaL0ADsAACADIARBAmo2AgggBUGIBGogASADEK6AgIAAAkAgBSgCiARFDQAgBUHIA2pBDGogBUGIBGpBDGooAgA2AgAgBSAFKQKMBDcCzAMMAwtBACEEIAVByANqIANBABDwgoCAACAFKALIA0UNAQwCCyAFQcgDakEMaiAFQYgEakEMaigCADYCACAFIAUpAowENwLMAwwBCyAFQYgEakEMaiAFQYADaigCACIDNgIAIAUgBSkD+AIiCjcCjAQgAEEMaiADNgIAIAAgCjcCBAwBCyAFQcACakEIaiIDIAVB1ANqKAIANgIAIAUgBSkCzAM3A8ACAkAgBSgC/AIiBEUNACAFKAL4AiICRQ0AIAIgBEEBEIOBgIAACyAFQcgDakEIaiADKAIANgIAIAUgBSkDwAI3A8gDIAVBiARqQQhqIgNBoJLAgABB2AAgBUHIA2oQoICAgAAgAEEgaiAFQYgEakEgaikDADcDACAAQRhqIAVBiARqQRhqKQMANwMAIABBEGogBUGIBGpBEGopAwA3AwAgAEEIaiADKQMANwMAQQEhBAsgACAENgIAAkAgBSgCTCIARQ0AIAUoAkgiA0UNACADIABBARCDgYCAAAsgBSgCVCEBAkAgBUHIAGpBFGooAgAiAEUNACAAQQV0IQMgAUEUaiEAA0ACQCAAKAIAIgRFDQAgAEF8aigCACICRQ0AIAIgBEEBEIOBgIAACyAAQSBqIQAgA0FgaiIDDQALCwJAIAVB2ABqKAIAIgBFDQAgAEEFdCIARQ0AIAEgAEEIEIOBgIAACwJAIAUoAmAiAEUNACAFQeQAaigCACIDRQ0AIAAgA0EBEIOBgIAACyAFQewAaigCAEUNDyAFQfAAaigCACIARQ0PIAVB9ABqKAIAIgNFDQ8gACADQQEQg4GAgAAMDwsgBEEIaigCACEGIAVBiARqIAFBIGogAigCACACKAIEIARBBGooAgAiByAEQQxqKAIAEJ6AgIAAAkACQAJAIAUoAogEDQAgBUGIBGpBIGopAwAhCiAFQbwEaigCACEPIAVBuARqKAIAIRMgBUG0BGooAgAhEiAFQbAEaigCACEOIAVBpARqKAIAIQkgBUGgBGooAgAhBCAFQZwEaigCACEUIAVBmARqKAIAIRECQCAFQYgEakEIaigCACICRQ0AIAUoAowEIgFFDQAgASACQQEQg4GAgAALAkAgBEUNACAEQQV0IQIgEUEUaiEEA0ACQCAEKAIAIgFFDQAgBEF8aigCACIIRQ0AIAggAUEBEIOBgIAACyAEQSBqIQQgAkFgaiICDQALCyAKQiCIIQsCQCAURQ0AIBRBBXQiBEUNACARIARBCBCDgYCAAAsgC6chAiAKpyEEAkAgBkUNACAHIAZBARCDgYCAAAsgBUHgA2ogDzYCACAFQdwDaiATNgIAIAVB2ANqIBI2AgAgBUHIA2pBCGogAjYCACAFIA42AtQDIAUgBDYCzAMgBSAJNgLIAyAFQcACahDLgoCAACAFQfgCaiAFQcgDaiAFQcACahCugICAACAFKAL4AkUNASAFQbgBakEIaiAFQYQDaigCADYCACAFIAUpAvwCNwO4AQJAIAUoAsQCIgJFDQAgBSgCwAIiAUUNACABIAJBARCDgYCAAAsgBUH4AmpBCGogBUG4AWpBCGooAgA2AgAgBSAFKQO4ATcD+AIgBUGIBGpBCGoiAkH2lMCAAEHVACAFQfgCahCggICAACAAQSBqIAVBiARqQSBqKQMANwMAIABBGGogBUGIBGpBGGopAwA3AwAgAEEQaiAFQYgEakEQaikDADcDACAAQQhqIAIpAwA3AwBBASECDAILIAVBiARqQSBqKQMAIQogBUGIBGpBHGooAgAhBCAFQYgEakEYaigCACECIAVBiARqQRRqKAIAIQEgBUGIBGpBEGooAgAhCCAFQYgEakEMaigCACEJIAVBiARqQQhqKAIAIQ4CQCAGRQ0AIAcgBkEBEIOBgIAACyAAQQE2AgAgAEEgaiAKNwIAIABBHGogBDYCACAAQRhqIAI2AgAgAEEUaiABNgIAIABBEGogCDYCACAAQQxqIAk2AgAgAEEIaiAONgIADAMLIAVBiARqQQxqIAVBwAJqQQhqKAIAIgI2AgAgBSAFKQPAAiIKNwKMBCAAQQxqIAI2AgAgACAKNwIEQQAhAgsgACACNgIAAkAgCUUNACAERQ0AIAkgBEEBEIOBgIAACyAORQ0CIBJFDQIgE0UNAiASIBNBARCDgYCAAAwCCyAFQcgAaiACKAIAIAEoAgAgASgCBCACKAIEKAIMEYOAgIAAAAJAAkACQAJAAkACQAJAAkACQAJAAkAgBSgCSCICDQBBIkEBEIKBgIAAIgRFDQEgBEEgakEALwDXlMCAADsAACAEQRhqQQApAM+UwIAANwAAIARBEGpBACkAx5TAgAA3AAAgBEEIakEAKQC/lMCAADcAACAEQQApALeUwIAANwAAIAVBiARqQRBqQqKAgICgBDcDACAFQZQEaiAENgIAIAVBiARqQQhqQQY2AgAMCQsgBUGAAWogAiAFQcgAakEIaigCABDYgoCAACAFQTBqIAVBgAFqEOCCgIAAAkAgBS0AMEEBcQ0AQQQhBAwHCwJAIAUtADFB/wFxQfsARg0AQQ4hBAwHCyAFQYABahDZgoCAACAFQShqIAVBgAFqENaCgIAAIAUtACwhASAFQSBqIAUoAigiCBDggoCAAAJAIAUtACBBAXENAEEAIQ5BACEJQQIhBAwECyAFLQAhIQQgAUEBcSEBIAVBuAFqQQRyIQ8gBUHAAmpBBHIhGCAFQcgCaiEQQQAhCUEAIQ4DQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIARB/wFxIgZBLEYNACAGQf0ARg0CIAFB/wFxDQFBCSEEDBELAkAgAUH/AXFFDQBBECEEDBELIAgQ2YKAgAAgBUEYaiAIEOCCgIAAIAUtABhBAXFFDQ8gBS0AGSEECwJAIARB/wFxIgFBIkYNAEEQIQQCQCABQf0ARw0AQRMhBAsMEAsgBUEQaiAIEOCCgIAAIAUtABBBAXFFDQ4CQCAFLQARQf8BcUEiRg0AQQ4hBAwQCyAIENmCgIAAIAVBwAJqIAgQ34KAgAAgBSgC0AIhByAFKALMAiEGIAUoAsgCIQEgBSgCxAIhBCAFKALAAg0PAkAgBA0AIAZBfGoOAwIKBAoLQQIhBAJAAkACQCAHQXxqDgMAAgECC0EAQX4gASgAAEHuwrWrBkYbIQQMAQtBfkEBIAFB0oHAgABBBhC/hICAABshBAsCQCAGRQ0AIAFFDQAgASAGQQEQg4GAgAALIARBHnRBHnVBAEgNCSAEQQNxDgICBAILAkAgCUUNACAODQYgBUHAAmpBBHJB0oHAgABBBhCvgICAACAFQdACaigCACEHIAVBzAJqKAIAIQYgBUHIAmooAgAhASAFKALEAiEEIBJFDRIgCSASQQEQg4GAgAAMEgsgBUHAAmpBBHJBzoHAgABBBBCvgICAACAFQdACaigCACEHIAVBzAJqKAIAIQYgBUHIAmooAgAhASAFKALEAiEEDAwLIAEoAABB7sK1qwZHDQcLIAlFDQIgBUHAAmpBzoHAgABBBBCwgICAACAFQcwCaigCACEHIAVByAJqKAIAIQYgBSgCxAIhASAFKALAAiEEDAwLIAFB0oHAgABBBhC/hICAAA0FCwJAIA5FDQAgBUHAAmpB0oHAgABBBhCwgICAACAFQcwCaigCACEHIAVByAJqKAIAIQYgBSgCxAIhASAFKALAAiEEIBMNDAwNCyAFQbgBaiAIEN6CgIAAAkACQCAFKAK4ASIEQRVGDQAgECAPKQIANwIAIBBBCGogD0EIaigCADYCAAwBCyAFQcACaiAIELGAgIAAIAUoAsACRQ0EIAUoAsQCIQQLIAVB0AJqKAIAIQcgBSgCzAIhBiAFKALIAiEBDAwLIAVBuAFqIAgQ3oKAgAACQAJAIAUoArgBIgRBFUYNACAQIA8pAgA3AgAgEEEIaiAPQQhqKAIANgIADAELIAVBwAJqIAgQsYCAgAAgBSgCwAJFDQIgBSgCxAIhBAsgBUHQAmooAgAhByAFKALMAiEGIAUoAsgCIQEMBwsgBUHAAmogBUGAAWoQ3IKAgAACQCAFKALAAiIEQRVGDQAgBUHMAmooAgAhByAFQcgCaigCACEGIAUoAsQCIQECQCASRQ0AIAkgEkEBEIOBgIAACyATRQ0MIA4gE0EBEIOBgIAADAwLIAVBwAJqIAVBgAFqENqCgIAAAkAgBSgCwAIiBEEVRg0AIAVBzAJqKAIAIQcgBUHIAmooAgAhBiAFKALEAiEBAkAgEkUNACAJIBJBARCDgYCAAAsgE0UNDCAOIBNBARCDgYCAAAwMCyAFQaAEaiARNgIAIAVBnARqIBM2AgAgBUGYBGogDjYCACAFQZQEaiAUNgIAIAVBkARqIBI2AgAgBSAJNgKMBEEBIQQMDAsgBSgCzAIhFCAFKALIAiESIAUoAsQCIQkMAgsgBSgCzAIhESAFKALIAiETIAUoAsQCIQ4MAQsgBUHAAmogCBDegoCAAAJAAkAgBSgCwAIiBEEVRg0AIA8gGCkCADcCACAPQQhqIBhBCGooAgA2AgAMAQsgBUG4AWogCBCygICAACAFKAK4ASIEQRVGDQELIAVBxAFqKAIAIQcgBUHAAWooAgAhBiAFKAK8ASEBDAULIAVBCGogCBDggoCAAEEAIQEgBS0ACSEEIAUtAAhBAXENAAtBAiEEDAMLQSJBARDcg4CAAAALQQAhCQwBC0EEIQQLIA5FDQEgE0UNAQsgDiATQQEQg4GAgAALIAlFDQAgEkUNACAJIBJBARCDgYCAAAsgBUHMAmogBzYCACAFQcACakEIaiAGNgIAIAUgATYCxAIgBSAENgLAAiAFQYgEakEIakG3lMCAAEEiIAVBwAJqELOAgIAAQQAhBAsCQCAFKAJMIgFFDQAgAiABQQEQg4GAgAALIAQNAQsgBUHkA2ogBUGIBGpBIGopAwAiCjcCACAFQdwDaiAFQYgEakEYaikDACILNwIAIAVB1ANqIAVBiARqQRBqKQMAIgw3AgAgBSAFQYgEakEIaikDACINNwLMAyAAQSBqIAo3AgAgAEEYaiALNwIAIABBEGogDDcCACAAQQhqIA03AgAgAEEBNgIADAELIAVByANqQRBqIAVBnARqKQIAIgo3AwAgBUHIA2pBCGogBUGIBGpBDGoiBCkCACILNwMAIAVB+AJqQQhqIAs3AwAgBUH4AmpBEGogCjcDACAFIAUpAowEIgo3A8gDIAUgCjcD+AIgBUGIBGogBUH4AmoQtICAgAACQAJAIAUoAogEDQAgACAFKQKMBDcCBCAAQQxqIAQoAgA2AgBBACEEDAELIABBIGogBUGIBGpBIGopAwA3AwAgAEEYaiAFQYgEakEYaikDADcDACAAQRBqIAVBiARqQRBqKQMANwMAIABBCGogBUGIBGpBCGopAwA3AwBBASEECyAAIAQ2AgACQCAFKAL8AiIARQ0AIAUoAvgCIgRFDQAgBCAAQQEQg4GAgAALIAVBiANqKAIAIgBFDQEgBSgChAMiBEUNASAEIABBARCDgYCAAAwBCwJAIANBFGooAgAiAEUNACADQRBqKAIAIgRFDQAgBCAAQQEQg4GAgAALIANBLGooAgAiAEUNDCADQShqKAIAIgNFDQwgAyAAQQEQg4GAgAAMDAsCQCADQRRqKAIAIgBFDQAgA0EQaigCACIERQ0AIAQgAEEBEIOBgIAACyADQSxqKAIAIgBFDQsgA0EoaigCACIDRQ0LIAMgAEEBEIOBgIAADAsLIAVBsANqQQhqIAVB4ANqKQMANwMAIAVBsANqQRBqIAVB6ANqKQMANwMAIAUgBUHIA2pBEGopAwA3A7ADIAVB1ANqKAIAIQEgBUHIA2pBCGooAgAhAiAFKAKAAiIDRQ0CIAUoAoQCIgRFDQIgAyAEQQEQg4GAgAAMAgsgBSgCuAEiAiAFKAK8ASIEKAIAEYKAgIAAAAJAIAQoAgQiAUUNACACIAEgBCgCCBCDgYCAAAsgBSgCpAIhEgtBASEEAkACQCAFKAL4AiICQQxHDQAgEiECIAMhAQwBCyAFQcgAakEIaiAFQfgCakEQaikDADcDACAFQcgAakEQaiAFQZADaikDADcDACAFIAVB+AJqQQhqKQMANwNIIAUoAvwCIQECQCADRQ0AIANBBXQhBCAJQRRqIQMDQAJAIAMoAgAiCEUNACADQXxqKAIAIg5FDQAgDiAIQQEQg4GAgAALIANBIGohAyAEQWBqIgQNAAsLQQAhBCASRQ0AIAlFDQAgEkEFdCIDRQ0AIAkgA0EIEIOBgIAACwJAIAUoAsQCIgNFDQAgBSgCwAIiCEUNACAIIANBARCDgYCAAAsCQCAFKALQAiIDRQ0AIAUoAswCIghFDQAgCCADQQEQg4GAgAALAkACQAJAAkACQAJAIARFDQACQCAFKAKUAiIDRQ0AIAUoApACIgRFDQAgBCADQQEQg4GAgAALAkAgBSgCgAIiA0UNACAFKAKEAiIERQ0AIAMgBEEBEIOBgIAACwJAIAdFDQAgBkUNACAGIAdBARCDgYCAAAsCQCAFQZwEaigCACIDRQ0AIAUoApgEIgRFDQAgBCADQQEQg4GAgAALAkAgBUG0BGooAgAiA0UNACAFKAKwBCIERQ0AIAQgA0EBEIOBgIAACyAFIAE2AvgBIAUgAjYC9AEgBSAJNgLwASAFQfgCahDLgoCAACAFQYgEaiAFQfgCakHMmMCAAEERQQEQ0oKAgAAgBSgCiAQNAiAFIAUoAowENgK4ASAFIAVBkARqLQAAOgC8ASAFQYgEaiAFQbgBakHdmMCAACAFQfABahC1gICAACAFKAKIBEUNASAFQcgDakEMaiAFQYgEakEMaigCADYCACAFIAUpAowENwLMAwwECyAFQbADakEQaiAFQcgAakEQaikDADcDACAFQbADakEIaiAFQcgAakEIaikDADcDACAFIAUpA0g3A7ADAkAgBSgClAIiA0UNACAFKAKQAiIERQ0AIAQgA0EBEIOBgIAACyAFKAKAAiIDRQ0FIAUoAoQCIgRFDQUgAyAEQQEQg4GAgAAMBQsgBUHIA2ogBSgCuAEgBS0AvAEQ8IKAgAAgBSgCyANFDQEMAgsgBUHUA2ogBUGIBGpBBHIiA0EIaigCADYCACAFIAMpAgA3AswDDAELIAVBiARqQQxqIAVBgANqKAIAIgM2AgAgBSAFKQP4AiIKNwKMBCAAQQxqIAM2AgAgACAKNwIEQQAhAwwBCyAFQcACakEIaiIDIAVB1ANqKAIANgIAIAUgBSkCzAM3A8ACAkAgBSgC/AIiBEUNACAFKAL4AiIIRQ0AIAggBEEBEIOBgIAACyAFQcgDakEIaiADKAIANgIAIAUgBSkDwAI3A8gDIAVBiARqQQhqIgNB+ZPAgABBHyAFQcgDahCggICAACAAQSBqIAVBiARqQSBqKQMANwMAIABBGGogBUGIBGpBGGopAwA3AwAgAEEQaiAFQYgEakEQaikDADcDACAAQQhqIAMpAwA3AwBBASEDCyAAIAM2AgACQCABRQ0AIAFBBXQhAyAJQRRqIQADQAJAIAAoAgAiBEUNACAAQXxqKAIAIgFFDQAgASAEQQEQg4GAgAALIABBIGohACADQWBqIgMNAAsLIAJFDQggCUUNCCACQQV0IgBFDQggCSAAQQgQg4GAgAAMCAsCQCAHRQ0AIAZFDQAgBiAHQQEQg4GAgAALAkAgBUGcBGooAgAiA0UNACAFKAKYBCIERQ0AIAQgA0EBEIOBgIAACwJAIAVBtARqKAIAIgNFDQAgBSgCsAQiBEUNACAEIANBARCDgYCAAAsgAEEQaiAFKQOwAzcCACAAQSBqIAVBsANqQRBqKQMANwIAIABBGGogBUGwA2pBCGopAwA3AgAgAEEMaiABNgIAIABBCGogAjYCACAAQQE2AgAMBwsgAUEFdCETQQAhAwJAA0AgBiADaiIEKQMAIgpCA1ENASAEQQhqIgEpAwAhCyAEQRBqIggpAwAhDCAFIARBGGoiBykDADcDqAQgBSAMNwOgBCAFIAs3A5gEIAUgCjcDkAQgBSAENgKMBCAFIAY2AogEIAEgCzcDACAEIAo3AwAgCCACKQMANwMAIAcgAkEIaigCADYCACATIANBIGoiA0cNAAsgCSEDIAkhBAwBCyAEQSBqIQMLAkAgCSADayICRQ0AIAJBBXVBBXQhAiADQRRqIQMDQAJAIAMoAgAiAUUNACADQXxqKAIAIghFDQAgCCABQQEQg4GAgAALIANBIGohAyACQWBqIgINAAsLAkAgD0UNACAYRQ0AIBggD0EBEIOBgIAACwJAIBFFDQAgEEUNACARIBBBARCDgYCAAAsCQCAXRQ0AIBZFDQAgFUUNACAWIBVBARCDgYCAAAsCQCASRQ0AIA5FDQAgDiASQQEQg4GAgAALIAQgBmshAwJAIAVB3ANqKAIAIgRFDQAgBSgC2AMiAkUNACACIARBARCDgYCAAAsgA0EFdSEEAkAgBUH0A2ooAgAiAkUNACAFKALwAyIBRQ0AIAEgAkEBEIOBgIAACyAFIAQ2AsABIAUgFDYCvAEgBSAGNgK4ASAFQfgCahDLgoCAACAFQYgEaiAFQfgCakGlmMCAAEERQQEQ0oKAgAACQAJAAkACQCAFKAKIBA0AIAUgBSgCjAQ2AoABIAUgBUGQBGotAAA6AIQBIAVBiARqIAVBgAFqQZCAwIAAIAVBuAFqELWAgIAAAkAgBSgCiARFDQAgBUHIA2pBDGogBUGIBGpBDGooAgA2AgAgBSAFKQKMBDcCzAMMAwsgBUHIA2ogBSgCgAEgBS0AhAEQ8IKAgAAgBSgCyANFDQEMAgsgBUHUA2ogBUGIBGpBBHIiAkEIaigCADYCACAFIAIpAgA3AswDDAELIAVBiARqQQxqIAVBgANqKAIAIgI2AgAgBSAFKQP4AiIKNwKMBCAAQQxqIAI2AgAgACAKNwIEQQAhAgwBCyAFQcACakEIaiICIAVB1ANqKAIANgIAIAUgBSkCzAM3A8ACAkAgBSgC/AIiAUUNACAFKAL4AiIIRQ0AIAggAUEBEIOBgIAACyAFQcgDakEIaiACKAIANgIAIAUgBSkDwAI3A8gDIAVBiARqQQhqIgJB0pbAgABBHyAFQcgDahCggICAACAAQSBqIAVBiARqQSBqKQMANwMAIABBGGogBUGIBGpBGGopAwA3AwAgAEEQaiAFQYgEakEQaikDADcDACAAQQhqIAIpAwA3AwBBASECCyAAIAI2AgACQCADRQ0AIARBBXQhAyAGQRRqIQADQAJAIAAoAgAiBEUNACAAQXxqKAIAIgJFDQAgAiAEQQEQg4GAgAALIABBIGohACADQWBqIgMNAAsLIBRFDQUgFEEFdCIARQ0FIAYgAEEIEIOBgIAADAULAkAgBSgC/AIiA0UNACAFKAL4AiIERQ0AIAQgA0EBEIOBgIAACwJAIA9FDQAgBSgChAMhAwJAIAUoAowDIgRFDQAgBEEFdCEEIANBFGohAwNAAkAgAygCACICRQ0AIANBfGooAgAiAUUNACABIAJBARCDgYCAAAsgA0EgaiEDIARBYGoiBA0ACyAFKAKEAyEDCyAFKAKIAyIERQ0AIANFDQAgBEEFdCIERQ0AIAMgBEEIEIOBgIAACwJAIAUoApADIgNFDQAgBUGUA2ooAgAiBEUNACADIARBARCDgYCAAAtBEiEEAkAgBSgCnANFDQAgBUGgA2ooAgAiA0UNACAFQaQDaigCACICRQ0AIAMgAkEBEIOBgIAAQRIhAwwCC0ESIQMMAQsgBUHIAGpBCGogBUGIBGpBIGooAgA2AgAgBSAFQYgEakEYaikDACIKNwPAAiAFIAo3A0ggBUGcBGooAgAhAyAFQYgEakEQaigCACEEIAVBiARqQQxqKAIAIQggBUGIBGpBCGooAgAhDiAFQawEaigCACESQgEhCgsCQCAFKAKEASICRQ0AIAUoAoABIgFFDQAgASACQQEQg4GAgAALAkAgCUUNACAHRQ0AIAcgCUEBEIOBgIAACwJAIAVB3ANqKAIAIgJFDQAgBSgC2AMiAUUNACABIAJBARCDgYCAAAsCQCAFQfQDaigCACICRQ0AIAUoAvADIgFFDQAgASACQQEQg4GAgAALIApQDQAgBUGwA2pBCGogBUHIAGpBCGooAgAiAjYCACAFIAUpA0giCjcDsAMgAEEgaiACNgIAIABBGGogCjcDACAAQSRqIBI2AgAgAEEUaiADNgIAIABBEGogBDYCACAAQQxqIAg2AgAgAEEIaiAONgIAIABBATYCAAwCCyAFQbADakEIaiAFQcgAakEIaigCACICNgIAIAVB0AFqIAI2AgAgBSAFKQNIIgo3A7ADIAUgCjcDyAEgBSASNgLUASAFIAM2AsQBIAUgBDYCwAEgBSAINgK8ASAFIA42ArgBIAVB+AJqEMuCgIAAIAVBiARqIAVB+AJqQZWYwIAAQRBBARDSgoCAAAJAAkACQAJAAkAgBSgCiAQNACAFKAKMBCEDAkAgBUGIBGpBCGotAABFDQAgAygCCCEEDAILAkAgAygCCCICIANBBGooAgBHDQAgAyACEI+AgIAAIAMoAgghAgsgAyACQQFqIgQ2AgggAygCACACakEsOgAADAELIAVB1ANqIAVBiARqQQRyIgNBCGooAgA2AgAgBSADKQIANwLMAwwBCwJAIAQgA0EEaiICKAIARw0AIAMgBBCPgICAACADKAIIIQQLIAMoAgAgBGpBIjoAACADIARBAWoiBDYCCAJAIAIoAgAgBGtBB0sNACADIARBCBCQgICAACADKAIIIQQLIAMoAgAgBGpC4eDBk/fN3bDsADcAACADIARBCGoiBDYCCAJAIANBBGooAgAgBGtBAUsNACADIARBAhCQgICAACADKAIIIQQLIAMoAgAgBGpBovQAOwAAIAMgBEECajYCCCAFQYgEaiAFQbgBaiADELaAgIAAAkAgBSgCiARFDQAgBUHIA2pBDGogBUGIBGpBDGooAgA2AgAgBSAFKQKMBDcCzAMMAQtBACEEIAVByANqIANBABDwgoCAACAFKALIA0UNAQsgBUHAAmpBCGoiAyAFQdQDaigCADYCACAFIAUpAswDNwPAAgJAIAUoAvwCIgRFDQAgBSgC+AIiAkUNACACIARBARCDgYCAAAsgBUHIA2pBCGogAygCADYCACAFIAUpA8ACNwPIAyAFQYgEakEIaiIDQZORwIAAQR4gBUHIA2oQoICAgAAgAEEgaiAFQYgEakEgaikDADcDACAAQRhqIAVBiARqQRhqKQMANwMAIABBEGogBUGIBGpBEGopAwA3AwAgAEEIaiADKQMANwMAQQEhBAwBCyAFQYgEakEMaiAFQYADaigCACIDNgIAIAUgBSkD+AIiCjcCjAQgAEEMaiADNgIAIAAgCjcCBAsgACAENgIAIAVBzAFqKAIAIgBFDQEgBSgCyAEiA0UNASADIABBARCDgYCAAAwBCyAAIAM2AgACQCAFKAJMIgBFDQAgBSgCSCIDRQ0AIAMgAEEBEIOBgIAACyAFKAJUIQECQCAFQcgAakEUaigCACIARQ0AIABBBXQhAyABQRRqIQADQAJAIAAoAgAiBEUNACAAQXxqKAIAIgJFDQAgAiAEQQEQg4GAgAALIABBIGohACADQWBqIgMNAAsLIAVB2ABqKAIAIgBFDQAgAEEFdCIARQ0AIAEgAEEIEIOBgIAACyAFQdAEaiSAgICAAAuHAgEBfyOAgICAAEEgayIGJICAgIAAIAYgAUEIaiAEIAUQ14CAgAAgBkEQaiACIAYoAgAiBCAGKAIIIAMoAgwRg4CAgAAAAkACQAJAIAYoAhAiAg0AQdQAQQEQgoGAgAAiAkUNAiACQcyPwIAAQdQAEMCEgIAAIQIgAEEQakLUgICAwAo3AwAgAEEMaiACNgIAIABBCGpBBjYCACAAQQE2AgAMAQsgACACIAZBEGpBCGooAgAQzICAgAAgBigCFCIARQ0AIAIgAEEBEIOBgIAACwJAIARFDQAgBigCBCIARQ0AIAQgAEEBEIOBgIAACyAGQSBqJICAgIAADwtB1ABBARDcg4CAAAALrQIBAX8jgICAgABBIGsiAySAgICAACADQRBqIAJBhpjAgABBD0ECENKCgIAAAkACQAJAIAMoAhANACADIAMoAhQ2AgggAyADQRhqLQAAOgAMIANBEGogA0EIakHggcCAAEEFIAEQkYCAgAAgAygCEA0BIANBEGogA0EIakGQgMCAACABQQxqELWAgIAAAkAgAygCEA0AIAAgAygCCCADLQAMEPCCgIAADAMLIAAgAykCFDcCBCAAQQE2AgAgAEEMaiADQRBqQQxqKAIANgIADAILIABBATYCACAAIANBEGpBBHIiAikCADcCBCAAQQxqIAJBCGooAgA2AgAMAQsgACADKQIUNwIEIABBATYCACAAQQxqIANBEGpBDGooAgA2AgALIANBIGokgICAgAALpwIBAn8jgICAgABBwABrIgQkgICAgAACQAJAAkACQCACQQBIDQAgAg0BQQEhBQwCCxDdg4CAAAALIAJBARCCgYCAACIFRQ0BCyAFIAEgAhDAhICAACEBIARBADYCCCAEQgE3AwAgBEEQaiAEQaCOwIAAEJ+EgIAAAkAgAyAEQRBqEMqCgIAADQAgAEEMaiACNgIAIABBCGogAjYCACAAIAE2AgQgAEEQaiAEKQMANwIAIABBCDYCACAAQRhqIARBCGooAgA2AgACQCADKAIAIgBFDQAgA0EEaigCACICRQ0AIAAgAkEBEIOBgIAACyAEQcAAaiSAgICAAA8LQbiOwIAAQTcgBEE4akGsl8CAAEG8j8CAABCOhICAAAALIAJBARDcg4CAAAAL2gMCBn8CfiOAgICAAEHQAGsiBiSAgICAACAFQRBqKAIAIQcgBSgCCCEIIAUoAgQhCSAFKAIAIQogBkEoaiAFKAIMIgsgBUEUaigCABDYgoCAACAGQThqIAZBKGoQzYCAgAACQAJAAkAgBigCOA0AIAZBOGpBEGopAwAhDCAGQcAAaikDACENIAZBOGogBkEoahDagoCAAAJAIAYoAjgiBUEVRg0AIAZBxABqKAIAIQggBikCPCEMDAILIABBIGogDDcDACAAQRhqIA03AwAgAEEQaiAINgIAIABBDGogCTYCACAAIAo2AgggAEIANwMAIAdFDQIgC0UNAiALIAdBARCDgYCAAAwCCyAGQThqQRBqKAIAIQggBkHAAGopAwAhDCAGKAI8IQULIAZBxABqIAg2AgAgBiAMNwI8IAYgBTYCOCAGQQhqQcuVwIAAQSAgBkE4ahCz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IAIgBEEFdDYCFCACIAAoAgA2AhAMAQsgAkEANgIQCyACIAUgAyACQRBqEPmAgIAAAkAgAigCAEUNACACQQhqKAIAIgBFDQEgAigCBCAAENyDgIAAAAsgAigCBCEDIABBBGogATYCACAAIAM2AgAgAkEgaiSAgICAAA8LEN2DgIAAAAvqtAEEBn8FfhV/AX4jgICAgABB8ARrIgYkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAUoAgAOCAABAgMEBQYHAAsgBUEUaigCACEHIAVBCGooAgAhCCAFQRhqKAIAIQkgBUEQaigCACEKIAVBDGooAgAhCyAFKAIEIQUgBkHoAWpBMGogA0EwaikDADcDACAGQegBakEoaiADQShqKQMANwMAIAZB6AFqQSBqIANBIGopAwA3AwAgBkHoAWpBGGogA0EYaikDADcDACAGQegBakEQaiADQRBqKQMANwMAIAZB6AFqQQhqIANBCGopAwA3AwAgBiADKQMANwPoASAGQdgCakEQaiAEQRBqKQIANwMAIAZB2AJqQQhqIARBCGopAgA3AwAgBiAEKQIANwPYAiAGQZADakEQaiACQRBqKQIANwMAIAZBkANqQQhqIAJBCGopAgA3AwAgBiACKQIANwOQAyAGQbgEaiABIAZBkANqIAZB6AFqIAZB2AJqIAUgCyAKIAkQuYCAgAACQCAGKAK4BA0AIAZBgARqQTBqIAZB7ARqKAIAIgM2AgAgBkGABGpBKGogBkHkBGopAgAiDDcDACAGQYAEakEgaiAGQdwEaikCACINNwMAIAZBgARqQRhqIAZB1ARqKQIAIg43AwAgBkGABGpBEGogBkG4BGpBFGopAgAiDzcDACAGQYAEakEIaiAGQbgEakEMaikCACIQNwMAIAZByANqQQhqIBA3AwAgBkHIA2pBEGogDzcDACAGQcgDakEYaiAONwMAIAZByANqQSBqIA03AwAgBkHIA2pBKGogDDcDACAGQcgDakEwaiADNgIAIAYgBikCvAQiDDcDgAQgBiAMNwPIAyAGQcgDahCZgICAACAGQbgEakEgakIANwMAIAZBuARqQRBqQgA3AwAgBkIENwPQBCAGQoCAgIDAADcDwAQgBkIINwO4BCAGQYAEaiAGQbgEakH3gcCAAEEMEMGAgIAAQQZBARCCgYCAACIDRQ0IIANBBGpBAC8A9oTAgAA7AAAgA0EAKADyhMCAADYAACAGQbgEakEIaiICIAZB2AJqQQhqKAIANgIAIAYgBikD2AI3A7gEIAZByANqQQxqIAZBuARqEK2CgIAAIAZChoCAgOAANwLMAyAGIAM2AsgDAkAgBkGUBGooAgAiAyAGQYAEakEQaiIBKAIARw0AIAZBgARqQQxqIAMQwoCAgAAgBigClAQhAwsgBigCjAQgA0EYbGoiBCAGKQPIAzcCACAEQQhqIAZByANqQQhqKQMANwIAIARBEGogBkHIA2pBEGopAwA3AgAgAiAGQYAEakEIaikDADcDACAGQbgEakEYaiAGQYAEakEYaikDADcDACAGQbgEakEgaiAGQYAEakEgaikDADcDACAGQbgEakEoaiAGQYAEakEoaikDADcDACAGIANBAWo2ApQEIAZBuARqQRBqIAEpAwA3AwAgBiAGKQOABDcDuARBCUEBEIKBgIAAIgRFDQkgBEEIakEALQCIhcCAADoAACAEQQApAICFwIAANwAAAkAgBkG4BGpBFGooAgAiAiAGQbgEakEQaiIBKAIARw0AIAZBuARqQQxqIAIQwoCAgAAgBigCzAQhAgsgBigCxAQgAkEYbGoiAyAFNgIMIANCiYCAgJABNwIEIAMgBDYCACAGQYAEakEIaiAGQbgEakEIaikDADcDACAGQYAEakEYaiAGQbgEakEYaikDADcDACAGQYAEakEgaiAGQbgEakEgaikDADcDACAGQYAEakEoaiAGQbgEakEoaikDADcDACADQRRqIAs2AgAgA0EQaiAINgIAIAYgAkEBajYCzAQgBkGABGpBEGogASkDADcDACAGIAYpA7gENwOABEEIQQEQgoGAgAAiBEUNCiAEQvTeravm7de05AA3AAACQCAGQYAEakEUaigCACIDIAZBgARqQRBqIgIoAgBHDQAgBkGMBGogAxDCgICAACAGKAKUBCEDCyAGKAKMBCADQRhsaiIFIAo2AgwgBUKIgICAgAE3AgQgBSAENgIAIAVBFGogCTYCACAFQRBqIAc2AgAgAEEsaiAGQagEaikDADcCACAAQSRqIAZBgARqQSBqKQMANwIAIABBHGogBkGABGpBGGopAwA3AgAgBiADQQFqNgKUBCAAQRRqIAIpAwA3AgAgAEEMaiAGQYgEaikDADcCACAAIAYpA4AENwIEIABBADYCACAGKALkAiEFAkAgBkHYAmpBFGooAgAiA0UNACADQQV0IQMgBUEUaiEFA0ACQCAFKAIAIgBFDQAgBUF8aigCACIERQ0AIAQgAEEBEIOBgIAACyAFQSBqIQUgA0FgaiIDDQALIAYoAuQCIQULAkAgBkHoAmooAgAiA0UNACAFRQ0AIANBBXQiA0UNACAFIANBCBCDgYCAAAsCQCAGQfwBaigCACIFRQ0AIAYoAvgBIgNFDQAgAyAFQQEQg4GAgAALIAZBlAJqKAIAIgVFDSsgBigCkAIiA0UNKyADIAVBARCDgYCAAAwrCyAGQaQEaiAGQbgEakEoaikDACIMNwIAIAZBnARqIAZBuARqQSBqKQMAIg03AgAgBkGABGpBFGogBkG4BGpBGGopAwAiDjcCACAGQYAEakEMaiAGQbgEakEQaikDACIPNwIAIAYgBkG4BGpBCGopAwAiEDcChAQgAEEoaiAMNwIAIABBIGogDTcCACAAQRhqIA43AgAgAEEQaiAPNwIAIABBCGogEDcCACAAQQE2AgACQCAHRQ0AIAogB0EBEIOBgIAACwJAIAhFDQAgBSAIQQEQg4GAgAALAkAgBigC3AIiBUUNACAGKALYAiIDRQ0AIAMgBUEBEIOBgIAACyAGKALkAiEFAkAgBkHYAmpBFGooAgAiA0UNACADQQV0IQMgBUEUaiEFA0ACQCAFKAIAIgBFDQAgBUF8aigCACIERQ0AIAQgAEEBEIOBgIAACyAFQSBqIQUgA0FgaiIDDQALIAYoAuQCIQULAkAgBkHoAmooAgAiA0UNACAFRQ0AIANBBXQiA0UNACAFIANBCBCDgYCAAAsCQCAGQfwBaigCACIFRQ0AIAYoAvgBIgNFDQAgAyAFQQEQg4GAgAALIAZBlAJqKAIAIgVFDSogBigCkAIiA0UNKiADIAVBARCDgYCAAAwqCyAFQSRqKAIAIQcgBUEgaigCACEKIAVBHGooAgAhCCAGQegBakEwaiADQTBqKQMANwMAIAZB6AFqQShqIANBKGopAwA3AwAgBkHoAWpBIGogA0EgaikDADcDACAGQegBakEYaiADQRhqKQMANwMAIAZB6AFqQRBqIANBEGopAwA3AwAgBkHoAWpBCGogA0EIaikDADcDACAGIAMpAwA3A+gBIAZBEGpBEGogBEEQaikCADcDACAGQRBqQQhqIARBCGopAgA3AwAgBiAEKQIANwMQIAZBKGpBCGoiAyAFQQxqKAIANgIAIAYgBSkCBDcDKCAGQThqQQhqIAVBGGooAgAiBDYCACAGIAVBEGopAgAiDDcDOCAGQZADakEQaiACQRBqKQIANwMAIAZBkANqQQhqIAJBCGopAgA3AwAgBiACKQIANwOQAyAGQbgEaiABIAZBkANqIAZB6AFqIAZBEGogBigCKCADKAIAIAynIAQQuYCAgAACQAJAAkAgBigCuAQNACAGQYAEakEwaiAGQewEaigCACIFNgIAIAZBgARqQShqIAZB5ARqKQIAIgw3AwAgBkGABGpBIGogBkG4BGpBJGopAgAiDTcDACAGQYAEakEYaiAGQbgEakEcaikCACIONwMAIAZBgARqQRBqIAZBzARqKQIAIg83AwAgBkGABGpBCGogBkG4BGpBDGopAgAiEDcDACAGQcgDakEIaiAQNwMAIAZByANqQRBqIA83AwAgBkHIA2pBGGogDjcDACAGQcgDakEgaiANNwMAIAZByANqQShqIAw3AwAgBkHIA2pBMGogBTYCACAGIAYpArwEIgw3A4AEIAYgDDcDyAMgBkHIA2oQmYCAgAAgBkEANgKIBCAGQgE3A4AEIAZBuARqIAZBgARqQaCOwIAAEJ+EgIAAIAZBEGogBkG4BGoQx4KAgAANDCAGQfgAakEMaiAGQThqEOKDgIAAIAZB+ABqQSBqIgUgBzYCACAGQfgAakEcaiAKNgIAIAZB+ABqQRhqIgMgCDYCACAGQfgAakEIaiIEIAZBgARqQQhqIgIoAgA2AgAgBiAGKQOABDcDeCAGQbgEakEgaiIBQgA3AwAgBkG4BGpBEGoiCkIANwMAIAZCBDcD0AQgBkKAgICAwAA3A8AEIAZCCDcDuAQgBkHoAGogBkEoahDig4CAACAGQbABakEgaiAFKAIANgIAIAZBsAFqQRhqIAMpAwA3AwAgBkGwAWpBEGogBkH4AGpBEGopAwA3AwAgBkGwAWpBCGogBCkDADcDACAGIAYpA3g3A7ABIAZBoAJqIAZBsAFqEKaBgIAAIAYoAqACRQ0CIAZB2ABqQQhqIAZBoAJqQRxqKAIANgIAIAYgBkG0AmoiBSkCADcDWCAGQaACakEQaigCACEDIAZBoAJqQQxqKAIAIQQgBkGgAmpBCGooAgAhAiAGQaACakEgaikDACEMAkAgBigCbCIBRQ0AIAYoAmgiCkUNACAKIAFBARCDgYCAAAsgBkHIAGpBCGogBkHYAGpBCGooAgAiATYCACAGIAYpA1giDTcDSCAGQaACakEIaiADNgIAIAZBrAJqIA03AgAgBSABNgIAIAZBuAJqIAw3AwAgBiAENgKkAiAGIAI2AqACIABBCGogBkGgAmoQmIGAgAAgAEEBNgIAIAZBuARqEMOAgIAADAELIAZBgARqQSRqIAZBuARqQShqKQMAIgw3AgAgBkGABGpBHGogBkG4BGpBIGopAwAiDTcCACAGQZQEaiAGQbgEakEYaikDACIONwIAIAZBgARqQQxqIAZBuARqQRBqKQMAIg83AgAgBiAGQbgEakEIaikDACIQNwKEBCAAQShqIAw3AgAgAEEgaiANNwIAIABBGGogDjcCACAAQRBqIA83AgAgAEEIaiAQNwIAIABBATYCACAKRQ0AIAhFDQAgCCAKQQEQg4GAgAALAkAgBigCPCIFRQ0AIAYoAjgiA0UNACADIAVBARCDgYCAAAsCQCAGKAIsIgVFDQAgBigCKCIDRQ0AIAMgBUEBEIOBgIAACwJAIAYoAhQiBUUNACAGKAIQIgNFDQAgAyAFQQEQg4GAgAALIAYoAhwhBQJAIAZBEGpBFGooAgAiA0UNACADQQV0IQMgBUEUaiEFA0ACQCAFKAIAIgBFDQAgBUF8aigCACIERQ0AIAQgAEEBEIOBgIAACyAFQSBqIQUgA0FgaiIDDQALIAYoAhwhBQsCQCAGQSBqKAIAIgNFDQAgBUUNACADQQV0IgNFDQAgBSADQQgQg4GAgAALAkAgBkH8AWooAgAiBUUNACAGKAL4ASIDRQ0AIAMgBUEBEIOBgIAACyAGQZQCaigCACIFRQ0qIAYoApACIgNFDSogAyAFQQEQg4GAgAAMKgsgBkHIAGpBCGoiBCAGQegAakEIaigCADYCACAGIAYpA2g3A0ggBkGgAmpBDGooAgAhCCAGKQKkAiEMIAZBuARqQQAQxICAgAAgBkG4BGpBCGoiAyADKAIAIgVBAWo2AgAgBkGABGpBEGogCikDADcDACAGQYAEakEYaiAGQbgEakEYaikDADcDACAGQYAEakEgaiABKQMANwMAIAZBgARqQShqIAZBuARqQShqKQMANwMAIAYoArgEIAVB6ABsaiIFQQI2AgggBUIANwMAIAVBAzoAYCAFQgA3A1AgBUEQakEANgIAIAVBFGogBikDSDcCACAFQRxqIAQoAgA2AgAgBUE0akEANgIAIAVBLGpCCDcCACAFQShqIAg2AgAgBUEgaiAMNwMAIAIgAykDADcDACAGIAYpA7gENwOABCAGQcgDaiAGQYAEakGDgsCAAEEIEMGAgIAAQQZBARCCgYCAACIFRQ0KIAVBBGpBAC8A9oTAgAA7AAAgBUEAKADyhMCAADYAACAGQYAEakEIaiAGQRBqQQhqKAIANgIAIAYgBikDEDcDgAQgBkG4BGpBDGogBkGABGoQrYKAgAAgBkKGgICA4AA3ArwEIAYgBTYCuAQCQCAGQcgDakEUaigCACIFIAZByANqQRBqIgQoAgBHDQAgBkHIA2pBDGogBRDCgICAACAGKALcAyEFCyAGKALUAyAFQRhsaiIDIAYpA7gENwIAIANBCGogBkG4BGpBCGopAwA3AgAgA0EQaiAGQbgEakEQaikDADcCACAGQZADakEIaiAGQcgDakEIaikDADcDACAGQZADakEYaiAGQcgDakEYaikDADcDACAGQZADakEgaiAGQcgDakEgaikDADcDACAGQZADakEoaiAGQcgDakEoaikDADcDACAGIAVBAWo2AtwDIAZBkANqQRBqIAQpAwA3AwAgBiAGKQPIAzcDkANBCUEBEIKBgIAAIgVFDQsgBUEIakEALQCIhcCAADoAACAFQQApAICFwIAANwAAIAZBuARqQQhqIgIgBkEoakEIaigCADYCACAGIAYpAyg3A7gEAkAgBkGQA2pBFGooAgAiAyAGQZADakEQaiIBKAIARw0AIAZBkANqQQxqIAMQwoCAgAAgBigCpAMhAwsgBigCnAMgA0EYbGoiBEKJgICAkAE3AgQgBCAFNgIAIAQgBikDuAQ3AgwgBEEUaiACKAIANgIAIAZB2AJqQQhqIAZBkANqQQhqKQMANwMAIAZB2AJqQRhqIAZBkANqQRhqKQMANwMAIAZB2AJqQSBqIAZBkANqQSBqKQMANwMAIAZB2AJqQShqIAZBkANqQShqKQMANwMAIAYgA0EBajYCpAMgBkHYAmpBEGogASkDADcDACAGIAYpA5ADNwPYAkEIQQEQgoGAgAAiBEUNDCAEQvTeravm7de05AA3AAAgBkG4BGpBCGoiAiAGQThqQQhqKAIANgIAIAYgBikDODcDuAQCQCAGQdgCakEUaigCACIFIAZB6AJqIgEoAgBHDQAgBkHkAmogBRDCgICAACAGKALsAiEFCyAGKALkAiAFQRhsaiIDQoiAgICAATcCBCADIAQ2AgAgAyAGKQO4BDcCDCADQRRqIAIoAgA2AgAgBiAFQQFqNgLsAiAAQSxqIAZBgANqKQMANwIAIABBJGogBkHYAmpBIGopAwA3AgAgAEEcaiAGQdgCakEYaikDADcCACAAQRRqIAEpAwA3AgAgAEEMaiAGQdgCakEIaikDADcCACAAIAYpA9gCNwIEIABBADYCACAGKAIcIQUCQCAGQRBqQRRqKAIAIgNFDQAgA0EFdCEDIAVBFGohBQNAAkAgBSgCACIARQ0AIAVBfGooAgAiBEUNACAEIABBARCDgYCAAAsgBUEgaiEFIANBYGoiAw0ACyAGKAIcIQULAkAgBkEgaigCACIDRQ0AIAVFDQAgA0EFdCIDRQ0AIAUgA0EIEIOBgIAACwJAIAZB/AFqKAIAIgVFDQAgBigC+AEiA0UNACADIAVBARCDgYCAAAsgBkGUAmooAgAiBUUNKSAGKAKQAiIDRQ0pIAMgBUEBEIOBgIAADCkLIAVBFGooAgAhByAFQQhqKAIAIQggBUEoaikDACEMIAVBIGopAwAhDSAFQRhqKAIAIQkgBUEQaigCACEKIAVBDGooAgAhCyAFKAIEIQUgBkHoAWpBMGogA0EwaikDADcDACAGQegBakEoaiADQShqKQMANwMAIAZB6AFqQSBqIANBIGopAwA3AwAgBkHoAWpBGGogA0EYaikDADcDACAGQegBakEQaiADQRBqKQMANwMAIAZB6AFqQQhqIANBCGopAwA3AwAgBiADKQMANwPoASAGQdgCakEQaiAEQRBqKQIANwMAIAZB2AJqQQhqIARBCGopAgA3AwAgBiAEKQIANwPYAiAGQZADakEQaiACQRBqKQIANwMAIAZBkANqQQhqIAJBCGopAgA3AwAgBiACKQIANwOQAyAGQbgEaiABIAZBkANqIAZB6AFqIAZB2AJqIAUgCyAKIAlBASANIAwQvoCAgAACQCAGKAK4BA0AIAZBgARqQTBqIAZB7ARqKAIAIgM2AgAgBkGABGpBKGogBkHkBGopAgAiDDcDACAGQYAEakEgaiAGQdwEaikCACINNwMAIAZBgARqQRhqIAZB1ARqKQIAIg43AwAgBkGABGpBEGogBkG4BGpBFGopAgAiDzcDACAGQYAEakEIaiAGQbgEakEMaikCACIQNwMAIAZByANqQQhqIBA3AwAgBkHIA2pBEGogDzcDACAGQcgDakEYaiAONwMAIAZByANqQSBqIA03AwAgBkHIA2pBKGogDDcDACAGQcgDakEwaiADNgIAIAYgBikCvAQiDDcDgAQgBiAMNwPIAyAGQcgDahCZgICAACAGQbgEakEgakIANwMAIAZBuARqQRBqQgA3AwAgBkIENwPQBCAGQoCAgIDAADcDwAQgBkIINwO4BCAGQYAEaiAGQbgEakGLgsCAAEEHEMGAgIAAQQZBARCCgYCAACIDRQ0NIANBBGpBAC8A9oTAgAA7AAAgA0EAKADyhMCAADYAACAGQbgEakEIaiICIAZB2AJqQQhqKAIANgIAIAYgBikD2AI3A7gEIAZByANqQQxqIAZBuARqEK2CgIAAIAZChoCAgOAANwLMAyAGIAM2AsgDAkAgBkGUBGooAgAiAyAGQYAEakEQaiIBKAIARw0AIAZBgARqQQxqIAMQwoCAgAAgBigClAQhAwsgBigCjAQgA0EYbGoiBCAGKQPIAzcCACAEQQhqIAZByANqQQhqKQMANwIAIARBEGogBkHIA2pBEGopAwA3AgAgAiAGQYAEakEIaikDADcDACAGQbgEakEYaiAGQYAEakEYaikDADcDACAGQbgEakEgaiAGQYAEakEgaikDADcDACAGQbgEakEoaiAGQYAEakEoaikDADcDACAGIANBAWo2ApQEIAZBuARqQRBqIAEpAwA3AwAgBiAGKQOABDcDuARBB0EBEIKBgIAAIgRFDQ4gBEEDakEAKACVg8CAADYAACAEQQAoAJKDwIAANgAAAkAgBkG4BGpBFGooAgAiAiAGQbgEakEQaiIBKAIARw0AIAZBuARqQQxqIAIQwoCAgAAgBigCzAQhAgsgBigCxAQgAkEYbGoiAyAFNgIMIANCh4CAgPAANwIEIAMgBDYCACAGQYAEakEIaiAGQbgEakEIaikDADcDACAGQYAEakEYaiAGQbgEakEYaikDADcDACAGQYAEakEgaiAGQbgEakEgaikDADcDACAGQYAEakEoaiAGQbgEakEoaikDADcDACADQRRqIAs2AgAgA0EQaiAINgIAIAYgAkEBajYCzAQgBkGABGpBEGogASkDADcDACAGIAYpA7gENwOABEEIQQEQgoGAgAAiBEUNDyAEQvTeravm7de05AA3AAACQCAGQYAEakEUaigCACIDIAZBgARqQRBqIgIoAgBHDQAgBkGMBGogAxDCgICAACAGKAKUBCEDCyAGKAKMBCADQRhsaiIFIAo2AgwgBUKIgICAgAE3AgQgBSAENgIAIAVBFGogCTYCACAFQRBqIAc2AgAgAEEsaiAGQagEaikDADcCACAAQSRqIAZBgARqQSBqKQMANwIAIABBHGogBkGABGpBGGopAwA3AgAgBiADQQFqNgKUBCAAQRRqIAIpAwA3AgAgAEEMaiAGQYgEaikDADcCACAAIAYpA4AENwIEIABBADYCACAGKALkAiEFAkAgBkHYAmpBFGooAgAiA0UNACADQQV0IQMgBUEUaiEFA0ACQCAFKAIAIgBFDQAgBUF8aigCACIERQ0AIAQgAEEBEIOBgIAACyAFQSBqIQUgA0FgaiIDDQALIAYoAuQCIQULAkAgBkHoAmooAgAiA0UNACAFRQ0AIANBBXQiA0UNACAFIANBCBCDgYCAAAsCQCAGQfwBaigCACIFRQ0AIAYoAvgBIgNFDQAgAyAFQQEQg4GAgAALIAZBlAJqKAIAIgVFDSkgBigCkAIiA0UNKSADIAVBARCDgYCAAAwpCyAGQaQEaiAGQbgEakEoaikDACIMNwIAIAZBnARqIAZBuARqQSBqKQMAIg03AgAgBkGABGpBFGogBkG4BGpBGGopAwAiDjcCACAGQYAEakEMaiAGQbgEakEQaikDACIPNwIAIAYgBkG4BGpBCGopAwAiEDcChAQgAEEoaiAMNwIAIABBIGogDTcCACAAQRhqIA43AgAgAEEQaiAPNwIAIABBCGogEDcCACAAQQE2AgACQCAHRQ0AIAogB0EBEIOBgIAACwJAIAhFDQAgBSAIQQEQg4GAgAALAkAgBigC3AIiBUUNACAGKALYAiIDRQ0AIAMgBUEBEIOBgIAACyAGKALkAiEFAkAgBkHYAmpBFGooAgAiA0UNACADQQV0IQMgBUEUaiEFA0ACQCAFKAIAIgBFDQAgBUF8aigCACIERQ0AIAQgAEEBEIOBgIAACyAFQSBqIQUgA0FgaiIDDQALIAYoAuQCIQULAkAgBkHoAmooAgAiA0UNACAFRQ0AIANBBXQiA0UNACAFIANBCBCDgYCAAAsCQCAGQfwBaigCACIFRQ0AIAYoAvgBIgNFDQAgAyAFQQEQg4GAgAALIAZBlAJqKAIAIgVFDSggBigCkAIiA0UNKCADIAVBARCDgYCAAAwoCyAFQRRqKAIAIQcgBUEIaigCACEIIAVBGGooAgAhCSAFQRBqKAIAIQogBUEMaigCACELIAUoAgQhBSAGQegBakEwaiADQTBqKQMANwMAIAZB6AFqQShqIANBKGopAwA3AwAgBkHoAWpBIGogA0EgaikDADcDACAGQegBakEYaiADQRhqKQMANwMAIAZB6AFqQRBqIANBEGopAwA3AwAgBkHoAWpBCGogA0EIaikDADcDACAGIAMpAwA3A+gBIAZB2AJqQRBqIARBEGopAgA3AwAgBkHYAmpBCGogBEEIaikCADcDACAGIAQpAgA3A9gCIAZBkANqQRBqIAJBEGopAgA3AwAgBkGQA2pBCGogAkEIaikCADcDACAGIAIpAgA3A5ADIAZBuARqIAEgBkGQA2ogBkHoAWogBkHYAmogBSALIAogCUEAQgMgDBC+gICAAAJAIAYoArgEDQAgBkGABGpBMGogBkHsBGooAgAiAzYCACAGQYAEakEoaiAGQeQEaikCACIMNwMAIAZBgARqQSBqIAZB3ARqKQIAIg03AwAgBkGABGpBGGogBkHUBGopAgAiDjcDACAGQYAEakEQaiAGQbgEakEUaikCACIPNwMAIAZBgARqQQhqIAZBuARqQQxqKQIAIhA3AwAgBkHIA2pBCGogEDcDACAGQcgDakEQaiAPNwMAIAZByANqQRhqIA43AwAgBkHIA2pBIGogDTcDACAGQcgDakEoaiAMNwMAIAZByANqQTBqIAM2AgAgBiAGKQK8BCIMNwOABCAGIAw3A8gDIAZByANqEJmAgIAAIAZBuARqQSBqQgA3AwAgBkG4BGpBEGpCADcDACAGQgQ3A9AEIAZCgICAgMAANwPABCAGQgg3A7gEIAZBgARqIAZBuARqQZKCwIAAQQYQwYCAgABBBkEBEIKBgIAAIgNFDQ8gA0EEakEALwD2hMCAADsAACADQQAoAPKEwIAANgAAIAZBuARqQQhqIgIgBkHYAmpBCGooAgA2AgAgBiAGKQPYAjcDuAQgBkHIA2pBDGogBkG4BGoQrYKAgAAgBkKGgICA4AA3AswDIAYgAzYCyAMCQCAGQZQEaigCACIDIAZBgARqQRBqIgEoAgBHDQAgBkGABGpBDGogAxDCgICAACAGKAKUBCEDCyAGKAKMBCADQRhsaiIEIAYpA8gDNwIAIARBCGogBkHIA2pBCGopAwA3AgAgBEEQaiAGQcgDakEQaikDADcCACACIAZBgARqQQhqKQMANwMAIAZBuARqQRhqIAZBgARqQRhqKQMANwMAIAZBuARqQSBqIAZBgARqQSBqKQMANwMAIAZBuARqQShqIAZBgARqQShqKQMANwMAIAYgA0EBajYClAQgBkG4BGpBEGogASkDADcDACAGIAYpA4AENwO4BEEHQQEQgoGAgAAiBEUNECAEQQNqQQAoAJWDwIAANgAAIARBACgAkoPAgAA2AAACQCAGQbgEakEUaigCACICIAZBuARqQRBqIgEoAgBHDQAgBkG4BGpBDGogAhDCgICAACAGKALMBCECCyAGKALEBCACQRhsaiIDIAU2AgwgA0KHgICA8AA3AgQgAyAENgIAIAZBgARqQQhqIAZBuARqQQhqKQMANwMAIAZBgARqQRhqIAZBuARqQRhqKQMANwMAIAZBgARqQSBqIAZBuARqQSBqKQMANwMAIAZBgARqQShqIAZBuARqQShqKQMANwMAIANBFGogCzYCACADQRBqIAg2AgAgBiACQQFqNgLMBCAGQYAEakEQaiABKQMANwMAIAYgBikDuAQ3A4AEQQhBARCCgYCAACIERQ0RIARC9N6tq+bt17TkADcAAAJAIAZBgARqQRRqKAIAIgMgBkGABGpBEGoiAigCAEcNACAGQYwEaiADEMKAgIAAIAYoApQEIQMLIAYoAowEIANBGGxqIgUgCjYCDCAFQoiAgICAATcCBCAFIAQ2AgAgBUEUaiAJNgIAIAVBEGogBzYCACAAQSxqIAZBqARqKQMANwIAIABBJGogBkGABGpBIGopAwA3AgAgAEEcaiAGQYAEakEY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aigCACIFRQ0AIAYoAsgEIgNFDQAgAyAFQQEQg4GAgAALIAZB5ARqKAIAIgVFDScgBigC4AQiA0UNJyADIAVBARCDgYCAAAwnCyAGQcgDakEQaiAGQYAEakEQaikDACIMNwMAIAZByANqQQhqIAZBgARqQQhqKQMAIg03AwAgBiAGKQOABCIONwPIAyAGQegBakEIaiAONwMAIAZB6AFqQRBqIA03AwAgBkGAAmogDDcDACAGIAI2AuwBIAYgAzYC6AEgAEEIaiAGQegBahCYgYCAACAAQQE2AgAgBigCbCIDRQ0lIAYoAmgiAEUNJSAAIANBARCDgYCAAAwlCyADQSxqKAIAIQogA0EUaigCACEIIAVBCGooAgAhESAFQQxqKAIAIQcgAkEMaigCACESIAMoAighCyADKAIQIQkgAigCBCETIAIoAgAhFCACKAIIIQMgBSgCBCEFIAZByANqQRBqIARBEGopAgA3AwAgBkHIA2pBCGogBEEIaikCADcDACAGIAQpAgA3A8gDIAZBuARqIAMgBSAHIBIoAgwRg4CAgAAAAkAgBigCuAQNACAGQZADakEIaiAGQbgEakEMaigCADYCACAGIAYpArwENwOQAyAGQbgEaiABQRhqIAZByANqIAZBkANqEMWAgIAAIBQgBigCuAQiAyAGKALABCATKAIYEYWAgIAAAAJAIANFDQAgBigCvAQiBEUNACADIARBARCDgYCAAAsgBkHYBGpCADcDACAGQbgEakEQakIANwMAIAZCBDcD0AQgBkKAgICAwAA3A8AEIAZCCDcDuAQgBkHoAWogBkG4BGpBo4LAgABBChDBgICAAEEGQQEQgoGAgAAiA0UNEiADQQRqQQAvAPaEwIAAOwAAIANBACgA8oTAgAA2AAAgBkG4BGpBCGoiAiAGQcgDakEIaigCADYCACAGIAYpA8gDNwO4BCAGQYAEakEMaiAGQbgEahCtgoCAACAGQoaAgIDgADcChAQgBiADNgKABAJAIAZB/AFqKAIAIgMgBkHoAWpBEGooAgBHDQAgBkHoAWpBDGogAxDCgICAACAGKAL8ASEDCyAGKAL0ASADQRhsaiIEIAYpA4AENwIAIARBCGogBkGABGpBCGopAwA3AgAgBEEQaiAGQYAEakEQaikDADcCACACIAZB6AFqQQhqKQMANwMAIAZBuARq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QQhqKAIANgIAIAYgBikDEDcDkAMgBiAGKQPIAzcDqAMgBiAGKQOABDcDuAMgBiAXNgKkAyAGIBc2AqADIAYgJTYCnAMLIAYgAzYCtAMgBkGABGpBMGoiEyAGQaACakEwaigCADYCACAGQYAEakEoaiIbIAZBoAJqQShqKQMANwMAIAZBgARqQSBqIhkgBkGgAmpBIGopAwA3AwAgBkGABGpBGGogBkGgAmpBGGopAwA3AwAgBkGABGpBEGogBkGgAmpBEGopAwA3AwAgBkGABGpBCGogBkGgAmpBCGopAwA3AwAgBiAGKQOgAjcDgAQgBkG4BGpBIGogBkHYAmpBIGopAwA3AwAgBkG4BGpBMGogBkHYAmpBMGooAgA2AgAgBkG4BGpBKGogBkHYAmpBKGopAwA3AwAgBkG4BGpBGGogFSkDADcDACAGQbgEakEQaiAaKQMANwMAIAZBuARqQQhqIAZB2AJqQQhqKQMANwMAIAYgBikD2AI3A7gEAkACQCAGKALcBEECRw0AIAZByANqQRBqIhggBkGABGpBEGoiFykDADcDACAGQcgDakEYaiIVIAZBgARqQRhqIhopAwA3AwAgBkHIA2pBIGogGSkDADcDACAGQcgDakEoaiAbKQMANwMAIAZByANqQTBqIBMoAgA2AgAgBiAGKQOIBDcD0AMgBiAGKQOABDcDyAMgBkG4BGogFiAiIAIgBSAdIAZByANqQQAgBkGQA2ogA0ECRhsQvICAgAAgBigCuAQiA0EMRw0BIAZB6AFqQQxqIAZByANqQQhqKQMANwIAIAZB/AFqIBgpAwA3AgAgBkGEAmogFSkDADcCACAGQYwCaiAGQcgDakEgaikDADcCACAGQZQCaiAGQcgDakEoaikDADcCACAGQZwCaiAGQcgDakEwaigCADYCACAGIAYpA8gDNwLsASAGQegBakEEciEDAkAgBigCtANBAkYNACAGQZADahCZgICAAAsgBkGwAWpBCGogA0EIaikCACIMNwMAIAZBsAFqQRBqIANBEGopAgAiDTcDACAGQbABakEYaiADQRhqKQIAIg43AwAgBkGwAWpBIGogA0EgaikCACIPNwMAIAZBsAFqQShqIANBKGopAgAiEDcDACAGQbABakEwaiADQTBqKAIAIhM2AgAgBiADKQIAIiY3A7ABIAZB+ABqQTBqIBM2AgAgBkH4AGpBKGogEDcDACAGQfgAakEgaiAPNwMAIAZB+ABqQRhqIA43AwAgBkH4AGpBEGogDTcDACAGQfgAakEIaiAMNwMAIAYgJjcDeCAGQfgAahCZgICAACAGQbgEaiABICIgAhCkgICAACAGKQPABCEMIAYpA7gEQgBSDQQgDEIBfCINIAxUDRkgBkG4BGogAUEQaiAiIAIgDRDHgICAACAGKAK4BCIDQQxGDQMgBkHoAWpBCGogBkG4BGpBEGopAwA3AwAgBkHoAWpBEGogBkHQBGopAwA3AwAgBiAGQbgEakEIaikDADcD6AEgBigCvAQhAgwFCyAGQbgEahCZgICAACAGQYAEahCZgICAACAGQegBakEIakECNgIAIAZBATYC6AEMIQsgGiAGQdQEaiICKAIAIgE2AgAgFyAGQcwEaiITKQIAIgw3AwAgBkGABGpBCGogBkG4BGpBDGoiGykCACINNwMAIAYgBikCvAQiDjcDgAQgGyANNwIAIBMgDDcCACACIAE2AgAgBiADNgK4BCAGIA43ArwEIAZB6AFqQQhqIAZBuARqEJiBgIAAIAZByANqEJmAgIAAIAYoArQDIQMMIAsgBkGABGpBHGogBkG4BGpBIGopAwAiDDcCACAGQYAEakEUaiAGQdAEaiIDKQMAIg03AgAgBkGABGpBDGogBkHIBGoiAikDACIONwIAIAYgBkG4BGpBCGoiASkDACIPNwKEBCADIAw3AwAgAiANNwMAIAEgDjcDACAGIA83A7gEIAZB6AFqQQhqIAZBuARqEJiBgIAAIAZBoAJqEJmAgIAADCALIAZB2ARqQgA3AwAgBkG4BGpBEGpCADcDACAGQgQ3A9AEIAZCgICAgMAANwPABCAGQgg3A7gEIAZB6AFqIAZBuARqQa2CwIAAQQQQwYCAgABBBkEBEIKBgIAAIgNFDRYgA0EEakEALwDlgMCAADsAACADQQAoAOGAwIAANgAAIAYgHzYCwAQgBiASNgK8BCAGIAQ2ArgEIAZBgARqQQxqIAZBuARqEK2CgIAAIAZChoCAgOAANwKEBCAGIAM2AoAEAkAgBkH8AWooAgAiAyAGQegBakEQaiICKAIARw0AIAZB6AFqQQxqIAMQwoCAgAAgBigC/AEhAwsgBigC9AEgA0EYbGoiBCAGKQOABDcCACAEQQhqIAZBgARqQQhqKQMANwIAIARBEGogBkGABGpBEGopAwA3AgAgBkG4BGpBCGogBkHoAWpBCGopAwA3AwAgBkG4BGpBGGogBkHoAWpBGGopAwA3AwAgBkG4BGpBIGogBkHoAWpBIGopAwA3AwAgBkG4BGpBKGogBkHoAWpBKGopAwA3AwAgBiADQQFqNgL8ASAGQbgEakEQaiACKQMANwMAIAYgBikD6AE3A7gEQQVBARCCgYCAACIERQ0XIARBBGpBAC0A5IHAgAA6AAAgBEEAKADggcCAADYAAAJAIAZBuARqQRRqKAIAIgIgBkG4BGpBEGoiASgCAEcNACAGQbgEakEMaiACEMKAgIAAIAYoAswEIQILIAYoAsQEIAJBGGxqIgMgFDYCDCADQoWAgIDQADcCBCADIAQ2AgAgBkHoAWpBCGogBkG4BGpBCGopAwA3AwAgBkHoAWpBGGogBkG4BGpBGGopAwA3AwAgBkHoAWpBIGogBkG4BGpBIGopAwA3AwAgBkHoAWpBKGogBkG4BGpBKGopAwA3AwAgA0EUaiAcNgIAIANBEGogCTYCACAGIAJBAWo2AswEIAZB6AFqQRBqIAEpAwA3AwAgBiAGKQO4BDcD6AFBCEEBEIKBgIAAIgJFDRggAkL03q2r5u3XtOQANwAAAkAgBkHoAWpBFGooAgAiBCAGQegBakEQaiIBKAIARw0AIAZB9AFqIAQQwoCAgAAgBigC/AEhBAsgBigC9AEgBEEYbGoiAyAFNgIMIANCiICAgIABNwIEIAMgAjYCACADQRRqIB02AgAgA0EQaiARNgIAIABBLGogBkGQAmopAwA3AgAgAEEkaiAGQYgCaikDADcCACAAQRxqIAZB6AFqQRhqKQMANwIAIAYgBEEBajYC/AEgAEEUaiABKQMANwIAIABBDGogBkHwAWopAwA3AgAgACAGKQPoATcCBCAAQQA2AgACQCAjRQ0AICRFDQAgJCAjQQEQg4GAgAALAkAgCkUNACAKQQV0IQMgHkEUaiEFA0ACQCAFKAIAIgBFDQAgBUF8aigCACIERQ0AIAQgAEEBEIOBgIAACyAFQSBqIQUgA0FgaiIDDQALCwJAIAhFDQAgCEEFdCIFRQ0AIB4gBUEIEIOBgIAACwJAIAtFDQAgIUUNACAhIAtBARCDgYCAAAsgB0UNJiAgRQ0mICAgB0EBEIOBgIAADCYLIAZB6AFqQRBqIAZB2ARqKQMANwMAIAZB8AFqIAZBuARqQRhqKQMANwMAIAYgBkG4BGpBEGopAwA3A+gBIAxCIIinIQIgDKchAwsgBkGABGpBEGogBkHoAWpBEGopAwAiDDcDACAGQYAEakEIaiAGQegBakEIaikDACINNwMAIAYgBikD6AEiDjcDgAQgBkG4BGpBCGogDjcDACAGQbgEakEQaiANNwMAIAZB0ARqIAw3AwAgBiACrUIghiADrYQ3A7gEIABBCGogBkG4BGoQmIGAgAAgAEEBNgIADB4LIAVBCGooAgAhCCAFQQxqKAIAIQcgAigCBCEKIAIoAgAhAiAFKAIEIQUgBkHoAWpBMGogA0EwaikDADcDACAGQegBakEoaiADQShqKQMANwMAIAZB6AFqQSBqIANBIGopAwA3AwAgBkHoAWpBGGogA0EYaikDADcDACAGQegBakEQaiADQRBqKQMANwMAIAZB6AFqQQhqIANBCGopAwA3AwAgBiADKQMANwPoASAGQbABakEQaiAEQRBqKQIANwMAIAZBsAFqQQhqIARBCGopAgA3AwAgBiAEKQIANwOwASAGQbgEaiABQSBqIgMgAiAKIAUgBxCegICAAAJAAkAgBigCuAQNACAGQYAEakEwaiAGQewEaigCACIENgIAIAZBgARqQShqIAZBuARqQSxqKQIAIgw3AwAgBkGABGpBIGogBkG4BGpBJGoiCykCACINNwMAIAZBkANqQQhqIAZBuARqQQxqKQIANwMAIAZBkANqQRBqIAZBuARqQRRqIgkpAgA3AwAgBkGQA2pBGGogBkG4BGpBHGoiESkCADcDACAGQZADakEgaiANNwMAIAZBkANqQShqIAw3AwAgBkGQA2pBMGogBDYCACAGIAYpArwENwOQAyAGQbgEaiABIAIgCiAGQegBaiAGQbABaiAGQZADahC6gICAACAGKAK4BCIEQQVGDQEgAEEMaiAGKQK8BDcCACAAQSxqIAsoAgA2AgAgAEEkaiARKQIANwIAIABBHGogCSkCADcCACAAQRRqIAZBuARqQQxqKQIANwIAIABBATYCACAAQQhqIAQ2AgAMGwsgBkGcBGogBkG4BGpBIGopAwAiDDcCACAGQZQEaiAGQbgEakEYaiIDKQMAIg03AgAgBkGABGpB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KAKoAiIFQRVHDQAgA0GoAmogARCxgICAACADKAK0AiETIAMoArACIQIgAygCrAIhCiADKAKoAkUNASADQbgCaigCACEOQQEhBiAKIQUgAiEQIBMhD0EAIQoMEQsgA0G0AmooAgAhDiADQbACaigCACEPIAMoAqwCIRAMBAsgAiESDAoLIANB2AFqQTBqIBQ2AgAgA0GEAmogFTYCACADQdgBakEoaiAWNgIAIANB2AFqQSBqIA82AgAgA0H0AWogFzYCACADQewBaiAYNgIAIANB2AFqQRBqIgEgGTYCACADIAk2AuQBIAMgEzYC4AEgAyASNgLcASADIAo2AtgBIAMgGkEAIAcbNgLwASADQQAgCCAIQQJGGzYC/AEgA0GoAmogA0GQAWoQ3IKAgAACQCADKAKoAiIFQRVGDQAgA0G0AmooAgAhDiADQbACaigCACEPIAMoAqwCIRAgA0HYAWoQmYCAgAAMEgsgA0GgAWpBEGoiAiABKQIANwMAIANBoAFqQRhqIAFBCGopAgA3AwAgA0GgAWpBIGogAUEQaikCADcDACADQaABakEoaiABQRhqKQIANwMAIANBoAFqQTBqIAFBIGooAgA2AgAgAyAJNgKsASADIBM2AqgBIAMgEjYCpAEgAyAKNgKgASADQdgBaiADQZABahDagoCAACADKALYASIFQRVGDQEgA0HkAWooAgAhDiADQdgBakEIaigCACEPIAMoAtwBIRAgA0GgAWoQmYCAgAAMEQsgA0GoAmpBBHJB4IHAgABBBRCvgICAACADQbgCaigCACEOIANBtAJqKAIAIQ8gA0GwAmooAgAhECADKAKsAiEFDAELIABBFGogAikCADcCACAAQTRqIAJBIGooAgA2AgAgAEEsaiACQRhqKQIANwIAIABBJGogAkEQaikCADcCACAAQRxqIAJBCGopAgA3AgAgAEEQaiAJNgIAIABBDGogEzYCACAAQQhqIBI2AgAgACAKNgIEQQAhBAwQC0EBIQZBACEKDAsLIANBqAJqIAEQ3oKAgAACQAJAAkACQAJAAkACQAJAIAMoAqgCIgVBFUcNACADQdgAaiABEOCCgIAAQQAhCQJAIAMtAFhBAXENAEEEIQUMCAsCQCADLQBZQf8BcUHbAEYNAEEOIQUMCAsgARDZgoCAACADQdAAaiABENaCgIAAIAMtAFQhDSADKAJQIRsgA0EANgKgAiADQgg3A5gCIANByABqIBsQ4IKAgABBASEFAkAgAy0ASEEBcQ0AQQghEUEAIQ8MBgsgAy0ASSECIA1BAXEhHEEAIR1BCCEeA0ACQAJAIAJB/wFxIg1BLEYNACANQd0ARg0EIBxB/wFxIQ1BACEcIA0NAUEHIQUMBwsgGxDZgoCAACADQcAAaiAbEOCCgIAAAkAgAy0AQEEBcQ0AQQAhHEEEIQUMBwsgAy0AQSECCwJAIAJB/wFxQd0ARw0AQRMhBUEAIRwMBgsgA0E4aiAbEOCCgIAAAkAgAy0AOEEBcQ0AQQQhBUEAIRwMBgsCQCADLQA5Qf8BcUH7AEYNAEEOIQVBACEcDAYLIBsQ2YKAgAAgA0EwaiAbENaCgIAAIAMtADQhESADQShqIAMoAjAiAhDggoCAAAJAIAMtAChBAXENAEEAIR9BAiEFDAULIAMtACkhDSARQQFxIRFCAyEgQQAhHwNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgDUH/AXEiBUEsRg0AIAVB/QBGDQIgEUH/AXENAUEJIQUMEgsCQCARQf8BcUUNAEEQIQUMEgsgAhDZgoCAACADQSBqIAIQ4IKAgAAgAy0AIEEBcUUNECADLQAhIQ0LAkAgDUH/AXEiDUEiRg0AQRAhBQJAIA1B/QBHDQBBEyEFCwwRCyADQRBqIAIQ4IKAgAAgAy0AEEEBcUUNDwJAIAMtABFB/wFxQSJGDQBBDiEFDBELIAIQ2YKAgAAgA0GoAmogAhDfgoCAACADKAK4AiEOIAMoArQCIQ0gAygCsAIhCSADKAKsAiEFAkAgAygCqAJFDQAgDSEcDBELAkAgBQ0AIA1BB0cNAiAJQZKDwIAAQQcQv4SAgABFDQMgCUGZg8CAAEEHEL+EgIAADQIMCAtBAiERAkAgDkEHRw0AAkAgCUGSg8CAAEEHEL+EgIAADQBBACERDAELQX5BASAJQZmDwIAAQQcQv4SAgAAbIRELAkAgDUUNACAJRQ0AIAkgDUEBEIOBgIAACyARQR50QR51QQBIDQEgEUEDcQ4CAgcCCyAfRQ0DICBCA1INAiADQagCakEEckGZg8CAAEEHEK+AgIAAIANBuAJqKAIAIQ4gAygCtAIhHCADKAKwAiEJIAMoAqwCIQUgIUUNECAfICFBARCDgYCAAAwQCyADQagCaiACEN6CgIAAAkACQCADKAKoAiIFQRVGDQAgA0HAAmpBDGogA0GoAmpBDGooAgA2AgAgAyADKQKsAjcCxAIMAQsgA0HAAmogAhCygICAACADKALAAiIFQRVGDQkLIANBzAJqKAIAIQ4gA0HIAmooAgAhHCADKALEAiEJDA4LIB9FDQMgA0GoAmpBkoPAgABBBxCwgICAACADQbQCaigCACEOIANBsAJqKAIAIRwMBQsgA0GoAmogGxDcgoCAAAJAIAMoAqgCIgVBFUYNACADQbQCaigCACEOIANBsAJqKAIAIRwgAygCrAIhCSAhRQ0OIB8gIUEBEIOBgIAADA4LICCnIglBA0cNAQwKCyADQagCakEEckGSg8CAAEEHEK+AgIAAIANBuAJqKAIAIQ4gA0G0AmooAgAhHCADQbACaigCACEJIAMoAqwCIQUMDAsgIEL/////D4MhIiAkrSEjAkAgHSADKAKcAkcNACADQZgCaiAdEL+AgIAAIAMoApgCIR4gAygCoAIhHQsgJachDiAeIB1BBXRqIgIgHzYCECACICU3AwggAiAiNwMAIAJBGGogIzcDACACQRRqICE2AgAgAyAdQQFqIh02AqACIANBGGogGxDggoCAACADLQAZIQIgAy0AGEEBcQ0GICWnIQ4gIKchCUEAIRxBASEFDAsLIANBqAJqIAIQ3oKAgAACQCADKAKoAiIFQRVHDQAgA0GoAmogAhCxgICAACADKAK0AiEkIAMoArACISEgAygCrAIhHyADKAKoAkUNBCADQbgCaigCACEOIB8hBSAhIQkgJCEcDAsLIANBtAJqKAIAIQ4gA0GwAmooAgAhHCADKAKsAiEJDAoLICBCA1ENASADQagCakGZg8CAAEEHELCAgIAAIANBtAJqKAIAIQ4gA0GwAmooAgAhHAsgAygCrAIhCSADKAKoAiEFDAcLIANBwAJqIAIQ3oKAgAACQAJAAkAgAygCwAIiBUEVRg0AIANBuAJqIANBzAJqKAIANgIAIAMgAykCxAI3A7ACIANBsAJqIQEMAQsgA0GoAmogAhDNgICAACADKAKoAkUNASADQbACaiEBIAMoAqwCIQULIAEoAgAhCSADKAK4AiEOIAMoArQCIRwMBwsgAykDuAIhJSADKQOwAiEgCyADQQhqIAIQ4IKAgABB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ACAKIAMpApwCNwIAIApBCGogA0GkAmooAgA2AgAMAQsgA0HwAWogBxCxgICAACADKALwAUUNByADKAL0ASEBCyADQYACaigCACEYIAMoAvwBIRQgAygC+AEhAgwPCyADQZgCaiAHEN6CgIAAAkACQCADKAKYAiIBQRVGDQAgCiADKQKcAjcCACAKQQhqIANBpAJqKAIANgIADAELIANB8AFqIAcQ0ICAgAAgAygC8AFFDQUgAygC9AEhAQsgA0GAAmooAgAhGCADQfwBaigCACEUIAMoAvgBIQIMDAsgA0GYAmogBxDegoCAAAJAAkAgAygCmAIiAUEVRg0AIAogAykCnAI3AgAgCkEIaiADQaQCaigCADYCAAwBCyADQfABaiAHELiAgIAAIAMoAvABRQ0DIAMoAvQBIQELIANBgAJqKAIAIRggA0H8AWooAgAhFCADKAL4ASECDAsLIANB8AFqIAQQ3IKAgAACQCADKALwASIBQRVGDQAgA0H8AWooAgAhGCADQfgBaigCACEUIAMoAvQBIQIgEUUNDSAGIBFBARCDgYCAAAwNCyAZQiCIpyEUIBOnIRggGachFyAQrSEWIBEhDgwYCyADQfABakEEckGphsCAAEEEEK+AgIAAIANBgAJqKAIAIRggA0H8AWooAgAhFCADQfgBaigCACECDAcLIAMpA/gBIRlCASEWDAMLIAMpA/gBIRNCASEVDAILIAMoAvwBIRAgAygC+AEhESADKAL0ASEGDAELIANB8AFqIAcQ3oKAgAACQAJAIAMoAvABIgFBFUYNACADQZgCakEMaiADQfABakEMaigCADYCACADIAMpAvQBNwKcAgwBCyADQZgCaiAHELKAgIAAIAMoApgCIgFBFUYNAQsgA0GkAmooAgAhGCADQaACaigCACEUIAMoApwCIQIMBQsgA0EQaiAHEOCCgIAAQQAhDCADLQARIQEgAy0AEEEBcQ0AC0ECIQEMAwsgA0H8AWooAgAhGCADQfgBaigCACEUIAMoAvQBIQIMBAsgAygC9AEhAQwBC0EEIQELIAZFDQEgEUUNAQsgBiARQQEQg4GAgAALIAMgGDYC5AEgAyAUNgLgAQwNCyADQfABaiAEEN6CgIAAAkACQAJAAkACQAJAIAMoAvABIgFBFUcNACADQfAAaiAEEOCCgIAAQQQhAQJAIAMtAHBBAXENACADQgA3A+ABDBYLAkACQCADLQBxQf8BcUHuAEcNACAEENmCgIAAIANB8AFqIARBjJvAgABBAxDdgoCAACADKALwASIBQRVHDQFBACELDBILIANB6ABqIAQQ4IKAgAACQCADLQBoQQFxDQAgA0IANwPgAQwXCwJAIAMtAGlB/wFxQfsARg0AQQ4hASADQgA3A+ABDBcLIAQQ2YKAgAAgA0HgAGogBBDWgoCAACADLQBkIQIgA0HYAGogAygCYCIBEOCCgIAAQQIhECADLQBYQQFxRQ0DIAMtAFkhByACQQFxIQxBACELA0ACQAJAAkACQAJAAkACQAJAIAdB/wFxIg1BLEYNACANQf0ARg0CIAxB/wFxDQFBCSEQDA4LAkAgDEH/AXFFDQBBECEQDA4LIAEQ2YKAgAAgA0HQAGogARDggoCAACADLQBQQQFxRQ0MIAMtAFEhBwsCQCAHQf8BcSIRQSJGDQBBECEQIBFB/QBHDQ1BEyEQDAsLIANByABqIAEQ4IKAgAAgAy0ASEEBcUUNCwJAIAMtAElB/wFxQSJGDQBBDiEQDA0LIAEQ2YKAgAAgA0HwAWogARDfgoCAACADKAKAAiENIAMoAvwBIQcgAygC+AEhDCADKAL0ASERAkAgAygC8AFFDQAgESEQDA0LAkACQCARDQAgB0EFRw0DIAxBwYbAgABBBRC/hICAAEEARyERDAELQQEhEQJAIA1BBUcNACAMQcGGwIAAQQUQv4SAgABBAEchEQsgB0UNACAMRQ0AIAwgB0EBEIOBgIAACyARDQEgC0EBRw0CIANBmAJqQQRyQcGGwIAAQQUQsICAgAAMDQsgCw0CIANB8AFqQQRyQcGGwIAAQQUQr4CAgAAgA0GYAmpBDGogA0HwAWpBDGopAgA3AgAgAyADKQL0ATcCnAIMDAsgA0HwAWogARDegoCAAAJAAkAgAygC8AEiB0EVRg0AIANBsAJqQQxqIANB8AFqQQxqKAIANgIAIAMgAykC9AE3ArQCIAMgBzYCsAIMAQsgA0GwAmogARCygICAACADKAKwAkEVRg0ECyADQaQCaiADQbgCaikDADcCACADIAMpA7ACNwKcAgwLCyADQbACaiABEN6CgIAAAkACQCADKAKwAiICQRVGDQAgA0H4AWogAykCtAI3AwAgA0GAAmogA0G8AmooAgA2AgAgAyACNgL0AQwBCyADQfABaiABENGAgIAAIAMoAvABRQ0CCyADQZgCakEMaiADQfABakEMaikCADcCACADIAMpAvQBNwKcAgwKCyADQfABaiAEENyCgIAAIAMoAvABIgFBFUYNEiADQfgBaikDACETDAULIAMoAvQBIQJBASELCyADQcAAaiABEOCCgIAAQQAhDCADLQBBIQcgAy0AQEEBcQ0ADAQLCyADQfgBaikDACETDAELIANB+AFqKQMAIRMLIAMoAvQBIQIgAyATNwPgAQwTCwwBC0EEIRALIANBqAJqIA02AgAgA0GkAmogBzYCACADQaACaiAMNgIAIAMgEDYCnAILIANBoAJqKAIAIQIgAygCnAIhASADIANBpAJqKQIANwPgAQwPCyADQfwBaigCACEEIANB+AFqKAIAIRIgAygC9AEhAgwGCwwBC0EEIRALIANBqAJqIA02AgAgA0GkAmogBzYCACADQaACaiAMNgIAIAMgEDYCnAILIAVFDQEgD0UNAQsgBSAPQQEQg4GAgAALIANBqAJqKAIAIQQgA0GkAmooAgAhEiADQaACaigCACECIAMoApwCIQELIAMgBDYC5AEgAyASNgLgAQwJC0EBIQsMAQsgA0HwAWogBBDegoCAAAJAAkAgAygC8AEiAUEVRg0AIAggCSkCADcCACAIQQhqIAlBCGooAgA2AgAMAQsgA0GYAmogBBCygICAACADKAKYAiIBQRVGDQELIAMgA0GgAmopAwA3A+ABIAMoApwCIQIMBQsgA0EIaiAEEOCCgIAAQQAhByADLQAJIQEgAy0ACEEBcQ0AC0ECIQEMAgtBACEGDAILQQQhAQsgAyAMNgLkASADIAc2AuABCyAFRQ0BIA9FDQELIAUgD0EBEIOBgIAACyAGRQ0AIA5FDQAgBiAOQQEQg4GAgAAgAykD4AEhEwwBCyADKQPgASETCyADQfABakEIaiATNwMAIAMgAjYC9AEgAyABNgLwASAAQQhqQbSRwIAAQRggA0HwAWoQs4CAgABCASETCyAAIBM3AwAgA0HAAmokgICAgAAL9wIBBH8jgICAgABBwABrIgIkgICAgAAgAkEIaiABEOCCgIAAAkACQAJAAkAgAi0ACEEBcUUNACACLQAJQf8BcUEiRw0BIAEQ2YKAgAAgAkEoaiABEN+CgIAA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AyADKQK0ATcCzAEMAQsgA0HIAWogAhCygICAACADKALIASIHQRVGDQELIANB1AFqKAIAIQ8gA0HQAWooAgAhFyADKALMASEODAgLIANBCGogAhDggoCAAEEAIQcgAy0ACSEJIAMtAAhBAXENAAtBAiEHDAYLAkAgFUUNACAYrUIghiAPrYQhHCAXrUIghiAOrYQhHgJAIAYgAygCpAFHDQAgA0GgAWogBhC/gICAACADKAKgASEUIAMoAqgBIQYLIBQgBkEFdGoiAiAVNgIQIAJBGGogFjcDACACQRRqIBs2AgAgAiAcNwMIIAIgHjcDAEEBIQcgAyAGQQFqIgY2AqgBIANBIGogEhDggoCAACADLQAhIQIgAy0AIEEBcQ0BDAcLCyADKAKkASESIAMoAqABIQcgA0GwAWogARDbgoCAACADKAKwASIJQRVGDQogA0G8AWooAgAhDyADQbgBaigCACEQIAMoArQBIQ4CQCAGRQ0AIAZBBXQhAiAHQRRqIQEDQAJAIAEoAgAiBkUNACABQXxqKAIAIgVFDQAgBSAGQQEQg4GAgAALIAFBIGohASACQWBqIgINAAsLAkAgEkUNACASQQV0IgFFDQAgByABQQgQg4GAgAALIAkhBQwQCyADQbABaiADQZABahDcgoCAAAJAIAMoArABIgVBFUYNACADQbwBaigCACEPIANBuAFqKAIAIRAgAygCtAEhDgJAIBFFDQAgCCARQQEQg4GAgAALAkAgBkUNACAGQQV0IQIgB0EUaiEBA0ACQCABKAIAIgZFDQAgAUF8aigCACIJRQ0AIAkgBkEBEIOBgIAACyABQSBqIQEgAkFgaiICDQALCyASRQ0RIBJBBXQiAUUNESAHIAFBCBCDgYCAAAwRCyADQbABaiADQZABahDagoCAAAJAIAMoArABIgVBFUYNACADQbwBaigCACEPIANBuAFqKAIAIRAgAygCtAEhDgJAIBFFDQAgCCARQQEQg4GAgAALAkAgBkUNACAGQQV0IQIgB0EUaiEBA0ACQCABKAIAIgZFDQAgAUF8aigCACIJRQ0AIAkgBkEBEIOBgIAACyABQSBqIQEgAkFgaiICDQALCyASRQ0RIBJBBXQiAUUNESAHIAFBCBCDgYCAAAwRCyAAQRhqIAY2AgAgAEEUaiASNgIAIABBEGogBzYCACAAQQxqIBA2AgAgAEEIaiARNgIAIAAgCDYCBEEAIQQMEQsgA0GwAWogARDegoCAAAJAIAMoArABIgJBFUcNACADQbABaiABELGAgIAAIAMoArwBIRAgAygCuAEhDiADKAK0ASEIIAMoArABRQ0HIANBwAFqKAIAIQ8CQCAHDQAgCCEFQQAhCAwQCyAIIQVBACEIDA4LIANBvAFqKAIAIQ8gA0G4AWooAgAhECADKAK0ASEOQQAhCAJAIAcNACACIQUMDwsgAiEFDA0LIANBvAFqKAIAIQ8gA0G4AWooAgAhECADKAK0ASEOIAIhBQwNC0EEIQcLIBVFDQAgG0UNACAVIBtBARCDgYCAAAsgAygCoAEhCQJAIAZFDQAgBkEFdCEQQQAhAQNAAkAgCSABaiICQRRqKAIAIgZFDQAgAkEQaigCACICRQ0AIAIgBkEBEIOBgIAACyAQIAFBIGoiAUcNAAsLIBchECAHIQULIAMoAqQBIgFFDQkgAUEFdCIBRQ0JIAkgAUEIEIOBgIAADAkLIBIhDiAGIRAMCAsgDiERDAELIANBsAFqIAEQ3oKAgAACQAJAIAMoArABIgJBFUYNACAKIAspAgA3AgAgCkEIaiALQQhqKAIANgIADAELIANByAFqIAEQsoCAgAAgAygCyAEiAkEVRg0BCyADQdQBaigCACEPIANB0AFqKAIAIRAgAygCzAEhDiAHDQIgAiEFDAYLIAMgARDggoCAAEEAIQkgAy0AASECIAMtAABBAXENAAwCCwsgAiEFDAILIAdFDQIMAQtBBCEFIAdFDQELAkAgBkUNACAGQQV0IQIgB0EUaiEBA0ACQCABKAIAIgZFDQAgAUF8aigCACIJRQ0AIAkgBkEBEIOBgIAACyABQSBqIQEgAkFgaiICDQALCyASRQ0AIBJBBXQiAUUNACAHIAFBCBCDgYCAAAsgCEUNACARRQ0AIAggEUEBEIOBgIAACyADQbwBaiAPNgIAIANBsAFqQQhqIBA2AgAgAyAONgK0ASADIAU2ArABIABBCGpB8ZbAgABBICADQbABahCzgICAAAsgACAENgIAIANB4AFqJICAgIAAC8YCAQF/I4CAgIAAQeAAayIDJICAgIAAIAMgAjYCBCADIAE2AgAgA0EIaiABIAIQsoSAgAACQAJAIAMtAAgNACAAQQA2AgAgAEEIaiADKQMQNwMAIABBEGogA0EIakEQaikDADcDAAwBCyADIAMtAAk6ACcgA0E4akEUakECNgIAIANB0ABqQQxqQYeAgIAANgIAIANCAjcCPCADQeiawIAANgI4IANBhoCAgAA2AlQgAyADQdAAajYCSCADIANBJ2o2AlggAyADNgJQIANBKGogA0E4ahDgg4CAACADQThqQQRyIANBKGoQ4oOAgAAgA0EUNgI4AkAgAygCLCIBRQ0AIAMoAigiAkUNACACIAFBARCDgYCAAAsgACADKQM4NwIEIABBATYCACAAQQxqIANBwABqKQMANwIACyADQeAAaiSAgICAAAv7OQIPfwJ+I4CAgIAAQaABayICJICAgIAAIAJBCGoQy4KAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIADQACQCACKAIQIgMgAigCDEcNACACQQhqIAMQj4CAgAAgAigCECEDCyACKAIIIANqQfsAOgAAIAIgA0EBajYCECACQZABaiACQQhqQZWJwIAAQQIQzoKAgAACQAJAIAIoApABDQACQCACKAIQIgMgAigCDEcNACACQQhqIAMQj4CAgAAgAigCECEDCyACKAIIIANqQTo6AAAgAiADQQFqNgIQIAJBkAFqIAJBCGpBwInAgABBCEEEENKCgIAAIAIoApABDQEgAiACKAKUASIDNgI4AkAgAkGQAWpBCGotAABFDQAgAygCCCEEDAQLAkAgAygCCCIFIANBBGooAgBHDQAgAyAFEI+AgIAAIAMoAgghBQsgAyAFQQFqIgQ2AgggAygCACAFakEsOgAADAMLIAJBGGpBDGogAkGQAWpBDGooAgA2AgAgAiACKQKUATcCHAwMCyACQTRqIAJBkAFqQQRyIgFBCGooAgA2AgAgAiABKQIANwIsDAoLIAJBGGogAkEIaiABQQRqENWAgIAAIAIoAhhFDQEMCgsgAkEAOgA8AkAgBCADQQRqIgUoAgBHDQAgAyAEEI+AgIAAIAMoAgghBAsgAygCACAEakEiOgAAIAMgBEEBaiIENgIIAkAgBSgCACAEa0EHSw0AIAMgBEEIEJCAgIAAIAMoAgghBAsgAygCACAEakLtys2bl+zZsvMANwAAIAMgBEEIaiIENgIIAkAgA0EEaigCACAEa0EBSw0AIAMgBEECEJCAgIAAIAMoAgghBAsgAygCACAEakGi9AA7AAAgAyAEQQJqNgIIIAEoAgQhBSACQZABaiADQQEgAUEMaigCACIEENGCgIAAIAIoApABDQUgAkGQAWpBCGotAAAhAyACKAKUASEGAkACQAJAIARFDQAgBSAEQegAbGohByAFQSxqIQggA0H/AXFFIQMgAkGQAWpBBHIhCSACQYABakEEciEKA0ACQCADQQFxRQ0AAkAgBigCCCIDIAZBBGooAgBHDQAgBiADEI+AgIAAIAYoAgghAwsgBiADQQFqNgIIIAYoAgAgA2pBLDoAAAsgAkGQAWogBkHmiMCAAEEGQQQQ0oKAgAACQAJAIAIoApABDQAgAiACLQCYAToAVCACIAIoApQBNgJQIAJBkAFqIAJB0ABqQeyIwIAAQQIgCEFUaiIFKQMAEJKAgIAAAkAgAigCkAENACACKAJQIQMCQCACLQBURQ0AIAMoAgghCwwDCwJAIAMoAggiBCADQQRqKAIARw0AIAMgBBCPgICAACADKAIIIQQLIAMgBEEBaiILNgIIIAMoAgAgBGpBLDoAAAwCCyACQfAAakEMaiACQZABakEMaigCADYCACACIAIpApQBNwJ0DAwLIAJB/ABqIAlBCGooAgA2AgAgAiAJKQIANwJ0DAsLIAJBADoAVAJAIAsgA0EEaiIEKAIARw0AIAMgCxCPgICAACADKAIIIQsLIAMoAgAgC2pBIjoAACADIAtBAWoiCzYCCAJAIAQoAgAgC2tBAksNACADIAtBAxCQgICAACADKAIIIQsLIAMoAgAgC2oiDEEALwDFiMCAADsAACAMQQJqQQAtAMeIwIAAOgAAIAMgC0EDaiILNgIIAkAgBCgCACALa0EBSw0AIAMgC0ECEJCAgIAAIAMoAgghCwsgAygCACALakGi9AA7AAAgAyALQQJqIgs2AggCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAVBCGooAgAOAwABAgALAkAgCyAEKAIARw0AIAMgCxCPgICAACADKAIIIQsLIAMgC0EBajYCCCADKAIAIAtqQfsAOgAAIAJBkAFqIANB6ofAgABBBBDOgoCAACACKAKQAQ0DAkAgAygCCCILIAQoAgBHDQAgAyALEI+AgIAAIAMoAgghCwsgAyALQQFqNgIIIAMoAgAgC2pBOjoAAAJAAkACQAJAIAhBYGooAgANACACQZABaiADQe6HwIAAQQdBAEH1h8CAAEEEQQIQ04KAgAAgAigCkAENASACIAItAJgBOgBsIAIgAigClAE2AmggAkGQAWogAkHoAGpB+YfAgABBCiAIQWRqEJGAgIAAIAIoApABDQIgAkGQAWogAkHoAGpBhYbAgABBBiAIQXBqEI6AgIAAIAIoApABDQMgAkGAAWogAigCaCACLQBsEPGCgIAADBILIAJBkAFqIANB7ofAgABBB0EBQbGCwIAAQQRBARDTgoCAACACKAKQAQ0HIAIgAi0AmAE6AGwgAiACKAKUATYCaCACQZABaiACQegAakGFhsCAAEEGIAhBZGoQjoCAgAACQCACKAKQAQ0AIAJBgAFqIAIoAmggAi0AbBDxgoCAAAwSCyAKIAkpAgA3AgAgCkEIaiAJQQhqKAIANgIADBALIAogCSkCADcCACAKQQhqIAlBCGooAgA2AgAMDwsgCiAJKQIANwIAIApBCGogCUEIaigCADYCAAwOCyAKIAkpAgA3AgAgCkEIaiAJQQhqKAIANgIADA0LAkAgCyAEKAIARw0AIAMgCxCPgICAACADKAIIIQsLIAMgC0EBajYCCCADKAIAIAtqQfsAOgAAIAJBkAFqIANB5IfAgABBBhDOgoCAAAJAAkACQCACKAKQAQ0AAkAgAygCCCILIAQoAgBHDQAgAyALEI+AgIAAIAMoAgghCwsgAyALQQFqNgIIIAMoAgAgC2pBOjoAACACQZABaiADQZeJwIAAQQVBABDSgoCAACACKAKQAUUNASACQYwBaiAJQQhqKAIANgIAIAIgCSkCADcChAEMAgsgAkHgAGogAkGcAWooAgA2AgAgAiACKQKUATcDWAwSCyACQYABaiACKAKUASACLQCYARDwgoCAACACKAKAAUUNAgsgAkHgAGogAkGMAWooAgA2AgAgAiACKQKEATcDWAwQCwJAIAsgBCgCAEcNACADIAsQj4CAgAAgAygCCCELCyADIAtBAWo2AgggAygCACALakH7ADoAACACQZABaiADQeCHwIAAQQQQzoKAgAAgAigCkAENBCAIQWRqIQwCQCADKAIIIgsgBCgCAEcNACADIAsQj4CAgAAgAygCCCELCyADIAtBAWo2AgggAygCACALakE6OgAAAkACQAJAAkACQCAMKAIADgUEAwIBAAQLIAJBkAFqIANBg4jAgABBB0EEQYqIwIAAQQtBARDTgoCAACACKAKQAQ0HIAIgAi0AmAE6AGwgAiACKAKUATYCaCACQZABaiACQegAakGViMCAAEENIAhBaGoQkYCAgAACQCACKAKQAQ0AIAJBgAFqIAIoAmggAi0AbBDxgoCAAAwPCyAKIAkpAgA3AgAgCkEIaiAJQQhqKAIANgIADAsLIAJBkAFqIANBg4jAgABBB0EDQaKIwIAAQQxBAhDTgoCAAAJAIAIoApABRQ0AIAogCSkCADcCACAKQQhqIAlBCGooAgA2AgAMCwsgAiACLQCYAToAbCACIAIoApQBNgJoIAJBkAFqIAJB6ABqQZWIwIAAQQ0gCEFoahCRgICAAAJAIAIoApABRQ0AIAogCSkCADcCACAKQQhqIAlBCGooAgA2AgAMCwsgAkGQAWogAkHoAGpBrojAgABBBSAIQXRqEJGAgIAAIAIoApABRQ0MIAogCSkCADcCACAKQQhqIAlBCGooAgA2AgAMCgsgAkGQAWogA0GDiMCAAEEHQQJBs4jAgABBB0EDENOCgIAAAkAgAigCkAFFDQAgCiAJKQIANwIAIApBCGogCUEIaigCADYCAAwKCyACIAItAJgBOgBsIAIgAigClAE2AmggAkGQAWogAkHoAGpBlYjAgABBDSAIQWhqEJGAgIAAAkAgAigCkAFFDQAgCiAJKQIANwIAIApBCGogCUEIaigCADYCAAwKCyACQZABaiACQegAakG6iMCAAEELIAhBBGopAwAQkoCAgAACQCACKAKQAUUNACAKIAkpAgA3AgAgCkEIaiAJQQhqKAIANgIADAoLIAJBkAFqIAJB6ABqIAhBdGoQk4CAgAAgAigCkAFFDQogCiAJKQIANwIAIApBCGogCUEIaigCADYCAAwJCyACQZABaiADQYOIwIAAQQdBAUHIiMCAAEELQQUQ04KAgAAgAigCkAFFDQcgCiAJKQIANwIAIApBCGogCUEIaigCADYCAAwICyACQZABaiADQYOIwIAAQQdBAEHfiMCAAEEHQQMQ04KAgAACQCACKAKQAUUNACAKIAkpAgA3AgAgCkEIaiAJQQhqKAIANgIADAgLIAIgAi0AmAE6AGwgAiACKAKUATYCaCACQZABaiACQegAakGViMCAAEENIAhB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B0sNACADIAtBCBCQgICAACADKAIIIQsLIAMoAgAgC2pC8srB45bv17fuADcAACADIAtBCGoiCzYCCAJAIAQoAgAgC2tBAUsNACADIAtBAhCQgICAACADKAIIIQsLIAMoAgAgC2pBovQAOwAAIAMgC0ECajYCCAJAAkACQAJAAkAgDA4EAAECAwALIAJBkAFqIANB94jAgABBB0EAQY+JwIAAQQYQ0IKAgAAMAwsgAkGQAWogA0H3iMCAAEEHQQFBionAgABBBRDQgoCAAAwCCyACQZABaiADQfeIwIAAQQdBAkGDicCAAEEHENCCgIAADAELIAJBkAFqIANB94jAgABBB0EDQf6IwIAAQQUQ0IKAgAALAkAgAigCkAFFDQAgAkHwAGpBDGogAkGQAWpBDGooAgA2AgAgAiACKQKUATcCdAwLCyACQfAAaiADQQAQ8IKAgAAgAigCcA0KIAhB6ABqIQhBASEDIAcgBUHoAGpHDQALQQAhAwsgAkHAAGogBiADQf8BcUEARxDvgoCAACACKAJADQkgAkGQAWogAkE4aiABQRBqENaAgIAAAkAgAigCkAFFDQAgAkEoakEMaiACQZABakEMaigCADYCACACIAIpApQBNwIsDAsLIAIoAjghAwJAIAItADxFDQAgAygCCCEEDAILAkAgAygCCCIFIANBBGooAgBHDQAgAyAFEI+AgIAAIAMoAgghBQsgAyAFQQFqIgQ2AgggAygCACAFakEsOgAADAELIAJB8ABqQQxqIAJBkAFqQQxqKAIANgIAIAIgAikClAE3AnQMBwsgAkEAOgA8AkAgBCADQQRqIgUoAgBHDQAgAyAEEI+AgIAAIAMoAgghBAsgAygCACAEakEiOgAAIAMgBEEBaiIENgIIAkAgBSgCACAEa0EFSw0AIAMgBEEGEJCAgIAAIAMoAgghBAsgAygCACAEaiIFQQAoAMiJwIAANgAAIAVBBGpBAC8AzInAgAA7AAAgAyAEQQZqIgQ2AggCQCADQQRqKAIAIARrQQFLDQAgAyAEQQIQkICAgAAgAygCCCEECyADKAIAIARqQaL0ADsAACADIARBAmo2AgggASgCHCEFIAJBkAFqIANBASABQSRqKAIAIgsQ0YKAgAAgAigCkAENAiACQZgBai0AACEIIAIoApQBIQQCQAJAAkACQCALRQ0AIAUg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AGsiAySAgICAACABKAIAIQQCQAJAIAEtAARFDQAgBCgCCCEFDAELAkAgBCgCCCIGIARBBGooAgBHDQAgBCAGEI+AgIAAIAQoAgghBgsgBCAGQQFqIgU2AgggBCgCACAGakEsOgAACyABQQA6AAQCQCAFIARBBGoiASgCAEcNACAEIAUQj4CAgAAgBCgCCCEFCyAEKAIAIAVqQSI6AAAgBCAFQQFqIgU2AggCQCABKAIAIAVrQQlLDQAgBCAFQQoQkICAgAAgBCgCCCEFCyAEKAIAIAVqIgFBACkApYnAgAA3AAAgAUEIakEALwCticCAADsAACAEIAVBCmoiBTYCCAJAIARBBGooAgAgBWtBAUsNACAEIAVBAhCQgICAACAEKAIIIQULIAQoAgAgBWpBovQAOwAAIAQgBUECajYCCCACKAIAIQUgA0HAAGogBEEBIAIoAggiARDRgoCAAAJAAkACQAJAIAMoAkANACADQcgAai0AACEGIAMoAkQhBAJAAkACQCABRQ0AIAUgAUEYbGohAiAGQf8BcUUhASADQcAAakEEciEGA0ACQCABQQFxRQ0AAkAgBCgCCCIBIARBBGooAgBHDQAgBCABEI+AgIAAIAQoAgghAQsgBCABQQFqNgIIIAQoAgAgAWpBLDoAAAsgA0HAAGogBEGvicCAAEEJQQIQ0oKAgAAgAygCQA0CIAMgAy0ASDoAPCADIAMoAkQ2AjggA0HAAGogA0E4akG4icCAAEEDIAUQkYCAgAAgAygCQA0DIANBwABqIANBOGpBu4nAgABBBSAFQQxqIgUQkYCAgAACQCADKAJARQ0AIANBKGpBDGogA0HAAGpBDGooAgA2AgAgAyADKQJENwIsDAYLIANBKGogAygCOCADLQA8EPCCgIAAIAMoAigNBUEBIQEgBUEMaiIFIAJHDQALQQAhBgtBACEFIANBGGogBCAGQf8BcUEARxDvgoCAACADKAIYDQQMBQsgA0E0aiAGQQhqKAIANgIAIAMgBikCADcCLAwCCyADQShqQQxqIANBwABqQQxqKAIANgIAIAMgAykCRDcCLAwBCyADQSRqIANBwABqQQRyIgRBCGooAgA2AgAgAyAEKQIANwIcDAELIANBGGpBDGogA0EoakEMaigCADYCACADIAMpAiw3AhwLIANBEGogA0EYakEMaigCACIENgIAIAMgAykCHCIHNwMIIABBDGogBDYCACAAIAc3AgRBASEFCyAAIAU2AgAgA0HQAGokgICAgAALhAcDB38BfgR/I4CAgIAAQcAAayIEJICAgIAAIAQgAzYCFCAEIAI2AhAgASgCACEFIAEoAgQhBiAEQRhqIARBEGoQr4GAgAAgBCgCGCEHAkACQAJAAkACQAJAAkACQCAEKAIgIggNAEEEIQkMAQsgCEEDdCIBQQQQgoGAgAAiCUUNAQsCQAJAIAcgByAIQRRsakcNAEEAIQoMAQsgCEEUbCEDIAhBf2pB/////wNxIQogCSEBIAchAgNAIARBCGogAhCugYCAACABIAQpAwg3AgAgAUEIaiEBIAJBFGohAiADQWxqIgMNAAsgCkEBaiEKCyAEIAY2AjwgBCAFNgI4IApBf2oiBiAKSw0DIAYgCksNASAGrUIUfiILQiCIpyIBDQIgC6ciDEEASA0CIAFFQQJ0IQECQAJAIAwNACABIQ0gAQ0BDAcLIAwgARCCgYCAACINRQ0GCwJAAkAgCSAGQQN0aiIFIAlHDQBBACEBDAELIApB/v///wFqIg5B/////wFxIQ8CQAJAIApBf2pBA3EiAw0AIA0hASAJIQIMAQsgDSEBIAkhAgNAIAFBBGogAikCADcCACABQQA6AAAgAUEUaiEBIAJBCGohAiADQX9qIgMNAAsLAkAgD0EDSQ0AA0AgAUEEaiACKQIANwIAIAFBADoAACACQQhqKQIAIQsgAUEUakEAOgAAIAFBGGogCzcCACACQRBqKQIAIQsgAUEoakEAOgAAIAFBLGogCzcCACACQRhqKQIAIQsgAUE8akEAOgAAIAFBwABqIAs3AgAgAUHQAGohASACQSBqIgIgBUcNAAsLIA5B/////wFxQQFqIQELIAYgCk8NBCAEQShqIARBOGpBASANIAEgCSAGQQN0aiICKAIAIAIoAgQQuYGAgAACQCAGRQ0AIAxFDQAgDSAMQQQQg4GAgAALIAAgBCkDKDcCACAAQQhqIARBKGpBCGooAgA2AgACQCAIRQ0AIAhBA3QiAUUNACAJIAFBBBCDgYCAAAsCQCAEKAIcIgFFDQAgAa1CFH6nIgFFDQAgByABQQQQg4GAgAALIARBwABqJICAgIAADwsgAUEEENyDgIAAAAsgBiAKQeyLwIAAEPKDgIAAAAsQ3YOAgAAAC0GQhMCAAEEhQdyLwIAAEPSDgIAAAAsgBiAKQfyLwIAAEPCDgIAAAAsgDCABENyDgIAAAAugAwEJfyOAgICAAEEgayICJICAgIAAIAJBEGogARCvgYCAAAJAAkACQAJAIAIoAhgiA0F/aiIEIANLDQAgAyAESQ0BIAIoAhAhBQJAAkAgBA0AQQQhBgwBCyAEQQN0IgFBBBCCgYCAACIGRQ0DCwJAAkAgBSAFIARBFGxqIgdHDQBBACEBDAELIANBFGxBbGohCCADQf7///8DakH/////A3EhCSAGIQEgBSEKA0AgAkEIaiAKEK6BgIAAIAEgAikDCDcCACABQQhqIQEgCkEUaiEKIAhBbGoiCA0ACyAJQQFqIQELIAMgBE0NAyACIAcQroGAgAAgACAGIAEgAigCACACKAIEELiBgIAAAkAgAigCFCIBRQ0AIAGtQhR+pyIBRQ0AIAUgAUEEEIOBgIAACwJAIARFDQAgBEEDdCIBRQ0AIAYgAUEEEIOBgIAACyACQSBqJICAgIAADwtBkITAgABBIUHIisCAABD0g4CAAAALIAQgA0HYisCAABDyg4CAAAALIAFBBBDcg4CAAAALIAQgA0HoisCAABDwg4CAAAALrQMCBH8BfiOAgICAAEEgayIFJICAgIAAIAEoAgAhBgJAAkAgAS0ABEUNACAGKAIIIQcMAQsCQCAGKAIIIgggBkEEaigCAEcNACAGIAgQj4CAgAAgBigCCCEICyAGIAhBAWoiBzYCCCAGKAIAIAhqQSw6AAALIAFBADoABAJAIAcgBkEEaiIBKAIARw0AIAYgBxCPgICAACAGKAIIIQcLIAYoAgAgB2pBIjoAACAGIAdBAWoiBzYCCAJAIAEoAgAgB2sgA08NACAGIAcgAxCQgICAACAGKAIIIQcLIAYoAgAgB2ogAiADEMCEgIAAGiAGIAcgA2oiBzYCCAJAIAZBBGooAgAgB2tBAUsNACAGIAdBAhCQgICAACAGKAIIIQcLIAYoAgAgB2pBovQAOwAAIAYgB0ECajYCCCAFQRBqIAYgBCgCACAEQQhqKAIAEM6CgIAAAkACQCAFKAIQDQBBACEGDAELIAVBCGogBUEQakEMaigCACIGNgIAIAUgBSkCFCIJNwMAIABBDGogBjYCACAAIAk3AgRBASEGCyAAIAY2AgAgBUEgaiSAgICAAAu2AwIEfwF+I4CAgIAAQSBrIgMkgICAgAAgASgCACEEAkACQCABLQAERQ0AIAQoAgghBQwBCwJAIAQoAggiBiAEQQRqKAIARw0AIAQgBhCPgICAACAEKAIIIQYLIAQgBkEBaiIFNgIIIAQoAgAgBmpBLDoAAAsgAUEAOgAEAkAgBSAEQQRqIgEoAgBHDQAgBCAFEI+AgIAAIAQoAgghBQsgBCgCACAFakEiOgAAIAQgBUEBaiIFNgIIAkAgASgCACAFa0EGSw0AIAQgBUEHEJCAgIAAIAQoAgghBQsgBCgCACAFaiIBQQAoAJmDwIAANgAAIAFBA2pBACgAnIPAgAA2AAAgBCAFQQdqIgU2AggCQCAEQQRqKAIAIAVrQQFLDQAgBCAFQQIQkICAgAAgBCgCCCEFCyAEKAIAIAVqQaL0ADsAACAEIAVBAmo2AgggA0EQaiACIAQQxoCAgAACQAJAIAMoAhANAEEAIQQMAQsgA0EIaiADQRBqQQxqKAIAIgQ2AgAgAyADKQIUIgc3AwAgAEEMaiAENgIAIAAgBzcCBEEBIQQLIAAgBDYCACADQSBqJICAgIAAC70DAgR/AX4jgICAgABBIGsiBiSAgICAACABKAIAIQcCQAJAIAEtAARFDQAgBygCCCEIDAELAkAgBygCCCIJIAdBBGooAgBHDQAgByAJEI+AgIAAIAcoAgghCQsgByAJQQFqIgg2AgggBygCACAJakEsOgAACyABQQA6AAQCQCAIIAdBBGoiASgCAEcNACAHIAgQj4CAgAAgBygCCCEICyAHKAIAIAhqQSI6AAAgByAIQQFqIgg2AggCQCABKAIAIAhrIANPDQAgByAIIAMQkICAgAAgBygCCCEICyAHKAIAIAhqIAIgAxDAhICAABogByAIIANqIgg2AggCQCAHQQRqKAIAIAhrQQFLDQAgByAIQQIQkICAgAAgBygCCCEICyAHKAIAIAhqQaL0ADsAACAHIAhBAmo2AggCQAJAIAQNACAGQRBqIAcQz4KAgAAMAQsgBkEQaiAHIAQgBRDOgoCAAAsCQAJAIAYoAhANAEEAIQcMAQsgBkEIaiAGQRBqQQxqKAIAIgc2AgAgBiAGKQIUIgo3AwAgAEEMaiAHNgIAIAAgCjcCBEEBIQcLIAAgBzYCACAGQSBqJICAgIAAC6YFAgR/AX4jgICAgABBwABrIgMkgICAgAAgASgCACEEAkACQCABLQAERQ0AIAQoAgghBQwBCwJAIAQoAggiBiAEQQRqKAIARw0AIAQgBhCPgICAACAEKAIIIQYLIAQgBkEBaiIFNgIIIAQoAgAgBmpBLDoAAAsgAUEAOgAEAkAgBSAEQQRqIgEoAgBHDQAgBCAFEI+AgIAAIAQoAgghBQsgBCgCACAFakEiOgAAIAQgBUEBaiIFNgIIAkAgASgCACAFa0EISw0AIAQgBUEJEJCAgIAAIAQoAgghBQsgBCgCACAFaiIBQQApAO6BwIAANwAAIAFBCGpBAC0A9oHAgAA6AAAgBCAFQQlqIgU2AggCQCAEQQRqKAIAIAVrQQFLDQAgBCAFQQIQkICAgAAgBCgCCCEFCyAEKAIAIAVqQaL0ADsAACAEIAVBAmo2AggCQAJAIAIoAgANACADQRhqIAQQz4KAgAAMAQsgAkEMaigCACEFIAJBBGooAgAhASADQTBqIARBmZvAgABBCEEBENKCgIAAAkAgAygCMA0AIAMgAygCNDYCKCADIANBMGpBCGotAAA6ACwgA0EwaiADQShqQaGbwIAAQQQgASAFENuAgIAAAkAgAygCMA0AIANBGGogAygCKCADLQAsEPCCgIAADAILIANBGGpBDGogA0EwakEMaigCADYCACADIAMpAjQ3AhwgA0EBNgIYDAELIANBGGpBDGogA0EwakEEciIEQQhqKAIANgIAIANBATYCGCADIAQpAgA3AhwLAkACQCADKAIYDQBBACEEDAELIANBEGogA0EYakEMaigCACIENgIAIAMgAykCHCIHNwMIIABBDGogBDYCACAAIAc3AgRBASEECyAAIAQ2AgAgA0HAAGokgICAgAAL8wECA38BfiOAgICAAEEgayIDJICAgIAAAkAgASACaiICIAFJDQAgAEEEaigCACIBQQF0IgQgAiAEIAJLGyICQQQgAkEESxsiBa1CFH4iBkIgiKdFQQJ0IQIgBqchBAJAAkAgAUUNACADQRhqQQQ2AgAgAyAAKAIANgIQIAMgAa1CFH4+AhQMAQsgA0EANgIQCyADIAQgAiADQRBqEPmAgIAAAkAgAygCAEUNACADQQhqKAIAIgBFDQEgAygCBCAAENyDgIAAAAsgAygCBCEBIABBBGogBTYCACAAIAE2AgAg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AigCrAUhECACKAKoBSEDIAIoAqQFIQsgAigCoAVFDQYgAkGwBWooAgAhDQwFCyACQawFaigCACENIAJBqAVqKAIAIRAMAwsgAkGMBmogCTYCACACQfgFakEQaiIDQQAgCCAIQQJGGzYCACACQfgFakEIaiAQrUIghiAPrYQiBTcDACACQQk2AvgFIAIgDEEAIAcbIgs2AvwFIAJBoAVqIAEQ3IKAgAACQCACKAKgBSIEQRVGDQAgAkGgBWpBCGopAwAhBSACKAKkBSEDIAJB+AVqEOKAgIAADA0LIAJByAZqQRBqIAMpAgA3AwAgAkHgBmogA0EIaikCADcDACACQegGaiADQRBqKAIANgIAIAJByAZqQQhqIAU3AwAgAiALNgLMBiACQQk2AsgGIAJBwARqIAEQ4IKAgAAgAi0AwARBAXFFDQECQCACLQDBBEH/AXFB/QBHDQAgARDZgoCAACAAQSRqIAJB6AZqKAIANgIAIABBHGogAkHgBmopAwA3AgAgAEEUaiACQdgGaikDADcCACAAQQxqIAJB0AZqKQMANwIAIAAgAikDyAY3AgQgAEEANgIADBoLIABBCzYCBCACQcgGahDigICAACAAQQE2AgAMGQsgAkGsBWooAgAhDSACQagFaigCACEQDAELIABCgYCAgMAANwIAIAJByAZqEOKAgIAADBcLIAIoAqQFIQMLIAtBCHYhAQwHCwJAIAdFDQAgDEUNACAPRQ0AQQEhByAMIA9BARCDgYCAACADIQ8gCyEMDAILIAMhDyALIQxBASEHDAELIAJBoAVqIAQQ3oKAgAACQAJAIAIoAqAFIgtBFUYNACAKIBEpAgA3AgAgCkEIaiARQQhqKAIANgIADAELIAJBoAZqIAQQsoCAgAAgAigCoAYiC0EVRg0BCyACQagGaikDACIFQiCIpyENIAIoAqQGIQMgBachEAwDCyACQaAEaiAEEOCCgIAAQQAhDSACLQChBCELIAItAKAEQQFxDQALQQIhCwwBC0EEIQsLIAtBCHYhASAHQQFHDQELIAxFDQAgD0UNACAMIA9BARCDgYCAAAsgAUEIdCALQf8BcXIhBCANrUIghiAQrYQhBQsgACAENgIEIABBATYCACAAQQxqIAU3AgAgAEEIaiADNgIADAwLIAJBmARqIAEQ4IKAgAACQAJAIAItAJgEQQFx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AgEEfyOAgICAAEEgayICJICAgIAAIAIgARDggoCAAAJAAkACQAJAIAItAABBAXFFDQAgAi0AAUH/AXFBIkcNASABENmCgIAAIAJBCGogARDfgoCAACACQQhqQRBqKAIAIQMgAkEIakEMaigCACEBIAJBCGpBCGooAgAhBCACKAIMIQUgAigCCA0CAkAgBQ0AIAAgBCABEOSAgIAADAQLIAAgBCADEOSAgIAAIAFFDQMgBCABQQEQg4GAgAAMAwsgAEEBOgAAIABBBGpBBDYCAAwCCyAAQQE6AAAgAEEEakEONgIADAELIABBAToAACAAQRBqIAM2AgAgAEEMaiABNgIAIABBCGogBDYCACAAQQRqIAU2AgALIAJBIGokgICAgAALuwQBAn8jgICAgABBMGsiAiSAgICAACACQSBqIAEoAgAiARDegoCAAAJAAkACQCACKAIgIgNBFUcNACACQQhqIAEQ4IKAgAAgAi0ACEEBcUUNAQJAAkAgAi0ACUH/AXFB7gBHDQAgARDZgoCAACACQSBqIAFBjJvAgABBAxDdgoCAACACKAIgIgFBFUcNASAAQYAEOwEADAQLIAIgARDggoCAAEEEIQMCQCACLQAAQQFxRQ0AQQ4hAwJAAkACQAJAIAItAAFB/wFxQZp/ag4PAAQEBAQEBAQEBAQEBAQBBAsgARDZgoCAACACQSBqIAFBhZvAgABBBBDdgoCAACACKAIgIgNBFUcNAkEAIQEMAQsgARDZgoCAACACQSBqIAFBiZvAgABBAxDdgoCAAAJAIAIoAiAiA0EVRg0AIAJBGGogAkEsaigCADYCACACIAIpAiQ3AxAMAwtBASEBCyAAIAE6AAEgAEEAOgAADAULIAJBGGogAkEsaigCADYCACACIAIpAiQ3AxALIABBBGogAzYCACAAQQhqIAIpAxA3AgAgAEEQaiACQRBqQQhqKAIANgIAIABBAToAAAwDCyAAQQhqIAIpAiQ3AgAgAEEQaiACQSxqKAIANgIAIABBAToAACAAQQRqIAE2AgAMAgsgAEEIaiACKQIkNwIAIABBEGogAkEsaigCADYCACAAQQE6AAAgAEEEaiADNgIADAELIABBAToAACAAQQRqQQQ2AgALIAJBMGokgICAgAAL5QMBAn8CQAJAAkACQAJAAkACQAJAAkAgAC0AAA4KAAECAwgIBAUGBwgLIABBCGooAgAiAUUNByAAQQRqKAIAIgBFDQcgACABQQEQg4GAgAAPCwJAIABBCGooAgAiAUUNACAAQQRqKAIAIgJFDQAgAiABQQEQg4GAgAALIABBFGooAgAiAUUNBiAAQRBqKAIAIgBFDQYgACABQQEQg4GAgAAPCyAAQQhqKAIAIgFFDQUgAEEEaigCACIARQ0FIAAgAUEBEIOBgIAADwsCQCAAQQhqKAIAIgFFDQAgAEEEaigCACICRQ0AIAIgAUEBEIOBgIAACyAAQRBqKAIAIgFFDQQgAEEUaigCACIARQ0EIAEgAEEBEIOBgIAADwsgAEEIaigCACIBRQ0DIABBBGooAgAiAEUNAyAAIAFBARCDgYCAAA8LIABBCGooAgAiAUUNAiAAQQRqKAIAIgBFDQIgACABQQEQg4GAgAAMAgsCQCAAQQhqKAIAIgFFDQAgAEEEaigCACICRQ0AIAIgAUEBEIOBgIAACyAAQRBqKAIAIgFFDQEgAEEUaigCACIARQ0BIAEgAEEBEIOBgIAADwsgAEEEaigCACIBRQ0AIABBCGooAgAiAEUNACABIABBARCDgYCAAA8LC5kBAAJAAkACQAJAAkACQCACQXtqDgsABAQEBAQCBAQEAQQLIAFB4IHAgABBBRC/hICAAA0CQQAhAQwECyABQdCNwIAAQQ8Qv4SAgAANAkEBIQEMAwsgAUHAjcCAAEELEL+EgIAADQFBAiEBDAILIAFBy43AgABBBRC/hICAAA0AQQMhAQwBC0EEIQELIABBADoAACAAIAE6AAELzAMBAX8jgICAgABBEGsiAySAgICAAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBemoOCAMHAAYFBwQBBwsCQCABKQAAQu/uuaum7te35gBRDQAgASkAAELh4MGT983dsOwAUg0CIABBgAI7AQAMDAsgAEEAOwEADAsLIAFBmYDAgABBDRC/hICAAEUNCCABQbCAwIAAQQ0Qv4SAgAANBSAAQYAKOwEADAoLIAEpAABC7szR+5XNm7PvAFINBCAAQYAMOwEADAkLIAFB0YDAgABBBhC/hICAAEUNBCABQeGAwIAAQQYQv4SAgAANAyAAQYAUOwEADAgLIAFBxYDAgABBDBC/hICAAA0CIABBgA47AQAMBwsgAUGmgMCAAEEKEL+EgIAARQ0DIAFB14DAgABBChC/hICAAA0BIABBgBI7AQAMBgsgAUGQgMCAAEEJEL+EgIAARQ0ECyADIAEgAkHogMCAAEELEOWAgIAAIABBAToAACAAQQxqIANBCGopAwA3AgAgAEEEaiADKQMANwIADAQLIABBgBA7AQAMAwsgAEGACDsBAAwCCyAAQYAGOwEADAELIABBgAQ7AQALIANBEGokgICAgAALlwIBAX8jgICAgABBgAFrIgUkgICAgAAgBSACNgIMIAUgATYCCCAFQRBqQRRqQQI2AgAgBUEoakEMakGIgICAADYCACAFQgI3AhQgBUGImsCAADYCECAFQYaAgIAANgIsIAUgBDYCPCAFIAM2AjggBSAFQShqNgIgIAUgBUE4ajYCMCAFIAVBCGo2AiggBUEANgJIIAVCATcDQCAFQdAAaiAFQcAAakGgjsCAABCfhICAAAJAIAVBEGogBUHQAGoQjYSAgABFDQBBuI7AgABBNyAFQfgAakGsl8CAAEG8j8CAABCOhICAAAALIAAgBSkDQDcCBCAAQRQ2AgAgAEEMaiAFQcgAaigCADYCACAFQYABaiSAgICAAAvaAgACQAJAAkACQAJAAkACQAJAAkAgAkF8ag4JBQcCAQAHBAMGBwsgASkAAELzyrmj9subs/QAUg0GIABBAToAASAAQQA6AAAPCyABQYuCwIAAQQcQv4SAgAANBSAAQQI6AAEgAEEAOgAADwsgAUGSgsCAAEEGEL+EgIAADQQgAEEDOgABIABBADoAAA8LIAFBmILAgAAgAhC/hICAAA0DIABBBDoAASAAQQA6AAAPCyABQaOCwIAAIAIQv4SAgAANAiAAQQU6AAEgAEEAOgAADwsCQCABQa2CwIAAIAIQv4SAgABFDQAgAUGxgsCAACACEL+EgIAADQIgAEEHOgABIABBADoAAA8LIABBBjoAASAAQQA6AAAPCyABQfeBwIAAQQwQv4SAgABFDQELIABBBGogASACQbiCwIAAQQgQ5YCAgAAgAEEBOgAADwsgAEEAOgABIABBADoAAAuiAQACQAJAAkACQAJAIAJBe2oOBQIDAAMBAwsgAUHojcCAAEEHEL+EgIAADQIgAEEBOgABIABBADoAAA8LIAFB343AgABBCRC/hICAAEUNAgwBCyABQf6IwIAAQQUQv4SAgAANACAAQQI6AAEgAEEAOgAADwsgAEEEaiABIAJB8I3AgABBAxDlgICAACAAQQE6AAAPCyAAQQA6AAEgAEEAOgAAC9uTAQUDfwF+DH8Cfgt/I4CAgIAAQeAGayICJICAgIAAIAJB+AVqIAEQ6YCAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAItAPgFDQAgAi0A+QUhAyACQfgFaiABEN6CgIAAAkAgAigC+AUiBEEVRg0AIAJBgAZqKQMAIQUgAigC/AUhAUEAIQMMAgsgAw4IAgkIBwYFBAMCCyACKAL8BSIEQYB+cSEDIAJBhAZqKQIAIQUgAkGABmooAgAhAQsgAEEBNgIAIABBDGogBTcCACAAQQhqIAE2AgAgACAEQf8BcSADcjYCBAwOCyACQTBqIAEQ4IKAgAACQCACLQAwQQFxDQBBBCEEDA0LAkAgAi0AMUH/AXFB+wBGDQBBDiEEDA0LIAEQ2YKAgAAgAkEoaiABENaCgIAAIAItACwhAyACQSBqIAIoAigiBhDggoCAAAJAIAItACBBAXENAEEAIQdBACEIQQIhBAwKCyACLQAhIQQgA0EBcSEDIAJB0ARqQQRyIQkgAkGIBWpBBHIhCiACQZAFaiELQQAhCEEAIQcDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIARB/wFxIgxBLEYNACAMQf0ARg0CIANB/wFxDQFBCSEEDBcLAkAgA0H/AXFFDQBBECEEDBcLIAYQ2YKAgAAgAkEYaiAGEOCCgIAAIAItABhBAXFFDRUgAi0AGSEECwJAIARB/wFxIgNBIkYNAEEQIQQCQCADQf0ARw0AQRMhBAsMFgsgAkEIaiAGEOCCgIAAIAItAAhBAXFFDRQCQCACLQAJQf8BcUEiRg0AQQ4hBAwWCyAGENmCgIAAIAJBiAVqIAYQ34KAgAAgAigCmAUhDSACKAKUBSEMIAIoApAFIQMgAigCjAUhBCACKAKIBQ0VAkAgBA0AIAxBeGoOAgQCCgtBAiEEAkACQAJAIA1BeGoOAgEAAgtBfkEAIANBgIXAgABBCRC/hICAABshBAwBC0EBQX4gAykAAEL03q2r5u3XtOQAURshBAsCQCAMRQ0AIANFDQAgAyAMQQEQg4GAgAALIARBHnRBHnVBAEgNCSAEQQNxDgICBAILAkAgCEUNACAHDQYgAkGIBWpBBHJB2IHAgABBCBCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGIBWpBCGooAgAhAyACKAKMBSEEIA5FDRggCCAOQQEQg4GAgAAMGAsgAkGIBWpBBHJBgIXAgABBCRCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGQBWooAgAhAyACKAKMBSEEDBILIANBgIXAgABBCRC/hICAAA0HCyAIRQ0CIAJBiAVqQYCFwIAAQQkQsICAgAAgAkGUBWooAgAhDSACQZAFaigCACEMIAIoAowFIQMgAigCiAUhBAwSCyADKQAAQvTeravm7de05ABSDQULAkAgB0UNACACQYgFakHYgcCAAEEIELCAgIAAIAJBlAVqKAIAIQ0gAkGIBWpBCGooAgAhDCACKAKMBSEDIAIoAogFIQQgDw0SDBMLIAJB0ARqIAYQ3oKAgAACQAJAIAIoAtAEIgRBFUYNACALIAkpAgA3AgAgC0EIaiAJQQhqKAIANgIADAELIAJBiAVqIAYQsYCAgAAgAigCiAVFDQQgAigCjAUhBAsgAkGYBWooAgAhDSACKAKUBSEMIAIoApAFIQMMEgsgAkHQBGogBhDegoCAAAJAAkAgAigC0AQiBEEVRg0AIAsgCSkCADcCACALQQhqIAlBCGooAgA2AgAMAQsgAkGIBWogBhCxgICAACACKAKIBUUNAiACKAKMBSEECyACQZgFaigCACENIAIoApQFIQwgAigCkAUhAwwNCyACQfgFakEYaiAQNgIAIAJB+AVqQRRqIA82AgAgAkH4BWpBEGogBzYCACACQfgFakEMaiIDIBE2AgAgAkH4BWpBCGogDjYCACACIAg2AvwFIAJBADYC+AUgAkGIBWogARDcgoCAAAJAIAIoAogFIgRBFUYNACACQYgFakEMaigCACENIAJBiAVqQQhqKAIAIQwgAigCjAUhAyACQfgFahDqgICAAAwSCyACQcAFakEMaiADKQIANwIAIAJBwAVqQRRqIANBCGopAgA3AgAgAkHcBWogA0EQaikCADcCACACQeQFaiADQRhqKQIANwIAIAJB7AVqIANBIGopAgA3AgAgAkH0BWogA0EoaigCADYCACACQcAFakEIaiAONgIAIAIgCDYCxAUgAkEANgLABSACQRBqIAEQ4IKAgAAC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aiANKQMAIhI3AwAgAkHQBGpBIGogCCkDACITNwMAIAJBmARqQQhqIgQgBikDADcDACACQZgEakEQaiIGIAU3AwAgAkGYBGpBGGoiDCASNwMAIAJBmARqQSBqIg0gEzcDACACQZgEakEoaiIIIAcpAwA3AwAgAkGYBGpBMGoiByADKQMANwMAIAIgAikDiAU3A5gEIAJB4ANqQTBqIAcpAwA3AwAgAkHgA2pBKGogCCkDADcDACACQeADakEgaiANKQMANwMAIAJB4ANqQRhqIAwpAwA3AwAgAkHgA2pBEGogBikDADcDACACQeADakEIaiAEKQMANwMAIAIgAikDmAQ3A+ADIAJBuANqIAEQ4IKAgAACQCACLQC4A0EBcUUNAAJAIAItALkDQf8BcUH9AEcNACABENmCgIAAIABBOGogAkHgA2pBMGopAwA3AwAgAEEwaiACQeADakEoaikDADcDACAAQShqIAJB4ANqQSBqKQMANwMAIABBIGogAkHgA2pBGGopAwA3AwAgAEEYaiACQeADakEQaikDADcDACAAQRBqIAJB4ANqQQhqKQMANwMAIABBCGogAikD4AM3AwAgAEEANgIADBgLIABBCzYCBCACQeADahDqgICAACAAQQE2AgAMFwsgAEKBgICAwAA3AwAgAkHgA2oQ6oCAgAAMFgsgAigCxAYhDyACKALABiEHIAIoArwGIQ0LIAJBqANqIAQQ4IKAgABBACEGIAItAKkDIQMgAi0AqANBAXENAAsLDAELQQQhDgsgAkGIBmogDDYCACACQYQGaiADNgIAIAJBgAZqIAY2AgAgAiAONgL8BQsgDUUNASAHRQ0BCyANIAdBARCDgYCAAAsgAkHQBGpBCGogAkGIBmooAgA2AgAgAiACQfgFakEIaikDADcD0AQgAigC/AUhBAsgAkGYBGpBCGogAkHQBGpBCGooAgAiATYCACACIAIpA9AEIgU3A5gEIABBEGogATYCACAAQQhqIAU3AgAgACAENgIEIABBATYCAAwMCyACQaADaiABEOCCgIAAAkACQCACLQCgA0EBcQ0AQQQhBAwBCwJAIAItAKEDQf8BcUH7AEYNAEEOIQQMAQsgARDZgoCAACACQZgDaiABENaCgIAAQQEhFCACKAKYAyEDIAIgAi0AnANBAXEiBzoAjAUgAiADNgKIBSAC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AkGIBWpBCGooAgAhDCACKAKMBSEGIAJB+AVqEOqAgIAADAgLIAJBwAVqQQxqIAMpAgA3AgAgAkHUBWogA0EIaikCADcCACACQdwFaiADQRBqKQIANwIAIAJB5AVqIANBGGopAgA3AgAgAkHsBWogA0EgaikCADcCACACQfQFaiADQShqKAIANgIAIAJBwAVqQQhqIAc2AgAgAiAINgLEBSACQQQ2AsAFIAJBiAJqIAEQ4IKAgAACQCACLQCIAkEBcUUNAAJAIAItAIkCQf8BcUH9AEcNACABENmCgIAAIABBOGogAkHABWpBMGopAwA3AwAgAEEwaiACQcAFakEoaikDADcDACAAQShqIAJBwAVqQSBqKQMANwMAIABBIGogAkHABWpBGGopAwA3AwAgAEEYaiACQcAFakEQaikDADcDACAAQRBqIAJBwAVqQQhqKQMANwMAIABBCGogAikDwAU3AwAgAEEANgIADBMLIABBCzYCBCACQcAFahDqgICAACAAQQE2AgAMEgsgAEKBgICAwAA3AwAgAkHABWoQ6oCAgAAMEQsgAigClAUhDiACKAKQBSEHIAIoAowFIQgMAQsgAkGIBWogAxDegoCAAAJAAkAgAigCiAUiBEEVRg0AIA8gESkCADcCACAPQQhqIBFBCGooAgA2AgAMAQsgAkHQBGogAxCygICAACACKALQBCIEQRVGDQELIAJB3ARqKAIAIQ0gAkHYBGooAgAhDCACKALUBCEGDAQLIAJB8AFqIAMQ4IKAgABBACEGIAItAPEBIQQgAi0A8AFBAXENAAtBAiEEDAILQQQhBAsLIAhFDQAgB0UNACAIIAdBARCDgYCAAAsgACAENgIEIABBATYCACAAQRBqIA02AgAgAEEMaiAMNgIAIABBCGogBjYCAAwJCyACQegBaiABEOCCgIAAAkACQCACLQDoAUEBcQ0AQQQhBAwBCwJAIAItAOkBQf8BcUH7AEYNAEEOIQQMAQsgARDZgoCAACACQeABaiABENaCgIAAIAItAOQBIQMgAkHYAWogAigC4AEiBhDggoCAAAJAAkACQAJAIAItANgBQQFxDQBBACEHQQAhCEECIQQMAQsgAi0A2QEhBCADQQFxIQMgAkHQBGpBBHIhCSACQYgFakEEciEKIAJBkAVqIQtBACEIQQAhBwJAAkADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIARB/wFxIgxBLEYNACAMQf0ARg0CIANB/wFxDQFBCSEEDBALAkAgA0H/AXFFDQBBECEEDBALIAYQ2YKAgAAgAkHQAWogBhDggoCAACACLQDQAUEBcUUNDiACLQDRASEECwJAIARB/wFxIgNBIkYNAEEQIQQCQCADQf0ARw0AQRMhBAsMDwsgAkHAAWogBhDggoCAACACLQDAAUEBcUUNDQJAIAItAMEBQf8BcUEiRg0AQQ4hBAwPCyAGENmCgIAAIAJBiAVqIAYQ34KAgAAgAigCmAUhDSACKAKUBSEMIAIoApAFIQMgAigCjAUhBCACKAKIBQ0OAkAgBA0AIAxBeWoOAgIECgtBAiEEAkACQAJAIA1BeWoOAgABAgtBfkEAIANBkoPAgABBBxC/hICAABshBAwBC0EBQX4gAykAAEL03q2r5u3XtOQAURshBAsCQCAMRQ0AIANFDQAgAyAMQQEQg4GAgAALIARBHnRBHnVBAEgNCSAEQQNxDgICBAILAkAgCEUNACAHDQYgAkGIBWpBBHJB2IHAgABBCBCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGIBWpBCGooAgAhAyACKAKMBSEEIA5FDREgCCAOQQEQg4GAgAAMEQsgAkGIBWpBBHJBkoPAgABBBxCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGQBWooAgAhAyACKAKMBSEEDAsLIANBkoPAgABBBxC/hICAAA0HCyAIRQ0CIAJBiAVqQZKDwIAAQQcQsICAgAAgAkGUBWooAgAhDSACQZAFaigCACEMIAIoAowFIQMgAigCiAUhBAwLCyADKQAAQvTeravm7de05ABSDQULAkAgB0UNACACQYgFakHYgcCAAEEIELCAgIAAIAJBlAVqKAIAIQ0gAkGIBWpBCGooAgAhDCACKAKMBSEDIAIoAogFIQQgDw0LDAwLIAJB0ARqIAYQ3oKAgAACQAJAIAIoAtAEIgRBFUYNACALIAkpAgA3AgAgC0EIaiAJQQhqKAIANgIADAELIAJBiAVqIAYQsYCAgAAgAigCiAVFDQQgAigCjAUhBAsgAkGYBWooAgAhDSACKAKUBSEMIAIoApAFIQMMCwsgAkHQBGogBhDegoCAAAJAAkAgAigC0AQiBEEVRg0AIAsgCSkCADcCACALQQhqIAlBCGooAgA2AgAMAQsgAkGIBWogBhCxgICAACACKAKIBUUNAiACKAKMBSEECyACQZgFaigCACENIAIoApQFIQwgAigCkAUhAwwGCyACQfgFakEYaiAQNgIAIAJB+AVqQRRqIA82AgAgAkH4BWpBEGogBzYCACACQfgFakEMaiIDIBE2AgAgAkH4BWpBCGogDjYCACACIAg2AvwFIAJBAzYC+AUgAkGIBWogARDcgoCAAAJAIAIoAogFIgRBFUYNACACQYgFakEMaigCACENIAJBiAVqQQhqKAIAIQwgAigCjAUhAyACQfgFahDqgICAAAwLCyACQcAFakEMaiADKQIANwIAIAJBwAVqQRRqIANBCGopAgA3AgAgAkHcBWogA0EQaikCADcCACACQeQFaiADQRhqKQIANwIAIAJB7AVqIANBIGopAgA3AgAgAkH0BWogA0EoaigCADYCACACQcAFakEIaiAONgIAIAIgCDYCxAUgAkEDNgLABSACQcgBaiABEOCCgIAAAkAgAi0AyAFBAXFFDQACQCACLQDJAUH/AXFB/QBHDQAgARDZgoCAACAAQThqIAJBwAVqQTBqKQMANwMAIABBMGogAkHABWpBKGopAwA3AwAgAEEoaiACQcAFakEgaikDADcDACAAQSBqIAJBwAVqQRhqKQMANwMAIABBGGogAkHABWpBEGopAwA3AwAgAEEQaiACQcAFakEIaikDADcDACAAQQhqIAIpA8AFNwMAIABBADYCAAwVCyAAQQs2AgQgAkHABWoQ6oCAgAAgAEEBNgIADBQLIABCgYCAgMAANwMAIAJBwAVqEOqAgIAADBMLIAIoApQFIREgAigCkAUhDiACKAKMBSEIDAILIAIoApQFIRAgAigCkAUhDyACKAKMBSEHDAELIAJBiAVqIAYQ3oKAgAACQAJAIAIoAogFIgRBFUYNACAJIAopAgA3AgAgCUEIaiAKQQhqKAIANgIADAELIAJB0ARqIAYQsoCAgAAgAigC0AQiBEEVRg0BCyACQdwEaigCACENIAJB2ARqKAIAIQwgAigC1AQhAwwECyACQbgBaiAGEOCCgIAAQQAhAyACLQC5ASEEIAItALgBQQFxDQALQQIhBAwCC0EAIQgMAQtBBCEECyAHRQ0BIA9FDQELIAcgD0EB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DCACKAKMBSEDIAJB+AVqEOqAgIAADAoLIAJBwAVqQQxqIAMpAgA3AgAgAkHABWpBFGogA0EIaikCADcCACACQdwFaiADQRBqKQIANwIAIAJB5AVqIANBGGopAgA3AgAgAkHsBWogA0EgaikCADcCACACQfQFaiADQShqKAIANgIAIAJBwAVqQQhqIA42AgAgAiAINgLEBSACQQI2AsAFIAJBkAFqIAEQ4IKAgAACQCACLQCQAUEBcUUNAAJAIAItAJEBQf8BcUH9AEcNACABENmCgIAAIABBOGogAkHABWpBMGopAwA3AwAgAEEwaiACQcAFakEoaikDADcDACAAQShqIAJBwAVqQSBqKQMANwMAIABBIGogAkHABWpBGGopAwA3AwAgAEEYaiACQcAFakEQaikDADcDACAAQRBqIAJBwAVqQQhqKQMANwMAIABBCGogAikDwAU3AwAgAEEANgIADBMLIABBCzYCBCACQcAFahDqgICAACAAQQE2AgAMEgsgAEKBgICAwAA3AwAgAkHABWoQ6oCAgAAMEQsgAigClAUhESACKAKQBSEOIAIoAowFIQgMAgsgAigClAUhECACKAKQBSEPIAIoAowFIQcMAQsgAkGIBWogBhDegoCAAAJAAkAgAigCiAUiBEEVRg0AIAkgCikCADcCACAJQQhqIApBCGooAgA2AgAMAQsgAkHQBGogBhCygICAACACKALQBCIEQRVGDQELIAJB3ARqKAIAIQ0gAkHYBGooAgAhDCACKALUBCEDDAQLIAJB+ABqIAYQ4IKAgABBACEDIAItAHkhBCACLQB4QQFxDQALQQIhBAwCC0EAIQgMAQtBBCEECyAHRQ0AIA9FDQAgByAPQQEQg4GAgAALIAhFDQAgDkUNACAIIA5BARCDgYCAAAsgACAENgIEIABBATYCACAAQRBqIA02AgAgAEEMaiAMNgIAIABBCGogAzYCAAwHCyACQfAAaiABEOCCgIAAAkACQCACLQBwQQFxDQBBBCEEDAELAkAgAi0AcUH/AXFB+wBGDQBBDiEEDAELIAEQ2YKAgAAgAkHoAGogARDWgoCAACACLQBsIQMgAkHgAGogAigCaCIGEOCCgIAAQQEhCQJAAkACQAJAAkACQCACLQBgQQFxDQBBACEOQQAhB0EAIQgMAQsgAi0AYSEEIANBAXEhAyACQdAEakEEciEUIAJBiAVqQQRyIRkgAkGIBWpBCGohGiACQdAEakEIaiEbQQAhCEEAIQdBACEOA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBEH/AXEiDEEsRg0AIAxB/QBGDQIgA0H/AXENAUEJIQQMGAsCQCADQf8BcUUNAEEQIQQMGAsgBhDZgoCAACACQdgAaiAGEOCCgIAAIAItAFhBAXFFDRYgAi0AWSEECwJAIARB/wFxIgNBIkYNAEEQIQQCQCADQf0ARw0AQRMhBAsMFwsgAkHIAGogBhDggoCAACACLQBIQQFxRQ0VAkAgAi0ASUH/AXFBIkYNAEEOIQQMFwsgBhDZgoCAACACQYgFaiAGEN+CgIAAIAIoApgFIQ0gAigClAUhDCACKAKQBSEDIAIoAowFIQQgAigCiAUNFgJAIAQNAAJAIAxBfWoOBgMPDw8PAA8LIAMpAABC4965o6eu2LH0AFENBCADKQAAQvTeravm7de05ABSDQ4MDwsCQAJAAkACQCANQX1qDgYBAgICAgACCwJAIAMpAABC4965o6eu2LH0AFINAEEAIQQMAwsgAykAAEL03q2r5u3XtOQAUg0BQQEhBAwCCyADQcWIwIAAQQMQv4SAgAANAEECIQQMAQtBAyEECwJAIAxFDQAgA0UNACADIAxBARCDgYCAAAsgBA4DAw4CDQsgCEUNBAJAAkAgB0UNACAODQUgAkGIBWpBBHJBxYjAgABBAxCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGQBWooAgAhAyACKAKMBSEEQQAhCSARRQ0BIAcgEUEBEIOBgIAADAELIAJBiAVqQQRyQdiBwIAAQQgQr4CAgAAgAkGYBWooAgAhDSACQZQFaigCACEMIAJBiAVqQQhqKAIAIQMgAigCjAUhBEEBIQkLQQAhAQJAIA8NAEEAIQ8gDg0XDBgLIAggD0EBEIOBgIAAIA4NFgwXCyADQcWIwIAAQQMQv4SAgAANCwsCQCAORQ0AIAJBiAVqQcWIwIAAQQMQsICAgAAgAkGUBWooAgAhDSACQZAFaigCACEMIAIoAowFIQMgAigCiAUhBEEBIQFBASEJDBULIAJBiAVqIAYQ3oKAgAAgAigCiAUiBEEVRw0EIAJBwABqIAYQ4IKAgAACQCACLQBAQQFxDQBBBCEEDAoLAkAgAi0AQUH/AXFBIkYNAEEOIQQMCgsgBhDZgoCAACACQYgFaiAGEN+CgIAAIAIoApgFIQ0gAigClAUhAyACKAKQBSEMIAIoAowFIQQgAigCiAUNAwJAAkAgBA0AIAJB0ARqIAwgAxDrgICAAAwBCyACQdAEaiAMIA0Q64CAgAAgA0UNACAMIANBARCDgYCAAAsCQCACKALQBA0AIAIoAtwEIQogAigC2AQhECACKALUBCEODBALIAIoAtQEIQQMCQsgCEUNBSACQYgFakGbhsCAAEEIELCAgIAAIAJBlAVqKAIAIQ0gAkGIBWpBCGooAgAhDAwLCyACQfgFakEkaiAKNgIAIAJB+AVqQSBqIBA2AgAgAkH4BWpBHGogDjYCACACQfgFakEYaiAYNgIAIAJB+AVqQRRqIBE2AgAgAkH4BWpBEGogBzYCACACQfgFakEMaiIDIAs2AgAgAkH4BWpBCGogDzYCACACIAg2AvwFIAJBATYC+AUgAkGIBWogARDcgoCAAAJAIAIoAogFIgRBFUYNACACQYgFakEMaigCACENIAJBiAVqQQhqKAIAIQwgAigCjAUhAyACQfgFahDqgICAAAwVCyACQcAFakEMaiADKQIANwIAIAJBwAVqQRRqIANBCGopAgA3AgAgAkHABWpBHGogA0EQaikCADcCACACQcAFakEkaiADQRhqKQIANwIAIAJB7AVqIANBIGopAgA3AgAgAkH0BWogA0EoaigCADYCACACQcAFakEIaiAPNgIAIAIgCDYCxAUgAkEBNgLABSACQdAAaiABEOCCgIAAIAItAFBBAXFFDQMCQCACLQBRQf8BcUH9AEcNACABENmCgIAAIABBOGogAkHABWpBMGopAwA3AwAgAEEwaiACQcAFakEoaikDADcDACAAQShqIAJBwAVqQSBqKQMANwMAIABBIGogAkHABWpBGGopAwA3AwAgAEEYaiACQcAFakEQaikDADcDACAAQRBqIAJBwAVqQQhqKQMANwMAIABBCGogAikDwAU3AwAgAEEANgIADBwLIABBCzYCBCACQcAFahDqgICAACAAQQE2AgAMGwsgAkGIBWpBBHJBm4bAgABBCBCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGIBWpBCGooAgAhAyACKAKMBSEEDAQLIAIgDTYC4AQgAiADNgLcBCACIAw2AtgEIAIgBDYC1AQMBQsgGyAZKQIANwIAIBtBCGogGUEIaigCADYCAAwECyAAQoGAgIDAADcDACACQcAFahDqgICAAAwXCyACQdAEaiAGEN6CgIAAAkACQCACKALQBCIEQRVGDQAgGiAUKQIANwIAIBpBCGogFEEIaigCADYCAAwBCyACQYgFaiAGELGAgIAAIAIoAogFRQ0CIAIoAowFIQQLIAJBmAVqKAIAIQ0gAigClAUhDCACKAKQBSEDC0EBIQlBACEIQQEhASAODQwMDQsgAigClAUhCyACKAKQBSEPIAIoAowFIQgMBgsgAigC4AQhDSACKALcBCEMIAIoAtgEIQNBASEBQQEhCQwLCyACQYgFaiAGEN6CgIAAAkACQCACKAKIBSIEQRVGDQAgFCAZKQIANwIAIBRBCGogGUEIaigCADYCAAwBCyACQdAEaiAGELKAgIAAIAIoAtAEIgRBFUYNBQsgAkHcBGooAgAhDSACQdgEaigCACEMIAIoAtQEIQMMAgsgB0UNAiACQYgFakHYgcCAAEEIELCAgIAAIAJBlAVqKAIAIQ0gAkGIBWpBCGooAgAhDAsgAigCjAUhAyACKAKIBSEEC0EBIQlBASEBIA4NBgwHCyACQdAEaiAGEN6CgIAAAkACQAJAIAIoAtAEIgRBFUYNACAaIBQpAgA3AgAgGkEIaiAUQQhqKAIANgIADAELIAJBiAVqIAYQsYCAgAAgAigCiAVFDQEgAigCjAUhBAsgAkGYBWooAgAhDSACKAKUBSEMIAIoApAFIQNBASEJQQAhB0EBIQEgDg0GDAcLIAIoApQFIRggAigCkAUhESACKAKMBSEHCyACQThqIAYQ4IKAgABBACEDIAItADkhBCACLQA4QQFxDQALC0ECIQQMAQtBBCEEC0EBIQEgDkUNAQsgEEUNACAOIBBBARCDgYCAAAsCQCAHRQ0AIAlFDQAgEUUNACAHIBFBARCDgYCAAAsgCEEARyABcUEBRw0AIA9FDQAgCCAPQQEQg4GAgAALIAAgBDYCBCAAQQE2AgAgAEEQaiANNgIAIABBDGogDDYCACAAQQhqIAM2AgAMBgtBACEIDAELQQQhBAsgB0UNASAPRQ0BCyAHIA9BARCDgYCAAAsgCEUNACAORQ0AIAggDkEBEIOBgIAACyAAIAQ2AgQgAEEBNgIAIABBEGogDTYCACAAQQxqIAw2AgAgAEEIaiADNgIACyACQeAGaiSAgICAAAuiAgEEfyOAgICAAEEgayICJICAgIAAIAIgARDggoCAAAJAAkACQAJAIAItAABBAXFFDQAgAi0AAUH/AXFBIkcNASABENmCgIAAIAJBCGogARDfgoCAACACQQhqQRBqKAIAIQMgAkEIakEMaigCACEBIAJBCGpBCGooAgAhBCACKAIMIQUgAigCCA0CAkAgBQ0AIAAgBCABEOaAgIAADAQLIAAgBCADEOaAgIAAIAFFDQMgBCABQQEQg4GAgAAMAwsgAEEBOgAAIABBBGpBBDYCAAwCCyAAQQE6AAAgAEEEakEONgIADAELIABBAToAACAAQRBqIAM2AgAgAEEMaiABNgIAIABBCGogBDYCACAAQQRqIAU2AgALIAJBIGokgICAgAALlwQBAn8CQAJAAkACQAJAAkACQAJAAkAgACgCAA4HAQIDBAUGBwALIABBCGooAgAiAUUNByAAQQRqKAIAIgBFDQcgACABQQEQg4GAgAAPCwJAIABBCGooAgAiAUUNACAAQQRqKAIAIgJFDQAgAiABQQEQg4GAgAALIABBFGooAgAiAUUNBiAAQRBqKAIAIgBFDQYgACABQQEQg4GAgAAPCwJAIABBCGooAgAiAUUNACAAQQRqKAIAIgJFDQAgAiABQQEQg4GAgAALAkAgAEEUaigCACIBRQ0AIABBEGooAgAiAkUNACACIAFBARCDgYCAAAsgAEEgaigCACIBRQ0FIABBHGooAgAiAEUNBSAAIAFBARCDgYCAAA8LAkAgAEEIaigCACIBRQ0AIABBBGooAgAiAkUNACACIAFBARCDgYCAAAsgAEEUaigCACIBRQ0EIABBEGooAgAiAEUNBCAAIAFBARCDgYCAAA8LAkAgAEEIaigCACIBRQ0AIABBBGooAgAiAkUNACACIAFBARCDgYCAAAsgAEEUaigCACIBRQ0DIABBEGooAgAiAEUNAyAAIAFBARCDgYCAAA8LIABBCGooAgAiAUUNAiAAQQRqKAIAIgBFDQIgACABQQEQg4GAgAAPCyAAQQhqKAIAIgFFDQEgAEEEaigCACIARQ0BIAAgAUEBEIOBgIAADwsgAEEEahDugICAAAsLsQIBAX8jgICAgABB4ABrIgMkgICAgAAgAyACNgIEIAMgATYCACADQQhqIAEgAhCugoCAAAJAAkAgAygCCA0AIAAgAykCDDcCBCAAQQA2AgAgAEEMaiADQQhqQQxqKAIANgIADAELIANBwABqQRRqQQE2AgAgA0IBNwJEIANBqJrAgAA2AkAgA0GGgICAADYCXCADIANB2ABqNgJQIAMgAzYCWCADQTBqIANBwABqEOCDgIAAIANBwABqQQRyIANBMGoQ4oOAgAAgA0EUNgJAAkAgAygCNCIBRQ0AIAMoAjAiAkUNACACIAFBARCDgYCAAAsgACADKQNANwIEIABBATYCACAAQQxqIANBwABqQQhqKQMANwIAIANBCGpBCGoQl4CAgAALIANB4ABqJICAgIAACxQAIAAoAgAgACgCBCABEKmEgIAAC3EBAX8jgICAgABBIGsiAiSAgICAACACIAA2AgQgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGUl8CAACACQQhqEP2DgIAAIQEgAkEgaiSAgICAACABC6oBAQJ/AkAgAEEEaigCACIBRQ0AIAAoAgAiAkUNACACIAFBARCDgYCAAAsCQCAAQRBqKAIAIgFFDQAgAEEMaigCACICRQ0AIAIgAUEBEIOBgIAACwJAIAAoAhgiAUUNACAAQRxqKAIAIgJFDQAgASACQQEQg4GAgAALAkAgACgCJEUNACAAQShqKAIAIgFFDQAgAEEsaigCACIARQ0AIAEgAEEBEIOBgIAACwsCAAtlAQJ/IAAoAgAgACgCBCgCABGCgICAAAACQCAAKAIEIgEoAgQiAkUNACAAKAIAIAIgASgCCBCDgYCAAAsCQCAAQRhqKAIAIgFFDQAgAEEUaigCACIARQ0AIAAgAUEBEIOBgIAACwsqAQF/AkAgAEEEaigCACIBRQ0AIAAoAgAiAEUNACAAIAFBARCDgYCAAAsLvQMDCX8BfgJ/I4CAgIAAQYABayIDJICAgIAAAkACQCACDQBBACEBQQAhBAwBCyABQRxqKAIAIQUgAUEUaigCACEGIAFBEGooAgAhByABQQxqKAIAIQggAUEIaigCACEJIANBCGohBCABKAIAIQogASgCBCgCDCELQQAhAQJAA0AgA0HQAGogCiALEYCAgIAAACADKAJQRQ0BIANB6ABqQRBqIANB0ABqQRBqKQMANwMAIANB6ABqQQhqIANB0ABqQQhqKQMANwMAIAMgAykDUDcDaCADQShqIAggByAGIAUgA0HoAGogCRGBgICAAAAgAykDKEICUQ0BIAFBAWohASADQSBqIANBKGpBIGopAwA3AwAgA0EYaiADQShqQRhqKQMANwMAIANBEGogA0EoakEQaikDADcDACAEIANBKGpBCGopAwA3AwAgAyADKQMoIgw3AwACQAJAIAxCAFINACADKAIMIg1FDQEgAygCCCIORQ0BIA4gDUEBEIOBgIAADAELIAQQl4CAgAALIAIgAUcNAAtBACEEIAIhAQwBC0EBIQQLIAAgATYCBCAAIAQ2AgAgA0GAAWokgICAgAALxwQDCX8BfgJ/I4CAgIAAQYABayIDJICAgIAAAkACQAJAAkAgAg0AIAEoAgAhBCABKAIEKAIMIQUMAQsgAUEcaigCACEGIAFBFGooAgAhByABQRBqKAIAIQggAUEMaigCACEJIAFBCGooAgAhCiADQQhqIQsgASgCACEEIAEoAgQoAgwhBQNAIANB0ABqIAQgBRGAgICAAAAgAygCUEUNAiADQegAakEQaiADQdAAakEQaikDADcDACADQegAakEIaiADQdAAakEIaikDADcDACADIAMpA1A3A2ggA0EoaiAJIAggByAGIANB6ABqIAoRgYCAgAAAIAMpAyhCAlENAiADQSBqIANBKGpBIGopAwA3AwAgA0EYaiADQShqQRhqKQMANwMAIANBEGogA0EoakEQaikDADcDACALIANBKGpBCGopAwA3AwAgAyADKQMoIgw3AwACQAJAIAxCAFINACADKAIMIg1FDQEgAygCCCIORQ0BIA4gDUEBEIOBgIAADAELIAsQl4CAgAALIAJBf2oiAg0ACwsgAyAEIAURgICAgAAAAkAgAygCAA0AIABCAjcDAAwCCyABQRxqKAIAIQIgAUEUaigCACELIAFBEGooAgAhBCABQQxqKAIAIQUgAUEIaigCACEBIANBKGpBEGogA0EQaikDADcDACADQShqQQhqIANBCGopAwA3AwAgAyADKQMANwMoIAAgBSAEIAsgAiADQShqIAERgYCAgAAADAELIABCAjcDAAsgA0GAAWokgICAgAALEgAgACgCACABEPWAgIAAGkEAC/cCAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQAJAIAFBgAFJDQAgAkEANgIMIAFBgBBJDQEgAUGAgARPDQIgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAyEBDAMLAkAgACgCCCIDIABBBGooAgBHDQAgACADEI+AgIAAIAAoAgghAwsgACADQQFqNgIIIAAoAgAgA2ogAToAAAwDCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAiEBDAELIAIgAUE/cUGAAXI6AA8gAiABQRJ2QfABcjoADCACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA1BBCEBCwJAIABBBGooAgAgAEEIaiIEKAIAIgNrIAFPDQAgACADIAEQkICAgAAgBCgCACEDCyAAKAIAIANqIAJBDGogARDAhICAABogBCADIAFqNgIACyACQRBqJICAgIAAQQALdAEBfyOAgICAAEEgayICJICAgIAAIAIgACgCADYCBCACQQhqQRBqIAFBEGopAgA3AwAgAkEIakEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQZSXwIAAIAJBCGoQ/YOAgAAhASACQSBqJICAgIAAIAELWAECfwJAIAAoAgAiA0EEaigCACADQQhqIgQoAgAiAGsgAk8NACADIAAgAhCQgICAACAEKAIAIQALIAMoAgAgAGogASACEMCEgIAAGiAEIAAgAmo2AgBBAAtTAQJ/AkAgAEEEaigCACAAQQhqIgMoAgAiBGsgAk8NACAAIAQgAhCQgICAACADKAIAIQQLIAAoAgAgBGogASACEMCEgIAAGiADIAQgAmo2AgBBAAu1AQECfwJAAkACQAJAAkACQAJAAkACQCACRQ0AQQEhBCABQQBIDQEgAygCACIFRQ0CIAMoAgQiAw0FIAENAyACIQMMBAsgACABNgIEQQEhBAtBACEBDAYLIAENACACIQMMAQsgASACEIKBgIAAIQMLIANFDQEMAgsgBSADIAIgARCEgYCAACIDDQELIAAgATYCBCACIQEMAQsgACADNgIEQQAhBAsgACAENgIAIABBCGogATYCAAvMBAEGfyOAgICAAEHQAGsiAySAgICAACADQSBqIAEQ4IKAgAACQAJAAkAgAy0AIEEBcUUNACADLQAhIQQgA0EoakEEciEFIANBOGpBBHIhBgJAA0ACQAJAAkACQCAEQf8BcSIHQSxGDQAgB0H9AEYNAiACQf8BcQ0BQQkhBAwHCwJAIAJB/wFxRQ0AQRAhBAwHCyABENmCgIAAIANBGGogARDggoCAACADLQAYQQFxRQ0EIAMtABkhBAsCQCAEQf8BcSIIQSJGDQBBECEEIAhB/QBHDQZBEyEEDAYLIANBEGogARDggoCAACADLQAQQQFxRQ0DAkAgAy0AEUH/AXFBIkYNAEEOIQQMBgsgARDZgoCAACADQThqIAEQ34KAgAAgAygCRCECIAMoAkAhByADKAI8IQQCQCADKAI4DQAgBEUNAiACRQ0CIAdFDQIgByACQQEQg4GAgAAMAgsgBEEVRg0BIAMoAkghAQwFCyAAQRU2AgAMBQsgA0E4aiABEN6CgIAAAkACQAJAIAMoAjgiBEEVRg0AIAUgBikCADcCACAFQQhqIAZBCGooAgA2AgAMAQsgA0EoaiABELKAgIAAIAMoAigiBEEVRg0BCyADQTRqKAIAIQEgA0EwaigCACECIAMoAiwhBwwECyADQQhqIAEQ4IKAgABBACECIAMtAAkhBCADLQAIQQFxRQ0CDAALC0EEIQQMAQtBAiEECyAAIAc2AgQgACAENgIAIABBDGogATYCACAAQQhqIAI2AgALIANB0ABqJICAgIAAC9ICAQZ/I4CAgIAAQTBrIgMkgICAgAAgA0EYaiABEOCCgIAAQQEhBAJAAkACQCADLQAYQQFxDQAMAQsgAy0AGSEFA0ACQAJAAkAgBUH/AXEiBEEsRg0AIARB3QBGDQECQCACQf8BcUUNAEEAIQIMAwtBByEEDAQLIAEQ2YKAgAAgA0EQaiABEOCCgIAAAkAgAy0AEEEBcQ0AQQQhBAwECyADLQARIQUMAQsgAEEVNgIADAMLAkAgBUH/AXFB3QBHDQBBEyEEDAILIANBIGogARCygICAAAJAIAMoAiAiBEEVRg0AIANBLGooAgAhBiADQShqKAIAIQcgAygCJCEIDAILIANBCGogARDggoCAAEEBIQQgAy0ACSEFIAMtAAhBAXENAAsLIAAgCDYCBCAAIAQ2AgAgAEEMaiAGNgIAIABBCGogBzYCAAsgA0EwaiSAgICAAAu2AgEBfyOAgICAAEHgAGsiAySAgICAACADIAI2AgwgAyABNgIIIANBEGogASACELGEgIAAAkACQCADLQAQDQAgAEEANgIAIABBCGogAykDGDcDAAwBCyADIAMtABE6ACcgA0E4akEUakECNgIAIANB0ABqQQxqQYeAgIAANgIAIANCAjcCPCADQcSawIAANgI4IANBhoCAgAA2AlQgAyADQdAAajYCSCADIANBJ2o2AlggAyADQQhqNgJQIANBKGogA0E4ahDgg4CAACADQThqQQRyIANBKGoQ4oOAgAAgA0EUNgI4AkAgAygCLCIBRQ0AIAMoAigiAkUNACACIAFBARCDgYCAAAsgACADKQM4NwIEIABBATYCACAAQQxqIANBwABqKQMANwIACyADQeAAaiSAgICAAAuiAgEEfyOAgICAAEEgayICJICAgIAAIAIgARDggoCAAAJAAkACQAJAIAItAABBAXFFDQAgAi0AAUH/AXFBIkcNASABENmCgIAAIAJBCGogARDfgoCAACACQQhqQRBqKAIAIQMgAkEIakEMaigCACEBIAJBCGpBCGooAgAhBCACKAIMIQUgAigCCA0CAkAgBQ0AIAAgBCABEOeAgIAADAQLIAAgBCADEOeAgIAAIAFFDQMgBCABQQEQg4GAgAAMAwsgAEEBOgAAIABBBGpBBDYCAAwCCyAAQQE6AAAgAEEEakEONgIADAELIABBAToAACAAQRBqIAM2AgAgAEEMaiABNgIAIABBCGogBDYCACAAQQRqIAU2AgALIAJBIGokgICAgAALjxUDFn8BfgJ/I4CAgIAAQaABayIFJICAgIAAIARBIGooAgAhBiAEQRxqKAIAIQcgBEEUaigCACEIIARBEGooAgAhCSADQRRqKAIAIQogA0EQaigCACELIAJBLGooAgAhDCACQRRqKAIAIQ0gAUEMaigCACEOIAQoAhghDyAEKAIMIRAgBCgCCCERIAQoAgQhEiAEKAIAIRMgAygCDCEUIAMoAgQhFSADKAIAIRYgAigCKCEXIAIoAhAhAiABKAIIIRggASgCBCEZIAEoAgAhGgJAAkACQAJAAkACQEEUQQEQgoGAgAAiBEUNACAEQRBqQQAoAJmFwIAANgAAIARBCGpBACkAkYXAgAA3AAAgBEEAKQCJhcCAADcAAEEGQQEQgoGAgAAiA0UNASADQQRq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IAEoAgAhCyADQbQCaigCACEMIAIoAgAhDSADQaACakEMaigCACEOIAMoAqgCIQ8gAygCpAIhECADQeADaiADKAKQASIRIAMoApgBENiCgIAAIANBMGogA0HgA2oQ4IKAgAAgAy0AMEEBcQ0BQQQhAgwICyADQeADakEYaiADQcACaikDADcDACADQeADakEQaiADQaACakEYaikDADcDACADQeADakEIaiADQaACakEQaikDADcDACADIAMpA6gCNwPgAyADQQA2AsgBIANCATcDwAEgA0HoAWogA0HAAWpBoI7AgAAQn4SAgAAgA0HgA2ogA0HoAWoQ1oGAgAANASADQcQAaiADQcABakEIaigCADYCACADIAMpA8ABNwI8IANBATYCOCADQeADahCXgICAAAwJCwJAIAMtADFB/wFxQfsARg0AQQ4hAgwHCyADQeADahDZgoCAACADQShqIANB4ANqENaCgIAAIAMtACwhASADQSBqIAMoAigiABDggoCAAEEBIRICQAJAIAMtACBBAXENAEEAIRNBACEUQQAhFQwBCyADLQAhIQIgAUEBcSEBIANBOGpBBHIhFiADQegBakEEciEXIANB8AFqIRhBACEVQQAhFEEAIRMDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkH/AXEiGUEsRg0AIBlB/QBGDQIgAUH/AXENAUEJIQIMGQsCQCABQf8BcUUNAEEQIQIMGQsgABDZgoCAACADQRhqIAAQ4IKAgAAgAy0AGEEBcUUNFyADLQAZIQILAkAgAkH/AXEiAUEiRg0AQRAhAgJAIAFB/QBHDQBBEyECCwwYCyADQRBqIAAQ4IKAgAAgAy0AEEEBcUUNFgJAIAMtABFB/wFxQSJGDQBBDiECDBgLIAAQ2YKAgAAgA0HoAWogABDfgoCAACADKAL4ASEaIAMoAvQBIRkgAygC8AEhASADKALsASECIAMoAugBDRcCQCACDQACQCAZQXxqDgMDEAAQCyABQdKBwIAAQQYQv4SAgABFDQQgAUHhgMCAAEEGEL+EgIAADQ8MEQtBAyECAkACQAJAIBpBfGoOAwACAQILQX9BACABKAAAQe7CtasGRxshAgwBCwJAIAFB0oHAgABBBhC/hICAAA0AQQEhAgwBC0F/QX4gAUHhgMCAAEEGEL+EgIAAGyECCwJAIBlFDQAgAUUNACABIBlBARCDgYCAAAsgAkEDcSICQQNGDQ4gAg4DAgMQAgsgFUUNBgJAAkAgFEUNACATDQcgA0HoAWpBBHJB4YDAgABBBhCvgICAACADQfgBaigCACEaIANB9AFqKAIAIRkgA0HwAWooAgAhASADKALsASECQQAhEiAbRQ0BIBQgG0EBEIOBgIAADAELIANB6AFqQQRyQdKBwIAAQQYQr4CAgAAgA0H4AWooAgAhGiADQfQBaigCACEZIANB8AFqKAIAIQEgAygC7AEhAkEBIRILQQAhAAJAIBwNAEEAIRwgEw0YDBkLIBUgHEEBEIOBgIAAIBMNFwwYCyABKAAAQe7CtasGRw0MCyAVRQ0CIANB6AFqQc6BwIAAQQQQsICAgAAgA0H0AWooAgAhGiADQfABaigCACEZDAELIBRFDQkgA0HoAWpB0oHAgABBBhCwgICAACADQfQBaigCACEaIANB8AFqKAIAIRkLIAMoAuwBIQEgAygC6AEhAgwKCyADQThqIAAQ3oKAgAACQAJAIAMoAjgiAkEVRg0AIBggFikCADcCACAYQQhqIBZBCGooAgA2AgAMAQsgA0HoAWogABCxgICAACADKALoAUUNByADKALsASECCyADQfgBaigCACEaIAMoAvQBIRkgAygC8AEhAQwFCyADQegBaiADQeADahDcgoCAAAJAIAMoAugBIgJBFUYNACADQfQBaigCACEaIANB8AFqKAIAIRkgAygC7AEhAQJAIBxFDQAgFSAcQQEQg4GAgAALAkAgG0UNACAUIBtBARCDgYCAAAsgHUUNFCATIB1BARCDgYCAAAwUCyADQegBaiADQeADahDagoCAAAJAIAMoAugBIgJBFUYNACADQfQBaigCACEaIANB8AFqKAIAIRkgAygC7AEhAQJAIBxFDQAgFSAcQQEQg4GAgAALAkAgG0UNACAUIBtBARCDgYCAAAsgHUUNFCATIB1BARCDgYCAAAwUCyADQaACakEQaiISIBQ2AgAgA0GgAmpBDGoiGSAeNgIAIANBoAJqQRhqIgEgHzYCACADQaACakEUaiICIBs2AgAgA0GgAmpBIGoiACAdNgIAIANBoAJqQRxqIhogEzYCACADQcABakEgaiIUICA2AgAgA0HAAWpBCGoiEyAZKQIANwMAIANBwAFqQRBqIhsgAikCADcDACADQcABakEYaiIdIBopAgA3AwAgAyAcNgKoAiADIBU2AqQCIAMgAykCpAI3A8ABEJWCgIAAEJWCgIAAEJWCgIAAIANB7AJqQeyFwIAANgIAIANB5AJqQcCFwIAANgIAIANB3AJqQaSFwIAANgIAIANBoAJqQQhqIhUgA0GwAWpBCGopAwA3AwAgAiAGNgIAIAEgAykDoAE3AwAgACADQaABakEIaikDADcDACADQYQDaiALNgIAIANBgANqIAw2AgAgA0H8AmogDTYCACADQfgCaiAONgIAIANB9AJqIA82AgAgA0HQAmogCTcDACADQaACakEsaiAINgIAIANB6AJqIANBiARqNgIAIANB4AJqIANBiARqNgIAIAMgAykDsAE3A6ACIAMgBTYCsAIgAyAQNgLwAiADIAc2AsgCIAMgA0GIBGo2AtgCIANBqANqIBQoAgA2AgAgA0GgA2ogHSkDADcDACADQZgDaiAbKQMANwMAIANBkANqIBMpAwA3AwAgAyADKQPAATcDiAMgA0HoAWogA0HYAmogA0GgAmogA0HwAmogA0GIA2oQ/oCAgAAgFSADQegBakEMaikCADcDACASIANB6AFqQRRqKQIANwMAIAEgA0HoAWpBHGopAgA3AwAgACADQegBakEkaikCADcDACADQaACakEoaiADQegBakEsaikCADcDACADIAMpAuwBNwOgAiADKALoAUUNAiADQbADakEYaiAaKQIANwMAIANBsANqQRBqIAIpAgA3AwAgA0GwA2pBCGogGSkCADcDACADIAMpAqQCNwOwAyADQQA2AtgDIANCATcD0AMgA0HgA2ogA0HQA2pBoI7AgAAQn4SAgAAgA0GwA2ogA0HgA2oQ1oGAgAANASADQcQAaiADQdgDaigCADYCACADIAMpA9ADNwI8IANBATYCOCADQbADahCXgICAAAwDCyADQegBakEEckHOgcCAAEEEEK+AgIAAIANB+AFqKAIAIRogA0H0AWooAgAhGSADQfABaigCACEBIAMoAuwBIQIMAwtBuI7AgABBNyADQYgEakGsl8CAAEG8j8CAABCOhICAAAALIANBOGpBLGogA0HoAWpBBHIiAkEoaikCADcCACADQThqQSRqIAJBIGopAgA3AgAgA0E4akEcaiACQRhqKQIANwIAIANBOGpBFGogAkEQaikCADcCACADQThqQQxqIAJBCGopAgA3AgAgA0EANgI4IAMgAikCADcCPAsCQCADKAKUASICRQ0AIBEgAkEBEIOBgIAACwJAIAMoAoQBIgJFDQAgCiACQQEQg4GAgAALIAMoAnQiAkUNEiAEIAJBARCDgYCAAAwSC0EBIRJBACEVQQEhACATDQwMDQsgAygC9AEhHiADKALwASEcIAMoAuwBIRUMBAsgA0E4aiAAEN6CgIAAAkACQAJAIAMoAjgiAkEVRg0AIBggFikCADcCACAYQQhqIBZBCGooAgA2AgAMAQsgA0HoAWogABCxgICAACADKALoAUUNASADKALsASECCyADQfgBaigCACEaIAMoAvQBIRkgAygC8AEhAUEBIRJBACEUQQEhACATDQsMDAsgAygC9AEhHyADKALwASEbIAMoAuwBIRQMAwsgA0HoAWogABDegoCAAAJAAkAgAygC6AEiAkEVRg0AIBYgFykCADcCACAWQQhqIBdBCGooAgA2AgAMAQsgA0E4aiAAELKAgIAAIAMoAjgiAkEVRg0DCyADQcQAaigCACEaIANBwABqKAIAIRkgAygCPCEBC0EBIRJBASEAIBMNCAwJCwJAIBNFDQAgA0HoAWpB4YDAgABBBhCwgICAACADQfQBaigCACEaIANB8AFqKAIAIRkgAygC7AEhASADKALoASECQQEhAEEBIRIMCAsgA0E4aiAAEN6CgIAAAkACQAJAIAMoAjgiAkEVRg0AIBggFikCADcCACAYQQhqIBZBCGooAgA2AgAMAQsgA0HoAWogABCxgICAACADKALoAUUNASADKALsASECCyADQfgBaigCACEaIAMoAvQBIRkgAygC8AEhAUEBIQBBASESDAkLIAMoAvQBISAgAygC8AEhHSADKALsASETCyADQQhqIAAQ4IKAgABBACEBIAMtAAkhAiADLQAIQQFxDQALC0ECIQIMAwtBuI7AgABBNyADQYgEakGsl8CAAEG8j8CAABCOhICAAAALIANB4ANqQRhqIAApAwA3AwAgA0HgA2pBEGogASkDADcDACADQeADakEIaiACKQMANwMAIAMgAykDqAI3A+ADIANBADYCyAEgA0IBNwPAASADQegBaiADQcABakGgjsCAABCfhICAAAJAIANB4ANqIANB6AFqENaBgIAADQAgA0HEAGogA0HIAWooAgA2AgAgAyADKQPAATcCPCADQQE2AjggA0HgA2oQl4CAgAAMBgtBuI7AgABBNyADQYgEakGsl8CAAEG8j8CAABCOhICAAAALQQQhAgtBASEAIBNFDQELIB1FDQAgEyAdQQEQg4GAgAALAkAgFEUNACASRQ0AIBtFDQAgFCAbQQEQg4GAgAALIBVBAEcgAHFBAUcNACAcRQ0AIBUgHEEBEIOBgIAACyADQegBakEMaiAaNgIAIANB6AFqQQhqIBk2AgAgAyABNgLsASADIAI2AugBIANBoAJqQQhqQfSQwIAAQR8gA0HoAWoQs4CAgAAgA0HgA2pBGGogA0HAAmopAwA3AwAgA0HgA2pBEGogA0GgAmpBGGopAwA3AwAgA0HgA2pBCGogA0GgAmpBEGopAwA3AwAgAyADKQOoAjcD4AMgA0EANgK4AyADQgE3A7ADIANB6AFqIANBsANqQaCOwIAAEJ+EgIAAAkAgA0HgA2ogA0HoAWoQ1oGAgABFDQBBuI7AgABBNyADQYgEakGsl8CAAEG8j8CAABCOhICAAAALIANBxABqIANBsANqQQhqKAIANgIAIAMgAykDsAM3AjwgA0EBNgI4IANB4ANqEJeAgIAAAkAgD0UNACAQRQ0AIBAgD0EBEIOBgIAACwJAIAtFDQAgC0EFdCEBIA1BFGohAgNAAkAgAigCACIARQ0AIAJBfGooAgAiGUUNACAZIABBARCDgYCAAAsgAkEgaiECIAFBYGoiAQ0ACwsgDEUNACAMQQV0IgJFDQAgDSACQQgQg4GAgAALAkAgBkUNACAFRQ0AIAUgBkEBEIOBgIAACyAIRQ0AIAdFDQAgByAIQQEQg4GAgAALAkAgAygClAEiAkUNACADKAKQASIBRQ0AIAEgAkEBEIOBgIAACwJAIAMoAoQBIgJFDQAgAygCgAEiAUUNACABIAJBARCDgYCAAAsgAygCdCICRQ0AIAQgAkEBEIOBgIAACyADQaACaiADQThqENSAgIAAAkAgAygCoAINACADQegBakEIaiADQawCaigCACICNgIAIAMgAykCpAIiCTcD6AEgA0GgAmpBCGogAjYCACADIAk3A6ACIANBoAJqELeCgIAAIQICQAJAIAMoAjgNACADQThqQQRyEMOAgIAADAELIANBOGpBCGooAgAiAUUNACADKAI8IgBFDQAgACABQQEQg4GAgAALIANBkARqJICAgIAAIAIPCyADQegBakEYaiADQcACaikDADcDACADQegBakEQaiADQaACakEYaikDADcDACADQegBakEIaiADQaACakEQaikDADcDACADIANBoAJqQQhqKQMANwPoAUG8l8CAAEErIANB6AFqQeiXwIAAQcCHwIAAEI6EgIAAAAuaHgkGfwF+Bn8BfgF/AX4CfwF+EX8jgICAgABB8ANrIgMkgICAgAAgA0EIaiAAELiCgIAAIANBGGogARC4goCAACADQShqIAIQuIKAgAAgA0HQAmogAygCCCIEIAMoAhAQz4CAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAykD0AJCAFINACADQcgAakEIaiADQdACakEQaiICKQMANwMAIANBOGpBCGogA0H4AmopAwA3AwAgAyADKQPYAjcDSCADIANB8AJqIgApAwA3AzggA0HQAmpBGGoiASgCACEFIANB7AJqKAIAIQYgA0GAA2ooAgAhByADQYQDaigCACEIIANBiANqKQMAIQkgA0HQAmogAygCGCADKAIgENKAgIAAIAMoAtACDQUgASgCACEBIANB5AJqKAIAIQogAigCACELIANB3AJqKAIAIQwgAygC2AIhAiADKALUAiEAIANBiAJqIAMoAiggAygCMBDYgoCAACADIANBiAJqEOCCgIAAIAMtAABBAXFFDQMgAy0AAUH/AXEiDUEiRg0BIA1B+wBGDQIgA0EKNgLUAgwECyADQZgCakEYaiADQfACaikDADcDACADQZgCakEQaiADQdACakEYaikDADcDACADQZgCakEIaiADQdACakEQaikDADcDACADIAMpA9gCNwOYAiADQQA2AtgBIANCATcD0AEgA0GQAWogA0HQAWpBoI7AgAAQn4SAgAAgA0GYAmogA0GQAWoQ1oGAgAANBiADQcQDaiADQdABakEIaigCADYCACADIAMpA9ABNwK8AyADQQE2ArgDIANBmAJqEJeAgIAADAwLIANBoANqIANBiAJqENSCgIAAEOmAgIAAAkAgAy0AoAMNACADQQ42AtQCDAMLIANB0AJqQQxqIANBoANqQQxqKQIANwIAIANB0AJqQQhqIANBoANqQQhqKAIANgIAIAMgAy8ApQM7ANUCIAMgAy0ApwM6ANcCIAMgAy0ApAM6ANQCDAILIANBiAJqENmCgIAAIANB0AJqIANBiAJqENSCgIAAEOiAgIAAIAMoAtACDQEgA0G4A2pBMGoiDiADQdACakE4aiIPKQMAIhA3AwAgA0G4A2pBKGogA0HQAmpBMGoiESkDACISNwMAIANBuANqQSBqIhMgA0HQAmpBKGoiFCkDACIVNwMAIANBmAJqQQhqIhYgA0HQAmpBEGoiFykDADcDACADQZgCakEQaiIYIANB0AJqQRhqIhkpAwA3AwAgA0GYAmpBGGoiGiADQdACakEgaiIbKQMANwMAIANBmAJqQSBqIhwgFTcDACADQZgCakEoaiIdIBI3AwAgA0GYAmpBMGoiHiAQNwMAIAMgA0HQAmpBCGoiHykDADcDmAIgA0HQAmogA0GIAmoQ2oKAgAAgAygC0AIiDUEVRg0DIANB0AFqQQhqIANB3AJqKAIANgIAIAMgAykC1AI3A9ABIANBmAJqEOqAgIAADAcLIANBBDYC1AILIANB0AFqQQhqIANB4AJqKAIANgIAIAMgA0HQAmpBCGopAwA3A9ABIAMoAtQCIQ0MBQsgA0GYAmpBGGogACkDADcDACADQZgCakEQaiABKQMANwMAIANBmAJqQQhqIAIpAwA3AwAgAyADKQPYAjcDmAIgA0EANgLYASADQgE3A9ABIANBkAFqIANB0AFqQaCOwIAAEJ+EgIAAIANBmAJqIANBkAFqENaBgIAADQIgA0HEA2ogA0HYAWooAgA2AgAgAyADKQPQATcCvAMgA0EBNgK4AyADQZgCahCXgICAAAwFCyADQdABakEQaiIgIBgpAwAiEDcDACADQdABakEYaiAaKQMAIhI3AwAgA0HQAWpBIGogHCkDACIVNwMAIANBkAFqQRBqIg0gFikDADcDACADQZABakEYaiIEIBA3AwAgA0GQAWpBIGoiFiASNwMAIANBkAFqQShqIhggFTcDACADQZABakEwaiIaIB0pAwA3AwAgA0GQAWpBOGoiHCAeKQMANwMAIAMgAykDmAI3A5gBIANB2ABqQTBqIh0gHCkDADcDACADQdgAakEoaiIcIBopAwA3AwAgA0HYAGpBIGoiHiAYKQMANwMAIANB2ABqQRhqIiEgFikDADcDACADQdgAakEQaiIiIAQpAwA3AwAgA0HYAGpBCGoiIyANKQMANwMAIAMgAykDmAE3A1gQlYKAgAAQlYKAgAAQlYKAgAAgA0GYA2pBBjYCACADQZQDakHRgMCAADYCACADQZADakENNgIAIANBjANqQfiawIAANgIAIA9BDTYCACADQYQDakH4msCAADYCACARQYmAgIAANgIAIANB0AJqQSxqQQY2AgAgFEHRgMCAADYCACADQdACakEkaiIPQQY2AgAgA0HQAmpBHGoiEUEJNgIAIANB0AJqQRRqIiRBCjYCACADQdACakEMaiIlQQY2AgAgA0HRgMCAADYC8AIgA0HdmMCAADYC6AIgA0GmgMCAADYC4AIgA0HhgMCAADYC2AIgA0EINgLUAiADQb2AwIAANgLQAiADQaADakEUakHshcCAADYCACADQaADakEMakHAhcCAADYCACADQaSFwIAANgKkAyADIANBiAJqNgKwAyADIANBiAJqNgKoAyADIANBiAJqNgKgAyADQbgDakEIaiADQcgAakEIaikDADcDACADQbgDakEUaiImIAY2AgAgA0G4A2pBGGogAykDODcDACATIANBOGpBCGopAwA3AwAgDiAJNwMAIANBuANqQSxqIgYgCDYCACADIAMpA0g3A7gDIAMgBTYCyAMgAyAHNgLgAyADQdABakEUaiABNgIAICAgCjYCACADIAs2AtwBIAMgDDYC2AEgAyACNgLUASADIAA2AtABIBogHSkDADcDACAYIBwpAwA3AwAgFiAeKQMANwMAIAQgISkDADcDACANICIpAwA3AwAgA0GQAWpBCGogIykDADcDACADIAMpA1g3A5ABIANBmAJqIANB0AJqIANBoANqIANBuANqIANB0AFqIANBkAFqEMCAgIAAIB8gA0GYAmpBDGopAgA3AwAgFyADQZgCakEUaikCADcDACAZIANBmAJqQRxqKQIANwMAIBsgA0GYAmpBJGopAgA3AwAgFCADQZgCakEsaikCADcDACADIAMpApwCNwPQAgJAAkAgAygCmAINACAGIANBmAJqQQRyIgJBKGopAgA3AgAgA0G4A2pBJGogAkEgaikCADcCACADQbgDakEcaiACQRhqKQIANwIAICYgAkEQaikCADcCACADQbgDakEMaiACQQhqKQIANwIAIANBADYCuAMgAyACKQIANwK8AwwBCyADQbABaiAPKQIANwMAIANBqAFqIBEpAgA3AwAgA0GgAWogJCkCADcDACADQZABakEIaiAlKQIANwMAIAMgAykC1AI3A5ABIANBADYCqAMgA0IBNwOgAyADQdABaiADQaADakGgjsCAABCfhICAACADQZABaiADQdABahCXgYCAAA0DIANBxANqIANBoANqQQhqKAIANgIAIAMgAykDoAM3ArwDIANBATYCuAMCQAJAIAMoApABDgQBAgICAAsgA0GYAWooAgAiAkUNASADKAKUASIBRQ0BIAEgAkEBEIOBgIAADAELIANBmAFqEJeAgIAACwJAIAMoAiwiAkUNACADKAIoIgFFDQAgASACQQEQg4GAgAALAkAgAygCHCICRQ0AIAMoAhgiAUUNACABIAJBARCDgYCAAAsgAygCDCICRQ0HIAMoAggiAUUNByABIAJBARCDgYCAAAwHC0G4jsCAAEE3IANBiAJqQayXwIAAQbyPwIAAEI6EgIAAAAtBuI7AgABBNyADQYgCakGsl8CAAEG8j8CAABCOhICAAAALQbiOwIAAQTcgA0GIAmpBrJfAgABBvI/AgAAQjoSAgAAACyADQdACakEMaiADQdABakEIaiIMKAIANgIAIAMgDTYC0AIgAyADKQPQATcC1AIgA0GQAWpBCGpB/5XAgABB0wAgA0HQAmoQs4CAgAAgA0GYAmpBGGogA0GwAWopAwA3AwAgA0GYAmpBEGogA0GQAWpBGGopAwA3AwAgA0GYAmpBCGogA0GQAWpBEGopAwA3AwAgAyADKQOYATcDmAIgA0EANgLYASADQgE3A9ABIANB0AJqIANB0AFqQaCOwIAAEJ+EgIAAIANBmAJqIANB0AJqENaBgIAADQEgA0G4A2pBDGogDCgCADYCACADIAMpA9ABNwK8AyADQQE2ArgDIANBmAJqEJeAgIAAAkAgAkUNACAARQ0AIAAgAkEBEIOBgIAACwJAIAFFDQAgAUEFdCEBIAtBFGohAgNAAkAgAigCACIARQ0AIAJBfGooAgAiDUUNACANIABBARCDgYCAAAsgAkEgaiECIAFBYGoiAQ0ACwsgCkUNACAKQQV0IgJFDQAgCyACQQgQg4GAgAALAkAgBkUNACAFRQ0AIAUgBkEBEIOBgIAACyAIRQ0BIAdFDQEgByAIQQEQg4GAgAAMAQtBuI7AgABBNyADQYgCakGsl8CAAEG8j8CAABCOhICAAAALAkAgAygCLCICRQ0AIAMoAigiAUUNACABIAJBARCDgYCAAAsCQCADKAIcIgJFDQAgAygCGCIBRQ0AIAEgAkEBEIOBgIAACyADKAIMIgJFDQAgBCACQQEQg4GAgAALIANB0AJqIANBuANqENSAgIAAAkAgAygC0AINACADQZABakEIaiADQdwCaigCACICNgIAIAMgAykC1AIiCTcDkAEgA0HQAmpBCGogAjYCACADIAk3A9ACIANB0AJqELeCgIAAIQICQAJAIAMoArgDDQAgA0G4A2pBBHIQw4CAgAAMAQsgA0G4A2pBCGooAgAiAUUNACADKAK8AyIARQ0AIAAgAUEBEIOBgIAACyADQfADaiSAgICAACACDwsgA0GQAWpBGGogA0HwAmopAwA3AwAgA0GQAWpBEGogA0HQAmpBGGopAwA3AwAgA0GQAWpBCGogA0HQAmpBEGopAwA3AwAgAyADQdACakEIaikDADcDkAFBvJfAgABBKyADQZABakHol8CAAEGwh8CAABCOhICAAAALxRoDBX8Bfgl/I4CAgIAAQYADayICJICAgIAAIAJBCGogABC4goCAACACQRhqIAEQuIKAgAAgAkGoAWogAigCCCIAIAIoAhAQz4CAgAACQAJAAkACQAJAAkACQAJAAkACQAJAIAIpA6gBQgBSDQAgAkE4akEIaiACQbgBaikDADcDACACQShqQQhqIAJB0AFqKQMANwMAIAIgAikDsAE3AzggAiACQcgBaikDADcDKCACQcABaigCACEDIAJBxAFqKAIAIQQgAkHYAWooAgAhBSACQdwBaigCACEGIAJB4AFqKQMAIQcgAkHwAmogAigCGCIBIAIoAiAQ2IKAgAAgAiACQfACahDggoCAAAJAAkACQCACLQAAQQFxRQ0AAkACQCACLQABQf8BcSIIQSJGDQAgCEH7AEYNASACQQo2AqwBDAMLIAJByAJqIAJB8AJqENSCgIAAEOCAgIAAAkAgAi0AyAINACACQQ42AqwBDAMLIAJBqAFqQQxqIAJByAJqQQxqKQIANwIAIAJBqAFqQQhqIAJByAJqQQhqKAIANgIAIAIgAi8AzQI7AK0BIAIgAi0AzwI6AK8BIAIgAi0AzAI6AKwBDAILIAJB8AJqENmCgIAAIAJBqAFqIAJB8AJqENSCgIAAEN+AgIAAIAIoAqgBDQEgAkHwAGpBEGoiCSACQagBakEUaiIKKQIANwMAIAJB8ABqQRhqIAJBqAFqQRxqIgspAgA3AwAgAkHwAGpBIGogAkGoAWpBJGoiDCgCADYCACACQfAAakEMaiINIAJBqAFqQRBqKAIANgIAIAIgAigCrAEiDjYCcCACIAJBqAFqQQhqKQMANwJ0IAJBqAFqIAJB8AJqENqCgIAAIAIoAqgBIghBFUYNBCACQZgBakEIaiACQagBakEMaigCADYCACACIAIpAqwBNwOYASACQfAAahDigICAAAwCCyACQQQ2AqwBCyACQZgBakEIaiACQbgBaigCADYCACACIAJBqAFqQQhqKQMANwOYASACKAKsASEICyACQagBakEMaiACQZgBakEIaigCADYCACACIAg2AqgBIAIgAikDmAE3AqwBIAJBkAJqQQhqQbyQwIAAQRkgAkGoAWoQs4CAgAAgAkHwAGpBGGogAkGwAmopAwA3AwAgAkHwAGpBEGogAkGQAmpBGGopAwA3AwAgAkHwAGpBCGogAkGQAmpBEGopAwA3AwAgAiACKQOYAjcDcCACQQA2AtACIAJCATcDyAIgAkGoAWogAkHIAmpBoI7AgAAQn4SAgAAgAkHwAGogAkGoAWoQ1oGAgABFDQJBuI7AgABBNyACQZgBakGsl8CAAEG8j8CAABCOhICAAAALIAJB8ABqQRhqIAJByAFqKQMANwMAIAJB8ABqQRBqIAJBqAFqQRhqKQMANwMAIAJB8ABqQQhqIAJBqAFqQRBqKQMANwMAIAIgAikDsAE3A3AgAkEANgLQAiACQgE3A8gCIAJBkAJqIAJByAJqQaCOwIAAEJ+EgIAAIAJB8ABqIAJBkAJqENaBgIAADQIgAkGEAmogAkHIAmpBCGooAgA2AgAgAiACKQPIAjcC/AEgAkEBNgL4ASACQfAAahCXgICAACACKAIYIQEMBgsgAkGQAmpBEGoiACACQfAAakEEciIBQQhqKAIANgIAIAJByABqQRBqIgggCSkCADcDACACQcgAakEgaiIPIAlBEGooAgA2AgAgAkHIAGpBGGoiECAJQQhqKQIANwMAIAIgASkCADcDmAIgAkHIAGpBCGoiCSACQZACakEMaikCADcDACACIA42ApQCIAIgAikClAI3A0gQlYKAgAAQlYKAgAAQlYKAgAAgAkHwAWpBBjYCACACQewBakHRgMCAADYCACACQegBakENNgIAIAJB5AFqQfiawIAANgIAIAJB4AFqQQ02AgAgAkHcAWpB+JrAgAA2AgAgAkGoAWpBMGpBiYCAgAA2AgAgAkGoAWpBLGpBBjYCACACQdABakHRgMCAADYCACAMQQY2AgAgC0EJNgIAIApBCjYCACACQagBakEMakEGNgIAIAJB0YDAgAA2AsgBIAJB3ZjAgAA2AsABIAJBpoDAgAA2ArgBIAJB4YDAgAA2ArABIAJBCDYCrAEgAkG9gMCAADYCqAEgAkH4AWpBFGpB7IXAgAA2AgAgAkH4AWpBDGpBwIXAgAA2AgAgAkGkhcCAADYC/AEgAiACQZgBajYCiAIgAiACQZgBajYCgAIgAiACQZgBajYC+AEgAkGQAmpBCGoiCiACQThqQQhqKQMANwMAIAJBkAJqQRRqIAQ2AgAgAkGQAmpBGGoiBCACKQMoNwMAIAJBkAJqQSBqIgsgAkEoakEIaikDADcDACACQZACakEwaiAHNwMAIAJBkAJqQSxqIAY2AgAgAiACKQM4NwOQAiACIAM2AqACIAIgBTYCuAIgAkHIAmpBIGogDygCADYCACACQcgCakEYaiAQKQMANwMAIAJByAJqQRBqIAgpAwA3AwAgAkHIAmpBCGogCSkDADcDACACIAIpA0g3A8gCIAJB8ABqIAJBqAFqIAJB+AFqIAJBkAJqIAJByAJqEJ2AgIAAIAogDSkCADcDACAAIAJB8ABqQRRqKQIANwMAIAQgAkHwAGpBHGopAgA3AwAgCyACQfAAakEkaigCADYCACACIAIpAnQ3A5ACIAIoAnAiAEUNAyACQeACaiACQawCaikCADcDACACQdgCaiACQaQCaikCADcDACACQcgCakEIaiACQZACakEMaikCADcDACACIAIpApQCNwPIAiACQQA2AvgCIAJCATcD8AIgAkGoAWogAkHwAmpBoI7AgAAQn4SAgAAgAkHIAmogAkGoAWoQ1oGAgAANAiACQfgBakEMaiACQfACakEIaigCADYCACACIAIpA/ACNwL8ASACQQE2AvgBIAJByAJqEJeAgIAADAQLIAJB+AFqQQxqIAJByAJqQQhqKAIANgIAIAIgAikDyAI3AvwBIAJBATYC+AEgAkHwAGoQl4CAgAACQCAERQ0AIANFDQAgAyAEQQEQg4GAgAALIAZFDQQgBUUNBCAFIAZBARCDgYCAAAwEC0G4jsCAAEE3IAJBmAFqQayXwIAAQbyPwIAAEI6EgIAAAAtBuI7AgABBNyACQZgBakGsl8CAAEG8j8CAABCOhICAAAALIAJBhAJqIAFBCGooAgA2AgAgAkEANgL4ASACIAEpAgA3AvwBCwJAIAIoAhwiAUUNACACKAIYIgRFDQAgBCABQQEQg4GAgAALAkAgAigCDCIBRQ0AIAIoAggiBEUNACAEIAFBARCDgYCAAAsgAkHIAGoQy4KAgAAgAkH4AWpBBHIhASAADQECQCACKAJQIgAgAigCTEcNACACQcgAaiAAEI+AgIAAIAIoAlAhAAsgAigCSCAAakH7ADoAACACIABBAWo2AlAgAkGQAmogAkHIAGpBlYnAgABBAhDOgoCAAAJAIAIoApACDQACQCACKAJQIgAgAigCTEcNACACQcgAaiAAEI+AgIAAIAIoAlAhAAsgAigCSCAAakE6OgAAIAIgAEEBajYCUCACQcgCaiABEK+CgIAAIAJBkAJqIAJByABqIAIoAsgCIgAgAigC0AIQzoKAgAACQCACKALMAiIERQ0AIAAgBEEBEIOBgIAACwJAIAIoApACDQACQCACKAJQIgAgAigCTEcNACACQcgAaiAAEI+AgIAAIAIoAlAhAAsgAigCSCAAakH9ADoAACACIABBAWo2AlAMBAsgAkHwAGpBDGogAkGQAmpBDGooAgA2AgAgAiACKQKUAjcCdAwECyACQfAAakEMaiACQZACakEMaigCADYCACACIAIpApQCNwJ0DAMLAkAgAigCHCIERQ0AIAFFDQAgASAEQQEQg4GAgAALAkAgAigCDCIBRQ0AIAAgAUEBEIOBgIAACyACQcgAahDLgoCAACACQfgBakEEciEBCyACQfAAaiACQcgAaiABENWAgIAAIAIoAnANAQsgAkEoakEIaiACQcgAakEIaigCACIANgIAIAIgAikDSCIHNwMoIAJBqAFqQQhqIAA2AgAgAiAHNwOoASACQagBahC3goCAACEAAkAgAkH4AWpBCGooAgAiBEUNACABKAIAIgFFDQAgASAEQQEQg4GAgAALIAJBgANqJICAgIAAIAAPCyACQThqQQhqIgEgAkH8AGooAgA2AgAgAiACKQJ0NwM4AkAgAigCTCIARQ0AIAIoAkgiBEUNACAEIABBARCDgYCAAAsgAkGQAmpBCGoiACABKAIANgIAIAIgAikDODcDkAIgAkGoAWpBCGoiAUHMkcCAAEHUACACQZACahCggICAACACQZACakEYaiACQcgBaikDADcDACACQZACakEQaiACQagBakEYaikDADcDACAAIAJBqAFqQRBqKQMANwMAIAIgASkDADcDkAJBvJfAgABBKyACQZACakHol8CAAEHQh8CAABCOhICAAAALEwEBfyAAIAEQn4OAgAAhAiACDwsPACAAIAEgAhCgg4CAAA8LFwEBfyAAIAEgAiADEKGDgIAAIQQgBA8LEwEBfyAAIAEQooOAgAAhAiACDwsNACAAIAEQ34OAgAAPC9sBAQN/I4CAgIAAQSBrIgIkgICAgAACQCABQQFqIgMgAUkNACAAQQRqKAIAIgRBAXQiASADIAEgA0sbIgFBCCABQQhLGyEBAkACQCAERQ0AIAJBEGpBCGpBATYCACACIAQ2AhQgAiAAKAIANgIQDAELIAJBADYCEAsgAiABQQEgAkEQahCTgYCAAAJAIAIoAgBFDQAgAkEIaigCACIARQ0BIAIoAgQgABDcg4CAAAALIAIoAgQhAyAAQQRqIAE2AgAgACADNgIAIAJBIGokgICAgAAPCxDdg4CAAAAL2wEBAn8jgICAgABBIGsiAySAgICAAAJAIAEgAmoiAiABSQ0AIABBBGooAgAiBEEBdCIBIAIgASACSxsiAUEIIAFBCEsbIQECQAJAIARFDQAgA0EQakEIakEBNgIAIAMgBDYCFCADIAAoAgA2AhAMAQsgA0EANgIQCyADIAFBASADQRBqEJOBgIAAAkAgAygCAEUNACADQQhqKAIAIgBFDQEgAygCBCAAENyDgIAAAAsgAygCBCECIABBBGogATYCACAAIAI2AgAgA0EgaiSAgICAAA8LEN2DgIAAAAsPACAAKAIAIAEQ1oGAgAALHAAgACgCACIAKAIAIABBCGooAgAgARCphICAAAtxAQF/I4CAgIAAQSBrIgIkgICAgAAgAiAANgIEIAJBCGpBEGogAUEQaikCADcDACACQQhqQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB1JzAgAAgAkEIahD9g4CAACEBIAJBIGokgICAgAAgAQsCAAsqAQF/AkAgAEEEaigCACIBRQ0AIAAoAgAiAEUNACAAIAFBARCDgYCAAAsLEgAgACgCACABEI+BgIAAGkEAC/cCAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQAJAIAFBgAFJDQAgAkEANgIMIAFBgBBJDQEgAUGAgARPDQIgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAyEBDAMLAkAgACgCCCIDIABBBGooAgBHDQAgACADEIeBgIAAIAAoAgghAwsgACADQQFqNgIIIAAoAgAgA2ogAToAAAwDCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAiEBDAELIAIgAUE/cUGAAXI6AA8gAiABQRJ2QfABcjoADCACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA1BBCEBCwJAIABBBGooAgAgAEEIaiIEKAIAIgNrIAFPDQAgACADIAEQiIGAgAAgBCgCACEDCyAAKAIAIANqIAJBDGogARDAhICAABogBCADIAFqNgIACyACQRBqJICAgIAAQQALdAEBfyOAgICAAEEgayICJICAgIAAIAIgACgCADYCBCACQQhqQRBqIAFBEGopAgA3AwAgAkEIakEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdScwIAAIAJBCGoQ/YOAgAAhASACQSBqJICAgIAAIAELWAECfwJAIAAoAgAiA0EEaigCACADQQhqIgQoAgAiAGsgAk8NACADIAAgAhCIgYCAACAEKAIAIQALIAMoAgAgAGogASACEMCEgIAAGiAEIAAgAmo2AgBBAAtTAQJ/AkAgAEEEaigCACAAQQhqIgMoAgAiBGsgAk8NACAAIAQgAhCIgYCAACADKAIAIQQLIAAoAgAgBGogASACEMCEgIAAGiADIAQgAmo2AgBBAAu1AQECfwJAAkACQAJAAkACQAJAAkACQCACRQ0AQQEhBCABQQBIDQEgAygCACIFRQ0CIAMoAgQiAw0FIAENAyACIQMMBAsgACABNgIEQQEhBAtBACEBDAYLIAENACACIQMMAQsgASACEIKBgIAAIQMLIANFDQEMAgsgBSADIAIgARCEgYCAACIDDQELIAAgATYCBCACIQEMAQsgACADNgIEQQAhBAsgACAENgIAIABBCGogATYCAAv2AgMCfwJ+AX8jgICAgABB4ABrIgIkgICAgAAgAUEIaiEDIAFBIGopAwAhBCABQRhqKQMAIQUCQAJAAkAgASkDAEIAUg0AIAJBGGpBCGogA0EIaigCADYCACACIAMpAgA3AxggAkEANgIwIAJCATcDKCACQThqIAJBKGpBqJvAgAAQn4SAgAAgAkEYaiACQThqEMeCgIAADQIgAkEIakEIaiIBIAJBKGpBCGooAgA2AgAgAiACKQMoNwMIAkAgAigCHCIDRQ0AIAIoAhgiBkUNACAGIANBARCDgYCAAAsgACAFNwMIIABCADcDACAAQRBqIAQ3AwAgAEEYaiACKQMINwMAIABBIGogASgCADYCAAwBCyAAQgE3AwAgACADKQMANwMIIABBIGogBDcDACAAQRhqIAU3AwAgAEEQaiADQQhqKQMANwMACyACQeAAaiSAgICAAA8LQcCbwIAAQTcgAkEIakHsnMCAAEHEnMCAABCOhICAAAALpwEBAX8jgICAgABBwABrIgIkgICAgAAgAkEANgIIIAJCATcDACACQRBqIAJBqJvAgAAQn4SAgAACQCABQRBqIAJBEGoQx4KAgABFDQBBwJvAgABBNyACQThqQeycwIAAQcScwIAAEI6EgIAAAAsgACACKQMANwIQIABBGGogAkEIaigCADYCACAAIAEpAwg3AwggACABKQMANwMAIAJBwABqJICAgIAACwwAIAAgARCtgYCAAAuTAwEBfyOAgICAAEEwayICJICAgIAAAkACQAJAAkACQAJAIAAoAgAOBQABAgMEAAsgAkEcakEBNgIAIAJCATcCDCACQYSewIAANgIIIAJBqYCAgAA2AiQgAiAAQQhqNgIsIAIgAkEgajYCGCACIAJBLGo2AiAgASACQQhqEKOEgIAAIQAMBAsgAkEcakEANgIAIAJB7JzAgAA2AhggAkIBNwIMIAJB/J3AgAA2AgggASACQQhqEKOEgIAAIQAMAwsgAkEcakEANgIAIAJB7JzAgAA2AhggAkIBNwIMIAJB6J3AgAA2AgggASACQQhqEKOEgIAAIQAMAgsgAkEcakEANgIAIAJB7JzAgAA2AhggAkIBNwIMIAJByJ3AgAA2AgggASACQQhqEKOEgIAAIQAMAQsgAkEcakEBNgIAIAJCATcCDCACQZSdwIAANgIIIAJBqoCAgAA2AiQgAiAAQQRqNgIsIAIgAkEgajYCGCACIAJBLGo2AiAgASACQQhqEKOEgIAAIQALIAJBMGokgICAgAAgAAtGACAAQQA2AgAgAEEIaiABKQMANwMAIABBIGogAUEYaikDADcDACAAQRhqIAFBEGopAwA3AwAgAEEQaiABQQhqKQMANwMAC94CAQJ/I4CAgIAAQRBrIggkgICAgAACQCABKAIIIgkgAUEEaigCAEcNACABIAkQqYGAgAAgASgCCCEJCyABKAIAIAlqQfsAOgAAQQEhCSABIAEoAghBAWo2AgggCCABIAUgBhDOgoCAAAJAAkACQCAIKAIADQACQCABKAIIIgkgAUEEaigCAEcNACABIAkQqYGAgAAgASgCCCEJCyABKAIAIAlqQTo6AABBASEJIAEgASgCCEEBajYCCCAIIAcgARCngYCAACAIKAIADQECQCABKAIIIgkgAUEEaigCAEcNACABIAkQqYGAgAAgASgCCCEJCyABKAIAIAlqQf0AOgAAIAEgASgCCEEBajYCCEEAIQkMAgsgACAIKQIENwIEIABBDGogCEEMaigCADYCAAwBCyAAIAgpAgQ3AgQgAEEMaiAIQQxqKAIANgIACyAAIAk2AgAgCEEQaiSAgICAAAunAgECfyOAgICAAEHAAGsiBCSAgICAAAJAAkACQAJAAkAgAkEASA0AIAINAUEBIQUMAgsQ3YOAgAAACyACQQEQgoGAgAAiBUUNAQsgBSABIAIQwISAgAAhASAEQQA2AgggBEIBNwMAIARBEGogBEGMnsCAABCfhICAACADIARBEGoQyoKAgAANASAAQQxqIAI2AgAgAEEIaiACNgIAIAAgATYCBCAAQRBqIAQpAwA3AgAgAEEINgIAIABBGGogBEEIaigCADYCAAJAIAMoAgAiAEUNACADQQRqKAIAIgJFDQAgACACQQEQg4GAgAALIARBwABqJICAgIAADwsgAkEBENyDgIAAAAtBpJ7AgABBNyAEQThqQdCfwIAAQaifwIAAEI6EgIAAAAtxAQF/I4CAgIAAQSBrIgIkgICAgAAgAiAANgIEIAJBCGpBEGogAUEQaikCADcDACACQQhqQQhqIAFBCGop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IAYgB0ECEKqBgIAAIAYoAgghBwsgBigCACAHakGi9AA7AAAgBiAHQQJqNgIIIAVBEGogBBCvgoCAACAFIAYgBSgCECIHIAUoAhgQzoKAgAACQCAFKAIUIgZFDQAgByAGQQEQg4GAgAALAkACQCAFKAIADQBBACEGDAELIAAgBSkCBDcCBCAAQQxqIAVBDGooAgA2AgBBASEGCyAAIAY2AgAgBUEgaiSAgICAAAvjAgICfwF+I4CAgIAAQeAAayICJICAgIAAIAJBwABqEMuCgIAAQQAhAyACQdAAaiACQcAAakGjoMCAAEESQQBBtaDAgABBCyABEJmBgIAAAkACQCACKAJQRQ0AIAJBMGpBCGoiAyACQdwAaigCADYCACACIAIpAlQ3AzACQCACKAJEIgFFDQAgAigCQCABQQEQg4GAgAALIAJB0ABqQQhqIAMoAgA2AgAgAiACKQMwNwNQIAJBCGpBCGoiA0Hgn8CAAEEjIAJB0ABqEJqBgIAAIABBIGogAkEIakEgaikDADcDACAAQRhqIAJBCGpBGGopAwA3AwAgAEEQaiACQQhqQRBqKQMANwMAIABBCGogAykDADcDAEEBIQMMAQsgAkEIakEMaiACQcgAaigCACIBNgIAIAIgAikDQCIENwIMIABBDGogATYCACAAIAQ3AgQLIAAgAzYCACACQeAAaiSAgICAAAvcAQECfyOAgICAAEEwayICJICAgIAAIAJBCGpBIGogAUEgaigCADYCACACQQhqQRhqIAFBGGopAgA3AwAgAkEIakEQaiIDIAFBEGopAgA3AwAgAkEIakEIaiABQQhqKQIANwMAIAIgASkCADcDCCAAIAJBCGoQpYGAgAACQCACKAIMIgFFDQAgAigCCCABQQEQg4GAgAALAkAgAygCACIBRQ0AIAIoAhQgAUEBEIOBgIAACwJAIAJBJGooAgAiAUUNACACKAIgIAFBARCDgYCAAAsgAkEwaiSAgICAAAv/AgEBfyOAgICAAEEgayIDJICAgIAAIANBEGogAkGDoMCAAEEPQQMQ0oKAgAACQAJAAkACQCADKAIQDQAgAyADKAIUNgIIIAMgA0EQakEIai0AADoADCADQRBqIANBCGpBkqDAgABBBiABEKOBgIAAIAMoAhANASADQRBqIANBCGpBmKDAgABBCCABQQxqEKOBgIAAIAMoAhANAiADQRBqIANBCGpBoKDAgABBAyABQRhqEKSBgIAAAkAgAygCEA0AIAAgAygCCCADLQAMEPCCgIAADAQLIAAgAykCFDcCBCAAQQE2AgAgAEEMaiADQRBqQQxqKAIANgIADAMLIABBATYCACAAIANBEGpBBHIiAikCADcCBCAAQQxqIAJBCGooAgA2AgAMAgsgACADKQIUNwIEIABBATYCACAAQQxqIANBEGpBDGooAgA2AgAMAQsgACADKQIUNwIEIABBATYCACAAQQxqIANBEGpBDGooAgA2AgALIANBIGokgICAgAALrgEBAn8CQAJAAkACQAJAAkACQAJAAkAgAkUNAEEBIQQgAUEASA0BIAMoAgAiBUUNAyADKAIEIgMNAiABDQQMBgsgACABNgIEQQEhBAtBACEBDAYLIAUgAyACIAEQhIGAgAAiA0UNAgwECyABRQ0CCyABIAIQgoGAgAAiAw0CCyAAIAE2AgQgAiEBDAILIAIhAwsgACADNgIEQQAhBAsgACAENgIAIABBCGogATYCAAvbAQEDfyOAgICAAEEgayICJICAgIAAAkAgAUEBaiIDIAFJDQAgAEEEaigCACIEQQF0IgEgAyABIANLGyIBQQggAUEISxshAQJAAkAgBEUNACACQRBqQQhqQQE2AgAgAiAENgIUIAIgACgCADYCEAwBCyACQQA2AhALIAIgAUEBIAJBEGoQqIGAgAACQCACKAIARQ0AIAJBCGooAgAiAEUNASACKAIEIAAQ3IOAgAAACyACKAIEIQMgAEEEaiABNgIAIAAgAzYCACACQSBqJICAgIAADwsQ3YOAgAAAC9sBAQJ/I4CAgIAAQSBrIgMkgICAgAACQCABIAJqIgIgAUkNACAAQQRqKAIAIgRBAXQiASACIAEgAksbIgFBCCABQQhLGyEBAkACQCAERQ0AIANBEGpBCGpBATYCACADIAQ2AhQgAyAAKAIANgIQDAELIANBADYCEAsgAyABQQEgA0EQahCogYCAAAJAIAMoAgBFDQAgA0EIaigCACIARQ0BIAMoAgQgABDcg4CAAAALIAMoAgQhAiAAQQRqIAE2AgAgACACNgIAIANBIGokgICAgAAPCxDdg4CAAAALgQICAn8BfiOAgICAAEEwayIEJICAgIAAAkACQAJAAkAgAygCACIFRQ0AIARB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IAIgAEEIajYCDCACQZuqwIAAQQsgAkEMakHQrMCAABCEhICAABogAiAAQRBqNgIMIAJB4KzAgABBBSACQQxqQYCqwIAAEISEgIAAGiACEJGEgIAAIQAgAkEQaiSAgICAACAAC7QBAQF/I4CAgIAAQRBrIgIkgICAgAAgACgCACEAIAIgAUGArMCAAEENEKaEgIAAIAIgAEEYajYCDCACQY2swIAAQQkgAkEMakGYrMCAABCEhICAABogAiAANgIMIAJBqKzAgABBCCACQQxqQYCqwIAAEISEgIAAGiACIABBDGo2AgwgAkGwrMCAAEEIIAJBDGpBgKrAgAAQhISAgAAaIAIQkYSAgAAhACACQRBqJICAgIAAIAALIQAgASAAKAIALQAAQQJ0QaStwIAAaigCAEEDEKKEgIAAC3oBAX8jgICAgABBMGsiAiSAgICAACAAKAIAIQAgAkEcakEBNgIAIAJCAjcCDCACQfyswIAANgIIIAJByICAgAA2AiQgAiAANgIsIAIgAkEgajYCGCACIAJBLGo2AiAgASACQQhqEKOEgIAAIQEgAkEwaiSAgICAACABC3YBAX8jgICAgABBMGsiAiSAgICAACACIAAoAgA2AgwgAkEkakEBNgIAIAJCATcCFCACQfSlwIAANgIQIAJByYCAgAA2AiwgAiACQShqNgIgIAIgAkEMajYCKCABIAJBEGoQo4SAgAAhASACQTBqJICAgIAAIAELwwEBAX8jgICAgABBwABrIgIkgICAgAAgACgCACEAIAJBFGpBAzYCACACQRhqQRRqQciAgIAANgIAIAJBGGpBDGpByICAgAA2AgAgAiAAQRhqNgI0IAIgADYCOCACQgM3AgQgAkHoq8CAADYCACACQcqAgIAANgIcIAIgAEEMajYCPCACIAJBGGo2AhAgAiACQTxqNgIoIAIgAkE4ajYCICACIAJBNGo2AhggASACEKOEgIAAIQAgAkHAAGokgICAgAAgAAsCAAsjAQF/AkAgAEEEaigCACIBRQ0AIAAoAgAgAUEBEIOBgIAACwv6AgEDfyOAgICAAEEQayICJICAgIAAAkACQAJAAkACQCABQYABSQ0AIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMhAQwDCwJAIAAoAggiAyAAQQRqKAIARw0AIAAgAxC/goCAACAAKAIIIQMLIAAoAgAgA2ogAToAACAAIAAoAghBAWo2AggMAwsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQIhAQwBCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQhAQsCQCAAQQRqKAIAIABBCGoiBCgCACIDayABTw0AIAAgAyABEMCCgIAAIAQoAgAhAwsgACgCACADaiACQQxqIAEQwISAgAAaIAQgAyABajYCAAsgAkEQaiSAgICAAEEAC1MBAn8CQCAAQQRqKAIAIABBCGoiAygCACIEayACTw0AIAAgBCACEMCCgIAAIAMoAgAhBAsgACgCACAEaiABIAIQwISAgAAaIAMgBCACajYCAEEAC6oCAQJ/I4CAgIAAQcAAayIEJICAgIAAAkACQAJAAkACQCACQQBIDQAgAg0BQQEhBQwCCxDdg4CAAAALIAJBARCCgYCAACIFRQ0BCyAFIAEgAhDAhICAACEBIARBADYCCCAEQgE3AwAgBEEQaiAEQbikwIAAEJ+EgIAAIAMgBEEQahDlgoCAAA0BIABBDGogAjYCACAAQQhqIAI2AgAgACABNgIEIABBEGogBCkDADcCACAAQQc2AgAgAEEYaiAEQQhqKAIANgIAAkAgAygCAEEUSQ0AIANBCGooAgAiAEUNACADKAIEIABBARCDgYCAAAsgBEHAAGokgICAgAAPCyACQQEQ3IOAgAAAC0HQpMCAAEE3IARBOGpB5KXAgABB1KXAgAAQjoSAgAAAC4oJAQF/I4CAgIAAQTBrIgIkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgwAAQIDBAUGBwgJCgsACyACQSxqQQE2AgAgAkIBNwIcIAJBhKnAgAA2AhggAkHLgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwLCyACQSxqQQE2AgAgAkIBNwIcIAJB6KjAgAA2AhggAkHMgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwKCyACQSxqQQE2AgAgAkIBNwIcIAJByKjAgAA2AhggAkHIgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwJCyACQSxqQQE2AgAgAkIBNwIcIAJBsKjAgAA2AhggAkHIgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwICyACQQxqQc2AgIAANgIAIAJBLGpBAjYCACACIABBCGo2AhAgAkICNwIcIAJBiKjAgAA2AhggAkHNgICAADYCBCACIABBEGo2AhQgAiACNgIoIAIgAkEUajYCCCACIAJBEGo2AgAgASACQRhqEKOEgIAAIQAMBwsgAkEsakEBNgIAIAJCATcCHCACQdynwIAANgIYIAJByICAgAA2AgQgAiAAQQRqNgIUIAIgAjYCKCACIAJBFGo2AgAgASACQRhqEKOEgIAAIQAMBgsgAkEsakEBNgIAIAJCAjcCHCACQaSnwIAANgIYIAJByICAgAA2AgQgAiAAQQRqNgIUIAIgAjYCKCACIAJBFGo2AgAgASACQRhqEKOEgIAAIQAMBQsgAkEMakHIgICAADYCACACQSxqQQI2AgAgAiAAQQRqNgIQIAJCAjcCHCACQYinwIAANgIYIAJByICAgAA2AgQgAiAAQRBqNgIUIAIgAjYCKCACIAJBFGo2AgggAiACQRBqNgIAIAEgAkEYahCjhICAACEADAQLIAJBDGpByICAgAA2AgAgAkEsakECNgIAIAIgAEEEajYCECACQgI3AhwgAkHgpsCAADYCGCACQciAgIAANgIEIAIgAEEQajYCFCACIAI2AiggAiACQRRqNgIIIAIgAkEQajYCACABIAJBGGoQo4SAgAAhAAwDCyACQSxqQQE2AgAgAkIBNwIcIAJBvKbAgAA2AhggAkHOgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwCCyACQSxqQQE2AgAgAkIBNwIcIAJBqKbAgAA2AhggAkHPgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwBCyACQSxqQQA2AgAgAkHkpcCAADYCKCACQgE3AhwgAkGQpsCAADYCGCABIAJBGGoQ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ADYCACACQYSvwIAANgIYIAJCATcCDCACQaCwwIAANgIIIAEgAkEIahCjhICAACEADAMLIAJBHGpBADYCACACQYSvwIAANgIYIAJCATcCDCACQYSwwIAANgIIIAEgAkEIahCjhICAACEADAILIAJBHGpBADYCACACQYSvwIAANgIYIAJCATcCDCACQeSvwIAANgIIIAEgAkEIahCjhICAACEADAELIAJBHGpBATYCACACQgE3AgwgAkGkr8CAADYCCCACQd+AgIAANgIkIAIgAEEEajYCLCACIAJBIGo2AhggAiACQSxqNgIgIAEgAkEIahCjhICAACEACyACQTBqJICAgIAAIAALAgALAgAL1AIBBH8jgICAgABBIGsiAiSAgICAACACQQhqIAEoAgAiAxDggoCAAEEBIQQCQAJAAkACQCACLQAIQQFxRQ0AAkAgAi0ACSIFQf8BcSIEQSxGDQACQAJAIARB3QBGDQAgAS0ABA0BIABBBGpBBzYCAAwFC0EAIQQgAEEAOgABDAULIAFBADoABAwCCyADENmCgIAAIAIgAxDggoCAAEEBIQQCQCACLQAAQQFxRQ0AIAItAAEhBQwCCyAAQQRqQQQ2AgAMAwsgAEEEakEBNgIADAILAkAgBUH/AXFB3QBHDQAgAEEEakETNgIADAELIAJBEGogAxD6gYCAAAJAIAIoAhAiBEEVRw0AIABBAToAAUEAIQQMAgsgAEEIaiACKQIUNwIAIABBEGogAkEcaigCADYCACAAQQRqIAQ2AgALQQEhBAsgACAEOgAAIAJBIGokgICAgAALJQACQCABKAIADQAQmoOAgAAACyAAQYSvwIAANgIEIAAgATYCAAtmAQJ/IAEoAgAhAiABQQA2AgACQAJAIAJFDQAgASgCBCEDQQhBBBCCgYCAACIBRQ0BIAEgAzYCBCABIAI2AgAgAEGEr8CAADYCBCAAIAE2AgAPCxCag4CAAAALQQhBBBDcg4CAAAALdwECfwJAAkACQAJAAkAgAEEASA0AIAANAUEBIQEMAgsQ3YOAgAAACyAAQQEQgoGAgAAiAUUNAQtBDEEEEIKBgIAAIgJFDQEgAkEANgIIIAIgADYCBCACIAE2AgAgAg8LIABBARDcg4CAAAALQQxBBBDcg4CAAAALawECfwJAAkAgAEUNACAAKAIAIgFFDQEgACgC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gAAMDAsgAkEgaiABEOCCgIAAIAItACBBAXFFDQYCQAJAAkAgAi0AIUH/AXFB2wBHDQAgARDZgoCAACACQRhqIAEQ1oKAgAAgAigCGCEDIAIgAi0AHEEBcToAbCACIAM2AmgDQCACQfgAaiACQegAahDngYCAACACLQB4DQIgAi0AeQ0ADAMLCyAAQQ42AgAMDQsgAkGQAWpBCGoiAyACQYgBaigCADYCACACIAJB+ABqQQhqKQMANwOQASACKAJ8IgRBFUcNCAsgAkH4AGogARDbgoCAAAJAIAIoAngiAUEVRw0AIABBFTYCAAwMCyAAIAIpAnw3AgQgAEEMaiACQfgAakEMaigCADYCACAAIAE2AgAMCwsgAkEwaiABEOCCgIAAIAItADBBAXFFDQcgAi0AMUH/AXFB+wBHDQggARDZgoCAACACQShqIAEQ1oKAgAAgAigCKCEDIAIgAi0ALEEBcToAVCACIAM2AlAgAkH4AGogAkHQAGoQooKAgAACQAJAIAItAHgNACACQegAakEEciEFIAJBkAFqQQRyIQYDQCACLQB5RQ0CIAJBkAFqIAIoAlAiBBDegoCAAAJAAkACQCACKAKQASIDQRVGDQAgBSAGKQIANwIAIAVBCGogBkEIaigCADYCAAwBCyACQegAaiAEEPqBgIAAIAIoAmgiA0EVRg0BCyACQcAAakEIaiAFQQhqKAIANgIAIAIgBSkCADcDQAwNCyACQfgAaiACQdAAahCigoCAACACLQB4RQ0ACwsgAkHAAGpBCGogAkGIAWooAgA2AgAgAiACQfgAakEIaikDADcDQCACKAJ8IgNBFUcNCgsgAkH4AGogARDcgoCAAAJAIAIoAngiAUEVRw0AIABBFTYCAAwLCyAAIAIpAnw3AgQgAEEMaiACQfgAakEMaigCADYCACAAIAE2AgAMCgsgAEELNgIADAkLIABBFTYCAAwICyAAQQQ2AgAMBwsgAEEONgIADAYLIAJBiAFqKAIAIQUgACAENgIEIAAgATYCACAAQQxqIAU2AgAgAEEIaiADNgIADAULIABBBDYCAAwECyAAIAIpA5ABNwIEIABBDGogAygCADYCACAAIAQ2AgAMAwsgAEEENgIADAILIABBDjYCAAwBCyAAIAIpA0A3AgQgAEEMaiACQcgAaigCADYCACAAIAM2AgALIAJB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ADoAAAwECyAAQQRqIAIpAhw3AgAgAEEMaiACQRhqQQxqKQIANwIAIABBAToAAAwDCyAAQQE6AAAgAEEEakETNgIADAILIABBAToAACAAQQRqQQI2AgAMAQsgAEEBOgAAIABBBGpBBDYCAAsgAkEwaiSAgICAAAv/AgEEfyOAgICAAEEwayICJICAgIAAIAJBEGogASgCACIDEOCCgIAAAkACQAJAIAItABBBAXFFDQACQAJAAkAgAi0AESIEQf8BcSIFQSxGDQACQCAFQf0ARg0AIAEtAAQNAiAAQQE6AAAgAEEEakEJNgIADAYLIABBgAY7AQAMBQsgAS0ABA0AIAMQ2YKAgAAgAkEIaiADEOCCgIAAIAItAAhBAXFFDQMgAi0ACSEEDAELIAFBADoABAsCQAJAIARB/wFxIgFBIkYNACABQf0ARg0BIABBAToAACAAQQRqQRA2AgAMBAsgAkEYaiADEPKBgIAAAkAgAi0AGA0AIAAgAi0AGToAASAAQQA6AAAMBAsgAEEEaiACKQIcNwIAIABBDGogAkEYakEMaikCADcCACAAQQE6AAAMAwsgAEEBOgAAIABBBGpBEzYCAAwCCyAAQQE6AAAgAEEEakECNgIADAELIABBAToAACAAQQRqQQQ2AgALIAJBMGokgICAgAALGQAgACgCACIAKAIAIAAoAgggARCohICAAAsZACAAKAIAIgAoAgAgACgCCCABEKmEgIAAC3EBAX8jgICAgABBIGsiAiSAgICAACACIAA2AgQgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGkv8CAACACQQhqEP2DgIAAIQEgAkEgaiSAgICAACABCwIAC4EDAQN/I4CAgIAAQRBrIgIkgICAgAAgACgCACEAAkACQAJAAkACQCABQYABSQ0AIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMhAQwDCwJAIAAoAggiAyAAQQRqKAIARw0AIAAgAxC/goCAACAAKAIIIQMLIAAoAgAgA2ogAToAACAAIAAoAghBAWo2AggMAwsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQIhAQwBCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQhAQsCQCAAQQRqKAIAIABBCGoiBCgCACIDayABTw0AIAAgAyABEMCCgIAAIAQoAgAhAwsgACgCACADaiACQQxqIAEQwISAgAAaIAQgAyABajYCAAsgAkEQaiSAgICAAEEAC3QBAX8jgICAgABBIGsiAiSAgICAACACIAAoAgA2AgQgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGkv8CAACACQQhqEP2DgIAAIQEgAkEgaiSAgICAACABC1gBAn8CQCAAKAIAIgNBBGooAgAgA0EIaiIEKAIAIgBrIAJPDQAgAyAAIAIQwIKAgAAgBCgCACEACyADKAIAIABqIAEgAhDAhICAABogBCAAIAJqNgIAQQALHAAgACABKQIANwIAIABBCGogAUEIaigCADYCAAuLAgIBfwF+I4CAgIAAQeAAayIDJICAgIAAIAMgAjYCBCADIAE2AgAgA0EIaiADEMaCgIAAAkACQAJAIAMoAggNACADKQIMIQQgAEEMaiADQQhqQQxqKAIANgIAIAAgBDcCBEEAIQEMAQsgAyADKQIMNwMYIANBADYCKCADQgE3AyAgA0EwaiADQSBqQbikwIAAEJ+EgIAAIANBGGogA0EwahDygoCAAA0BIAMoAiAhASAAQRBqIAMpAiQ3AwAgAEEMaiABNgIAIABBCGpBAzYCAEEBIQELIAAgATYCACADQeAAaiSAgICAAA8LQdCkwIAAQTcgA0HYAGpB5KXAgABB1KXAgAAQjoSAgAAACwwAIAAgARDfgYCAAAvcAwIBfwF+I4CAgIAAQZABayIDJICAgIAAIAMgAjYCDCADIAE2AgggAyACNgI8IAMgATYCOCADQcAAaiADQThqEMaCgIAAAkACQCADKAJADQAgA0EQakEMaiADQcAAakEMaigCACIBNgIAIAMgAykCRCIENwIUIABBDGogATYCACAAIAQ3AgQgAEEANgIADAELIAMgAykCRDcDUCADQQA2AmAgA0IBNwNYIANB6ABqIANB2ABqQbikwIAAEJ+EgIAAAkAgA0HQAGogA0HoAGoQ8oKAgAANACADQSBqIgEgAykCXDcDACADQRxqIAMoAlg2AgAgA0EQakEIakEDNgIAIANBATYCECADQegAakEUakEBNgIAIANCATcCbCADQcy/wIAANgJoIANB7ICAgAA2AlwgAyADQdgAajYCeCADIANBCGo2AlggA0HAAGogA0HoAGoQ4IOAgAAgAEEIaiADQcAAahDig4CAACAAQRQ2AgQCQCADKAJEIgJFDQAgAygCQCACQQEQg4GAgAALIABBATYCACABKAIAIgBFDQEgAygCHCAAQQEQg4GAgAAMAQtB0KTAgABBNyADQRBqQeSlwIAAQdSlwIAAEI6EgIAAAAsgA0GQAWokgICAgAALDAAgACABEJeEgIAACw8AIAAoAgAgARCzgoCAAAuDAgEBfyOAgICAAEEQayICJICAgIAAAkACQAJAAkACQAJAAkACQCAAKAIADgcAAQIDBAUGAAsgAUG8xcCAAEEIEKKEgIAAIQAMBgsgAUGyxcCAAEEKEKKEgIAAIQAMBQsgAUGhxcCAAEEREKKEgIAAIQAMBAsgAUGLxcCAAEEWEKKEgIAAIQAMAwsgAUH4xMCAAEETEKKEgIAAIQAMAgsgAUHkxMCAAEEUEKKEgIAAIQAMAQsgAiABQcDEwIAAQQoQpoSAgAAgAiAAQQRqNgIMIAJBysTAgABBCiACQQxqQdTEwIAAEISEgIAAGiACEJGEgIAAIQALIAJBEGokgICAgAAgAAsPACAAKAIAIAEQtYKAgAAL7QMBAX8jgICAgABBMGsiAiSAgICAAAJAAkACQAJAAkACQAJAAkAgACgCAA4HAAECAwQFBgALIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQbjEwIAANgIIIAEgAkEIahCjhICAACEADAYLIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQaTEwIAANgIIIAEgAkEIahCjhICAACEADAULIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQYzEwIAANgIIIAEgAkEIahCjhICAACEADAQLIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQfDDwIAANgIIIAEgAkEIahCjhICAACEADAMLIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQdDDwIAANgIIIAEgAkEIahCjhICAACEADAILIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQazDwIAANgIIIAEgAkEIahCjhICAACEADAELIAJBHGpBATYCACACQgE3AgwgAkHswsCAADYCCCACQd+AgIAANgIkIAIgAEEEajYCLCACIAJBIGo2AhggAiACQSxqNgIgIAEgAkEIahCjhICAACEACyACQTBqJICAgIAAIAALAgALRQECfyAAKAIIIQEgACgCACECAkBBDEEEEIKBgIAAIgANAEEMQQQQ3IOAgAAACyAAIAE2AgggACABNgIEIAAgAjYCACAAC18BAX8CQAJAIAFFDQAgASgCACICDQFB4MDAgABBHUGAwcCAABDggYCAAAALQbrAwIAAQRZB0MDAgAAQ4IGAgAAACyAAIAI2AgAgACABKQIENwIEIAFBDEEEEIOBgIAAC/MBAAJAAkACQAJAAkACQCACQXlqDg0BBAQEBAQEBAIABAQDBAsCQCABQarBwIAAQRAQv4SAgABFDQAgAUG6wcCAAEEQEL+EgIAADQQgAEECOgABIABBADoAAA8LIABBAToAASAAQQA6AAAPCyABQcrBwIAAQQcQv4SAgAANAiAAQQM6AAEgAEEAOgAADwsgAUGbwcCAAEEPEL+EgIAARQ0CDAELIAFB0cHAgABBExC/hICAAA0AIABBBDoAASAAQQA6AAAPCyAAQQRqIAEgAkHkwcCAAEEFEMWCgIAAIABBAToAAA8LIABBADoAASAAQQA6AAALwAICA38BfiOAgICAAEEgayICJICAgIAAIAJBCGogARD3gYCAAAJAAkACQAJAAkACQAJAAkAgAi0ACA0AIAItAAkhAyACQQhqIAEQ3oKAgAACQCACKAIIIgRBFUYNACACQRBqKQMAIQUgAigCDCEBQQAhAwwCCyADDgUCAwQFBgILIAIoAgwiBEGAfnEhAyACQRRqKQIAIQUgAkEQaigCACEBCyAAQQE2AgAgAEEMaiAFNwIAIABBCGogATYCACAAIARB/wFxIANyNgIEDAULIAAgAUHMwsCAAEECEIuCgIAADAQLIAAgAUG0wsCAAEECEIqCgIAADAMLIAAgAUGcwsCAAEEBEI6CgIAADAILIAAgAUHUv8CAAEEAEIyCgIAADAELIAAgAUGQwsCAAEEBEI2CgIAACyACQSBqJICAgIAACwIACyMBAX8CQCAAQQRqKAIAIgFFDQAgACgCACABQQEQg4GAgAALC2ABAX8jgICAgABBIGsiACSAgICAACAAQRRqQQE2AgAgAEIBNwIEIABB3MjAgAA2AgAgAEHsgICAADYCHCAAQYjRwIAANgIYIAAgAEEYajYCECAAQZDRwIAAEPiDgIAAAAv3AgEDfyOAgICAAEEQayICJICAgIAAAkACQAJAAkACQCABQYABSQ0AIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMhAQwDCwJAIAAoAggiAyAAQQRqKAIARw0AIAAgAxC/goCAACAAKAIIIQMLIAAgA0EBajYCCCAAKAIAIANqIAE6AAAMAwsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQIhAQwBCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQhAQsCQCAAQQRqKAIAIABBCGoiBCgCACIDayABTw0AIAAgAyABEMCCgIAAIAQoAgAhAwsgACgCACADaiACQQxqIAEQwISAgAAaIAQgAyABajYCAAsgAkEQaiSAgICAAEEAC9sBAQN/I4CAgIAAQSBrIgIkgICAgAACQCABQQFqIgMgAUkNACAAQQRqKAIAIgRBAXQiASADIAEgA0sbIgFBCCABQQhLGyEBAkACQCAERQ0AIAJBEGpBCGpBATYCACACIAQ2AhQgAiAAKAIANgIQDAELIAJBADYCEAsgAiABQQEgAkEQahDCgoCAAAJAIAIoAgBFDQAgAkEIaigCACIARQ0BIAIoAgQgABDcg4CAAAALIAIoAgQhAyAAQQRqIAE2AgAgACADNgIAIAJBIGokgICAgAAPCxDdg4CAAAAL2wEBAn8jgICAgABBIGsiAySAgICAAAJAIAEgAmoiAiABSQ0AIABBBGooAgAiBEEBdCIBIAIgASACSxsiAUEIIAFBCEsbIQECQAJAIARFDQAgA0EQakEIakEBNgIAIAMgBDYCFCADIAAoAgA2AhAMAQsgA0EANgIQCyADIAFBASADQRBqEMKCgIAAAkAgAygCAEUNACADQQhqKAIAIgBFDQEgAygCBCAAENyDgIAAAAsgAygCBCECIABBBGogATYCACAAIAI2AgAgA0EgaiSAgICAAA8LEN2DgIAAAAtTAQJ/AkAgAEEEaigCACAAQQhqIgMoAgAiBGsgAk8NACAAIAQgAhDAgoCAACADKAIAIQQLIAAoAgAgBGogASACEMCEgIAAGiADIAQgAmo2AgBBAAuuAQECfwJAAkACQAJAAkACQAJAAkACQCACRQ0AQQEhBCABQQBIDQEgAygCACIFRQ0DIAMoAgQiAw0CIAENBAwGCyAAIAE2AgRBASEEC0EAIQEMBgsgBSADIAIgARCEgYCAACIDRQ0CDAQLIAFFDQILIAEgAhCCgYCAACIDDQILIAAgATYCBCACIQEMAgsgAiEDCyAAIAM2AgRBACEECyAAIAQ2AgAgAEEIaiABNgIAC+wBAQF/I4CAgIAAQfAAayIDJICAgIAAIAMgAjYCDCADIAE2AgggA0EQakEUakEBNgIAIANCAjcCFCADQdzJwIAANgIQIANB7ICAgAA2AiwgAyADQShqNgIgIAMgA0EIajYCKCADQQA2AjggA0IBNwMwIANBwABqIANBMGpB9MbAgAAQn4SAgAACQCADQRBqIANBwABqEI2EgIAARQ0AQYzHwIAAQTcgA0HoAGpBoMjAgABBkMjAgAAQjoSAgAAACyAAIAMpAzA3AgQgAEEUNgIAIABBDGogA0E4aigCADYCACADQfAAaiSAgICAAAvsAQEBfyOAgICAAEHwAGsiAySAgICAACADIAI2AgwgAyABNgIIIANBEGpBFGpBATYCACADQgI3AhQgA0GAysCAADYCECADQeyAgIAANgIsIAMgA0EoajYCICADIANBCGo2AiggA0EANgI4IANCATcDMCADQcAAaiADQTBqQfTGwIAAEJ+EgIAAAkAgA0EQaiADQcAAahCNhICAAEUNAEGMx8CAAEE3IANB6ABqQaDIwIAAQZDIwIAAEI6EgIAAAAsgACADKQMwNwIEIABBFDYCACAAQQxqIANBOGooAgA2AgAgA0HwAGokgICAgAAL4AMBAX8jgICAgABBgAFrIgUkgICAgAAgBSACNgIMIAUgATYCCAJAAkACQAJAIARFDQAgBUEoakEMakGIgICAADYCACAFQRBqQRRqQQI2AgAgBUICNwIUIAVB2MrAgAA2AhAgBUHsgICAADYCLCAFIAQ2Ajwg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AkACQAJAIAEoAggiAiABKAIEIgNJDQAMAQsgASgCACEEQQEhBQNAIAQgAmotAAAiBkF3aiIHQRdLDQJBASAHdEGTgIAEcUUNAiABIAJBAWoiAjYCCCADIAJHDQALC0EAIQULIAAgBjoAASAAIAU6AAALNgEDfwJAIAEoAggiAiABKAIEIgNPDQAgASgCACACai0AACEECyAAIAQ6AAEgACACIANJOgAAC64BAQJ/AkACQAJAAkACQAJAAkACQAJAIAJFDQBBASEEIAFBAEgNASADKAIAIgVFDQMgAygCBCIDDQIgAQ0EDAYLIAAgATYCBEEBIQQLQQAhAQwGCyAFIAMgAiABEISBgIAAIgNFDQIMBAsgAUUNAgsgASACEIKBgIAAIgMNAgsgACABNgIEIAIhAQwCCyACIQMLIAAgAzYCBEEAIQQLIAAgBDYCACAAQQhqIAE2AgAL2wEBA38jgICAgABBIGsiAiSAgICAAAJAIAFBAWoiAyABSQ0AIABBBGooAgAiBEEBdCIBIAMgASADSxsiAUEIIAFBCEsbIQECQAJAIARFDQAgAkEQakEIakEBNgIAIAIgBDYCFCACIAAoAgA2AhAMAQsgAkEANgIQCyACIAFBASACQRBqEOKCgIAAAkAgAigCAEUNACACQQhqKAIAIgBFDQEgAigCBCAAENyDgIAAAAsgAigCBCEDIABBBGogATYCACAAIAM2AgAgAkEgaiSAgICAAA8LEN2DgIAAAAvbAQECfyOAgICAAEEgayIDJICAgIAAAkAgASACaiICIAFJDQAgAEEEaigCACIEQQF0IgEgAiABIAJLGyIBQQggAUEISxshAQJAAkAgBEUNACADQRBqQQhqQQE2AgAgAyAENgIUIAMgACgCADYCEAwBCyADQQA2AhALIAMgAUEBIANBEGoQ4oKAgAACQCADKAIARQ0AIANBCGooAgAiAEUNASADKAIEIAAQ3IOAgAAACyADKAIEIQIgAEEEaiABNgIAIAAgAjYCACADQSBqJICAgIAADwsQ3YOAgAAAC7sEAQF/I4CAgIAAQTBrIgIkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADhUAAQIDBAUGBwgJCgsMDQ4PEBESExQACyACQcrcwIAANgIoQSIhAAwUCyACQbHcwIAANgIoQRkhAAwTCyACQZXcwIAANgIoQRwhAAwSCyACQfrbwIAANgIoQRshAAwRCyACQdvbwIAANgIoQR8hAAwQCyACQbXbwIAANgIoQSYhAAwPCyACQY3bwIAANgIoQSghAAwOCyACQdbawIAANgIoQTchAAwNCyACQa/awIAANgIoQSchAAwMCyACQffZwIAANgIoQTghAAwLCyACQb/ZwIAANgIoQTghAAwKCyACQZHZwIAANgIoQS4hAAwJCyACQfnYwIAANgIoQRghAAwICyACQerYwIAANgIoQQ8hAAwHCyACQd7YwIAANgIoQQwhAAwGCyACQcPYwIAANgIoQRshAAwFCyACQajYwIAANgIoQRshAAwECyACQdnXwIAANgIoQc8AIQAMAwsgAkGd18CAADYCKEE8IQAMAgsgAkHk1sCAADYCKEE5IQAMAQsgAiAAKAIENgIoIABBDGooAgAhAAsgAkEcakEBNgIAIAJB94CAgAA2AiQgAiAANgIsIAJCATcCDCACQdzWwIAANgIIIAIgAkEoajYCICACIAJBIGo2AhggASACQQhqEKOEgIAAIQAgAkEwaiSAgICAACAACxgAIAAoAgAgACgCBCAAKAIIEOeCgIAAAAs7AQF/I4CAgIAAQRBrIgMkgICAgAAgAyABNgIMIAMgADYCCCADQQhqQezcwIAAQQAgAkEBEKiDgIAAAAsCAAsNAEKL5OeV8riP17h/CzMBAX8jgICAgABBEGsiAySAgICAACADIAI2AgggAyABNgIEIAMgADYCACADEOaCgIAAAAsCAAslAAJAIAEoAgANABCag4CAAAALIABBgN3AgAA2AgQgACABNgIAC2YBAn8gASgCACECIAFBADYCAAJAAkAgAkUNACABKAIEIQNBCEEEEIKBgIAAIgFFDQEgASADNgIEIAEgAjYCACAAQYDdwIAANgIEIAAgATYCAA8LEJqDgIAAAAtBCEEEENyDgIAAAAscACAAKAIAKAIAIgAoAgAgACgCCCABEKmEgIAAC0wBAX8CQCABKAIIIgMgAUEEaigCAEcNACABIAMQ44KAgAAgASgCCCEDCyABKAIAIANqQd0AOgAAIABBADYCACABIAEoAghBAWo2AggLTAEBfwJAIAEoAggiAyABQQRqKAIARw0AIAEgAxDjgoCAACAB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IAI2AiggASACQRhqEKOEgIAAIQQLIAJBMGokgICAgAAgBAsUACAAKAIAIAAoAgQgARCphICAAAsZACAAKAIAIgAoAgAgACgCBCABEKmEgIAACxgAIAAoAgAgACgCBCAAKAIIEP2CgIAAAAs7AQF/I4CAgIAAQRBrIgMkgICAgAAgAyABNgIMIAMgADYCCCADQQhqQaD1wIAAQQAgAkEBEKiDgIAAAAsCAAsNAEKL5OeV8riP17h/CzMBAX8jgICAgABBEGsiAySAgICAACADIAI2AgggAyABNgIEIAMgADYCACADEPyCgIAAAAsCAAslAAJAIAEoAgANABCag4CAAAALIABBtPXAgAA2AgQgACABNgIAC2YBAn8gASgCACECIAFBADYCAAJAAkAgAkUNACABKAIEIQNBCEEEEIKBgIAAIgFFDQEgASADNgIEIAEgAjYCACAAQbT1wIAANgIEIAAgATYCAA8LEJqDgIAAAAtBCEEEENyDgIAAAAsNAELSgZzewcX876h/Cw0AQovk55XyuI/XuH8L2wEBAn8jgICAgABBIGsiAySAgICAAAJAIAEgAmoiAiABSQ0AIABBBGooAgAiBEEBdCIBIAIgASACSxsiAUEIIAFBCEsbIQECQAJAIARFDQAgA0EQakEIakEBNgIAIAMgBDYCFCADIAAoAgA2AhAMAQsgA0EANgIQCyADIAFBASADQRBqEJGDgIAAAkAgAygCAEUNACADQQhqKAIAIgBFDQEgAygCBCAAENyDgIAAAAsgAygCBCECIABBBGogATYCACAAIAI2AgAgA0EgaiSAgICAAA8LEN2DgIAAAAsCAAsqAQF/AkAgAEEEaigCACIBRQ0AIAAoAgAiAEUNACAAIAFBARCDgYCAAAsLKgEBfwJAIAAoAgQiAUUNACAAQQhqKAIAIgBFDQAgASAAQQEQg4GAgAALCxwAAkAgAA0AQdz1wIAAQSsgARD0g4CAAAALIAALIAACQCAADQBB3PXAgABBK0GQ98CAABD0g4CAAAALIAALEgAgACgCACABEI2DgIAAGkEAC/cCAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCABQYABSQ0AIAJBADYCDCABQYAQTw0BIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECIQEMAgsCQCAAKAIIIgMgAEEE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AwvUBQEEfyAAIAEQu4OAgAAhAgJAAkACQCAAELKDgIAADQAgACgCACEDAkACQCAAELWDgIAADQAgAyABaiEBIAAgAxC8g4CAACIAQQAoArSewYAARw0BIAIoAgRBA3FBA0cNAkEAIAE2AqyewYAAIAAgASACELqDgIAADwtBnJvBgAAgACADayADIAFqQRBqIgAQy4OAgABFDQJBAEEAKAK8nsGAACAAazYCvJ7BgAAPCwJAIANBgAJJDQAgABCVg4CAAAwBCwJAIABBDGooAgAiBCAAQQhqKAIAIgVGDQAgBSAENgIMIAQgBTYCCAwBC0EAQQAoApybwYAAQX4gA0EDdndxNgKcm8GAAAsCQCACELGDgIAARQ0AIAAgASACELqDgIAADAILAkACQCACQQAoAriewYAARg0AIAJBACgCtJ7BgABHDQFBACAANgK0nsGAAEEAQQAoAqyewYAAIAFqIgE2AqyewYAAIAAgARC5g4CAAA8LQQAgADYCuJ7BgABBAEEAKAKwnsGAACABaiIBNgKwnsGAACAAIAFBAXI2AgQgAEEAKAK0nsGAAEcNAUEAQQA2AqyewYAAQQBBADYCtJ7BgAAPCyACELCDgIAAIgMgAWohAQJAAkAgA0GAAkkNACACEJWDgIAADAELAkAgAkEMaigCACIEIAJBCGooAgAiAkYNACACIAQ2AgwgBCACNgIIDAELQQBBACgCnJvBgABBfiADQQN2d3E2ApybwYAACyAAIAEQuYOAgAAgAEEAKAK0nsGAAEcNAUEAIAE2AqyewYAACw8LAkAgAUGAAkkNACAAIAEQloOAgAAPCyABQQN2IgJBA3RBpJvBgABqIQECQAJAQQAoApybwYAAIgNBASACdCICcUUNACABKAIIIQIMAQtBACADIAJyNgKcm8GAACABIQILIAEgADYCCCACIAA2AgwgACABNgIMIAAgAjYCCAvXAgEFfyAAKAIYIQECQAJAAkAgABDCg4CAACAARw0AIABBFEEQIABBFGoiAigCACIDG2ooAgAiBA0BQQAhAwwCCyAAEMODgIAAIgQgABDCg4CAACIDEMGDgIAANgIMIAMgBBDBg4CAADYCCAwBCyACIABBEGogAxshAgNAIAIhBQJAIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECEECyAEDQALIAVBADYC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NgIEIAAgAWogATYCAAsjACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsHACAAIAFqCwcAIAAgAWsLBwAgAEEIagsEAEEICwcAIABBeGoLHAEBfwJAIAAoAhAiAQ0AIABBFGooAgAhAQsgAQsEACAACwcAIAAoAgwLBwAgACgCCAsKACAAKAIMQQFxCwoAIAAoAgxBAXYLJgECf0EAIQICQCAAKAIAIgMgAUsNACADIAAoAgRqIAFLIQILIAILDQAgACgCACAAKAIEags5AQF/IAJBEHZAACEDIABBADYCCCAAQQAgAkGAgHxxIANBf0YiAhs2AgQgAEEAIANBEHQgAhs2AgALBABBAAsEAEEACwQAQQALBABBAAsEAEEBCwYAQYCABAsPACAAKAIAIAEQvYSAgAALQwAgACgCACEAAkAgARCkhICAAA0AAkAgARClhICAAA0AIAAgARCthICAAA8LIAAgARC1hICAAA8LIAAgARCuhICAAAuCAQECfyOAgICAAEEQayICJICAgIAAIAAoAgAiAEEIaigCACEDIAAoAgAhACACIAEQp4SAgAACQCADRQ0AA0AgAiAANgIMIAIgAkEMakGA+MCAABCUhICAABogAEEBaiEAIANBf2oiAw0ACwsgAhCVhICAACEAIAJBEGokgICAgAAgAAsNACAAIAEQ04OAgAAACw0AIAAgARDUg4CAAAALDQAgACABEIaBgIAAAAsCAAsRACAAKAIAIAEQ14OAgABBAAv1AgEDfyOAgICAAEEQayICJICAgIAAAkACQAJAAkACQCABQYABSQ0AIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMhAQwDCwJAIAAoAggiAyAAQQRqKAIARw0AIAAgAxDeg4CAACAAKAIIIQMLIAAgA0EBajYCCCAAKAIAIANqIAE6AAAMAwsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQIhAQwBCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQhAQsCQCAAQQRqKAIAIABBCGoiBCgCACIDayABTw0AIAAgAyABENqD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QCACDQBBACEIDAELIAJBA3EhBwJAAkAgAkF/akEDTw0AQQAhCCABIQMMAQsgAkF8cSEGQQAhCCABIQMDQCAIIAMsAABBv39KaiADQQFqLAAAQb9/SmogA0ECaiwAAEG/f0pqIANBA2osAABBv39KaiEIIANBBGohAyAGQXxqIgYNAAsLIAdFDQADQCAIIAMsAABBv39KaiEIIANBAWohAyAHQX9qIgcNAAsLAkAgBSAITQ0AQQAhAyAFIAhrIgchBgJAAkACQEEAIAAtACAiCCAIQQNGG0EDcQ4DAgABAgtBACEGIAchAwwBCyAHQQF2IQMgB0EBakEBdiEGCyADQQFqIQMgAEEcaigCACEHIAAoAgQhCCAAKAIYIQACQANAIANBf2oiA0UNASAAIAggBygCEBGIgICAAABFDQALQQEPC0EBIQMgCEGAgMQARg0BIAAgASACIAcoAgwRh4CAgAAADQFBACEDA0ACQCAGIANHDQAgBiAGSQ8LIANBAWohAyAAIAggBygCEBGIgICAAABFDQALIANBf2ogBkkPCyAAKAIYIAEgAiAAQRxqKAIAKAIMEYeAgIAAAA8LIAMLVAEBfyOAgICAAEEgayIDJICAgIAAIANBFGpBADYCACADQfT6wIAANgIQIANCATcCBCADIAE2AhwgAyAANgIYIAMgA0EYajYCACADIAIQ+IOAgAAACw0AIAAgARD6g4CAAAALKgAgASAALQAAQQJ0IgBB8JrBgABqKAIAIABB3JrBgABqKAIAEPODgIAACxEAIAA1AgBBASABELSEgIAAC0wBAX8jgICAgABBIGsiAiSAgICAACACQQE6ABggAiABNgIUIAIgADYCECACQeD8wIAANgIMIAJB9PrAgAA2AgggAkEIahCjg4CAAAALHQAgACgCACAAKAIEIAAoAgggACgCDBDmg4CAAAALDQAgACABEOmDgIAAAAsNACAAIAEQ64OAgAAACw0AIAAgARDtg4CAAAALvQUBCn8jgICAgABBMGsiAySAgICAACADQSRqIAE2AgAgA0EDOgAoIANCgICAgIAENwMIIAMgADYCIEEAIQQgA0EANgIYIANBADYCEAJAAkACQAJAIAIoAggiBQ0AIAJBFGooAgAiBkUNASACKAIAIQEgAigCECEAIAZBf2pB/////wFxQQFqIgQhBgNAAkAg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amohAiAAQRBqIgAgB0cNAAsLIAYgCWohACADIARrIQMgAkEIdkH/gfwHcSACQf+B/AdxakGBgARsQRB2IAhqIQggBUUNAAsgBiAKQQJ0aiEAIAVB/////wNqIgRB/////wNxIgJBAWoiAUEDcSEDAkACQCACQQNPDQBBACECDAELIAFB/P///wdxIQFBACECA0AgAEEMaigCACIHQX9zQQd2IAdBBnZyQYGChAhxIABBCGooAgAiB0F/c0EHdiAHQQZ2ckGBgoQIcSAAQQRqKAIAIgdBf3NBB3YgB0EGdnJBgYKECHEgACgCACIHQX9zQQd2IAdBBnZyQYGChAhxIAJqampqIQIgAEEQaiEAIAFBfGoiAQ0ACwsCQCADRQ0AIARBgYCAgHxqIQEDQCAAKAIAIgdBf3NBB3YgB0EGdnJBgYKECHEgAmohAiAAQQRqIQAgAUF/aiIBDQALCyACQQh2Qf+B/AdxIAJB/4H8B3FqQYGABGxBEHYgCGoPCwJAIAENAEEADwsgAUEDcSECAkACQCABQX9qQQNPDQBBACEIDAELIAFBfHEhAUEAIQgDQCAIIAAsAABBv39KaiAAQQFqLAAAQb9/SmogAEECaiwAAEG/f0pqIABBA2osAABBv39KaiEIIABBBGohACABQXxqIgENAAsLIAJFDQADQCAIIAAsAABBv39KaiEIIABBAWohACACQX9qIgINAAsLIAgLXAEBfwJAAkACQCABQYCAxABGDQBBASEEIAAoAhggASAAQRxqKAIAKAIQEYiAgIAAAA0BCyACDQFBACEECyAEDwsgACgCGCACIAMgAEEcaigCACgCDBGHgICAAAALHQAgACgCGCABIAIgAEEcaigCACgCDBGHgICAAAALdAECfyOAgICAAEEgayICJICAgIAAIABBHGooAgAhAyAAKAIYIQAgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggACADIAJBCGoQ/YOAgAAhASACQSBqJICAgIAAIAELDQAgAC0AAEEQcUEEdgsNACAALQAAQSBxQQV2CzQAIAEoAhggAiADIAFBHGooAgAoAgwRh4CAgAAAIQIgAEEAOgAFIAAgAjoABCAAIAE2AgALOgEBfyABKAIYQY/+wIAAQQEgAUEcaigCACgCDBGHgICA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IHRvIHN1YnRyYWN0IHdpdGggb3ZlcmZsb3cAAACpARAAVAAAAE8AAAATAAAAAAAAAAAAAAAAAAAAYXR0ZW1wdCB0byBhZGQgd2l0aCBvdmVyZmxvd2FjdGlvbnNlbmRlcm9wZXJhdG9ycmVjaXBpZW50Y3JhdGVzLmlvOmN3NzIxLWJhc2UwLjEzLjIACgAAAAAAAAABAAAACwAAAAwAAAANAAAADgAAAAoAAAAAAAAAAQAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAACgAAAAAAAAABAAAAFwAAAENvaW5kZW5vbWFtb3VudGJsb2NrdHJhbnNhY3Rpb25jb250cmFjdGhlaWdodHRpbWVjaGFpbl9pZGZ1bmRzYWRkcmVzc2luZGV4L2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Nvc213YXNtLXN0ZC0xLjAuMC1iZXRhOC9zcmMvZXhwb3J0cy5ycwAAAEYDEABnAAAAggAAABoAAABGAxAAZwAAAGYAAAAaAAAARgMQAGcAAADXAAAAGgAAAHdhc21jdXN0b21iYW5rQmFua01zZ3NlbmR0b19hZGRyZXNzV2FzbU1zZ2NsZWFyX2FkbWluY29udHJhY3RfYWRkcnVwZGF0ZV9hZG1pbmFkbWlubWlncmF0ZW5ld19jb2RlX2lkbXNnaW5zdGFudGlhdGVjb2RlX2lkbGFiZWxleGVjdXRlU3ViTXNnaWRnYXNfbGltaXRSZXBseU9ubmV2ZXJzdWNjZXNzZXJyb3JhbHdheXNva0VtcHR5RXZlbnR0eXBlYXR0cmlidXRlc0F0dHJpYnV0ZWtleXZhbHVlUmVzcG9uc2VldmVudHMAAAoAAAAcAAAABAAAABgAAAAZAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2N3LXN0b3JhZ2UtcGx1cy0wLjEzLjIvc3JjL2tleXMucnMAAOQEEABiAAAASQAAABYAAADkBBAAYgAAAEkAAAAOAAAA5AQQAGIAAABKAAAADQAAAC9ob21lL3R3b2Jsb2Nrcy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9jdy1zdG9yYWdlLXBsdXMtMC4xMy4yL3NyYy9wYXRoLnJzAAB4BRAAYgAAACkAAAAWAAAAeAUQAGIAAAApAAAADgAAAHgFEABiAAAALQAAAA0AAAAaAAAAIAAAAAQAAAAbAAAAHAAAAB0AAAAeAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2N3LXN0b3JhZ2UtcGx1cy0wLjEzLjIvc3JjL2luZGV4ZXMvbXVsdGkucnNwayBub3QgZm91bmQAKAYQAGsAAAByAAAAEgAAACgGEABrAAAAcwAAAA8AAABzdGFydF9hZnRlcmxpbWl0aW5jbHVkZV9leHBpcmVkYXRfaGVpZ2h0YXRfdGltZQDfBhAACQAAAOgGEAAHAAAAfgQQAAUAAABDb250cmFjdFZlcnNpb252ZXJzaW9uAAAfAAAADAAAAAQAAAAgAAAAIQAAACIAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjL2ZlNWIxM2Q2ODFmMjVlZTY0NzRiZTI5ZDc0OGM2NWFkY2Q5MWY2OWUvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAABvBxAASwAAAGYJAAAOAAAAY3c3MjFfYmFzZTo6c3RhdGU6OlRva2VuSW5mbzxjb3JlOjpvcHRpb246Ok9wdGlvbjxjdzcyMV9tZXRhZGF0YV9vbmNoYWluOjpNZXRhZGF0YT4+Y3c3MjE6OnF1ZXJ5OjpUb2tlbnNSZXNwb25zZWN3NzIxX2Jhc2U6Om1zZzo6UXVlcnlNc2djdzcyMTo6cXVlcnk6Ok51bVRva2Vuc1Jlc3BvbnNlY3c3MjFfYmFzZTo6bXNnOjpJbnN0YW50aWF0ZU1zZ2N3NzIxOjpxdWVyeTo6QXBwcm92YWxSZXNwb25zZXU2NGNvc213YXNtX3N0ZDo6dHlwZXM6OkVudmNvc213YXNtX3N0ZDo6cmVzdWx0czo6Y29udHJhY3RfcmVzdWx0OjpDb250cmFjdFJlc3VsdDxjb3Ntd2FzbV9zdGQ6OmJpbmFyeTo6QmluYXJ5PmN3NzIxOjpxdWVyeTo6QWxsTmZ0SW5mb1Jlc3BvbnNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGN3NzIxX21ldGFkYXRhX29uY2hhaW46Ok1ldGFkYXRhPj5jdzcyMTo6cXVlcnk6Ok93bmVyT2ZSZXNwb25zZWNvc213YXNtX3N0ZDo6cmVzdWx0czo6Y29udHJhY3RfcmVzdWx0OjpDb250cmFjdFJlc3VsdDxjb3Ntd2FzbV9zdGQ6OnJlc3VsdHM6OnJlc3BvbnNlOjpSZXNwb25zZT51MzJjdzcyMTo6cXVlcnk6Ok9wZXJhdG9yc1Jlc3BvbnNlY3c3MjFfYmFzZTo6bXNnOjpNaW50ZXJSZXNwb25zZWN3NzIxOjpxdWVyeTo6Q29udHJhY3RJbmZvUmVzcG9uc2Vjb3Ntd2FzbV9zdGQ6OmFkZHJlc3Nlczo6QWRkcmN3NzIxOjpxdWVyeTo6TmZ0SW5mb1Jlc3BvbnNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGN3NzIxX21ldGFkYXRhX29uY2hhaW46Ok1ldGFkYXRhPj5jd191dGlsczo6ZXhwaXJhdGlvbjo6RXhwaXJhdGlvbmN3Mjo6Q29udHJhY3RWZXJzaW9uY3c3MjFfYmFzZTo6bXNnOjpFeGVjdXRlTXNnPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGN3NzIxX21ldGFkYXRhX29uY2hhaW46Ok1ldGFkYXRhPj5jdzcyMTo6cXVlcnk6OkFwcHJvdmFsc1Jlc3BvbnNlY29zbXdhc21fc3RkOjp0eXBlczo6TWVzc2FnZUluZm8AAAAKAAAABAAAAAQAAAAjAAAAJAAAACUAAAAKAAAAAAAAAAEAAAAmAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQAnAAAAIAAAAAgAAAAoAAAAVG9rZW5zUmVzcG9uc2VPd25lck9mUmVzcG9uc2VBcHByb3ZhbFJlc3BvbnNlQXBwcm92YWxzUmVzcG9uc2VOdW1Ub2tlbnNSZXNwb25zZWNvdW50T3BlcmF0b3JzUmVzcG9uc2VvcGVyYXRvcnNDb250cmFjdEluZm9SZXNwb25zZU5mdEluZm9SZXNwb25zZUFsbE5mdEluZm9SZXNwb25zZWFjY2Vzc21pc3NpbmcgZmllbGQgYGAAAAChDBAADwAAALAMEAABAAAAZHVwbGljYXRlIGZpZWxkIGAAAADEDBAAEQAAALAMEAABAAAAdW5rbm93biB2YXJpYW50IGBgLCBleHBlY3RlZCAAAADoDBAAEQAAAPkMEAAMAAAAaW52YWxpZCBiYXNlNjQ6IBgNEAAQAAAAaW52YWxpZCBVaW50NjQgJycgLSAwDRAAEAAAAEANEAAEAAAAaW52YWxpZCBVaW50MTI4ICcAAABUDRAAEQAAAEANEAAEAAAAdG9rZW5zX19vd25lcmFsc2VydWV1bGxFeHBpcmF0aW9uTWV0YWRhdGFtZXRhAAAAKwAAAAwAAAAEAAAALAAAAC0AAAAuAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy9mZTViMTNkNjgxZjI1ZWU2NDc0YmUyOWQ3NDhjNjVhZGNkOTFmNjllL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAA9w0QAEsAAABmCQAADgAAAC8AAAAEAAAABAAAADAAAAAxAAAAMgAAAC8AAAAAAAAAAQAAACYAAABBcHByb3ZhbCBub3QgZm91bmQgZm9yOiB8DhAAGAAAAENhbm5vdCBzZXQgYXBwcm92YWwgdGhhdCBpcyBhbHJlYWR5IGV4cGlyZWQAnA4QACsAAAB0b2tlbl9pZCBhbHJlYWR5IGNsYWltZWTQDhAAGAAAAFVuYXV0aG9yaXplZPAOEAAMAAAAbA4QAAAAAAAzAAAADAAAAAQAAAA0AAAANQAAADYAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjL2ZlNWIxM2Q2ODFmMjVlZTY0NzRiZTI5ZDc0OGM2NWFkY2Q5MWY2OWUvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAABbDxAASwAAAGYJAAAOAAAANwAAAAQAAAAEAAAAOAAAADkAAAA6AAAANwAAAAAAAAABAAAAJgAAAGN3NzIxOjpyZWNlaXZlcjo6UmVjZWl2ZXJFeGVjdXRlTXNnQ3c3MjFSZWNlaXZlTXNnc2VuZGVydG9rZW5faWRtc2dSZWNlaXZlckV4ZWN1dGVNc2dyZWNlaXZlX25mdDsAAAAIAAAABAAAADwAAAAvaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY3ctc3RvcmFnZS1wbHVzLTAuMTMuMi9zcmMvaGVscGVycy5ycwAAAFAQEABlAAAAKwAAABEAAAAAAAAAAAAAAGF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3dQEBAAZQAAACsAAAAJAAAAUBAQAGUAAABAAAAAEQAAAFAQEABlAAAAQAAAAAkAAABQEBAAZQAAAEMAAAARAAAAUBAQAGUAAABDAAAACQAAAG9ubHkgc3VwcG9ydHMgbmFtZXNwYWNlcyB1cCB0byBsZW5ndGggMHhGRkZGUBAQAGUAAABWAAAACQAAAC9ob21lL3R3b2Jsb2Nrcy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9jdy1zdG9yYWdlLXBsdXMtMC4xMy4yL3NyYy9pdGVyX2hlbHBlcnMucnMAAHgREABqAAAAKAAAAAUAAAA9AAAAFAAAAAQAAAA+AAAAPwAAAEAAAABBAAAAQgAAAAgAAAAEAAAAQwAAAEQAAABFAAAACAAAAAQAAABGAAAARwAAAFAAAAAMAAAABAAAAFEAAABSAAAAUwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvZmU1YjEzZDY4MWYyNWVlNjQ3NGJlMjlkNzQ4YzY1YWRjZDkxZjY5ZS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAIcSEABLAAAAZgkAAA4AAABUAAAAAAAAAAEAAAAmAAAA5BIQAAAAAABDb252ZXJzaW9uIGVycm9yOiAAAPwSEAASAAAARGl2aWRlIGJ5IHplcm86IBgTEAAQAAAAT3ZlcmZsb3c6IAAAMBMQAAoAAABFcnJvciBzZXJpYWxpemluZyB0eXBlIDogAAAARBMQABcAAABbExAAAgAAAEVycm9yIHBhcnNpbmcgaW50byB0eXBlIHATEAAYAAAAWxMQAAIAAAAgbm90IGZvdW5kAADkEhAAAAAAAJgTEAAKAAAAQ2Fubm90IGRlY29kZSBVVEY4IGJ5dGVzIGludG8gc3RyaW5nOiAAALQTEAAmAAAASW52YWxpZCBkYXRhIHNpemU6IGV4cGVjdGVkPSBhY3R1YWw95BMQABwAAAAAFBAACAAAAEludmFsaWQgQmFzZTY0IHN0cmluZzogABgUEAAXAAAAR2VuZXJpYyBlcnJvcjogADgUEAAPAAAAUmVjb3ZlciBwdWJrZXkgZXJyb3I6IAAAUBQQABYAAABWZXJpZmljYXRpb24gZXJyb3I6IHAUEAAUAAAAQ29udmVyc2lvbk92ZXJmbG93c291cmNlVAAAAAQAAAAEAAAAVQAAAERpdmlkZUJ5WmVyb1QAAAAEAAAABAAAAFYAAABPdmVyZmxvd1QAAAAEAAAABAAAAFcAAABTZXJpYWxpemVFcnJzb3VyY2VfdHlwZQBUAAAABAAAAAQAAABYAAAAbXNnUGFyc2VFcnJ0YXJnZXRfdHlwZU5vdEZvdW5ka2luZEludmFsaWRVdGY4SW52YWxpZERhdGFTaXplZXhwZWN0ZWRUAAAABAAAAAQAAABZAAAAYWN0dWFsSW52YWxpZEJhc2U2NEdlbmVyaWNFcnJSZWNvdmVyUHVia2V5RXJyAAAAVAAAAAQAAAAEAAAAWgAAAFZlcmlmaWNhdGlvbkVycgBUAAAABAAAAAQAAABbAAAAU2hsU2hyUG93TXVsU3ViQWRkQ2Fubm90ICB3aXRoICBhbmQg1hUQAAcAAADdFRAABgAAAOMVEAAFAAAAT3ZlcmZsb3dFcnJvcm9wZXJhdGlvbgAAVAAAAAQAAAAEAAAASQAAAG9wZXJhbmQxb3BlcmFuZDJDb252ZXJzaW9uT3ZlcmZsb3dFcnJvcgBUAAAABAAAAAQAAABcAAAAdmFsdWVDYW5ub3QgZGV2aWRlICBieSB6ZXJvAGUWEAAOAAAAcxYQAAgAAABEaXZpZGVCeVplcm9FcnJvcm9wZXJhbmTTFRAA0BUQAM0VEADKFRAAxxUQAMQVEABdAAAAFAAAAAQAAABeAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jhc2U2NC0wLjEzLjAvc3JjL2VuY29kZS5yc0ludmFsaWQgVVRGOADMFhAAWwAAADQAAAAcAAAAaW50ZWdlciBvdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIGJ1ZmZlciBzaXplAAAAzBYQAFsAAAAvAAAAEQAAAGAAAAAIAAAABAAAAGEAAABVbmtub3duIGVycm9yOiAAlBcQAA8AAABJbnZhbGlkIHJlY292ZXJ5IHBhcmFtZXRlci4gU3VwcG9ydGVkIHZhbHVlczogMCBhbmQgMS4AAKwXEAA2AAAASW52YWxpZCBzaWduYXR1cmUgZm9ybWF07BcQABgAAABJbnZhbGlkIGhhc2ggZm9ybWF0AAwYEAATAAAAVW5rbm93bkVycmVycm9yX2NvZGVgAAAABAAAAAQAAABiAAAASW52YWxpZFJlY292ZXJ5UGFyYW1JbnZhbGlkU2lnbmF0dXJlRm9ybWF0SW52YWxpZEhhc2hGb3JtYXRlcnJvcnJlcXVlc3RyZXNwb25zZWFkZHJraW5kAGQAAAAMAAAABAAAAGUAAABmAAAAUwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvZmU1YjEzZDY4MWYyNWVlNjQ3NGJlMjlkNzQ4YzY1YWRjZDkxZjY5ZS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAPMYEABLAAAAZgkAAA4AAABjb3Ntd2FzbV9zdGQ6OnJlc3VsdHM6OnN5c3RlbV9yZXN1bHQ6OlN5c3RlbVJlc3VsdDxjb3Ntd2FzbV9zdGQ6OnJlc3VsdHM6OmNvbnRyYWN0X3Jlc3VsdDo6Q29udHJhY3RSZXN1bHQ8Y29zbXdhc21fc3RkOjpiaW5hcnk6OkJpbmFyeT4+ZwAAAAAAAAABAAAAJgAAAC9ob21lL3R3b2Jsb2Nrcy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9jb3Ntd2FzbS1zdGQtMS4wLjAtYmV0YTgvc3JjL3NlY3Rpb25zLnJz6BkQAGgAAAAaAAAAEAAAAGF0dGVtcHQgdG8gbXVsdGlwbHkgd2l0aCBvdmVyZmxvdwAAAOgZEABoAAAAGgAAAAUAAAAAAAAAAAAAAAAAAABhdHRlbXB0IHRvIGFkZCB3aXRoIG92ZXJmbG93AAAAAGF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvdwAAAOgZEABoAAAAOQAAABgAAABDYW5ub3QgcmVhZCBzZWN0aW9uIGxlbmd0aAAA6BkQAGgAAAA3AAAACQAAAFRMO0RSOiBWYWx1ZSBtdXN0IG5vdCBiZSBlbXB0eSBpbiBTdG9yYWdlOjpzZXQgYnV0IGluIG1vc3QgY2FzZXMgeW91IGNhbiB1c2UgU3RvcmFnZTo6cmVtb3ZlIGluc3RlYWQuIExvbmcgc3Rvcnk6IEdldHRpbmcgZW1wdHkgdmFsdWVzIGZyb20gc3RvcmFnZSBpcyBub3Qgd2VsbCBzdXBwb3J0ZWQgYXQgdGhlIG1vbWVudC4gU29tZSBvZiBvdXIgaW50ZXJuYWwgaW50ZXJmYWNlcyBjYW5ub3QgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGEgbm9uLWV4aXN0ZW50IGtleSBhbmQgYW4gZW1wdHkgdmFsdWUuIFJpZ2h0IG5vdywgeW91IGNhbm5vdCByZWx5IG9uIHRoZSBiZWhhdmlvdXIgb2YgZW1wdHkgdmFsdWVzLiBUbyBwcm90ZWN0IHlvdSBmcm9tIHRyb3VibGUgbGF0ZXIgb24sIHdlIHN0b3AgaGVyZS4gU29ycnkgZm9yIHRoZSBpbmNvbnZlbmllbmNlISBXZSBoaWdobHkgd2VsY29tZSB5b3UgdG8gY29udHJpYnV0ZSB0byBDb3NtV2FzbSwgbWFraW5nIHRoaXMgbW9yZSBzb2xpZCBvbmUgd2F5IG9yIHRoZSBvdGhlci4vaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY29zbXdhc20tc3RkLTEuMC4wLWJldGE4L3NyYy9pbXBvcnRzLnJzACgdEABnAAAAaQAAAA0AAABnAAAABAAAAAQAAABoAAAAaQAAAGoAAABrAAAAaW5wdXQgdG9vIGxvbmcgZm9yIGFkZHJfdmFsaWRhdGVhZGRyX3ZhbGlkYXRlIGVycm9yZWQ6IADcHRAAFwAAAGlucHV0IHRvbyBsb25nIGZvciBhZGRyX2Nhbm9uaWNhbGl6ZWFkZHJfY2Fub25pY2FsaXplIGVycm9yZWQ6IAAgHhAAGwAAAGFkZHJfaHVtYW5pemUgZXJyb3JlZDogAEQeEAAXAAAATWVzc2FnZVRvb0xvbmcgbXVzdCBub3QgaGFwcGVuLiBUaGlzIGlzIGEgYnVnIGluIHRoZSBWTS4oHRAAZwAAAAYBAAASAAAAKB0QAGcAAAAjAQAAEgAAAEludmFsaWRIYXNoRm9ybWF0IG11c3Qgbm90IGhhcHBlbi4gVGhpcyBpcyBhIGJ1ZyBpbiB0aGUgVk0uACgdEABnAAAAPQEAABIAAABFcnJvciBjb2RlIDIgdW51c2VkIHNpbmNlIENvc21XYXNtIDAuMTUuIFRoaXMgaXMgYSBidWcgaW4gdGhlIFZNLgAAACgdEABnAAAAPAEAABIAAAAoHRAAZwAAAF0BAAASAAAAKB0QAGcAAABcAQAAEgAAAENvbnRyYWN0UmVzdWx0b2tlcnJvcgAAAIofEAACAAAAjB8QAAUAAABtAAAABAAAAAQAAABuAAAAbwAAAHAAAABpbnZhbGlkIGJhc2U2NDogvB8QABAAAAAvaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY29zbXdhc20tc3RkLTEuMC4wLWJldGE4L3NyYy9tZW1vcnkucnNSZWdpb24gcG9pbnRlciBpcyBudWxs1B8QAGYAAAA6AAAABQAAAFJlZ2lvbiBzdGFydHMgYXQgbnVsbCBwb2ludGVyAAAA1B8QAGYAAABAAAAABQAAAFN5c3RlbUVycm9yaW52YWxpZF9yZXF1ZXN0aW52YWxpZF9yZXNwb25zZW5vX3N1Y2hfY29udHJhY3R1bmtub3dudW5zdXBwb3J0ZWRfcmVxdWVzdJsgEAAPAAAAqiAQABAAAAC6IBAAEAAAAMogEAAHAAAA0SAQABMAAABraW5kDCEQAAQAAABhZGRyGCEQAAQAAABlcnJvcnJlc3BvbnNlAAAAJCEQAAUAAAApIRAACAAAAHJlcXVlc3QAJCEQAAUAAABEIRAABwAAAFVua25vd24gZXJyb3I6IABcIRAADwAAAEludmFsaWQgcmVjb3ZlcnkgcGFyYW1ldGVyLiBTdXBwb3J0ZWQgdmFsdWVzOiAwIGFuZCAxLgAAdCEQADYAAABJbnZhbGlkIHB1YmxpYyBrZXkgZm9ybWF0AAAAtCEQABkAAABJbnZhbGlkIHNpZ25hdHVyZSBmb3JtYXTYIRAAGAAAAEludmFsaWQgaGFzaCBmb3JtYXQA+CEQABMAAABHZW5lcmljIGVycm9yAAAAFCIQAA0AAABCYXRjaCBlcnJvcgAsIhAACwAAAFVua25vd25FcnJlcnJvcl9jb2RlcQAAAAQAAAAEAAAAYgAAAEludmFsaWRSZWNvdmVyeVBhcmFtSW52YWxpZFB1YmtleUZvcm1hdEludmFsaWRTaWduYXR1cmVGb3JtYXRJbnZhbGlkSGFzaEZvcm1hdEdlbmVyaWNFcnJCYXRjaEVyci9ydXN0Yy9mZTViMTNkNjgxZjI1ZWU2NDc0YmUyOWQ3NDhjNjVhZGNkOTFmNjllL2xpYnJhcnkvY29yZS9zcmMvaXRlci9hZGFwdGVycy9lbnVtZXJhdGUucnMAxCIQAFsAAAAwAAAACQAAAGF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3cAAAAAYXR0ZW1wdCB0byBtdWx0aXBseSB3aXRoIG92ZXJmbG93AAAAcgAAAAwAAAAEAAAAcwAAAHQAAABTAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy9mZTViMTNkNjgxZjI1ZWU2NDc0YmUyOWQ3NDhjNjVhZGNkOTFmNjllL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAAwyMQAEsAAABmCQAADgAAAHUAAAAAAAAAAQAAACYAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiAAADAkEAAqAAAAL3J1c3RjL2ZlNWIxM2Q2ODFmMjVlZTY0NzRiZTI5ZDc0OGM2NWFkY2Q5MWY2OWUvbGlicmFyeS9jb3JlL3NyYy9pdGVyL3RyYWl0cy9hY2N1bS5ycwAAAGQkEABVAAAAjQAAAAEAAABtaXNzaW5nIGZpZWxkIGBgzCQQAA8AAADbJBAAAQAAAGR1cGxpY2F0ZSBmaWVsZCBgAAAA7CQQABEAAADbJBAAAQAAAHVua25vd24gdmFyaWFudCBgYCwgdGhlcmUgYXJlIG5vIHZhcmlhbnRzAAAAECUQABEAAAAhJRAAGAAAAGAsIGV4cGVjdGVkIBAlEAARAAAATCUQAAwAAAAvaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMC9zcmMvZGVjb2RlLnJzAGglEABbAAAA0gEAAB8AAABoJRAAWwAAANgBAAAfAAAAaCUQAFsAAADbAQAADQAAAGglEABbAAAA4QEAAB8AAABoJRAAWwAAAOQBAAANAAAAaCUQAFsAAADqAQAAHwAAAGglEABbAAAA7QEAAA0AAABoJRAAWwAAAPMBAAAfAAAAaCUQAFsAAAD2AQAADQAAAGglEABbAAAA/AEAAB8AAABoJRAAWwAAAP8BAAANAAAAaCUQAFsAAAAFAgAAHwAAAGglEABbAAAACAIAAA0AAABoJRAAWwAAAA4CAAAfAAAAaCUQAFsAAAARAgAADQAAAGglEABbAAAAbgAAAC8AAAAAAAAAAAAAAAAAAABhdHRlbXB0IHRvIHN1YnRyYWN0IHdpdGggb3ZlcmZsb3cAAABoJRAAWwAAAAMBAAA3AAAAaCUQAFsAAAADAQAAJAAAAGglEABbAAAABAEAACkAAABoJRAAWwAAACEBAAARAAAAaCUQAFsAAAAqAQAAKQAAAGglEABbAAAAKgEAABYAAABoJRAAWwAAAC4BAAApAAAAaCUQAFsAAAAuAQAAKAAAAGglEABbAAAALQEAABoAAABoJRAAWwAAADMBAAARAAAAaCUQAFsAAABBAQAADgAAAGglEABbAAAARAEAACcAAABoJRAAWwAAAEQBAAASAAAAaCUQAFsAAABHAQAACQAAAGglEABbAAAAWAEAABMAAABoJRAAWwAAAGYBAAApAAAAaCUQAFsAAAB4AQAADQAAAGglEABbAAAAggEAABEAAABoJRAAWwAAAIoBAAAVAAAAaCUQAFsAAACOAQAAMQAAAEltcG9zc2libGU6IG11c3Qgb25seSBoYXZlIDAgdG8gOCBpbnB1dCBieXRlcyBpbiBsYXN0IGNodW5rLCB3aXRoIG5vIGludmFsaWQgbGVuZ3RoczQoEABUAAAAaCUQAFsAAACdAQAADgAAAGglEABbAAAAqAEAAA0AAABoJRAAWwAAALEBAAAJAAAAT3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBvdXRwdXQgYnVmZmVyIGxlbmd0aAAAaCUQAFsAAACWAAAACgAAACAkEAAAAAAACCkQAAAAAABCdWZmZXIgaXMgZnVsbAAAECkQAA4AAAAvaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2VyZGUtanNvbi13YXNtLTAuMy4yL3NyYy9zZXIvbW9kLnJzAAAAAGF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvdwAAACgpEABkAAAA1wAAAAkAAAAvaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2VyZGUtanNvbi13YXNtLTAuMy4yL3NyYy9kZS91bmVzY2FwZS5yc8QpEABoAAAAJQAAABUAAADEKRAAaAAAADMAAAApAAAAAAAAAGF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvd05vbi1oZXggQVNDSUkgY2hhcmFjdGVyIGZvdW5kAADEKRAAaAAAAJkAAAAOAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3NlcmRlLWpzb24td2FzbS0wLjMuMi9zcmMvZGUvbW9kLnJzAKAqEABjAAAAJAAAAAkAAAAAAAAAAAAAAAAAAABhdHRlbXB0IHRvIGFkZCB3aXRoIG92ZXJmbG93oCoQAGMAAAB9AAAAIgAAAKAqEABjAAAAgQAAACwAAABcKxAAAAAAAEpTT04gaGFzIGEgY29tbWEgYWZ0ZXIgdGhlIGxhc3QgdmFsdWUgaW4gYW4gYXJyYXkgb3IgbWFwLkpTT04gaGFzIG5vbi13aGl0ZXNwYWNlIHRyYWlsaW5nIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIHZhbHVlLkZvdW5kIGEgbG9uZSBzdXJyb2dhdGUsIHdoaWNoIGNhbiBleGlzdCBpbiBKU09OIGJ1dCBjYW5ub3QgYmUgZW5jb2RlZCB0byBVVEYtOC5PYmplY3Qga2V5IGlzIG5vdCBhIHN0cmluZy5JbnZhbGlkIHVuaWNvZGUgY29kZSBwb2ludC5JbnZhbGlkIHR5cGVJbnZhbGlkIG51bWJlci5JbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZS5FeHBlY3RlZCB0aGlzIGNoYXJhY3RlciB0byBzdGFydCBhIEpTT04gdmFsdWUuRXhwZWN0ZWQgdG8gcGFyc2UgZWl0aGVyIGEgYHRydWVgLCBgZmFsc2VgLCBvciBhIGBudWxsYC5FeHBlY3RlZCB0aGlzIGNoYXJhY3RlciB0byBiZSBlaXRoZXIgYSBgJywnYCBvciBhIGAnfSdgLkV4cGVjdGVkIGEgbG93IHN1cnJvZ2F0ZSAoREMwMOKAk0RGRkYpLkV4cGVjdGVkIHRoaXMgY2hhcmFjdGVyIHRvIGJlIGVpdGhlciBhIGAnLCdgIG9yYSBgJ10nYC5FeHBlY3RlZCBhIGhpZ2ggc3Vycm9nYXRlIChEODAw4oCTREJGRikuRXhwZWN0ZWQgdGhpcyBjaGFyYWN0ZXIgdG8gYmUgYSBgJzonYC5FT0Ygd2hpbGUgcGFyc2luZyBhIEpTT04gdmFsdWUuRU9GIHdoaWxlIHBhcnNpbmcgYSBzdHJpbmcuRU9GIHdoaWxlIHBhcnNpbmcgYW4gb2JqZWN0LkVPRiB3aGlsZSBwYXJzaW5nIGEgbGlzdC5Db250cm9sIGNoYXJhY3RlciBmb3VuZCBpbiBzdHJpbmcueAAAAAgAAAAEAAAAeQAAAHoAAAB7AAAACAAAAAQAAAB8AAAASW52YWxpZCBsYXN0IHN5bWJvbCAsIG9mZnNldCAuAACQLhAAFAAAAKQuEAAJAAAArS4QAAEAAABFbmNvZGVkIHRleHQgY2Fubm90IGhhdmUgYSA2LWJpdCByZW1haW5kZXIuAMguEAArAAAASW52YWxpZCBieXRlIAAAAPwuEAANAAAApC4QAAkAAACtLhAAAQAAAE92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgbnVtYmVyIG9mIGNodW5rcyBpbiBpbnB1dC9ob21lL3R3b2Jsb2Nrcy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9iYXNlNjQtMC4xMy4wL3NyYy9kZWNvZGUucnMAAFcvEABbAAAAvAAAAAoAAAAhIiMkJSYnKCkqKywtMDEyMzQ1Njc4OUBBQkNERUZHSElKS0xNTlBRUlNUVVZYWVpbYGFiY2RlaGlqa2xtcHFyQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLC4vQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkuLzAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktX0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky////////////////////////////////////////////8AAQIDBAUGBwgJCgsM//8NDg8QERITFBUW////////FxgZGhscHR4fICEiIyQl/yYnKCkqKyz/LS4vMP////8xMjM0NTb//zc4OTo7PP//PT4//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z4/////NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AATY3ODk6Ozw9Pj//////////AgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhv///////8cHR4fICEiIyQlJicoKSorLC0uLzAxMjM0Nf//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECAwQFBgcICQoL/////////wwNDg8QERITFBUWFxgZGhscHR4fICEiIyQl////////JicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pv//NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf////8//xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+////PzQ1Njc4OTo7PD3/////////AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBn///////8aGxwdHh8gISIjJCUmJygpKissLS4vMDEyM/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ENhAARDUQAEQ0EABEMxAARDIQAEQxEABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiAAAFw3EAAqAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jhc2U2NC0wLjEzLjAvc3JjL2VuY29kZS5ycwCQNxAAWwAAAJIAAAAnAAAAdXNpemUgb3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBiNjQgbGVuZ3RoAACQNxAAWwAAAJkAAAAKAAAAAAAAAAAAAABhdHRlbXB0IHRvIGFkZCB3aXRoIG92ZXJmbG93kDcQAFsAAAC2AAAAIAAAAJA3EABbAAAAtwAAADoAAACQNxAAWwAAALcAAAAlAAAAkDcQAFsAAAD3AAAAGAAAAAAAAABhdHRlbXB0IHRvIHN1YnRyYWN0IHdpdGggb3ZlcmZsb3cAAACQNxAAWwAAAPwAAAAvAAAAkDcQAFsAAAD8AAAAHAAAAJA3EABbAAAA/QAAADYAAACQNxAAWwAAAP0AAAAhAAAAkDcQAFsAAAATAQAALgAAAJA3EABbAAAAEwEAAAkAAACQNxAAWwAAABQBAAAJAAAAkDcQAFsAAAALAQAALgAAAJA3EABbAAAACwEAAAkAAACQNxAAWwAAAA0BAAAPAAAAkDcQAFsAAAAMAQAACQAAAJA3EABbAAAADwEAAAkAAABJbXBvc3NpYmxlIHJlbWFpbmRlcoQ5EAAUAAAAkDcQAFsAAAAqAQAAFgAAAJA3EABbAAAAOwEAAAkAAAAEMRAAxDAQAIQwEABEMBAABDAQAMQvEABgb25lIG9mINk5EAAHAAAALCAAAOg5EAACAAAA2DkQAAEAAADYORAAAQAAAGAgb3IgYAAA2DkQAAEAAAAEOhAABgAAANg5EAABAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3NlcmRlLTEuMC4xMzMvc3JjL2RlL21vZC5yc2V4cGxpY2l0IHBhbmljAAAAJDoQAFsAAADiCAAAEgAAAIIAAAAIAAAABAAAAIMAAACEAAAAhQAAAAgAAAAEAAAAhgAAAIgAAAAEAAAABAAAAIkAAACKAAAAiwAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkCgAABzsQABUAAAAcOxAADgAAAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5yczw7EAAYAAAASQEAAAkAAABsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzZDsQABwAAABGAgAAHwAAAGQ7EAAcAAAARwIAAB4AAACMAAAADAAAAAQAAACNAAAAiAAAAAgAAAAEAAAAjgAAAI8AAAAQAAAABAAAAJAAAACRAAAAiAAAAAgAAAAEAAAAkgAAAJMAAACUAAAABAAAAAQAAACVAAAAlgAAAJcAAACUAAAABAAAAAQAAACYAAAAlAAAAAAAAAABAAAAJgAAAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnNjYXBhY2l0eSBvdmVyZmxvdwAAADw8EAARAAAAIDwQABwAAAAFAgAABQAAAGEgZm9ybWF0dGluZyB0cmFpdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvcmxpYnJhcnkvYWxsb2Mvc3JjL2ZtdC5ycwCbPBAAGAAAAFUCAAAcAAAAKWxpYnJhcnkvYWxsb2Mvc3JjL3ZlYy9tb2QucnMpIHNob3VsZCBiZSA8PSBsZW4gKGlzIGBhdGAgc3BsaXQgaW5kZXggKGlzIAAAAPg8EAAVAAAA4TwQABcAAADEPBAAAQAAAMU8EAAcAAAAmwcAAA0AAABGcm9tVXRmOEVycm9yYnl0ZXMAAJQAAAAEAAAABAAAAJkAAABlcnJvcgAAAJQAAAAEAAAABAAAAJoAAABudW1iZXIgd291bGQgYmUgemVybyBmb3Igbm9uLXplcm8gdHlwZW51bWJlciB0b28gc21hbGwgdG8gZml0IGluIHRhcmdldCB0eXBlbnVtYmVyIHRvbyBsYXJnZSB0byBmaXQgaW4gdGFyZ2V0IHR5cGVpbnZhbGlkIGRpZ2l0IGZvdW5kIGluIHN0cmluZ2Nhbm5vdCBwYXJzZSBpbnRlZ2VyIGZyb20gZW1wdHkgc3RyaW5nLi4AKT4QAAIAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlAKAAAAAAAAAAAQAAAKEAAAB0PRAAAAAAAGluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgIGJ1dCB0aGUgaW5kZXggaXMgAAB4PhAAIAAAAJg+EAASAAAAoAAAAAQAAAAEAAAAogAAAGA6IAB0PRAAAAAAAM0+EAACAAAAoAAAAAwAAAAEAAAAowAAAKQAAAClAAAAICAgICB7CiwKLCAgeyB9IH0oCigsKQpboAAAAAQAAAAEAAAApgAAAF1saWJyYXJ5L2NvcmUvc3JjL2ZtdC9udW0ucnMweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXNzZXJ0aW9uIGZhaWxlZDogKmN1cnIgPiAxOQAAIT8QABsAAADlAQAABQAAAKAAAAAEAAAABAAAAKcAAACoAAAAqQAAAHJhbmdlIHN0YXJ0IGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCBMQBAAEgAAAF5AEAAiAAAAbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pbmRleC5ycwCQQBAAHwAAADQAAAAFAAAAcmFuZ2UgZW5kIGluZGV4IMBAEAAQAAAAXkAQACIAAACQQBAAHwAAAEkAAAAFAAAAc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBidXQgZW5kcyBhdCAA8EAQABYAAAAGQRAADQAAAJBAEAAfAAAAXAAAAAUAAABpbmNvbXBsZXRlIHV0Zi04IGJ5dGUgc2VxdWVuY2UgZnJvbSBpbmRleCAA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" - }, - "deposit_end_time": "2023-03-08T16:57:56.964266549Z", - "final_tally_result": { "abstain": "0", "no": "0", "no_with_veto": "0", "yes": "1000000" }, - "proposal_id": "1", - "status": "PROPOSAL_STATUS_PASSED", - "submit_time": "2023-03-06T16:57:56.964266549Z", - "total_deposit": [{ "amount": "10000000000", "denom": "uixo" }], - "voting_end_time": "2023-03-06T16:59:26.964266549Z", - "voting_start_time": "2023-03-06T16:57:56.964266549Z" - }, - { - "content": { - "@type": "/cosmwasm.wasm.v1.StoreCodeProposal", - "description": "Description", - "instantiate_permission": { "address": "", "addresses": [], "permission": "Everybody" }, - "run_as": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "title": "Upload ixo1155 smart contract", - "unpin_code": false, - "wasm_byte_code": "AGFzbQEAAAABtQEZYAJ/fwBgAn9/AX9gA39/fwBgA39/fwF/YAR/f39/AGABfwBgAX8Bf2AGf39/f39/AGAFf39/f38AYAF/AX5gAABgB39/f39/f38AYAh/f39/f39/fwBgBH9/f38Bf2AFf39/f38Bf2ADf39/AX5gBX9/f39+AGAJf39/f39/f35+AGAGf39+fn5+AGADf39+AGAAAX9gA35/fwBgB39/f39/f38Bf2ACfn8Bf2AFf35+fn4AApoCDwNlbnYFYWJvcnQABQNlbnYHZGJfcmVhZAAGA2VudghkYl93cml0ZQAAA2VudglkYl9yZW1vdmUABQNlbnYHZGJfc2NhbgADA2VudgdkYl9uZXh0AAYDZW52DWFkZHJfdmFsaWRhdGUABgNlbnYRYWRkcl9jYW5vbmljYWxpemUAAQNlbnYNYWRkcl9odW1hbml6ZQABA2VudhBzZWNwMjU2azFfdmVyaWZ5AAMDZW52GHNlY3AyNTZrMV9yZWNvdmVyX3B1YmtleQAPA2Vudg5lZDI1NTE5X3ZlcmlmeQADA2VudhRlZDI1NTE5X2JhdGNoX3ZlcmlmeQADA2VudgVkZWJ1ZwAFA2VudgtxdWVyeV9jaGFpbgAGA+MC4QIIAAIICAIQAAAAAAAABAUAAgICAAAABAIAAAACAAICBAACAgIHAgAACAIABwcHAAcHBwACAAUIAAICAgIABQICAggCAgEBAQEBBQUFBQUFAgICAgICAAEBAQMDBAICAgIAAhEIAwMBAQ0BAwAAAAIEAgIFAAAEAAACAQEBAwEAAAkKAAAIBwAFAgILAAEBAQEBAQEAEgEBAAACAAIAAgIIAQABBAgCCwoEBAIMCwwMAgQFAAAAAAAAAAACBgUBAQAAAAAAAQEBAQEBAQACBgACAQEBAQEBBRMEAAQCAAQAAgUAAAAEAAAAAAEAAAIBAgIBAQEAAAkFAQEBBgAFABQFAAoAAAAACAEGBgYGBgYGAAAAAAIBAQYGBgYGBgEBAQEBAAoAAQABAQACAAADAgABAQEDAQkCDgIBAQEBCAMEBhUBDgEBAwEBAgENAwEGBgQDBgYDAQEBFhcBAQEBGAMDAgQHAXABrwGvAQUDAQARBhkDfwFBgIDAAAt/AEGwnMEAC38AQbCcwQALB4sBCgZtZW1vcnkCAAtpbnN0YW50aWF0ZQBzB2V4ZWN1dGUAdAVxdWVyeQB1E2ludGVyZmFjZV92ZXJzaW9uXzgAtgEIYWxsb2NhdGUAygEKZGVhbGxvY2F0ZQDLARFyZXF1aXJlc19pdGVyYXRvcgC2AQpfX2RhdGFfZW5kAwELX19oZWFwX2Jhc2UDAgmbAgEAQQELrgFWgAJVvwK+AjxAOz46P1RZsgG1AbMBtAG3AbgBuQG6AbsBvAG9Ab4BvwFaFhlfYhhgYxdeYVNbaWZXaGVn6AIdpQFbeXiIAVlbeXhZWYsBiQGKAVmSAZEBWY8BlgGVARmXAZgB1wGdAaAB1gHNAeIBoQGfAVt5eNgBWZ4BnAGbAdUB4QHMAdQB4AFWrwFZxwHGAVt5eKYBpwGpAasBqAGqAVu1AlmPAeMBWd8BW3l4WYsBiQHZAfwBWfoB+QFWWY8B5AJWgQJWWYMCggJZjwGPAllohgKHAluEAo8BhQKRApICkwKUAllorgKvAqwCqwKtAscCwgLjArYCyALJAlVZwwLMAtIC0wLrAtQC1QLWAukC6gIKr58N4QK+BgIEfwF+IwBB0ABrIgUkACABKAIAIQcCQCABLQAEBEAgBygCCCEGDAELIAcoAggiCCAHQQRqKAIARgRAIAcgCBAQIAcoAgghCAsgByAIQQFqIgY2AgggBygCACAIakEsOgAACyABQQA6AAQgB0EEaiIBKAIAIAZGBEAgByAGEBAgBygCCCEGCyAHKAIAIAZqQSI6AAAgByAGQQFqIgY2AgggAyABKAIAIAZrSwRAIAcgBiADEBEgBygCCCEGCyAHKAIAIAZqIAIgAxDuAhogByADIAZqIgY2AgggB0EEaigCACAGa0EBTQRAIAcgBkECEBEgBygCCCEGCyAHKAIAIAZqQaL0ADsAACAHIAZBAmo2AgggBCgCACEGIAVBQGsgByAEKAIIIgEQ6gECQAJAAkAgBSgCQEUEQCAFQcgAai0AACEEIAUoAkQhAgJAAkAgAQRAIAFBBXQhASAEQf8BcUUhAyAFQUBrQQRyIQQDQCADQQFxBEAgAigCCCIDIAJBBGooAgBGBEAgAiADEBAgAigCCCEDCyACIANBAWo2AgggAigCACADakEsOgAACyAFQUBrIAIQ6wEgBSgCQA0CIAUgBS0ASDoAPCAFIAUoAkQ2AjggBUFAayAFQThqQdyAwABBBSAGQRBqEBIgBSgCQA0DIAVBQGsgBUE4akHhgMAAQQYgBhATIAUoAkAEQCAFQTRqIAVBzABqKAIANgIAIAUgBSkCRDcCLAwGCyAFQShqIAUoAjggBS0APBD9ASAFKAIoDQUgBkEgaiEGQQEhAyABQSBrIgENAAtBACEEC0EAIQYgBUEYaiACIARB/wFxQQBHEPsBIAUoAhgNBAwFCyAFQTRqIARBCGooAgA2AgAgBSAEKQIANwIsDAILIAVBNGogBUHMAGooAgA2AgAgBSAFKQJENwIsDAELIAVBJGogBUFAa0EEciIBQQhqKAIANgIAIAUgASkCADcCHAwBCyAFQSRqIAVBNGooAgA2AgAgBSAFKQIsNwIcCyAFQRBqIAVBJGooAgAiATYCACAFIAUpAhwiCTcDCCAAQQxqIAE2AgAgACAJNwIEQQEhBgsgACAGNgIAIAVB0ABqJAALsAEBA38jAEEgayICJAACQCABIAFBAWoiAUsNACAAQQRqKAIAIgNBAXQiBCABIAEgBEkbIgFBCCABQQhLGyEBIAIgAwR/IAIgAzYCFCACIAAoAgA2AhBBAQVBAAs2AhggAiABQQEgAkEQahBqIAIoAgAEQCACQQhqKAIAIgBFDQEgAigCBCAAELACAAsgAigCBCEDIABBBGogATYCACAAIAM2AgAgAkEgaiQADwsQsQIAC7ABAQJ/IwBBIGsiAyQAAkAgASABIAJqIgFLDQAgAEEEaigCACICQQF0IgQgASABIARJGyIBQQggAUEISxshASADIAIEfyADIAI2AhQgAyAAKAIANgIQQQEFQQALNgIYIAMgAUEBIANBEGoQaiADKAIABEAgA0EIaigCACIARQ0BIAMoAgQgABCwAgALIAMoAgQhAiAAQQRqIAE2AgAgACACNgIAIANBIGokAA8LELECAAvxAgIEfwF+IwBBIGsiByQAIAEoAgAhBQJAIAEtAAQEQCAFKAIIIQYMAQsgBSgCCCIIIAVBBGooAgBGBEAgBSAIEBAgBSgCCCEICyAFIAhBAWoiBjYCCCAFKAIAIAhqQSw6AAALIAFBADoABCAFQQRqIgEoAgAgBkYEQCAFIAYQECAFKAIIIQYLIAUoAgAgBmpBIjoAACAFIAZBAWoiBjYCCCADIAEoAgAgBmtLBEAgBSAGIAMQESAFKAIIIQYLIAUoAgAgBmogAiADEO4CGiAFIAMgBmoiBjYCCCAFQQRqKAIAIAZrQQFNBEAgBSAGQQIQESAFKAIIIQYLIAUoAgAgBmpBovQAOwAAIAUgBkECajYCCCAHQRBqIAUgBCgCACAEQQhqKAIAEOcBIAAgBygCEAR/IAdBCGogB0EcaigCACIBNgIAIAcgBykCFCIJNwMAIABBDGogATYCACAAIAk3AgRBAQVBAAs2AgAgB0EgaiQAC+UCAgR/AX4jAEEgayIHJAAgASgCACEFAkAgAS0ABARAIAUoAgghBgwBCyAFKAIIIgggBUEEaigCAEYEQCAFIAgQECAFKAIIIQgLIAUgCEEBaiIGNgIIIAUoAgAgCGpBLDoAAAsgAUEAOgAEIAVBBGoiASgCACAGRgRAIAUgBhAQIAUoAgghBgsgBSgCACAGakEiOgAAIAUgBkEBaiIGNgIIIAMgASgCACAGa0sEQCAFIAYgAxARIAUoAgghBgsgBSgCACAGaiACIAMQ7gIaIAUgAyAGaiIGNgIIIAVBBGooAgAgBmtBAU0EQCAFIAZBAhARIAUoAgghBgsgBSgCACAGakGi9AA7AAAgBSAGQQJqNgIIIAdBEGogBCAFEDggACAHKAIQBH8gB0EIaiAHQRxqKAIAIgE2AgAgByAHKQIUIgk3AwAgAEEMaiABNgIAIAAgCTcCBEEBBUEACzYCACAHQSBqJAALnAMCBH8BfiMAQTBrIgUkACABKAIAIQMCQCABLQAEBEAgAygCCCEEDAELIAMoAggiBiADQQRqKAIARgRAIAMgBhAQIAMoAgghBgsgAyAGQQFqIgQ2AgggAygCACAGakEsOgAACyABQQA6AAQgA0EEaiIBKAIAIARGBEAgAyAEEBAgAygCCCEECyADKAIAIARqQSI6AAAgAyAEQQFqIgQ2AgggASgCACAEa0ECTQRAIAMgBEEDEBEgAygCCCEECyADKAIAIARqIgFBnYPAAC8AADsAACABQQJqQZ+DwAAtAAA6AAAgAyAEQQNqIgQ2AgggA0EEaigCACAEa0EBTQRAIAMgBEECEBEgAygCCCEECyADKAIAIARqQaL0ADsAACADIARBAmo2AgggBUEgaiACENoBIAVBEGogAyAFKAIgIgEgBSgCKBDnASAFKAIkBEAgARCOAgsgACAFKAIQBH8gBUEIaiAFQRxqKAIAIgE2AgAgBSAFKQIUIgc3AwAgAEEMaiABNgIAIAAgBzcCBEEBBUEACzYCACAFQTBqJAAL5AIBBH8jAEEgayIHJAAgASgCACEFAkAgAS0ABARAIAUoAgghBgwBCyAFKAIIIgggBUEEaigCAEYEQCAFIAgQECAFKAIIIQgLIAUgCEEBaiIGNgIIIAUoAgAgCGpBLDoAAAsgAUEAOgAEIAVBBGoiASgCACAGRgRAIAUgBhAQIAUoAgghBgsgBSgCACAGakEiOgAAIAUgBkEBaiIGNgIIIAMgASgCACAGa0sEQCAFIAYgAxARIAUoAgghBgsgBSgCACAGaiACIAMQ7gIaIAUgAyAGaiIGNgIIIAVBBGooAgAgBmtBAU0EQCAFIAZBAhARIAUoAgghBgsgBSgCACAGakGi9AA7AAAgBSAGQQJqNgIIIAdBEGogBSAEEOYBIAAgBygCEAR/IAdBCGogB0EcaigCACIBNgIAIAcgBykCFCIENwMAIABBDGogATYCACAAIAQ3AgRBAQVBAAs2AgAgB0EgaiQAC/ACAQZ/IwBB8ABrIgIkACACQQhqIAEoAgAgASgCBCgCDBEAAAJAIAIoAghFBEAgAEECNgIADAELIAFBHGooAgAhAyABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgAkEwaiACQRhqKQMANwMAIAJBKGoiByACQRBqKQMANwMAIAIgAikDCDcDICACQcgAaiAGIAUgBCADIAJBIGogAREHACACQdAAaiEBIAACfyACKQNIUARAIAcgAUEIaigCADYCACACIAEpAgA3AyBBAAwBCyACQTxqIAFBGGopAgA3AgAgAkE0aiABQRBqKQIANwIAIAJBLGogAUEIaikCADcCACACIAEpAgA3AiRBAQs2AgAgACACKQMgNwIEIABBDGogAkEoaikDADcCACAAQRRqIAJBMGopAwA3AgAgAEEcaiACQThqKQMANwIAIABBJGogAkFAaygCADYCAAsgAkHwAGokAAurAQEFfyMAQTBrIgIkACACIAEoAgAgASgCBCgCDBEAAAJAIAIoAgBFBEAgAEICNwMADAELIAFBHGooAgAhAyABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgAkEoaiACQRBqKQMANwMAIAJBIGogAkEIaikDADcDACACIAIpAwA3AxggACAGIAUgBCADIAJBGGogAREHAAsgAkEwaiQAC4kDAQV/IwBB8ABrIgIkACACQQhqIAEoAgAgASgCBCgCDBEAAAJAIAIoAghFBEAgAEECNgIADAELIAFBHGooAgAhAyABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgAkEwaiACQRhqKQMANwMAIAJBKGogAkEQaikDADcDACACIAIpAwg3AyAgAkHIAGogBiAFIAQgAyACQSBqIAERBwAgAAJ/IAIoAkhFBEAgAkHcAGooAgAEQCACQdgAaigCABCOAgsgAkEoaiACQdQAaigCADYCACACIAIpAkw3AyBBAAwBCyACQTxqIAJB6ABqKQMANwIAIAJBNGogAkHgAGopAwA3AgAgAkEsaiACQdgAaikDADcCACACIAJB0ABqKQMANwIkQQELNgIAIAAgAikDIDcCBCAAQQxqIAJBKGopAwA3AgAgAEEUaiACQTBqKQMANwIAIABBHGogAkE4aikDADcCACAAQSRqIAJBQGsoAgA2AgALIAJB8ABqJAALFAAgACABKAIAIAEoAgQoAhARAAAL9wICB38EfiMAQdAAayICJAACQCABKAIIIgMgASgCDEYNACABKAIYIQQgASADQQxqNgIIIAMoAgAiBkUNACADKAIEIQcgAUEUaigCACEFIAEoAhAiASgCBCEIIAEoAgAhASACQQhqIAMoAgg2AgAgAiAGNgIEIAIgBTYCACACQUBrIgMgAhAbIAJBGGogAyABIAgQHCACKAJEBEAgAigCQBCOAgsgAkEwaikDACEJIAJBKGopAwAhCiACKQMgIQsgAikDGFAEQEIAIAkgC1AiARshCUIAIAogARshC0EBIQUgB0UEQCAJIQoMAgsgBhCOAiAJIQoMAQsgAkEQaiAJNwMAIAJBCGogCjcDACACIAs3AwAgAkE4aikDACEMIAcEQCAGEI4CCyAEKAIAQQxHBEAgBBAdCyAEIAs3AwAgBCAMNwMYIAQgCTcDECAEIAo3AwhBACEFCyAAIAs3AwggAEEQaiAKNwMAIAAgBa03AwAgAkHQAGokAAvXBgIMfwF+IwBBMGsiAyQAIANBCGogARCaASADQRhqIAFBBGoQjgEgAygCICICQRRsIQQgAygCHCEFIAMoAhgh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3IDAAEEFEO0CGyEFDAELQX5BASARQeGAwABBBhDtAhshBQsgAgRAIBEQjgILIAVBHnRBHnVBAEgNDCAFQQNxQQFrDQIMBAsgD0UNCCAdUEUNByADQagBakEEckHhgMAAQQYQICADQbgBaigCACEIIANBtAFqKAIAIRAgAygCsAEhBiADKAKsASEFIBVFDRUgDxCOAgwVCyARQdyAwABBBRDtAg0KCyAPRQ0EIANBqAFqQdyAwABBBRAhIANBtAFqKAIAIQggA0GwAWooAgAMAgsgEUHhgMAAQQYQ7QINCAsgHUIBUg0BIANBqAFqQeGAwABBBhAhIANBtAFqKAIAIQggA0GwAWooAgALIRAgAygCrAEhBiADKAKoASEFDA8LIANBwAFqIAsQ9AECQCADKALAASIFQRVHBEAgFCADKQLEATcCACAUQQhqIANBzAFqKAIANgIADAELIANBqAFqIAsQIiADKAKoAUUNBSADKAKsASEFCyADKAK4ASEIIAMoArQBIRAgAygCsAEhBgwOCyADQcABaiALEPQBAkAgAygCwAEiBUEVRwRAIBQgAykCxAE3AgAgFEEIaiADQcwBaigCADYCAAwBCyADQagBaiALECMgAygCqAFFDQMgAygCrAEhBQsgA0G4AWooAgAhCCADKAK0ASEQIAMoArABIQYMDgsgA0GoAWogEhDyASADKAKoASIFQRVHBEAgA0G0AWooAgAhCCADQbABaigCACEQIAMoAqwBIQYgFUUNDiAPEI4CDA4LIBytIR0MBgsgA0GoAWpBBHJB3IDAAEEFECAgA0G4AWooAgAhCCADQbQBaigCACEQIANBsAFqKAIAIQYgAygCrAEhBQwMCyADKAK0ASEcIAMoArABIRUgAygCrAEhDwwCCyADKQOwASIeQiCIpyEQIBspAwAiHUIgiKchGiAepyEGIB2nIQhCASEdDAELIANBqAFqIAsQ9AECQCADKAKoASIFQRVHBEAgA0HMAWogA0G0AWooAgA2AgAgAyADKQKsATcCxAEMAQsgA0HAAWogCxAkIAMoAsABIgVBFUYNAQsgA0HMAWooAgAhCCADQcgBaigCACEQIAMoAsQBIQYMCAsgA0EIaiALEPYBQQAhBSADLQAJIQQgAy0ACEEBcQ0AC0ECIQUMBgsgDwRAIAMoApwBIAlGBEAgA0GYAWohCyMAQSBrIgQkAAJAAkAgCSAJQQFqIgJLDQAgC0EEaigCACIRQQF0IgEgAiABIAJLGyIBQQQgAUEESxsiCkH///8/cSAKRkEDdCECIApBBXQhASAEIBEEfyAEIBFBBXQ2AhQgBCALKAIANgIQQQgFQQALNgIYIAQgASACIARBEGoQaiAEKAIABEAgBEEIaigCACIARQ0BIAQoAgQgABCwAgALIAQoAgQhASALQQRqIAo2AgAgCyABNgIAIARBIGokAAwBCxCxAgALIAMoAqABIQkgAygCmAEhCgsgCiAJQQV0aiIBIA82AhAgAUEYaiAdNwMAIAFBFGogFTYCACABIAitIBqtQiCGhDcDCCABIAatIBCtQiCGhDcDAEEBIQUgAyAJQQFqIgk2AqABIANBGGogEhD2ASADLQAZIQIgAy0AGEEBcQ0BDAcLCyADKAKcASEKIAMoApgBIQQgA0GoAWogDBDxASADKAKoASIRQRVGDQogA0G0AWooAgAhCCADQbABaigCACENIAMoAqwBIQYgCQRAIAlBBXQhAiAEQRRqIQEDQCABKAIABEAgAUEEaygCABCOAgsgAUEgaiEBIAJBIGsiAg0ACwsgCkUgCkEFdEVyRQRAIAQQjgILIBEhBwwQCyADQagBaiADQYgBahDyASADKAKoASIHQRVHBEAgA0G0AWooAgAhCCADQbABaigCACENIAMoAqwBIQYgEwRAIA4QjgILIAkEQCAJQQV0IQIgBEEUaiEBA0AgASgCAARAIAFBBGsoAgAQjgILIAFBIGohASACQSBrIgINAAsLIApFIApBBXRFcg0RIAQQjgIMEQsgA0GoAWogA0GIAWoQ8AEgAygCqAEiB0EVRwRAIANBtAFqKAIAIQggA0GwAWooAgAhDSADKAKsASEGIBMEQCAOEI4CCyAJBEAgCUEFdCECIARBFGohAQNAIAEoAgAEQCABQQRrKAIAEI4CCyABQSBqIQEgAkEgayICDQALCyAKRSAKQQV0RXINESAEEI4CDBELIABBGGogCTYCACAAQRRqIAo2AgAgAEEQaiAENgIAIABBDGogDTYCACAAQQhqIBM2AgAgACAONgIEQQAhFgwRCyADQagBaiAMEPQBIAMoAqgBIgFBFUYEQCADQagBaiAMECMgAygCtAEhDSADKAKwASEGIAMoAqwBIQ4gAygC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AWoiBTYCCCACQQA6ADQgAygCACAFRgRAIAQgBRAQIAQoAgghBQsgBCgCACAFakEiOgAAIAQgBUEBaiIFNgIIIAFBKGohAyAEQQRqIgYoAgAgBWtBA00EQCAEIAVBBBARIAQoAgghBQsgBCgCACAFakHkwtGLBjYAACAEIAVBBGoiATYCCCAGKAIAIAFrQQFNBEAgBCABQQIQESAEKAIIIQELIAQoAgAgAWpBovQAOwAAIAQgAUECajYCCCADKAIADQEgAkGAAWogBBDoAQwCCyACQfwAaiAHQQhqKAIANgIAIAIgBykCADcCdAwFCyACQfAAaiADENoBIAJBgAFqIAQgAigCcCIBIAIoAngQ5wEgAigCdEUNACABEI4CCyACKAKAAQRAIAJBLGogAkGMAWooAgA2AgAgAiACKQKEATcCJAwJCyACQSBqIARBABD9ASACKAIgDQggAigCCCIDIAIoAgRGBEAgAiADEBAgAigCCCEDCyACKAIAIANqQf0AOgAAIAIgA0EBajYCCAsgAkH4AGogAkEIaigCACIBNgIAIAIgAikDACIRNwNwIABBDGogATYCACAAIBE3AgRBAAwJCyACQfwAaiACQYwBaigCADYCACACIAIpAoQBNwJ0DAELIAJB7ABqIAJBgAFqQQRyIgFBCGooAgA2AgAgAiABKQIANwJkDAELIAJB7ABqIAJB/ABqKAIANgIAIAIgAikCdDcCZAsgAkEsaiACQewAaigCADYCACACIAIpAmQ3AiQMAwsgAkHEAGogAkGAAWpBBHIiAUEIaigCADYCACACIAEpAgA3AjwMAQsgAkHEAGogAkHsAGooAgA2AgAgAiACKQJkNwI8CyACQSxqIAJBxABqKAIANgIAIAIgAikCPDcCJAsgAkEcaiACQSxqKAIANgIAIAIgAikCJDcCFAsgAkH4AGoiASACQRxqKAIANgIAIAIgAikCFDcDcCACKAIEBEAgAigCABCOAgsgAkGIAWogASgCADYCACACIAIpA3A3A4ABIABBCGpB0pDAAEHhACACQYABahAuQQELNgIAIAJBkAFqJAAL8gICAn8BfiMAQSBrIgQkACABKAIIIgMgAUEEaigCAEYEQCABIAMQECABKAIIIQMLIAEgA0EBajYCCCABKAIAIANqQfsAOgAAIARBEGogAUHgg8AAQQUQ5wECQAJAIAQoAhBFBEAgASgCCCIDIAFBBGooAgBGBEAgASADEBAgASgCCCEDCyABIANBAWo2AgggASgCACADakE6OgAAIARBEGogASACKAIAIAJBCGooAgAQ5wEgBCgCEA0BIAEoAggiAyABQQRqKAIARgRAIAEgAxAQIAEoAgghAwsgAEEANgIAIAEgA0EBajYCCCABKAIAIANqQf0AOgAADAILIARBCGogBEEcaigCACIBNgIAIAQgBCkCFCIFNwMAIABBDGogATYCACAAIAU3AgQgAEEBNgIADAELIARBCGogBEEcaigCACIBNgIAIAQgBCkCFCIFNwMAIABBDGogATYCACAAIAU3AgQgAEEBNgIACyAEQSBqJAAL1AYCBX8BfiMAQdAAayIDJAAgASgCACEFAkAgAS0ABARAIAUoAgghBAwBCyAFKAIIIgYgBUEEaigCAEYEQCAFIAYQECAFKAIIIQYLIAUgBkEBaiIENgIIIAUoAgAgBmpBLDoAAAsgAUEAOgAEIAVBBGoiASgCACAERgRAIAUgBBAQIAUoAgghBAsgBSgCACAEakEiOgAAIAUgBEEBaiIENgIIIAEoAgAgBGtBCU0EQCAFIARBChARIAUoAgghBAsgBSgCACAEaiIBQfuDwAApAAA3AAAgAUEIakGDhMAALwAAOwAAIAUgBEEKaiIENgIIIAVBBGooAgAgBGtBAU0EQCAFIARBAhARIAUoAgghBAsgBSgCACAEakGi9AA7AAAgBSAEQQJqNgIIIAIoAgAhBCADQUBrIAUgAigCCCIBEOoBAkACQAJAIAMoAkBFBEAgA0HIAGotAAAhBiADKAJEIQICQAJAIAEEQCAEIAFBGGxqIQcgBkH/AXFFIQEgA0FAa0EEciEFA0AgAUEBcQRAIAIoAggiASACQQRqKAIARgRAIAIgARAQIAIoAgghAQsgAiABQQFqNgIIIAIoAgAgAWpBLDoAAAsgA0FAayACEOsBIAMoAkANAiADIAMtAEg6ADwgAyADKAJENgI4IANBQGsgA0E4akGOhMAAQQMgBBASIAMoAkANAyADQUBrIANBOGpBkYTAAEEFIARBDGoiBBASIAMoAkAEQCADQTRqIANBzABqKAIANgIAIAMgAykCRDcCLAwGCyADQShqIAMoAjggAy0APBD9ASADKAIoDQVBASEBIARBDGoiBCAHRw0AC0EAIQYLQQAhBCADQRhqIAIgBkH/AXFBAEcQ+wEgAygCGA0EDAULIANBNGogBUEIaigCADYCACADIAUpAgA3AiwMAgsgA0E0aiADQcwAaigCADYCACADIAMpAkQ3AiwMAQsgA0EkaiADQUBrQQRyIgFBCGooAgA2AgAgAyABKQIANwIcDAELIANBJGogA0E0aigCADYCACADIAMpAiw3AhwLIANBEGogA0EkaigCACIBNgIAIAMgAykCHCIINwMIIABBDGogATYCACAAIAg3AgRBASEECyAAIAQ2AgAgA0HQAGokAAv0AQECfyMAQUBqIgQkAAJAAkACQAJAIAJFBEBBASEFDAELIAJBAEgNASACQQEQdiIFRQ0CCyAFIAEgAhDuAiEBIARBADYCCCAEQgE3AwAgBEEQaiIFIARBhI3AABDXAiADIAUQ5AENAiAAQQxqIAI2AgAgAEEIaiACNgIAIAAgATYCBCAAQRBqIAQpAwA3AgAgAEEINgIAIABBGGogBEEIaigCADYCAAJAIAMoAgAiAEUNACADQQRqKAIARQ0AIAAQjgILIARBQGskAA8LELECAAsgAkEBELACAAtBnI3AAEE3IARBOGpB5JPAAEGgjsAAEMsCAAuRBwIGfwF+IwBB8ABrIgIkACACQUBrIgMQ5QEgAkEIaiADEOsBIAACfwJAAkAgAigCCEUEQCACKAIMIQQgAkEQai0AAARAIAQoAgghAwwCCyAEKAIIIgUgBEEEaigCAEYEQCAEIAUQECAEKAIIIQULIAQgBUEBaiIDNgIIIAQoAgAgBWpBLDoAAAwBCyACQdwAaiACQQhqQQRyIgFBCGooAgA2AgAgAiABKQIANwJUDAELIARBBGoiBSgCACADRgRAIAQgAxAQIAQoAgghAwsgBCgCACADakEiOgAAIAQgA0EBaiIDNgIIIAUoAgAgA2tBBU0EQCAEIANBBhARIAQoAgghAwsgBCgCACADaiIFQcGLwAAoAAA2AAAgBUEEakHFi8AALwAAOwAAIAQgA0EGaiIDNgIIIARBBGooAgAgA2tBAU0EQCAEIANBAhARIAQoAgghAwsgBCgCACADakGi9AA7AAAgBCADQQJqNgIIIAEoAgAhAyACQQhqIAQgASgCCCIFEOoBAkAgAigCCEUEQCACQRBqLQAAIQYCQCACQeAAaiACKAIMIgEgBQR/IAMgBUEMbGohByAGRSEFIAFBBGohBgNAIAVBAXEEQCABKAIIIgUgBigCAEYEQCABIAUQECABKAIIIQULIAEgBUEBajYCCCABKAIAIAVqQSw6AAALIAJBCGogASADKAIAIANBCGooAgAQ5wEgAigCCA0CQQEhBSADQQxqIgMgB0cNAAtBAAUgBgtBAEcQ+wEgAigCYA0CIAJB0ABqIARBABD9ASACKAJQDQMgAkEUaiACQcgAaigCACIBNgIAIAIgAikDQCIINwIMIABBDGogATYCACAAIAg3AgRBAAwECyACQewAaiACQRRqKAIANgIAIAIgAikCDDcCZAwBCyACQewAaiACQQhqQQRyIgFBCGooAgA2AgAgAiABKQIANwJkCyACQdwAaiACQewAaigCADYCACACIAIpAmQ3AlQLIAJBOGoiASACQdwAaigCADYCACACIAIpAlQ3AzAgAigCRARAIAIoAkAQjgILIAJB6ABqIAEoAgA2AgAgAiACKQMwNwNgIAJBEGoiAUGZksAAQR0gAkHgAGoQLiAAQSBqIAJBKGopAwA3AwAgAEEYaiACQSBqKQMANwMAIABBEGogAkEYaikDADcDACAAQQhqIAEpAwA3AwBBAQs2AgAgAkHwAGokAAuEBgILfwF+IwBBQGoiAyQAIAMgAjYCFCADIAE2AhAgA0EYaiADQRBqEI4BIAMoAhghCgJAAkACQAJAAkACQAJAIAMoAiAiCEUEQEEEIQUMAQsgCEEDdCIBQQQQdiIFRQ0BCyAKIAhBFGxqIApGBH9BAAUgCEEUbCEJIAhBAWtB/////wNxIAUhASAKIQIDQCADQQhqIAIQjQEgASADKQMINwIAIAFBCGohASACQRRqIQIgCUEUayIJDQALQQFqCyEGIANBBjYCPCADQcGLwAA2AjggBkEBayIEIAZLDQQgBCAGSw0BAkAgBEUEQEEEIQcMAQsgBK1CFH4iDkIgiKciAQ0DIA6nIgJBAEgNAyABRUECdCEBIAIEfyACIAEQdgUgAQsiB0UNBAsgBSAFIARBA3RqIgtGBH9BAAUgBkH+////AWoiDEH/////AXECQCAGQQFrQQNxIglFBEAgByEBIAUhAgwBCyAHIQEgBSECA0AgAUEEaiACKQIANwIAIAFBADoAACABQRRqIQEgAkEIaiECIAlBAWsiCQ0ACwtBA08EQANAIAFBBGogAikCADcCACABQQA6AAAgAkEIaikCACEOIAFBFGpBADoAACABQRhqIA43AgAgAkEQaikCACEOIAFBKGpBADoAACABQSxqIA43AgAgAkEYaikCACEOIAFBPGpBADoAACABQUBrIA43AgAgAUHQAGohASACQSBqIgIgC0cNAAsLIAxB/////wFxQQFqCyEBIAQgBk8NBSADQShqIANBOGogByABIAUgBEEDdGoiASgCACABKAIEEJQBIARFIAStQhR+p0VyRQRAIAcQjgILIAAgAykDKDcCACAAQQhqIANBMGooAgA2AgAgCEUgCEEDdEVyRQRAIAUQjgILIAMoAhwiAEUgAK1CFH6nRXJFBEAgChCOAgsgA0FAayQADwsgAUEEELACAAsgBCAGELoCAAsQsQIACyACIAEQsAIAC0HghMAAQSFBzIXAABC8AgALIAQgBkHshcAAELgCAAvtBgILfwF+IwBBQGoiAyQAIAMgAjYCFCADIAE2AhAgA0EYaiADQRBqIgEQmgEgA0EoaiABQQRyEJoBIAMoAjAiAkEUbCEEIAMoAiwhBSADKAIoIQYgAiADKAIcIAMoAiAiAWtLBEAgA0EYaiABIAIQMiADKAIgIQELIAMoAhgiCiABQRRsaiAGIAQQ7gIaIAMgASACaiIINgIgIAVFIAWtQhR+p0VyRQRAIAYQjgILAkACQAJAAkACQAJAAn8gCEUEQEEEIQVBAAwBCyAIQQN0IgFBBBB2IgVFDQEgCEEUbCEJIAhBAWtB/////wNxIAUhASAKIQIDQCADQQhqIAIQjQEgASADKQMINwIAIAFBCGohASACQRRqIQIgCUEUayIJDQALQQFqCyEHIANBCDYCPCADQdiYwAA2AjggB0EBayIEIAdLDQQgBCAHSw0BAkAgBEUEQEEEIQYMAQsgBK1CFH4iDkIgiKciAQ0DIA6nIgJBAEgNAyABRUECdCEBIAIEfyACIAEQdgUgAQsiBkUNBAsgBSAFIARBA3RqIgtGBH9BAAUgB0H+////AWoiDEH/////AXECQCAHQQFrQQNxIglFBEAgBiEBIAUhAgwBCyAGIQEgBSECA0AgAUEEaiACKQIANwIAIAFBADoAACABQRRqIQEgAkEIaiECIAlBAWsiCQ0ACwtBA08EQANAIAFBBGogAikCADcCACABQQA6AAAgAkEIaikCACEOIAFBFGpBADoAACABQRhqIA43AgAgAkEQaikCACEOIAFBKGpBADoAACABQSxqIA43AgAgAkEYaikCACEOIAFBPGpBADoAACABQUBrIA43AgAgAUHQAGohASACQSBqIgIgC0cNAAsLIAxB/////wFxQQFqCyEBIAQgB08NBSADQShqIANBOGogBiABIAUgBEEDdGoiASgCACABKAIEEJQBIARFIAStQhR+p0VyRQRAIAYQjgILIAAgAykDKDcCACAAQQhqIANBMGooAgA2AgAgCEUgCEEDdEVyRQRAIAUQjgILIAMoAhwiAEUgAK1CFH6nRXJFBEAgChCOAgsgA0FAayQADwsgAUEEELACAAsgBCAHELoCAAsQsQIACyACIAEQsAIAC0HghMAAQSFBzIXAABC8AgALIAQgB0HshcAAELgCAAvVAQIEfwF+IwBBIGsiAyQAAkAgASABIAJqIgFLDQBBBCECIABBBGooAgAiBUEBdCIEIAEgASAESRsiAUEEIAFBBEsbIgGtQhR+IgdCIIhQQQJ0IQQgB6chBgJAIAVFBEBBACECDAELIAMgACgCADYCECADIAWtQhR+PgIUCyADIAI2AhggAyAGIAQgA0EQahBqIAMoAgAEQCADQQhqKAIAIgBFDQEgAygCBCAAELACAAsgAygCBCECIABBBGogATYCACAAIAI2AgAgA0EgaiQADwsQsQIAC8UCAgJ/AX4jAEHwAGsiBiQAIAZBCGogAyAEEDAgBigCECEEIAYoAgghAyAGQdAAaiIHEOUBIAZB4ABqIAcgBSgCACAFQQhqKAIAEOcBAkAgBigCYARAIAZByABqIAZB7ABqKAIANgIAIAYgBikCZDcDQCAGKAJUBEAgBigCUBCOAgsgBkHoAGogBkHIAGooAgA2AgAgBiAGKQNANwNgIAZBIGoiAUHJj8AAQRUgBkHgAGoQLiAAQQhqIAZBKGopAwA3AgAgAEEQaiAGQTBqKQMANwIAIABBGGogBkE4aikDADcCACAAIAEpAwA3AwAMAQsgBiAGKQNQIgg3AhwgBkEgaigCACABIAMgBCAIpyIBIAZB2ABqKAIAIAIoAhQRCAAEQCABEI4CCyAAQQw2AgALIAYoAgwEQCADEI4CCyAGQfAAaiQAC74DAQZ/IwBBQGoiAyQAIANBCGogAUHImMAAQQYgAigCDBEEAAJAIAACfwJAAkACQCADKAIIIgVFBEBBHUEBEHYiAUUNASAAQQE2AgAgAUEVakGhj8AAKQAANwAAIAFBEGpBnI/AACkAADcAACABQQhqQZSPwAApAAA3AAAgAUGMj8AAKQAANwAAIABBEGpCnYCAgNADNwMAIABBDGogATYCACAAQQhqQQY2AgAMBQsgA0EYaiIBIAUgA0EQaigCABDuASADQShqIAEQIyADQTRqKAIAIQQgA0EwaigCACECIAMoAiwhASADKAIoRQRAIANBKGogA0EYahDwASADKAIoIgdBFUcEQCADQTRqKAIAIQYgA0EwaigCACEEIAMoAiwhCCACRQ0DIAEQjgIMAwsgAEEMaiAENgIAIABBCGogAjYCACAAIAE2AgRBAAwECyADQThqKAIAIQYMAgtBHUEBELACAAsgCCECIAchAQsgA0E0aiAGNgIAIANBMGogBDYCACADIAI2AiwgAyABNgIoIABBCGpBjI/AAEEdIANBKGoQJUEBCzYCACADKAIMRQ0AIAUQjgILIANBQGskAAvKAgEJfyMAQSBrIgIkACACQRBqIAEQmgECQAJAAkAgAigCGCIEQQFrIgMgBE0EQCADIARLDQEgAigCECEFAkAgA0UEQEEEIQYMAQsgA0EDdCIBQQQQdiIGRQ0DCyAFIANBFGxqIgkgBUYEf0EABSAEQRRsQRRrIQggBEH+////A2pB/////wNxIAYhASAFIQcDQCACQQhqIAcQjQEgASACKQMINwIAIAFBCGohASAHQRRqIQcgCEEUayIIDQALQQFqCyEBIAMgBE8NAyACIAkQjQEgACAGIAEgAigCACACKAIEEJMBIAIoAhQiAEUgAK1CFH6nRXJFBEAgBRCOAgsgA0UgA0EDdEVyRQRAIAYQjgILIAJBIGokAA8LQeCEwABBIUHMhMAAELwCAAsgAyAEELoCAAsgAUEEELACAAsgAyAEQZSFwAAQuAIAC8oCAQl/IwBBIGsiAiQAIAJBEGogARCOAQJAAkACQCACKAIYIgRBAWsiAyAETQRAIAMgBEsNASACKAIQIQUCQCADRQRAQQQhBgwBCyADQQN0IgFBBBB2IgZFDQMLIAUgA0EUbGoiCSAFRgR/QQAFIARBFGxBFGshCCAEQf7///8DakH/////A3EgBiEBIAUhBwNAIAJBCGogBxCNASABIAIpAwg3AgAgAUEIaiEBIAdBFGohByAIQRRrIggNAAtBAWoLIQEgAyAETw0DIAIgCRCNASAAIAYgASACKAIAIAIoAgQQkwEgAigCFCIARSAArUIUfqdFckUEQCAFEI4CCyADRSADQQN0RXJFBEAgBhCOAgsgAkEgaiQADwtB4ITAAEEhQcyEwAAQvAIACyADIAQQugIACyABQQQQsAIACyADIARBlIXAABC4AgALyQICA38EfiMAQfAAayIFJAAgAUEIaigCACEGIAEoAgAhASAFQdAAaiIHEOUBIAVB4ABqIAQgBxA4AkAgBSgCYARAIAVByABqIAVB7ABqKAIANgIAIAUgBSkCZDcDQCAFKAJUBEAgBSgCUBCOAgsgBUHoAGogBUHIAGooAgA2AgAgBSAFKQNANwNgIAVBIGoiAUH1kcAAQSQgBUHgAGoQLiAFQRBqIAVBOGopAwAiCDcDACAFQQhqIAVBMGopAwAiCTcDACAFIAVBKGopAwAiCjcDACABKQMAIQsgAEEYaiAINwIAIABBEGogCTcCACAAQQhqIAo3AgAgACALNwMADAELIAUgBSkDUCIINwIcIAVBIGooAgAgAiABIAYgCKciASAFQdgAaigCACADKAIUEQgABEAgARCOAgsgAEEMNgIACyAFQfAAaiQAC3oBAn8jAEFAaiIDJAAgA0EANgIIIANCATcDACADQRBqIgQgA0GEjcAAENcCIAEgBBDTAUUEQCAAIAIgAygCACADKAIIEOcBIAMoAgQEQCADKAIAEI4CCyADQUBrJAAPC0GcjcAAQTcgA0E4akHkk8AAQaCOwAAQywIAC58CAQJ/AkACQAJAAkACQAJAAkAgASgCAEEBaw4DAQIDAAsgAEEEaiABQQRqEDYgAEEANgIADwsgAEEEaiABQQRqEDYgAEEBNgIADwsgAUEEaigCACEDAkAgAUEMaigCACIBRQRAQQEhAgwBCyABQQBIDQIgAUEBEHYiAkUNAwsgAiADIAEQ7gIhAiAAQQxqIAE2AgAgAEEIaiABNgIAIAAgAjYCBCAAQQA2AgAPCyABQQRqKAIAIQNBASECIAFBDGooAgAiAQRAIAFBAEgNASABQQEQdiICRQ0DCyACIAMgARDuAiECIABBDGogATYCACAA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LwAAQfTeAUcNBCAAQQE6AAEMBgsgASkAAEL03q2r5u3XtOQAUg0DIABBAjoAAQwFCyABQZGEwABBBRDtAg0CIABBAzoAAQwECyABKAAAQebkvesGRg0CDAELIAFBnYPAACACEO0CDQAgAEEEOgABDAILIABBBGogASACQZyIwABBBRBFIABBAToAAA8LIABBADoAASAAQQA6AAAPCyAAQQA6AAALoAQBBH8jAEFAaiICJAAgAkEoaiABKAIAIgEQ9AECQAJAAkACQAJAAkAgAigCKCIDQRVGBEAgAkEIaiABEPYBIAItAAhBAXFFDQECQCACLQAJQe4ARgRAIAEQ7wEgAkEoaiABQbuYwABBAxDzASACKAIoIgFBFUcNASAAQgA3AgAMCAsgAiABEPYBIAItAABBAXFFDQMgAi0AAUEiRw0EIAEQ7wEgAkEoaiABEPUBIAJBOGooAgAhBCACQTRqKAIAIQMgAkEwaigCACEBIAIoAiwhBSACKAIoDQUgBUUEQCACQRBqIAEgAxBsDAcLIAJBEGogASAEEGwgA0UNBiABEI4CDAYLIABBCGogAikCLDcCACAAQRBqIAJBNGooAgA2AgAgAEEBNgIAIAAgATYCBAwGCyAAQQhqIAIpAiw3AgAgAEEQaiACQTRqKAIANgIAIABBATYCACAAIAM2AgQMBQsgAEKBgICAwAA3AgAMBAsgAkKBgICAwAA3AxAMAgsgAkKBgICA4AE3AxAMAQsgAkEgaiAENgIAIAJBHGogAzYCACACQRhqIAE2AgAgAiAFNgIUIAJBATYCEAsgAEEEaiEBIAJBEGpBBHIhAyACKAIQRQRAIAEgAykCADcCACABQQhqIANBCGooAgA2AgAgAEEANgIADAELIAEgAykCADcCACABQQhqIANBCGopAgA3AgAgAEEBNgIACyACQUBrJAAL4wYBAn8CQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgcBAgMEBQYHAAsgAEEIaigCAEUNByAAQQRqKAIAEI4CDwsgAEEIaigCAARAIABBBGooAgAQjgILIABBFGooAgAEQCAAQRBqKAIAEI4CCyAAQSBqKAIABEAgAEEcaigCABCOAgsgAEEoaigCACIBRQ0GIABBLGooAgBFDQYMBwsgAEEIaigCAARAIABBBGooAgAQjgILIABBFGooAgAE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AkAgAkECaw4EAAMCAQQLIAEvAABB9N4BRw0DIABBAToAAQwFCyABQfyGwABBBRDtAg0CIABBAjoAAQwECyABKAAAQebkvesGRg0CDAELIAFBnYPAAEEDEO0CDQAgAEEDOgABDAILIABBBGogASACQfyHwABBBBBFIABBAToAAA8LIABBADoAASAAQQA6AAAPCyAAQQA6AAAL7QEBBH8jAEEgayICJAAgAiABEPYBAkACQAJAIAItAABBAXEEQCACLQABQSJHDQEgARDvASACQQhqIAEQ9QEgAkEYaigCACEEIAJBFGooAgAhAyACQRBqKAIAIQEgAigCDCEFIAIoAggNAiAFRQRAIAAgASADEFEMBAsgACABIAQQUSADRQ0DIAEQjgIMAwsgAEEBOgAAIABBBGpBBDYCAAwCCyAAQQE6AAAgAEEEakEONgIADAELIABBAToAACAAQRBqIAQ2AgAgAEEMaiADNgIAIABBCGogATYCACAAQQRqIAU2AgALIAJBIGokAAuXAwECfwJAAkACQAJAAkACQAJAAkACQCAALQAADgYBAgMEBQYACyAAQQRqKAIAIgFFDQYgAEEIaigCAEUNBiABEI4CDwsgAEEIaigCAARAIABBBGooAgAQjgILIABBFGooAgBFDQUMBgsgAEEIaigCAARAIABBBGooAgAQjgILIABBEGooAgAhASAAQRhqKAIAIgIEQCABIAJBDGxqIQIDQCABQQRqKAIABEAgASgCABCOAgsgAUEMaiIBIAJHDQALIAAoAhAhAQsgAEEUaigCACIARSAArUIMfqdFcg0EIAEQjgIPCyAAQQhqKAIABEAgAEEEaigCABCOAgsgAEEQaigCACIBRQ0DIABBFGooAgBFDQMgARCOAg8LIABBCGooAgAEQCAAQQRqKAIAEI4CCyAAQRRqKAIARQ0CDAMLIABBCGooAgBFDQEgAEEEaigCABCOAg8LIABBCGooAgAEQCAAQQRqKAIAEI4CCyAAQRBqKAIAIgFFDQAgAEEUaigCAEUNACABEI4CCw8LIABBEGooAgAQjgILkgEAAkACQAJAAkACQCACQQVrDgcAAgICAgIBAgsgAUHkiMAAQQUQ7QJFDQMgAUHPiMAAQQUQ7QINASAAQQI6AAEgAEEAOgAADwsgAUHEiMAAQQsQ7QJFDQELIABBBGogASAC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p0VyRQRAIAEQjgILIAAoAhghAiAAQSBqKAIAIgMEQCACIANBGGxqIQQDQCACIgNBBGooAgAEQCADKAIAEI4CCyADKAIMIQEgA0EUaigCACICBEAgASACQRhsaiECA0AgAUEEaigCAARAIAEoAgAQjgILIAFBEGooAgAEQCABQQxqKAIAEI4CCyABQRhqIgEgAkcNAAsgAygCDCEBCyADQRhqIQIgA0EQaigCACIDRSADrUIYfqdFckUEQCABEI4CCyACIARHDQALIAAoAhghAgsgAEEcaigCACIDRSADrUIYfqdFckUEQCACEI4CCwJAIAAoAiQiAkUNACAAQShqKAIARQ0AIAIQjgILC8YGAQV/IAAoAgAhBCAAKAIIIgEEQCAEIAFB6ABsaiEFA0AgBCIBQegAaiEEAkACQAJAIAEoAggOAgECAAsCQAJAAkACQAJAIAFBEGooAgAOBAECAwQACyABQRhqKAIARQ0FIAFBFGooAgAQjgIMBQsgAUEYaigCAARAIAFBFGooAgAQjgILIAFBJGooAgAEQCABQSBqKAIAEI4CCyABQSxqKAIAIQIgAUE0aigCACIDBEAgA0EFdCEDIAJBFGohAgNAIAIoAgAEQCACQQRrKAIAEI4CCyACQSBqIQIgA0EgayIDDQALIAEoAiwhAgsgAUEwaigCACIBRSABQQV0RXINBCACEI4CDAQLAkAgAUEUaigCACIDRQ0AIAFBGGooAgBFDQAgAxCOAgsgAUEkaigCAARAIAFBIGooAgAQjgILIAFBLGooAgAhAiABQTRqKAIAIgMEQCADQQV0IQMgAkEUaiECA0AgAigCAARAIAJBBGsoAgAQjgILIAJBIGohAiADQSBrIgMNAAsgASgCLCECCyABQTBqKAIAIgNFIANBBXRFckUEQCACEI4CCyABQTxqKAIARQ0DIAFBOGooAgAQjgIMAwsgAUEYaigCAARAIAFBFGooAgAQjgILIAFBJGooAgBFDQIgAUEgaigCABCOAgwCCyABQRhqKAIABEAgAUEUaigCABCOAgsgAUEkaigCAEUNASABQSBqKAIAEI4CDAELIAFBDGooAgBFBEAgAUEUaigCAARAIAEoAhAQjgILIAFBHGooAgAhAiABQSRqKAIAIgMEQCADQQV0IQMgAkEUaiECA0AgAigCAARAIAJBBGsoAgAQjgILIAJBIGohAiADQSBrIgMNAAsgASgCHCECCyABQSBqKAIAIgFFIAFBBXRFcg0BIAIQjgIMAQsgASgCECECIAFBGGooAgAiAwRAIANBBXQhAyACQRRqIQIDQCACKAIABEAgAkEEaygCABCOAgsgAkEgaiECIANBIGsiAw0ACyABKAIQIQILIAFBFGooAgAiAUUgAUEFdEVyDQAgAhCOAgsgBCAFRw0ACyAAKAIAIQQLIABBBGooAgAiAEUgAK1C6AB+p0VyRQRAIAQQjgILC/MCAgl/AX4jAEGAAWsiAyQAAn8gAkUEQEEAIQFBAAwBCyABQRxqKAIAIQUgAUEUaigCACEGIAFBEGooAgAhByABQQxqKAIAIQggAUEIaigCACEJIANBCGohBCABKAIAIQogASgCBCgCDCELQQAhAQJAA0AgA0HQAGogCiALEQAAIAMoAlBFDQEgA0H4AGogA0HgAGopAwA3AwAgA0HwAGogA0HYAGopAwA3AwAgAyADKQNQNwNoIANBKGogCCAHIAYgBSADQegAaiAJEQcAIAMpAyhCAlENASABQQFqIQEgA0EgaiADQcgAaikDADcDACADQRhqIANBQGspAwA3AwAgA0EQaiADQThqKQMANwMAIAQgA0EwaikDADcDACADIAMpAygiDDcDAAJAIAxQBEAgAygCDEUNASADKAIIEI4CDAELIAQQHQsgASACRw0ACyACIQFBAAwBC0EBCyECIAAgATYCBCAAIAI2AgAgA0GAAWokAAv5AwEOfyMAQbABayIDJAACfyACRQRAQQAhAkEADAELIAFBHGooAgAhByABQRRqKAIAIQggAUEQaigCACEJIAFBDGooAgAhCiABQQhqKAIAIQsgA0EQaiEMIANBCGpBBHIhBSADQcwAaiEGIANB+ABqIQQgASgCACENIAEoAgQoAgwhDkEAIQECQANAIANBMGogDSAOEQAAIAMoAjBFDQEgA0GoAWogA0FAaykDADcDACADQaABaiADQThqKQMANwMAIAMgAykDMDcDmAEgA0HwAGogCiAJIAggByADQZgBaiALEQcAAn8gAykDcEIAUiIPRQRAIANB0ABqIARBCGooAgA2AgAgAyAEKQIANwNIQQAMAQsgBiAEKQIANwIAIAZBGGogBEEYaikCADcCACAGQRBqIARBEGopAgA3AgAgBkEIaiAEQQhqKQIANwIAQQELIRAgAUEBaiEBIAUgAykDSDcCACAFQSBqIANB6ABqKAIANgIAIAVBGGogA0HgAGopAwA3AgAgBUEQaiADQdgAaikDADcCACAFQQhqIANB0ABqKQMANwIAIAMgEDYCCAJAIA9FBEAgAygCEEUNASADKAIMEI4CDAELIAwQHQsgASACRw0AC0EADAELIAEhAkEBCyEBIAAgAjYCBCAAIAE2AgAgA0GwAWokAAuTBAEPfyMAQbABayIDJAACfyACRQRAQQAhAkEADAELIAFBHGooAgAhCCABQRRqKAIAIQkgAUEQaigCACEKIAFBDGooAgAhCyABQQhqKAIAIQwgA0EQaiENIANBCGpBBHIhBCADQfAAakEEciEHIANBzABqIQUgA0H4AGohBiABKAIAIQ4gASgCBCgCDCEPQQAhAQJAA0AgA0EwaiAOIA8RAAAgAygCMEUNASADQagBaiADQUBrKQMANwMAIANBoAFqIANBOGopAwA3AwAgAyADKQMwNwOYASADQfAAaiALIAogCSAIIANBmAFqIAwRBwACfyADKAJwIhBFBEAgAygChAEEQCADKAKAARCOAgsgA0HQAGogB0EIaigCADYCACADIAcpAgA3A0hBAAwBCyAFIAYpAgA3AgAgBUEYaiAGQRhqKQIANwIAIAVBEGogBkEQaikCADcCACAFQQhqIAZBCGopAgA3AgBBAQshESABQQFqIQEgBCADKQNINwIAIARBIGogA0HoAGooAgA2AgAgBEEYaiADQeAAaikDADcCACAEQRBqIANB2ABqKQMANwIAIARBCGogA0HQAGopAwA3AgAgAyARNgIIAkAgEEUEQCADKAIQRQ0BIAMoAgwQjgIMAQsgDRAdCyABIAJHDQALQQAMAQsgASECQQELIQEgACACNgIEIAAgATYCACADQbABaiQAC/IDAgl/AX4jAEGAAWsiAyQAAkACQAJAIAJFBEAgASgCACEEIAEoAgQoAgwhBQwBCyABQRxqKAIAIQcgAUEUaigCACEIIAFBEGooAgAhCSABQQxqKAIAIQogAUEIaigCACELIANBCGohBiABKAIAIQQgASgCBCgCDCEFA0AgA0HQAGogBCAFEQAAIAMoAlBFDQIgA0H4AGogA0HgAGopAwA3AwAgA0HwAGogA0HYAGopAwA3AwAgAyADKQNQNwNoIANBKGogCiAJIAggByADQegAaiALEQcAIAMpAyhCAlENAiADQSBqIANByABqKQMANwMAIANBGGogA0FAaykDADcDACADQRBqIANBOGopAwA3AwAgBiADQTBqKQMANwMAIAMgAykDKCIMNwMAAkAgDFAEQCADKAIMRQ0BIAMoAggQjgIMAQsgBhAdCyACQQFrIgINAAsLIAMgBCAFEQAAIAMoAgBFBEAgAEICNwMADAILIAFBHGooAgAhAiABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgA0E4aiADQRBqKQMANwMAIANBMGogA0EIaikDADcDACADIAMpAwA3AyggACAGIAUgBCACIANBKGogAREHAAwBCyAAQgI3AwALIANBgAFqJAAL9gYCDX8BfiMAQbABayIDJAACQAJAAkAgAkUEQCABKAIAIQcgASgCBCgCDCEIDAELIAFBHGooAgAhCSABQRRqKAIAIQogAUEQaigCACELIAFBDGooAgAhDCABQQhqKAIAIQ0gA0EQaiEOIANBCGpBBHIhBCADQcwAaiEGIANBkAFqIQUgASgCACEHIAEoAgQoAgwhCANAIANBMGogByAIEQAAIAMoAjBFDQIgA0GAAWogA0FAaykDADcDACADQfgAaiADQThqKQMANwMAIAMgAykDMDcDcCADQYgBaiAMIAsgCiAJIANB8ABqIA0RBwACQCADKQOIAVAEQCADQdAAaiIPIAVBCGooAgA2AgAgAyAFKQIAIhA3A0ggBEEgaiADQegAaigCADYCACAEQRhqIANB4ABqKQMANwIAIARBEGogA0HYAGopAwA3AgAgBEEIaiAPKQMANwIAIAQgEDcCACADKAIQRQ0BIAMoAgwQjgIMAQsgBiAFKQIANwIAIAZBGGogBUEYaikCADcCACAGQRBqIAVBEGopAgA3AgAgBkEIaiAFQQhqKQIANwIAIARBIGogA0HoAGooAgA2AgAgBEEYaiADQeAAaikCADcCACAEQRBqIANB2ABqKQIANwIAIARBCGogA0HQAGopAgA3AgAgBCADKQJINwIAIANBATYCCCAOEB0LIAJBAWsiAg0ACwsgA0HIAGogByAIEQAAIAMoAkhFBEAgAEECNgIADAILIAFBHGooAgAhAiABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgA0EYaiADQdgAaikDADcDACADQRBqIgcgA0HQAGopAwA3AwAgAyADKQNINwMIIANBiAFqIAYgBSAEIAIgA0EIaiABEQcAIANBkAFqIQEgAAJ/IAMpA4gBUARAIAcgAUEIaigCADYCACADIAEpAgA3AwhBAAwBCyADQSRqIAFBGGopAgA3AgAgA0EcaiABQRBqKQIANwIAIANBFGogAUEIaikCADcCACADIAEpAgA3AgxBAQs2AgAgACADKQMINwIEIABBDGogA0EQaikDADcCACAAQRRqIANBGGopAwA3AgAgAEEcaiADQSBqKQMANwIAIABBJGogA0EoaigCADYCAAwBCyAAQQI2AgALIANBsAFqJAALowMBBH8jAEHwAGsiAyQAIAMgASACEGACQCADKAIARQRAIANBCGogASgCACABKAIEKAIMEQAAIAMoAghFBEAgAEECNgIADAILIAFBHGooAgAhAiABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgA0EwaiADQRhqKQMANwMAIANBKGogA0EQaikDADcDACADIAMpAwg3AyAgA0HIAGogBiAFIAQgAiADQSBqIAERBwAgAAJ/IAMoAkhFBEAgA0HcAGooAgAEQCADQdgAaigCABCOAgsgA0EoaiADQdQAaigCADYCACADIAMpAkw3AyBBAAwBCyADQTxqIANB6ABqKQMANwIAIANBNGogA0HgAGopAwA3AgAgA0EsaiADQdgAaikDADcCACADIANB0ABqKQMANwIkQQELNgIAIAAgAykDIDcCBCAAQQxqIANBKGopAwA3AgAgAEEUaiADQTBqKQMANwIAIABBHGogA0E4aikDADcCACAAQSRqIANBQGsoAgA2AgAMAQsgAEECNgIACyADQfAAaiQAC8IIAg1/An4jAEHgAGsiAiQAIAEoAgghAyABKAIEIQcgASgCACEFQQwhBiACQQw2AggCfwJAIANFDQAgAkE4aiAFIAcoAgwiChEAACACKAI4IgRBAkYNACADQQFrIQEgAkHIAGohAwJAAkADQCACKQNAIQ8gBA0BIAIoAjwiBEUEQCABRQ0EIAJBOGogBSAKEQAAIAFBAWshASACKAI4IgRBAkcNAQwECwsg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BCkDACIJIAatfCIIIAlUrXwhCSACQQFrIgINAAsLIAVBEGogCTcDACAFQQhqIAg3AwBBAAwECyAFQQI6AAEMAQsgBUECOgABC0EBDAELIAVBAToAAUEBCzoAACAEQTBqJAACQCADLQAIRQRAIABBADYCACAAQQhqIAMpAxA3AwAgAEEQaiADQRhqKQMANwMADAELIAMgAy0ACToAJyADQcQAakEFNgIAIANBATYCPCADIANBJ2o2AkAgAyADNgI4IANB3ABqQQI2AgAgA0ICNwJMIANBpJjAADYCSCADIANBOGo2AlggA0EoaiIBIANByABqIgIQsgIgAkEEciABELQCIANBFDYCSCADKAIsBEAgAygCKBCOAgsgACADKQNINwIEIABBATYCACAAQQxqIANB0ABqKQMANwIACyADQeAAaiQAC4wEAgR/An4jAEHgAGsiAyQAIAMgAjYCDCADIAE2AggjAEEQayIFJAAgA0EQaiIEAn8CQAJAIAJFBEAgBEEAOgABDAELAkACQAJAIAEtAABBK2sOAwECAAILIAJBAUcNAQwDCyACQQFrIgJFDQIgAUEBaiEBCwJAAkACQCACQRFPBEADQCAFIAdCAEIKQgAQ7AIgAS0AAEEwayIGQQlLDQYgBSkDCEIAUg0EIAUpAwAiCCAGrXwiByAIVA0DIAFBAWohASACQQFrIgINAAsMAQsDQCABLQAAQTBrIgZBCUsNBSABQQFqIQEgBq0gB0IKfnwhByACQQFrIgINAAsLIARBCGogBzcDAEEADAQLIARBAjoAAQwBCyAEQQI6AAELQQEMAQsgBEEBOgABQQELOgAAIAVBEGokAAJAIAMtABBFBEAgAEEANgIAIABBCGogAykDGDcDAAwBCyADIAMtABE6ACcgA0HEAGpBBTYCACADQQE2AjwgAyADQSdqNgJAIAMgA0EIajYCOCADQdwAakECNgIAIANCAjcCTCADQYCYwAA2AkggAyADQThqNgJYIANBKGoiASADQcgAaiICELICIAJBBHIgARC0AiADQRQ2AkggAygCLARAIAMoAigQjgILIAAgAykDSDcCBCAAQQE2AgAgAEEMaiADQdAAaikDADcCAAsgA0HgAGokAAvtAQEEfyMAQSBrIgIkACACIAEQ9gECQAJAAkAgAi0AAEEBcQRAIAItAAFBIkcNASABEO8BIAJBCGogARD1ASACQRhqKAIAIQQgAkEUaigCACEDIAJBEGooAgAhASACKAIMIQUgAigCCA0CIAVFBEAgACABIAMQUgwECyAAIAEgBBBSIANFDQMgARCOAgwDCyAAQQE6AAAgAEEEakEENgIADAILIABBAToAACAAQQRqQQ42AgAMAQsgAEEBOgAAIABBEGogBDYCACAAQQxqIAM2AgAgAEEIaiABNgIAIABBBGogBTYCAAsgAkEgaiQAC7wGAgJ/AX4jAEHQAGsiAyQAAkACQAJAAkACQAJAAkAgASgCAEEBaw4CAQIACyABKQMIIQUgAigCCCIBIAJBBGooAgBGBEAgAiABEBAgAigCCCEBCyACIAFBAWo2AgggAigCACABakH7ADoAACADQSBqIAJBuIzAAEEJEOcBIAMoAiANAiACKAIIIgEgAkEEaigCAEYEQCACIAEQECACKAIIIQELIAIgAUEBajYCCCACKAIAIAFqQTo6AAAgA0EgaiACIAUQ5gEgAygCIEUEQCACKAIIIgEgAkEEaigCAEYEQCACIAEQECACKAIIIQELIABBADYCACACIAFBAWo2AgggAigCACABakH9ADoAAAwGCyAAIAMpAiQ3AgQgAEEMaiADQSxqKAIANgIAIABBATYCAAwFCyACKAIIIgQgAkEEaigCAEYEQCACIAQQECACKAIIIQQLIAIgBEEBajYCCCACKAIAIARqQfsAOgAAIANBIGogAkHBjMAAQQcQ5wEgAygCIA0DIAFBCGogAigCCCIBIAJBBGooAgBGBEAgAiABEBAgAigCCCEBCyACIAFBAWo2AgggAigCACABakE6OgAAIANBADYCGCADQgE3AxAgA0EgaiIBIANBEGpBhI3AABDXAiABEOUCDQIgAyACIAMoAhAgAygCGBDnASADKAIUBEAgAygCEBCOAgsgAygCAEUEQCACKAIIIgEgAkEEaigCAEYEQCACIAEQECACKAIIIQELIABBADYCACACIAFBAWo2AgggAigCACABakH9ADoAAAwFCyAAIAMpAgQ3AgQgAEEMaiADQQxqKAIANgIAIABBATYCAAwECyADQSBqIAJB1IPAAEEFEOwBIAMoAiBFBEAgACADKAIkIANBKGotAAAQ/gEMBAsgAEEBNgIAIAAgA0EgakEEciIBKQIANwIEIABBDGog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IAVByABqQamPwABBICAFQfgAahAlIAVBGGogBUHgAGopAwA3AwAgBSAFQdgAaikDADcDECAFQdAAaikDACEIIAUpA0ghB0IBCyEJIAUoAjRFDQAgAxCOAgsgBSgCJARAIAQQjgILIAlQRQ0BQQAhAyAHQgNSBEAgBSAINwNIIAUgBzcDQCAFQUBrIAIQjAFBAXMhAwsgAEEAOgAAIAAgAzoAAQwCCyAAQYACOwEADAELIAVBCGogBUEYaikDACIJNwMAIAUgBSkDECIKNwMAIABBIGogCTcDACAAQRhqIAo3AwAgAEEQaiAINwMAIABBCGogBzcDACAAQQE6AAALIAVBkAFqJAALgCcCFX8EfiMAQeADayIDJAAQkAIgA0HwAGogABDdASADQYABaiABEN0BIANBkAFqIAIQ3QEgA0GIAmogAygCcCIWIAMoAngQJgJAAkACQAJAAkACQAJAAkACQAJAIAMpA4gCUARAIANBuAFqIANBmAJqIgIpAwA3AwAgA0GoAWogA0GwAmopAwA3AwAgAyADKQOQAjcDsAEgAyADQagCaiIAKQMANwOgASADQaACaiIBKAIAIQ0gA0GkAmooAgAhDiADQbgCaigCACEHIANBvAJqKAIAIQogA0HAAmopAwAhGCADQYgCaiADKAKAASIRIAMoAogBEB8gAygCiAINAiABKAIAIQUgA0GcAmooAgAhCCACKAIAIQkgA0GUAmooAgAhEiADKAKQAiETIAMoAowCIQwgA0GgA2oiACADKAKQASIXIAMoApgBEO4BIANBMGogABD2ASADLQAwQQFxDQFBBCECDAYLIANByANqIANBqAJqKQMANwMAIANBwANqIANBoAJqKQMANwMAIANBuANqIANBmAJqKQMANwMAIAMgAykDkAI3A7ADIANBADYCiAMgA0IBNwOAAyADQdABaiIAIANBgANqQYSNwAAQ1wIgA0GwA2ogABCkAQ0JIANBxABqIANBiANqKAIANgIAIAMgAykDgAM3AjwgA0EBNgI4IANBsANqEB0MBwsgAy0AMUH7AEcEQEEOIQIMBQsgA0GgA2oiABDvASADQShqIAAQ7QEgAy0ALCADQSBqIAMoAigiDxD2ASADLQAgQQFxRQRAIANBAjYCPAwECyADLQAhIQZBAXEhAiADQdABakEEciEUIANB2AFqIRUg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EGooAgAiAEUgAEEFdEVyRQRAIAEQjgILIAlBFGooAgAEQCAJQRBqKAIAEI4CCyAJQSxqKAIARQ0AIAlBKGooAgAQjgILIARBwAFqJAAgECADQdwBaikCADcDACADQZgCaiADQeQBaikCADcDACAVIANB7AFqKQIANwMAIAsgA0H0AWopAgA3AwAgA0GwAmogA0H8AWopAgA3AwAgAyADKQLUATcDiAIgAygC0AFFDQEgA0GYA2ogA0GkAmopAgA3AwAgA0GQA2ogFCkCADcDACADQYgDaiADQZQCaikCADcDACADIAMpAowCNwOAAyADQQA2AqgDIANCATcDoAMgA0GwA2oiACADQaADakGEjcAAENcCIANBgANqIAAQpAENDyADQcQAaiADQagDaigCADYCACADIAMpA6ADNwI8IANBATYCOCADQYADahAdDAILIAMgADYCvAMgAyACNgK4AyADIAs2ArQDIAMgBjYCsAMMAgsgA0HkAGogA0HQAWpBBHIiAEEoaikCADcCACADQdwAaiAAQSBqKQIANwIAIANB1ABqIABBGGopAgA3AgAgA0HMAGogAEEQaikCADcCACADQcQAaiAAQQhqKQIANwIAIANBADYCOCADIAApAgA3AjwLIAMoApQBBEAgFxCOAgsgAygChAEEQCAREI4CCyADKAJ0RQ0LIBYQjgIMCwsgBkEVRg0BCyADQYgDaiAQQQhqKAIANgIAIAMgECkCADcDgAMMAwsgAQRAIANBOGpBBHJByJjAAEEGECEgBEUNBQwECyADQbADaiAPEPQBAkACQCADKAKwAyIAQRVHBEAgFSAQKQIANwIAIBVBCGogEEEIaigCADYCACADIAA2AtQBDAELIANB0AFqIA8QIyADKALQAUUNAQsgA0HEAGogFEEIaikCADcCACADIBQpAgA3AjwMBQsgAygC3AEhCyADKALYASEEIAMoAtQBIQEgA0EIaiAPEPYBQQAhAiADLQAJIQYgAy0ACEEBcQ0AC0ECIQYMAQsgA0HIA2ogACkDADcDACADQcADaiABKQMANwMAIANBuANqIAIpAwA3AwAgAyADKQOQAjcDsAMgA0EANgKIAyADQgE3A4ADIANB0AFqIgAgA0GAA2pBhI3AABDXAiADQbADaiAAEKQBRQRAIANBxABqIANBiANqKAIANgIAIAMgAykDgAM3AjwgA0EBNgI4IANBsANqEB0MBQsMBwsgA0FAayADKQOAAzcDACADQcgAaiADQYgDaigCADYCACADIAY2AjwgAUUgBEVyDQELIAEQjgILIANByABqKAIAIREgA0HEAGooAgAhBiADQUBrKAIAIRIgAygCPCECCyADQdwBaiARNgIAIANB2AFqIAY2AgAgAyASNgLUASADIAI2AtABIANBkAJqQd6PwABBICADQdABaiIAECUgA0HIA2ogA0GoAmopAwA3AwAgA0HAA2ogA0GgAmopAwA3AwAgA0G4A2ogA0GYAmopAwA3AwAgAyADKQOQAjcDsAMgA0EANgKIAyADQgE3A4ADIAAgA0GAA2pBhI3AABDXAiADQbADaiAAEKQBDQMgA0HEAGogA0GIA2ooAgA2AgAgAyADKQOAAzcCPCADQQE2AjggA0GwA2oQHSATBEAgDBCOAgsgBQRAIAVBBXQhASAJQRRqIQIDQCACKAIABEAgAkEEaygCABCOAgsgAkEgaiECIAFBIGsiAQ0ACwsgCEUgCEEFdEVyDQAgCRCOAgsgDgRAIA0QjgILIApFDQAgBxCOAgsgAygClAEEQCADKAKQARCOAgsgAygChAEEQCADKAKAARCOAgsgAygCdEUNACAWEI4CCyADQYgCaiADQThqECsgAygCiAJFBEAgA0HYAWogA0GUAmooAgAiADYCACADIAMpAowCIhg3A9ABIANBkAJqIAA2AgAgAyAYNwOIAiADQYgCahDcAQJAIAMoAjhFBEAgA0E4akEEchBcDAELIANBQGsoAgBFDQAgAygCPBCOAgsgA0HgA2okAA8LIANB6AFqIANBqAJqKQMANwMAIANB4AFqIANBoAJqKQMANwMAIANB2AFqIANBmAJqKQMANwMAIAMgA0GQAmopAwA3A9ABQfSTwABBKyADQdABakGglMAAQZSCwAAQywIAC0GcjcAAQTcgA0HYA2pB5JPAAEGgjsAAEMsCAAuTpgICJ38FfiMAQaAFayIGJAAQkAIgBkEIaiAAEN0BIAZBGGogARDdASAGQShqIAIQ3QEgBkHwA2ogBigCCCIfIAYoAhAQJgJAAkACQAJAAkACQAJAAkACQAJAAkACQCAGKQPwA1AEQCAGQdAAaiAGQYAEaiIAKQMANwMAIAZBQGsgBkGYBGopAwA3AwAg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IANBqAVqQbSHwABBAhAhDA8LIAtFDQcgA0GoBWpB+IbAAEEEECEMDgsgA0G4BWooAgAhCCADKAK0BSEHIAMoArAFIQogAygCrAUhCUEBIQUMHQsgA0GoBWpBnYPAAEEDECEgA0G0BWooAgAhCCADQbAFaigCACEHIAMoAqwFIQogAygCqAUhCUEBIQUMGwsgA0H4BmogLDcDACADQfAGaiArNwMAIANB6AZqIBg2AgAgA0HkBmogADYCACADQdwGaiAbNgIAIANB2AZqIBY2AgAgA0HUBmogEjYCACADQdAGaiAaNgIAIANBzAZqIBU2AgAgA0HIBmogDzYCACADQcQGaiIAIBc2AgAgA0HABmogETYCACADQQA2ArgGIANB4AZqIAFBACATGzYCACADIAs2ArwGIANBqAVqIAoQ8gEgAygCqAUiCUEVRwRAIANBtAVqKAIAIQggA0GwBWooAgAhByADKAKsBSEKIANBuAZqEEQMHQsgA0H8BWogACkCADcCACADQYQGaiAAQQhqKQIANwIAIANBjAZqIABBEGopAgA3AgAgA0GUBmogAEEYaikCADcCACADQZwGaiAAQSBqKQIANwIAIANBpAZqIABBKGopAgA3AgAgA0GsBmogAEEwaikCADcCACADQbQGaiAAQThqKAIANgIAIANB+AVqIBE2AgAgAyALNgL0BSADQQA2AvAFIANBGGogChD2ASADLQAYQQFxRQ0DIAMtABlB/QBGBEAgChDvASANQQhqIANB8AVqQcgAEO4CGiANQQA2AgAMHgsgDUELNgIEIANB8AVqEEQgDUEBNgIADB0LIANB4ARqQQRyIQpBDiEEDBYLIANB7ARqIAU2AgAgA0HoBGogAjYCACADIAk2AuQEIANB8ARqIQoMFQsgA0GoBWpBBHJB+IbAAEEEECAgA0G4BWooAgAhCCADQbQFaigCACEHIAMoAqwFIQlBACELQQEhDiADQbAFaigCAAwECyANQoGAgIDAADcDACADQfAFahBEDBkLIANB4ARqIAgQ9AECQAJAIAMoAuAEIglBFUcEQCAQIBQpAgA3AgAgEEEIaiAUQQhqKAIANgIADAELIANBqAVqIAgQIyADKAKoBUUNASADKAKsBSEJCyADQbgFaigCACEIIAMoArQFIQdBACELIAMoArAFDAMLIAMoArQFIRcgAygCsAUhESADKAKsBSELDAULIANB4ARqIAgQ9AECQAJAIAMoAuAEIglBFUcEQCAQIBQpAgA3AgAgEEEIaiAUQQhqKAIANgIADAELIANBqAVqIAgQIyADKAKoBUUNASADKAKsBSEJCyADQbgFaigCACEIIAMoArQFIQdBACEPIAMoArAFDAILIAMoArQFIRogAygCsAUhFSADKAKsBSEPDAQLIANB4ARqIAgQ9AECQCADKALgBCIJQRVHBEAgECAUKQIANwIAIBBBCGogFEEIaigCADYCAAwBCyADQagFaiAIECMgAygCqAVFDQIgAygCrAUhCQsgA0G4BWooAgAhCCADKAK0BSEHQQAhEiADKAKwBQshCkEBIQVBACEMDBELIAMoArQFIRsgAygCsAUhFiADKAKsBSESDAELIBkpAwAhLCADKQOwBSErQgEhKgsgACECIAEhBQwBCyADQbQFaigCACEIIANBsAVqKAIAIQcgAygCrAUhCiADKAKoBSEJQQEhBQwNCyADQQhqIAgQ9gEgAy0ACSEJIAMtAAhBAXENAAtBAiEJIAIhACAFIQFBASEFDAsLIANByANqIAoQ9gFBBCEIAkAgAy0AyANBAXFFDQBBDiEIIAMtAMkDQfsARw0AIAoQ7wEgA0HAA2ogChDtASADLQDEAyEBIANBuANqIAMoAsADIgAQ9gECQCADLQC4A0EBcUUEQCADQQI2ArwGDAELIAMtALkDIQkgAUEBcSEMIANBmAdqQQRyIQ8gA0GgB2ohCCADQbAHakEEciEEAkACQANAAkACQAJAAkACQAJAAkAgCUH/AXEiAUEsRwRAIAFB/QBGDQIgDEH/AXENAUEJIQkMCQsgDEH/AXEEQEEQIQkMCQsgABDvASADQbADaiAAEPYBIAMtALADQQFxRQRAQQQhCQwJCyADLQCxAyEJCyAJQf8BcSIBQSJHBEBBECEJIAFB/QBHDQhBEyEJDAgLIANBoANqIAAQ9gEgAy0AoANBAXFFBEBBBCEJDAULIAMtAKEDQSJHBEBBDiEJDAULIAAQ7wEgA0GYB2ogABD1ASADKAKoByELIAMoAqQHIQUgAygCoAchASADKAKcByEJIAMoApgHDQECQCAJRQRAIAVBCEYEQCABKQAAQu/glZOXjN238gBRDQgLIANBsAdqIAEgBUHYhsAAQQEQRQwBCwJAAkAgC0EIRgRAIAEpAABC7+CVk5eM3bfyAFENAQsgA0GwB2ogASALQdiGwABBARBFDAELIANBFTYCsAcLIAVFDQAgARCOAgsgAygCsAchCQwDCyAHRQRAIANBmAdqQQRyQdCGwABBCBAgIANBxAZqIANBpAdqKQIANwIAIAMgAykCnAc3ArwGDAkLIANBzAZqIAU2AgAgA0HIBmogAjYCACADQcQGaiIAIAc2AgAgA0HABmoiAUEHNgIAIANB8AVqIgIgAUHIABDuAhogA0GoBWogAkHIABDuAhogA0G4BmogChDyASADKAK4BiIIQRVHBEAgA0HoBGogACgCADYCACADIAMpArwGNwPgBCADQagFahBEDAoLIANB4ARqIgAgA0GoBWpByAAQ7gIaIANBmARqIgEgAEHIABDuAhogA0HQA2ogAUHIABDuAhogA0GoA2ogChD2ASADLQCoA0EBcUUNASADLQCpA0H9AEYEQCAKEO8BIA1BCGogA0HQA2pByAAQ7gIaIA1BADYCAAwZCyANQQs2AgQgA0HQA2oQRCANQQE2AgAMGAsgAyALNgK8ByADIAU2ArgHIAMgATYCtAcgAyAJNgKwBwwBCyANQoGAgIDAADcDACADQdADahBEDBYLIAlBFUYNAQsgA0GQB2ogBEEIaigCADYCACADIAQpAgA3A4gHDAILIAcEQCADQbgGakEEckHQhsAAQQgQISACRQ0EDAMLIANBsAdqIAAQ9AECQAJAIAMoArAHIgFBFUcEQCAIIAQpAgA3AgAgCEEIaiAEQQhqKAIANgIAIAMgATYCnAcMAQsgA0GYB2ogABAjIAMoApgHRQ0BCyADQcQGaiAPQQhqKQIANwIAIAMgDykCADcCvAYMBAsgAygCpAchBSADKAKgByECIAMoApwHIQcgA0GYA2ogABD2AUEAIQwgAy0AmQMhCSADLQCYA0EBcQ0AC0ECIQkLIANBwAZqIAMpA4gHNwMAIANByAZqIANBkAdqKAIANgIAIAMgCTYCvAYgB0UgAkVyDQELIAcQjgILIANB6ARqIANByAZqKAIANgIAIAMgA0HABmopAwA3A+AEIAMoArwGIQgLIANBoARqIANB6ARqKAIAIgA2AgAgAyADKQPgBCIqNwOYBCANQRBqIAA2AgAgDUEIaiAqNwIAIA0gCDYCBCANQQE2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A0GcBmogAEEgaikCADcCACADQaQGaiAAQShqKQIANwIAIANBrAZqIABBMGopAgA3AgAgA0G0BmogAEE4aigCADYCACADQfgFaiALNgIAIAMgATYC9AUgA0EFNgLwBSADQbACaiAKEPYBIAMtALACQQFxRQ0BIAMtALECQf0ARgRAIAoQ7wEgDUEIaiADQfAFakHIABDuAhogDUEANgIADB8LIA1BCzYCBCADQfAFahBEIA1BATYCAAweCyADQagFakEEckH4hsAAQQQQICADQbgFaigCACEMIANBtAVqKAIAIQ4gA0GwBWooAgAhBSADKAKsBSEHDAoLIA1CgYCAgMAANwMAIANB8AVqEEQMHAsgA0HgBGpBBHIgByAFQYSHwABBAhBFQQAMAQsgA0EAOgDhBEEBCyEOIAkEQCAHEI4CCyAORQ0BIAMtAOEEDQILIAFFDQIgA0GoBWpB+IbAAEEEECEgA0G0BWooAgAhDCADQbAFaigCACEOIAMoAqwFIQUgAygCqAUhByACRQ0KDAkLIANB8ARqKAIAIQwgA0HsBGooAgAhDiADQegEaigCACEFIAMoAuQEIQcgAkUNCQwICyACDQIgA0GoBWogA0GYBGoQRiADKAKoBQ0BIAMoArQFIQQgAygCsAUhACADKAKsBSECDAULIANB4ARqIAgQ9AECQCADKALgBCIHQRVHBEAgESATKQIANwIAIBFBCGogE0EIaigCADYCAAwBCyADQagFaiAIECMgAygCqAVFDQQgAygCrAUhBwsgA0G4BWooAgAhDCADKAK0BSEOIAMoArAFIQUMAgsgA0G4BWooAgAhDCADKAK0BSEOIAMoArAFIQUgAygCrAUhBwwGCyADQagFakH8hsAAQQUQISADQbQFaigCACEMIANBsAVqKAIAIQ4gAygCrAUhBSADKAKoBSEHDAQLQQAhASACRQ0EDAMLIAMoArQFIQ8gAygCsAUhCyADKAKsBSEBCyADQaACaiAIEPYBQQAhByADLQChAiEJIAMtAKACQQFxDQALQQIhByACRQ0BCyAEBEAgBEEobCEIIAJBIGohCgNAIApBDGsoAgAEQCAKQRBrKAIAEI4CCyAKKAIABEAgCkEEaygCABCOAgsgCkEoaiEKIAhBKGsiCA0ACwsgAEUgAK1CKH6nRXINACACEI4CCyABRSALRXIN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uAUhBCADKAK0BSEFIAMoArAFIQIgAygCrAUhCSADKAKoBQ0LAkAgCUUEQCADQeAEaiACIAUQSQwBCyADQeAEaiACIAQQSSAFRQ0AIAIQjgILIAMtAOAEDRogAy0A4QRBAWsOBAUEAwIGC0EEIQQgA0HgBGpBBHIhCgwYCyALRQ0KIA8EQCAqUEUNCCADQagFakEEckGRhMAAQQUQICADQbgFaigCACEIIANBtAVqKAIAIQcgAygCrAUhCSADKAKwBQwWCyADQagFakEEckGUh8AAQQgQICADQbgFaigCACEIIANBtAVqKAIAIQcgA0GwBWooAgAhCiADKAKsBSEJQQEhDgwWCyASQQFGDQUgA0GoBWogA0GYBGoQQyADKAKoBQ0EIAMoArQFIRggAygCsAUhAiADKAKsBSEFIABFIBJFIAFFcnJFBEAgARCOAgtBASESDBELIBNFDQ4gA0GoBWpB0IfAAEEDECEMDQsCQAJAICpCAVIEQCADQeAEaiAIEPQBIAMoAuAEIglBFUYNASAQIBQpAgA3AgAgEEEIaiAUQQhqKAIANgIADAILIANBqAVqQZGEwABBBRAhDA4LIANBqAVqIAgQIiADKAKoBUUNDCADKAKsBSEJCyADQbgFaigCACEIIANBtAVqKAIAIQcgAygCsAUhCgwWCyAPRQ0JIANBqAVqQZSHwABBCBAhDAsLIAtFDQcgA0GoBWpBtIfAAEECECEMCgsgA0G4BWooAgAhCCADKAK0BSEHIAMoArAFIQogAygCrAUhCQwVCyADQagFakGdg8AAQQMQISADQbQFaigCACEIIANBsAVqKAIAIQcgAygCrAUhCiADKAKoBSEJDBMLIBNFDQwgA0H4BmogLDcDACADQfAGaiArNwMAIANB6AZqIBg2AgAgA0HkBmogADYCACADQeAGaiABQQAgEhs2AgAgA0HcBmogGzYCACADQdgGaiAWNgIAIANB1AZqIBM2AgAgA0HQBmogGjYCACADQcwGaiAVNgIAIANByAZqIA82AgAgA0HEBmoiACAXNgIAIANBwAZqIBE2AgAgAyALNgK8BiADQQI2ArgGIANBqAVqIAoQ8gEgAygCqAUiCUEVRwRAIANBtAVqKAIAIQggA0GwBWooAgAhByADKAKsBSEKIANBuAZqEEQMFQsgA0H8BWogACkCADcCACADQYQGaiAAQQhqKQIANwIAIANBjAZqIABBEGopAgA3AgAgA0GUBmogAEEYaikCADcCACADQZwGaiAAQSBqKQIANwIAIANBpAZqIABBKGopAgA3AgAgA0GsBmogAEEwaikCADcCACADQbQGaiAAQThqKAIANgIAIANB+AVqIBE2AgAgAyALNgL0BSADQQI2AvAFIANBiAFqIAoQ9gEgAy0AiAFBAXFFDQMgAy0AiQFB/QBGBEAgChDvASANQQhqIANB8AVqQcgAEO4CGiANQQA2AgAMHwsgDUELNgIEIANB8AVqEEQgDUEBNgIADB4LIANB4ARqQQRyIQpBDiEEDA4LIANB7ARqIAU2AgAgA0HoBGogAjYCACADIAk2AuQEIANB8ARqIQoMDQsgA0GoBWpBBHJBtIfAAEECECAgA0G4BWooAgAhCCADQbQFaigCACEHIANBsAVqKAIAIQogAygCrAUhCUEAIQtBASEOQQAhDAwOCyANQoGAgIDAADcDACADQfAFahBEDBoLIANB4ARqIAgQ9AECQAJAIAMoAuAEIglBFUcEQCAQIBQpAgA3AgAgEEEIaiAUQQhqKAIANgIADAELIANBqAVqIAgQIyADKAKoBUUNASADKAKsBSEJCyADQbgFaigCACEIIAMoArQFIQcgAygCsAUhCkEAIQsMDQsgAygCtAUhFyADKAKwBSERIAMoAqwFIQsMBAsgA0HgBGogCBD0AQJAAkAgAygC4AQiCUEVRwRAIBAgFCkCADcCACAQQQhqIBRBCGooAgA2AgAMAQsgA0GoBWogCBAjIAMoAqgFRQ0BIAMoAqwFIQkLIANBuAVqKAIAIQggAygCtAUhByADKAKwBSEKQQAhDwwMCyADKAK0BSEaIAMoArAFIRUgAygCrAUhDwwDCyAZKQMAISwgAykDsAUhK0IBISoMAgsgA0G0BWooAgAhCCADQbAFaigCACEHIAMoAqwFIQogAygCqAUhCQwJCyADQeAEaiAIEPQBAkACQCADKALgBCIJQRVHBEAgECAUKQIANwIAIBBBCGogFEEIaigCADYCAAwBCyADQagFaiAIECMgAygCqAVFDQEgAygCrAUhCQsgA0G4BWooAgAhCCADKAK0BSEHIAMoArAFIQpBACETDAkLIAMoArQFIRsgAygCsAUhFiADKAKsBSETCyAAIQIgASEF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QQhqIAZB8ANqIgFBCGopAwA3AwAgA0EQaiABQRBqKQMANwMAIANBGGogAUEYaikDADcDACADQSBqIAFBIGopAwA3AwAgA0EoaiABQShqKQMANwMAIANBMGogAUEwaikDADcDACADIAQpAgA3AzggAyABKQMANwMAIANB4ABqIAZBwARqIgFBEGopAgA3AwAgA0HYAGogAUEIaikCADcDACADIAEpAgA3A1ACQAJAAkACQAJAAkACQAJAAkAgAigCAEEBaw4HAQIDBAUGBwALIAJBQGspAwAhKiACQThqKQMAISsgA0GYAWoiBCADQegAEO4CGiADQfAAaiACQQxqKAIANgIAIAMgAikCBDcDaCADQYABaiACQRhqKAIANgIAIAMgAkEQaikCADcDeCADQZABaiACQSRqKAIANgIAIAMgAkEcaikCADcDiAEgA0GIAmogAkEwaigCADYCACADIAJBKGopAgA3A4ACIANB+ABqIQcgA0GIAWohDCADQYACaiEPIwBB4AJrIgEkACABQZgCaiAEQUBrKAIAIgIgA0HoAGoiCSgCACIIIAlBCGooAgAgBEHEAGooAgAiBSgCDCILEQQAAkACQAJAAkAgASgCmAJFBEAgAUEQaiABQaQCaiINKAIANgIAIAEgASkCnAI3AwggAUGYAmogAiAHKAIAIgogB0EIaigCACIOIAsRBAAgASgCmAJFDQEgAUHEAGogAUG4AmopAwAiKjcCACABQTxqIAFBsAJqKQMAIis3AgAgAUE0aiABQagCaikDACIsNwIAIAEgAUGgAmopAwAiLTcCLCAAQSBqICo3AgAgAEEYaiArNwIAIABBEGogLDcCACAAQQhqIC03AgBBASECIABBATYCAEEBIQsMAgsgAUHEAGogAUG4AmopAwAiKjcCACABQTxqIAFBsAJqKQMAIis3AgAgAUE0aiABQagCaikDACIsNwIAIAEgAUGgAmopAwAiLTcCLCAAQSBqICo3AgAgAEEYaiArNwIAIABBEGogLDcCACAAQQhqIC03AgBBASECIABBATYCAEEBIQsMAgsgAUEgaiANKAIANgIAIAEgASkCnAI3AxggBEE8aigCACELIARByABqKQMAISwgBCgCOCENIAFB2ABqIARBMGopAwA3AwAgAUHQAGogBEEoaikDADcDACABQcgAaiAEQSBqKQMANwMAIAFBQGsgBEEYaikDADcDACABQThqIARBEGopAwA3AwAgAUEwaiAEQQhqKQMANwMAIAEgBCkDADcDKCABQfAAaiAEQeAAaikCADcDACABQegAaiAEQdgAaikCADcDACABIAQpAlA3A2AgAUG0AWogBTYCACABICw3A7gBIAEgAjYCsAEgASALNgKsASABIA02AqgBIAFBmAJqIAFBqAFqIAFBKGogAUEIaiABQeAAahByAn8CQAJAIAEtAJgCRQRAIAEtAJkCDQJBDSEFDAELIAFBgAFqIAFBrAJqKQIANwMAIAFBiAFqIAFBtAJqKQIANwMAIAFBkAFqIAFBvAJqKAIANgIAIAEgAUGkAmopAgA3A3ggAUGgAmooAgAiBUEPRg0BCyABQYgCaiABQZABaigCACICNgIAIAFBgAJqIAFBiAFqKQMAIio3AwAgAUH4AWogAUGAAWopAwAiKzcDACABIAEpA3giLDcD8AEgAEEkaiACNgIAIABBHGogKjcCACAAQRRqICs3AgAgAEEMaiAsNwIAIABBCGogBTYCACAAQQE2AgBBAQwBCyABQZgBakIANwMAIAFBiAFqQgA3AwAgAUIENwOQASABQoCAgIDAADcDgAEgAUIINwN4IAFBmAJqIA0gCyABQQhqIAFBGGogDCgCACAMQQhqKAIAICsgKhBxIAFBoAJqIQICQCABKQOYAiIsUEUEQCABQYgCaiACQRhqKQMAIio3AwAgAUGAAmogAkEQaikDACIrNwMAIAFB+AFqIAJBCGopAwAiLTcDACABIAIpAwAiLjcD8AEgAEEgaiAqNwMAIABBGGogKzcDACAAQRBqIC03AwAgAEEIaiAuNwMAIABBATYCAAwBCyABQZACaiACQSBqKQMAIi03AwAgAUGwAWogAkEIaikDADcDACABQbgBaiACQRBqKQMANwMAIAFBwAFqIAJBGGopAwA3AwAgAUHIAWogLTcDACABIAIpAwA3A6gBIAFBqAFqIAFB+ABqEHoCQCAPKAIAIg1FDQACQEHoAEEIEHYiAgRAIAFBADYC+AEgAUIBNwPwASABQZgCaiIFIAFB8AFqQYSNwAAQ1wIgAUHgAGogBRCxAQ0BIAFB0AFqIAwQtAIgAUHoAWogAUH4AWoiCygCACIRNgIAIAEgASkD8AEiLTcD4AEgBygCBCEFIAFBsAJqIBE2AgAgAUHIAmogAUHYAWooAgA2AgAgAUG8AmogCUEIaigCADYCACABQdQCaiAPQQhqKAIANgIAIAEgKjcDoAIgASArNwOYAiABIC03A6gCIAEgASkD0AE3A8ACIAEgCSkCADcCtAIgASAPKQIANwLMAiABQfABaiABQZgCahCCASABKALwAQRAIAFBkAJqKQMAISogAUGMAmooAgAhDSABQYgCaigCACEOIAFBhAJqKAIAIREgAUGAAmooAgAhEiABQfwBaigCACEQIAsoAgAhCyAFBEAgChCOAgsgAEEgaiAqNwMAIABBHGogDTYCACAAQRhqIA42AgAgAEEUaiARNgIAIABBEGogEjYCACAAQQxqIBA2AgAgAEEIaiALNgIAIABBATYCACACEI4CDAQLIAFB/AFqKAIAIQQgASkC9AEhKiACQQM6AGAgAkIANwNQIAJBADYCNCACQgg3AiwgAiAENgIoIAIgKjcDICACIA42AhwgAiAFNgIYIAIgCjYCFCACQQA2AhAgAkECNgIIIAJCADcDACABQfgAahBdIAFCgYCAgBA3AnwgASACNgJ4DAILDBQLQZyNwABBNyABQdgCakHkk8AAQaCOwAAQywIACyAAIAEpA3g3AgQgAEEANgIAIABBLGogAUGgAWopAwA3AgAgAEEkaiABQZgBaikDADcCACAAQRxqIAFBkAFqKQMANwIAIABBFGogAUGIAWopAwA3AgAgAEEMaiABQYABaikDADcCACABKAJkBEAgASgCYBCOAgsgASgCbCELIAFB9ABqKAIAIgAEQCAAQQV0IQUgC0EUaiELA0AgCygCAARAIAtBBGsoAgAQjgILIAtBIGohCyAFQSBrIgUNAAsgASgCbCELCyABQfAAaigCACIARSAAQQV0RXJFBEAgCxCOAgsgAUE8aigCAARAIAEoAjgQjgILIAFB1ABqKAIABEAgASgCUBCOAgsgASgCHARAIAEoAhgQjgILIAEoAgwEQCABKAIIEI4CCyAMQQRqKAIABEAgDCgCABCOAgsgDQ0EIAdBBGooAgAEQCAKEI4CCyAJQQRqKAIARQ0EIAgQjgIMBAsgAUH4AGoQXCAsQgBSCyECIAEoAmQEQCABKAJgEI4CCyABKAJsIQsgAUH0AGooAgAiAARAIABBBXQhBSALQRRqIQsDQCALKAIABEAgC0EEaygCABCOAgsgC0EgaiELIAVBIGsiBQ0ACyABKAJsIQsLIAFB8ABqKAIAIgBFIABBBXRFckUEQCALEI4CCyABQTxqKAIABEAgASgCOBCOAgsgAUHUAGooAgAEQCABKAJQEI4CC0EAIQsgASgCHEUNACABKAIYEI4CCyABKAIMRQ0AIAEoAggQjgILAkAgAkUNACAPKAIAIgBFDQAgD0EEaigCAEUNACAAEI4CCyAMQQRqKAIABEAgDCgCABCOAgsCQCACRQ0AIAdBBGooAgAEQCAHKAIAEI4CCyAJQQRqKAIARQ0AIAgQjgILIAtFDQAgBEEUaigCAARAIARBEGooAgAQjgILIARBLGooAgAEQCAEQShqKAIAEI4CCyAEQdQAaigCAARAIARB0ABqKAIAEI4CCyAEQdwAaigCACEAIARB5ABqKAIAIgIEQCACQQV0IQUgAEEUaiELA0AgCygCAARAIAtBBGsoAgAQjgILIAtBIGohCyAFQSBrIgUNAAsLIARB4ABqKAIAIgJFIAJBBXRFcg0AIAAQjgILIAFB4AJqJAAMBwsgA0GYAWoiBCADQegAEO4CGiADQfAAaiACQQxqKAIANgIAIAMgAikCBDcDaCADQYABaiACQRhqKAIANgIAIAMgAkEQaikCADcDeCADQZABaiACQSRqKAIANgIAIAMgAkEcaikCADcDiAEgA0GIAmogAkEwaigCADYCACADIAJBKGopAgA3A4ACIANB+ABqIQwgA0GIAWohCyADQYACaiEHIwBBsAJrIgEkACAEQcwAaigCACENIARByABqKAIAIQ4gBEE8aigCACEKIARBQGsoAgAhAiAEQcQAaigCACEFIAQoAjghCCABQTBqIARBMGopAwA3AwAgAUEoaiAEQShqKQMANwMAIAFBIGogBEEgaikDADcDACABQRhqIARBGGopAwA3AwAgAUEQaiAEQRBqKQMANwMAIAFBCGogBEEIaikDADcDACABIAQpAwA3AwAgAUHIAGogBEHgAGopAgA3AwAgAUFAayAEQdgAaikCADcDACABIAQpAlA3AzggAUH4AWogAiADQegAaiIPKAIAIhEgD0EIaigCACAFKAIMIgQRBAACQAJAAkACQAJAIAEoAvgBRQRAIAFB2ABqIAFBhAJqIhIoAgA2AgAgASABKQL8ATcDUCABQfgBaiACIAwoAgAiCSAMQQhqKAIAIhAgBBEEACABKAL4AUUNASABQbwBaiABQZgCaikDACIqNwIAIAFBtAFqIAFBkAJqKQMAIis3AgAgAUGsAWogAUGIAmopAwAiLDcCACABIAFBgAJqKQMAIi03AqQBIABBIGogKjcCACAAQRhqICs3AgAgAEEQaiAsNwIAIABBCGogLTcCAEEBIQIgAEEBNgIADAILIAFBvAFqIAFBmAJqKQMAIio3AgAgAUG0AWogAUGQAmopAwAiKzcCACABQawBaiABQYgCaikDACIsNwIAIAEgAUGAAmopAwAiLTcCpAEgAEEgaiAqNwIAIABBGGogKzcCACAAQRBqICw3AgAgAEEIaiAtNwIAQQEhAiAAQQE2AgAMAgsgAUHoAGogEigCADYCACABIAEpAvwBNwNgIAFB5AFqIA02AgAgAUHcAWogBTYCACABIA42AuABIAEgAjYC2AEgASAKNgLUASABIAg2AtABIAFB+AFqIAFB0AFqIAEgAUHQAGogAUE4ahByAkACQAJAAkAgAS0A+AFFBEAgAS0A+QENAkENIQQMAQsgAUGoAWogAUGMAmopAgA3AwAgAUGwAWogAUGUAmopAgA3AwAgAUG4AWogAUGcAmooAgA2AgAgASABQYQCaikCADcDoAEgAUGAAmooAgAiBEEPRg0BCyABQYgBaiABQbgBaigCACICNgIAIAFBgAFqIAFBsAFqKQMAIio3AwAgAUH4AGogAUGoAWopAwAiKzcDACABIAEpA6ABIiw3A3AgAEEkaiACNgIAIABBHGogKjcCACAAQRRqICs3AgAgAEEMaiAsNwIAIABBCGogBDYCAEEBIQIgAEEBNgIADAELIAFBkAFqQgA3AwAgAUGAAWpCADcDACABQgQ3A4gBIAFCgICAgMAANwN4IAFCCDcDcAJAAkACQCALKAIIIgIEQCALKAIAIQQgAkEobCECIAFBgAJqIQUDQCABQfgBaiAIIAogAUHQAGogAUHgAGogBEEQaigCACAEQRhqKAIAIAQpAwAgBEEIaikDABBxIAEpA/gBUEUNAiAEQShqIQQgAUHAAWogBUEgaikDACIqNwMAIAFB2AFqIAVBCGopAwA3AwAgAUHgAWogBUEQaikDADcDACABQegBaiAFQRhqKQMANwMAIAFB8AFqICo3AwAgASAFKQMANwPQASABQdABaiABQfAAahB6IAJBKGsiAg0ACwsgBygCACIFDQEMBAsgAUG4AWogBUEYaikDACIqNwMAIAFBsAFqIAVBEGopAwAiKzcDACABQagBaiAFQQhqKQMAIiw3AwAgASAFKQMAIi03A6ABIABBIGogKjcDACAAQRhqICs3AwAgAEEQaiAsNwMAIABBCGogLTcDAEEBIQIgAEEBNgIADAELAkBB6ABBCBB2IgIEQCABQQA2AtgBIAFCATcD0AEgAUH4AWoiBCABQdABakGEjcAAENcCIAFBOGogBBCxAQ0BIAFBuAFqIgogCykCADcDACABQcABaiIIIAtBCGooAgA2AgAgAUGoAWoiDSABQdgBaiIOKAIANgIAIAFBtAFqIA9BCGooAgA2AgAgAUHMAWogB0EIaigCADYCACABIAEpA9ABNwOgASABIA8pAgA3AqwBIAEgBykCADcCxAEgDCgCBCEEIAFBoAJqIAFByAFqKQMANwMAIAFBmAJqIAgpAwA3AwAgAUGQAmogCikDADcDACABQYgCaiABQbABaikDADcDACABQYACaiANKQMANwMAIAEgASkDoAE3A/gBIAFB0AFqIAFB+AFqEIMBIAEoAtABBEAgAUHwAWopAwAhKiABQewBaigCACEFIAFB6AFqKAIAIQogAUHkAWooAgAhCCABQeABaigCACENIAFB3AFqKAIAIRIgDigCACEOIAQEQCAJEI4CCyAAQQE2AgAgAEEgaiAqNwMAIABBHGogBTYCACAAQRhqIAo2AgAgAEEUaiAINgIAIABBEGogDTYCACAAQQxqIBI2AgAgAEEIaiAONgIAIAIQjgJBACECDAMLIAFB3AFqKAIAIQcgASkC1AEhKiACQQM6AGAgAkIANwNQIAJBADYCNCACQgg3AiwgAiAHNgIoIAIgKjcDICACIBA2AhwgAiAENgIYIAIgCTYCFCACQQA2AhAgAkECNgIIIAJCADcDACABQfAAahBdIAFCgYCAgBA3AnQgASACNgJwDAQLDBQLQZyNwABBNyABQagCakHkk8AAQaCOwAAQywIACyABQfAAahBcCyABKAJkRQ0BIAEoAmAQjgIMAQsgACABKQNwNwIEIABBADYCACAAQSxqIAFBmAFqKQMANwIAIABBJGogAUGQAWopAwA3AgAgAEEcaiABQYgBaikDADcCACAAQRRqIAFBgAFqKQMANwIAIABBDGogAUH4AGopAwA3AgAgASgCZARAIAEoAmAQjgILIAEoAlQEQCABKAJQEI4CCyABKAI8BEAgASgCOBCOAgsgASgCRCEEIAFBzABqKAIAIgAEQCAAQQV0IQAgBEEUaiEEA0AgBCgCAARAIARBBGsoAgAQjgILIARBIGohBCAAQSBrIgANAAsgASgCRCEECyABQcgAaigCACIARSAAQQV0RXJFBEAgBBCOAgsgAUEUaigCAARAIAEoAhAQjgILIAFBLGooAgAEQCABKAIoEI4CCyAFDQMgCxBYIAxBBGooAgAEQCAJEI4CCwwCCyABKAJURQ0AIAEoAlAQjgILIAEoAjwEQCABKAI4EI4CCyABKAJEIQQgAUHMAGooAgAiAARAIABBBXQhACAEQRRqIQQDQCAEKAIABEAgBEEEaygCABCOAgsgBEEgaiEEIABBIGsiAA0ACyABKAJEIQQLIAFByABqKAIAIgBFIABBBXRFckUEQCAEEI4CCyABQRRqKAIABEAgASgCEBCOAgsgAUEsaigCAARAIAEoAigQjgILAkAgAiAHKAIAIgBBAEdxRQ0AIAdBBGooAgBFDQAgABCOAgsgAkUNASALKAIAIQIgCygCCCIABEAgAEEobCEAIAJBIGohBANAIARBDGsoAgAEQCAEQRBrKAIAEI4CCyAEKAIABEAgBEEEaygCABCOAgsgBEEoaiEEIABBKGsiAA0ACwsgC0EEaigCACIARSAArUIofqdFckUEQCACEI4CCyAMQQRqKAIABEAgDCgCABCOAgsLIA9BBGooAgBFDQAgERCOAgsgAUGwAmokAAwGCyACQUBrKQMAISsgAkE4aikDACEqIANBmAFqIgEgA0HoABDuAhogA0HwAGogAkEMaigCADYCACADIAIpAgQ3A2ggA0GAAWogAkEYaigCADYCACADIAJBEGopAgA3A3ggA0GQAWogAkEkaigCADYCACADIAJBHGopAgA3A4gBIANBiAJqIAJBMGooAgA2AgAgAyACQShqKQIANwOAAiADQfgAaiEFIANBiAFqIQsgA0GAAmohDCMAQaACayICJAAgAUE8aigCACEPIAFBQGsoAgAhBCABQcQAaigCACEIIAEoAjghByACQRhqIAFB4ABqKQIANwMAIAJBEGogAUHYAGopAgA3AwAgAiABKQJQNwMIIAJB2AFqIAQgA0HoAGoiCSgCACIKIAlBCGooAgAiDSAIKAIMEQQAAkACQAJ/AkACQAJ/AkACQAJAAkACQCACKALYAUUEQCACQShqIAJB5AFqIg4oAgA2AgAgAiACKQLcATcDICACQdgBaiAHIA8QNCACKALYAQ0BIAJB4AFqKAIAIAIoAtwBIQRBASEIIA4oAgAiDiACKAIQRgRAIAIoAgggBCAOEO0CQQBHIQgLBEAgBBCOAgsgCA0CIAJBMGogBSgCACAFQQhqKAIAEDAgAkHYAWogByACKAIwIgggAigCOCAPKAIMIg4RBAACQCACKALYASIERQ0AIAIoAtwBRQ0AIAQQjgILIAIoAjQEQCAIEI4CCyAEDQMgAkHQAGpCADcDACACQUBrQgA3AwAgAkIENwNIIAJCgICAgMAANwM4IAJCCDcDMCACQdgBaiAHIA9BACACQSBqIAUoAgAgBUEIaigCACAqICsQcSACQeABaiEEIAIpA9gBUEUNBCACQdABaiAEQSBqKQMAIiw3AwAgAkHoAGogBEEIaikDADcDACACQfAAaiAEQRBqKQMANwMAIAJB+ABqIARBGGopAwA3AwAgAkGAAWogLDcDACACIAQpAwA3A2AgAkHgAGogAkEwahB6IAwoAgAiEQ0FQQEMBgsgAkHMAGogAkH4AWopAwAiKjcCACACQcQAaiACQfABaikDACIrNwIAIAJBPGogAkHoAWopAwAiLDcCACACIAJB4AFqKQMAIi03AjQgAEEgaiAqNwIAIABBGGogKzcCACAAQRBqICw3AgAgAEEIaiAtNwIAIABBATYCAEEBDAgLIAJBOGogAkHwAWopAwAiKjcDACACQUBrIAJB+AFqKQMAIis3AwAgAiACQegBaikDACIsNwMwIAJB4AFqKQMAIS0gAEEgaiArNwIAIABBGGogKjcCACAAQRBqICw3AgAgAEEIaiAtNwMAQQEhBCAAQQE2AgAMBgtBASEEIABBATYCACAAQQhqQQ02AgAMBQtBASEEIABBATYCACAAQQhqQQw2AgAMBAsgAkHIAWogBEEYaikDACIqNwMAIAJBwAFqIARBEGopAwAiKzcDACACQbgBaiAEQQhqKQMAIiw3AwAgAiAEKQMAIi03A7ABIABBIGogKjcDACAAQRhqICs3AwAgAEEQaiAsNwMAIABBCGogLTcDAEEBIQQgAEEBNgIADAILAkACQEHoAEEIEHYiBARAIAJBADYCuAEgAkIBNwOwASACQdgBaiIIIAJBsAFqQYSNwAAQ1wIgAkEIaiAIELEBDQEgAkGQAWoiEiAFELQCIAJBqAFqIAJBuAFqIhAoAgAiFzYCACACIAIpA7ABIiw3A6ABIAkoAgQhCCACQfABaiAXNgIAIAJB+AFqIAIpA4gBNwMAIAJBgAJqIBIpAwA3AwAgAkGIAmogAkGYAWooAgA2AgAgAkGUAmogDEEIaigCADYCACACICs3A+ABIAIgKjcD2AEgAiAsNwPoASACQQA2AvQBIAIgDCkCADcCjAIgAkGwAWogAkHYAWoQggEgAigCsAFFDQIgAkHQAWopAwAhKiACQcwBaigCACEHIAJByAFqKAIAIQ8gAkHEAWooAgAhDSACQcABaigCACEOIAJBvAFqKAIAIREgECgCACESIAgEQCAKEI4CCyAAQSBqICo3AwAgAEEcaiAHNgIAIABBGGogDzYCACAAQRRqIA02AgAgAEEQaiAONgIAIABBDGogETYCACAAQQhqIBI2AgAgAEEBNgIAIAQQjgJBACEEDAQLQegAQQgQsAIAC0GcjcAAQTcgAkGYAmpB5JPAAEGgjsAAEMsCAAsgAkG8AWooAgAhEiACKQK0ASEqIARBAzoAYCAEQgA3A1AgBEEANgI0IARCCDcCLCAEIBI2AiggBCAqNwMgIAQgDTYCHCAEIAg2AhggBCAKNgIUIARBADYCECAEQQI2AgggBEIANwMAIAJBMGoQXSACQoGAgIAQNwI0IAIgBDYCMEEACyEEIAJBsAFqIAUoAgAgBUEIaigCABAwIAJB2AFqIAcgAigCsAEiDSACKAK4ASAOEQQAAkAgAigC2AEiCEUNACACKALcAUUNACAIEI4CCyACKAK0AQRAIA0QjgILIAgNAyACQdgBaiAHIA8gBSgCACAFQQhqKAIAIAsQMyACKALYASIHQQxGDQMgAkHIAWogAkH0AWooAgAiDzYCACACQcABaiACQewBaikCACIqNwMAIAJBuAFqIAJB5AFqKQIAIis3AwAgAiACKQLcASIsNwOwASAAQSRqIA82AgAgAEEcaiAqNwIAIABBFGogKzcCACAAQQxqICw3AgAgAEEIaiAHNgIAIABBATYCAAsgAkEwahBcCyACKAIkBEAgAigCIBCOAgsgBEEARwshByACKAIMBEAgAigCCBCOAgsgAigCFCEAIAJBHGooAgAiBARAIARBBXQhBCAAQRRqIQADQCAAKAIABEAgAEEEaygCABCOAgsgAEEgaiEAIARBIGsiBA0ACyACKAIUIQALIAJBGGooAgAiBEUgBEEFdEVyRQRAIAAQjgILAkAgByAMKAIAIgBBAEdxRQ0AIAxBBGooAgBFDQAgABCOAgsgC0EEaigCAARAIAsoAgAQjgILIAVBBGooAgAEQCAFKAIAEI4CCwJAIAdFDQAgCUEEaigCAEUNACAKEI4CCyABQRRqKAIABEAgAUEQaigCABCOAgsgAUEsaigCAEUNASABQShqKAIAEI4CDAELIAAgAikDMDcCBCAAQQA2AgAgAEEsaiACQdgAaikDADcCACAAQSRqIAJB0ABqKQMANwIAIABBHGogAkHIAGopAwA3AgAgAEEUaiACQUBrKQMANwIAIABBDGogAkE4aikDADcCACACKAIkBEAgAigCIBCOAgsgAkEIaiIMQQRqKAIABEAgDCgCABCOAgsgDCgCDCEAIAxBFGooAgAiBARAIARBBXQhBCAAQRRqIQADQCAAKAIABEAgAEEEaygCABCOAgsgAEEgaiEAIARBIGsiBA0ACyAMKAIMIQALIAxBEGooAgAiBEUgBEEFdEVyRQRAIAAQjgILIAtBBGooAgAEQCALKAIAEI4CCyAFQQRqKAIABEAgBSgCABCOAgsCQCARDQAgCUEEaigCAEUNACAKEI4CCyABQRRqKAIABEAgAUEQaigCABCOAgsgAUEsaigCAARAIAFBKGooAgAQjgILCyACQaACaiQADAULIANBmAFqIgUgA0HoABDuAhogA0GAAWogAkEMaigCADYCACADIAIpAgQ3A3ggA0GQAWogAkEYaigCADYCACADIAJBEGopAgA3A4gBIANBiAJqIAJBJGooAgA2AgAgAyACQRxqKQIANwOAAiADQfgAaiEHIANBiAFqIQsgA0GAAmohCSMAQfABayIBJAAgBUHEAGooAgAhBCAFQUBrKAIAIQwgBUE8aigCACEIIAUoAjghCiABQRBqIAVB4ABqKQIANwMAIAFBCGogBUHYAGopAgA3AwAgASAFKQJQNwMAIAFBuAFqIAogCBA0AkACQAJAAkACQAJAAkAgASgCuAFFBEAgAUHAAWooAgAgASgCvAEhAkEBIQ8gAUHEAWooAgAiDiABKAIIRgRAIAEoAgAgAiAOEO0CQQBHIQ8LBEAgAhCOAgsgDw0EIAFBuAFqIAwgBygCACINIAdBCGooAgAiEiAEKAIMEQQAIAEoArgBDQIgAUEgaiABQcQBaigCADYCACABIAEpArwBNwMYIAFByABqQgA3AwAgAUE4akIANwMAIAFCBDcDQCABQoCAgIDAADcDMCABQgg3AyggCygCCCIEBEAgCygCACECIARBKGwhDCABQcABaiEEA0AgAUGQAWogAkEQaiIPKAIAIAJBGGoiDigCABAwIAFBuAFqIAogASgCkAEiECABKAKYASAIKAIMIhcRBAACQCABKAK4ASIRRQ0AIAEoArwBRQ0AIBEQjgILIAEoApQBBEAgEBCOAgsCQAJAAkAgEUUEQCABQbgBaiAKIAhBACABQRhqIA8oAgAgDigCACACKQMAIAJBCGopAwAQcSABKQO4AVBFDQEgAUGwAWogBEEgaikDACIqNwMAIAFB4ABqIARBCGopAwA3AwAgAUHoAGogBEEQaikDADcDACABQfAAaiAEQRhqKQMANwMAIAFB+ABqICo3AwAgASAEKQMANwNYIAFB2ABqIAFBKGoQeiABQZABaiAPKAIAIA4oAgAQMCABQbgBaiAKIAEoApABIhAgASgCmAEgFxEEAAJAIAEoArgBIhFFDQAgASgCvAFFDQAgERCOAgsgASgClAEEQCAQEI4CCyARDQMgAUG4AWogCiAIIA8oAgAgDigCACACQRxqEDMgASgCuAEiD0EMRg0DIAFBqAFqIAFB1AFqKAIAIgI2AgAgAUGgAWogAUHMAWopAgAiKjcDACABQZgBaiABQcQBaikCACIrNwMAIAEgASkCvAEiLDcDkAEgAEEkaiACNgIAIABBHGogKjcCACAAQRRqICs3AgAgAEEMaiAsNwIAIABBCGogDzYCAAwCC0EBIQIgAEEBNgIAIABBCGpBDDYCAAwGCyABQagBaiAEQRhqKQMAIio3AwAgAUGgAWogBEEQaikDACIrNwMAIAFBmAFqIARBCGopAwAiLDcDACABIAQpAwAiLTcDkAEgAEEgaiAqNwMAIABBGGogKzcDACAAQRBqICw3AwAgAEEIaiAtNwMAC0EBIQIgAEEBNgIADAQLIAJBKGohAiAMQShrIgwNAAsLIAkoAgAiDEUNBgJAQegAQQgQdiICBEAgAUEANgKYASABQgE3A5ABIAFBuAFqIgQgAUGQAWpBhI3AABDXAiABIAQQsQENASABQeAAaiALKQIAIio3AgAgAUHoAGogC0EIaigCACIPNgIAIAFBiAFqIAFBmAFqIgooAgAiCDYCACABIAEpA5ABIis3A4ABIAcoAgQhBCABQcABaiAINgIAIAFB0AFqICo3AwAgAUHYAWogDzYCACABQeQBaiAJQQhqKAIANgIAIAEgKzcDuAEgAUEANgLEASABQcgBaiABKQJYNwMAIAEgCSkCADcC3AEgAUGQAWogAUG4AWoQgwEgASgCkAEEQCABQbABaikDACEqIAFBrAFqKAIAIQwgAUGoAWooAgAhDyABQaQBaigCACEIIAFBoAFqKAIAIQ4gAUGcAWooAgAhESAKKAIAIQogBARAIA0QjgILIABBIGogKjcDACAAQRxqIAw2AgAgAEEYaiAPNgIAIABBFGogCDYCACAAQRBqIA42AgAgAEEMaiARNgIAIABBCGogCjYCACAAQQE2AgAgAhCOAkEAIQIMBAsgAUGcAWooAgAhDyABKQKUASEqIAJBAzoAYCACQgA3A1AgAkEANgI0IAJCCDcCLCACIA82AiggAiAqNwMgIAIgEjYCHCACIAQ2AhggAiANNgIUIAJBADYCECACQQI2AgggAkIANwMAIAFBKGoQXSABQoGAgIAQNwIsIAEgAjYCKAwICwwTC0GcjcAAQTcgAUHoAWpB5JPAAEGgjsAAEMsCAAsgAUEwaiABQdABaikDACIqNwMAIAFBOGogAUHYAWopAwAiKzcDACABIAFByAFqKQMAIiw3AyggAUHAAWopAwAhLSAAQSBqICs3AgAgAEEYaiAqNwIAIABBEGogLDcCACAAQQhqIC03AwAMAgsgAUEoahBcIAEoAhxFDQMgASgCGBCOAgwDCyABQcQAaiABQdgBaikDACIqNwIAIAFBPGogAUHQAWopAwAiKzcCACABQTRqIAFByAFqKQMAIiw3AgAgASABQcABaikDACItNwIsIABBIGogKjcCACAAQRhqICs3AgAgAEEQaiAsNwIAIABBCGogLTcCAAtBASECIABBATYCAAwBC0EBIQIgAEEBNgIAIABBCGpBDTYCAAsgASgCBARAIAEoAgAQjgILIAEoAgwhBCABQRRqKAIAIgAEQCAAQQV0IQ8gBEEUaiEEA0AgBCgCAARAIARBBGsoAgAQjgILIARBIGohBCAPQSBrIg8NAAsgASgCDCEECyABQRBqKAIAIgBFIABBBXRFckUEQCAEEI4CCwJAIAIgCSgCACIAQQBHcUUNACAJQQRqKAIARQ0AIAAQjgILAkAgAkUNACALKAIAIQAgCygCCCICBEAgAkEobCEPIABBIGohBANAIARBDGsoAgAEQCAEQRBrKAIAEI4CCyAEKAIABEAgBEEEaygCABCOAgsgBEEoaiEEIA9BKGsiDw0ACwsgC0EEaigCACICRSACrUIofqdFckUEQCAAEI4CCyAHQQRqKAIARQ0AIAcoAgAQjgILIAVBFGooAgAEQCAFQRBqKAIAEI4CCyAFQSxqKAIARQ0BIAVBKGooAgAQjgIMAQsgACABKQMoNwIEIABBADYCACAAQSxqIAFB0ABqKQMANwIAIABBJGogAUHIAGopAwA3AgAgAEEcaiABQUBrKQMANwIAIABBFGogAUE4aikDADcCACAAQQxqIAFBMGopAwA3AgAgASgCHARAIAEoAhgQjgILIAEoAgQEQCABKAIAEI4CCyABKAIMIQQgAUEUaigCACIABEAgAEEFdCEPIARBFGohBANAIAQoAgAEQCAEQQRrKAIAEI4CCyAEQSBqIQQgD0EgayIPDQALIAEoAgwhBAsgAUEQaigCACIARSAAQQV0RXJFBEAgBBCOAgsCQCAMDQAgCxBYIAdBBGooAgBFDQAgDRCOAgsgBUEUaigCAARAIAVBEGooAgAQjgILIAVBLGooAgBFDQAgBUEoaigCABCOAgsgAUHwAWokAAwECyACQShqKQMAISogAkEgaikDACErIANBmAFqIgQgA0HoABDuAhogA0GQAWogAkEMaigCADYCACADIAIpAgQ3A4gBIANBiAJqIAJBGGooAgA2AgAgAyACQRBqKQIANwOAAiADQYACaiEFIwBBkAJrIgEkACAEQcwAaigCACEPIARByABqKAIAIQkgBEE8aigCACELIARBQGsoAgAhAiAEQcQAaigCACEMIAQoAjghByABQRBqIARB4ABqKQIANwMAIAFBCGogBEHYAGopAgA3AwAgASAEKQJQNwMAIAFByABqIARBMGopAwA3AwAgAUFAayAEQShqKQMANwMAIAFBOGogBEEgaikDADcDACABQTBqIARBGGopAwA3AwAgAUEoaiAEQRBqKQMANwMAIAFBIGogBEEIaikDADcDACABIAQpAwA3AxggAUHgAWogAiADQYgBaiIEKAIAIgogBEEIaigCACAMKAIMEQQAAkACQAJAAkACQAJAIAEoAuABRQRAIAFB2ABqIAFB7AFqIggoAgA2AgAgASABKQLkATcDUCABQaQBaiAPNgIAIAFBnAFqIAw2AgAgASAJNgKgASABIAI2ApgBIAEgCzYClAEgASAHNgKQASABQeABaiABQZABaiABQRhqIAFB0ABqIAEQciABLQDgAQ0BIAEtAOEBDQNBDSECDAILIAFB/ABqIAFBgAJqKQMAIio3AgAgAUH0AGogAUH4AWopAwAiKzcCACABQewAaiABQfABaikDACIsNwIAIAEgAUHoAWopAwAiLTcCZCAAQSBqICo3AgAgAEEYaiArNwIAIABBEGogLDcCACAAQQhqIC03AgAgAEEBNgIADAQLIAFB6ABqIAFB9AFqKQIANwMAIAFB8ABqIAFB/AFqKQIANwMAIAFB+ABqIAFBhAJqKAIANgIAIAEgCCkCADcDYCABQegBaigCACICQQ9GDQELIAFB0AFqIAFB+ABqKAIAIgs2AgAgAUHIAWogAUHwAGopAwAiKjcDACABQcABaiABQegAaikDACIrNwMAIAEgASkDYCIsNwO4ASAAQSRqIAs2AgAgAEEcaiAqNwIAIABBFGogKzcCACAAQQxqICw3AgAgAEEIaiACNgIAIABBATYCAAwBCyABQYABaiIMQgA3AwAgAUHwAGoiD0IANwMAIAFCBDcDeCABQoCAgIDAADcDaCABQgg3A2AgAUHgAWogByALIAFB0ABqQQAgBSgCACILIAVBCGooAgAgKyAqEHEgAUHoAWohAiABKQPgAVBFBEAgAUHQAWogAkEYaikDACIqNwMAIAFByAFqIAJBEGopAwAiKzcDACABQcABaiACQQhqKQMAIiw3AwAgASACKQMAIi03A7gBIABBIGogKjcDACAAQRhqICs3AwAgAEEQaiAsNwMAIABBCGogLTcDACAAQQE2AgAgAUHgAGoQXAwBCyABQdgBaiACQSBqKQMAIio3AwAgAUGYAWogAkEIaikDADcDACABQaABaiACQRBqKQMANwMAIAFBqAFqIAJBGGopAwA3AwAgAUGwAWogKjcDACABIAIpAwA3A5ABIAFBkAFqIAFB4ABqEHogAEEANgIAIABBLGogAUGIAWopAwA3AgAgAEEkaiAMKQMANwIAIABBHGogAUH4AGopAwA3AgAgAEEUaiAPKQMANwIAIABBDGogAUHoAGopAwA3AgAgACABKQNgNwIEIAEoAlQEQCABKAJQEI4CCyABQSxqKAIABEAgASgCKBCOAgsgAUHEAGooAgAEQCABKAJAEI4CCyABKAIEBEAgASgCABCOAgsgASgCDCECIAFBFGooAgAiAARAIABBBXQhACACQRRqIQIDQCACKAIABEAgAkEEaygCABCOAgsgAkEgaiECIABBIGsiAA0ACyABKAIMIQILIAFBEGooAgAiAEUgAEEFdEVyRQRAIAIQjgILIAVBBGooAgAEQCALEI4CCwwCCyABKAJURQ0AIAEoAlAQjgILIAFBLGooAgAEQCABKAIoEI4CCyABQcQAaigCAARAIAEoAkAQjgILIAEoAgQEQCABKAIAEI4CCyABKAIMIQIgAUEUaigCACIABEAgAEEFdCEAIAJBFGohAgNAIAIoAgAEQCACQQRrKAIAEI4CCyACQSBqIQIgAEEgayIADQALIAEoAgwhAgsgAUEQaigCACIARSAAQQV0RXJFBEAgAhCOAgsgBUEEaigCAARAIAUoAgAQjgILCyAEQQRqKAIABEAgChCOAgsgAUGQAmokAAwDCyADQZgBaiIEIANB6AAQ7gIaIANBkAFqIAJBDGooAgA2AgAgAyACKQIENwOIASADQYgCaiACQRhqKAIANgIAIAMgAkEQaikCADcDgAIgACEBIANBgAJqIQwjAEGQAmsiBSQAIARBzABqKAIAIQsgBEHIAGooAgAhByAEQTxqKAIAIQggBEFAaygCACEAIARBxABqKAIAIQIgBCgCOCENIAVBEGogBEHgAGopAgA3AwAgBUEIaiAEQdgAaikCADcDACAFIAQpAlA3AwAgBUHIAGogBEEwaikDADcDACAFQUBrIARBKGopAwA3AwAgBUE4aiAEQSBqKQMANwMAIAVBMGogBEEYaikDADcDACAFQShqIARBEGopAwA3AwAg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KAIAEI4CCyAFKAIMIQAgBUEUaigCACIBBEAgAUEFdCELIABBFGohAANAIAAoAgAEQCAAQQRrKAIAEI4CCyAAQSBqIQAgC0EgayILDQALIAUoAgwhAAsgBUEQaigCACIBRSABQQV0RXJFBEAgABCOAgsMAQsgDCgCACEBIAwoAggiAARAIABBKGwhCyABQSBqIQADQCAAQQxrKAIABEAgAEEQaygCABCOAgsgACgCAARAIABBBGsoAgAQjgILIABBKGohACALQShrIgsNAAsLIAxBBGooAgAiAEUgAK1CKH6nRXINACABEI4CCyAOQQRqKAIABEAgFxCOAgsgBUGQAmokAAwCCyACQRhqKQMAISogAkEQaikDACEsIANBmAFqIgQgA0HoABDuAhogA0GIAmogAkEMaigCADYCACADIAIpAgQ3A4ACIwBBsAJrIgEkACAEQcQAaigCACEFIARBQGsoAgAhCyAEQTxqKAIAIQwgBCgCOCEHIAFBIGogBEHgAGopAgA3AwAgAUEYaiAEQdgAaikCADcDACABIAQpAlA3AxAgAUHYAGogBEEwaikDADcDACABQdAAaiAEQShqKQMANwMAIAFByABqIARBIGopAwA3AwAgAUFAayAEQRhqKQMANwMAIAFBOGogBEEQaikDADcDACABQTBqIARBCGopAwA3AwAgASAEKQMANwMoIANBgAJqIQIgASAsQgNRBH4gAUICNwMAIAEpAwAhLCABKQMIBSAqCzcDaCABICw3A2ACQAJAAkAgAUHgAGogAUEoahCMAUUEQCABQcABaiALIAIoAgAiBCACQQhqKAIAIgsgBSgCDBEEACABKALAAUUNASABQZwBaiABQeABaikDACIqNwIAIAFBlAFqIAFB2AFqKQMAIis3AgAgAUGMAWogAUHQAWopAwAiLDcCACABIAFByAFqKQMAIi03AoQBIABBIGogKjcCACAAQRhqICs3AgAgAEEQaiAsNwIAIABBCGogLTcCACAAQQE2AgAMAgsgAEEBNgIAIABBCGpBDjYCAAwBC0EMIRAgAUH4AGogAUHMAWooAgA2AgAgASABKQLEATcDcCABQfABaiABQRBqIAFB8ABqEDEgASgC+AEhDyABKALwASEFIAFBkAJqIgkQ5QEgAUGgAmogAUHgAGogCRBwAkAgASgCoAIEQCABQYgCaiIMIAFBrAJqKAIANgIAIAEgASkCpAI3A4ACIAEoApQCBEAgASgCkAIQjgILIAFBqAJqIAwoAgA2AgAgASABKQOAAjcDoAIgAUHIAWoiDEGpj8AAQSAgAUGgAmoQLiABQYgBaiABQdgBaikDADcDACABQZABaiABQeABaikDADcDACABIAFB0AFqKQMANwOAASAMKAIAIRAgAUHMAWooAgAhBwwBCyABIAEpA5ACIio3AsQBIAFByAFqKAIAIAcgBSAPICqnIg8gAUGYAmooAgAgDCgCFBEIAARAIA8QjgILCyABKAL0AQRAIAUQjgILIBBBDEYEQCABQeABaiIFQgA3AwAgAUHYAWoiDEIENwMAIAFB0AFqIgdCADcDACABQcgBaiIPQoCAgIDAADcDACABQgg3A8ABIAFBjAFqIAs2AgAgAUEBOgCQASABIAQ2AogBIAEgASgCGDYChAEgASABKAIQNgKAASABQYABaiABQcABahB7IABBLGogAUHoAWopAwA3AgAgAEEkaiAFKQMANwIAIABBHGogDCkDADcCACAAQRRqIAcpAwA3AgAgAEEMaiAPKQMANwIAIAAgASkDwAE3AgQgAEEANgIAIAEoAnQEQCABKAJwEI4CCyABQTxqKAIABEAgASgCOBCOAgsgAUHUAGooAgAEQCABKAJQEI4CCyABKAIUBEAgASgCEBCOAgsgASgCHCEQIAFBJGooAgAiAARAIABBBXQhACAQQRRqIRADQCAQKAIABEAgEEEEaygCABCOAgsgEEEgaiEQIABBIGsiAA0ACyABKAIcIRALIAFBIGooAgAiAEUgAEEFdEVyRQRAIBAQjgILIAJBBGooAgBFDQIgBBCOAgwCCyABQbgBaiABQZABaikDACIqNwMAIAFBsAFqIAFBiAFqKQMAIis3AwAgASABKQOAASIsNwOoASAAQSBqICo3AgAgAEEYaiArNwIAIABBEGogLDcCACAAQQxqIAc2AgAgAEEIaiAQNgIAIABBATYCACABKAJ0RQ0AIAEoAnAQjgILIAFBPGooAgAEQCABKAI4EI4CCyABQdQAaigCAARAIAEoAlAQjgILIAEoAhQEQCABKAIQEI4CCyABKAIcIRAgAUEkaigCACIABEAgAEEFdCEAIBBBFGohEANAIBAoAgAEQCAQQQRrKAIAEI4CCyAQQSBqIRAgAEEgayIADQALIAEoAhwhEAsgAUEgaigCACIARSAAQQV0RXJFBEAgEBCOAgsgAkEEaigCAEUNACACKAIAEI4CCyABQbACaiQADAELIANBmAFqIgUgA0HoABDuAhogA0GIAmogAkEMaigCADYCACADIAIpAgQ3A4ACIwBBgAFrIgEkACAFQTxqKAIAIQQgBUFAaygCACECIAVBxABqKAIAIQwgBSgCOCEHIAFBEGogBUHgAGopAgA3AwAgAUEIaiAFQdgAaikCADcDACABIAUpAlA3AwAgAUHQAGogAiADQYACaiICKAIAIgsgAkEIaigCACIPIAwoAgwRBAACQCABKAJQRQRAIAFBIGogAUHcAGooAgA2AgAgASABKQJUNwMYIAFB0ABqIAEgAUEYahAxIAcgASgCUCIMIAEoAlggBCgCGBECACABKAJUBEAgDBCOAgsgAUHwAGoiBEIANwMAIAFB6ABqIgxCBDcDACABQeAAaiIHQgA3AwAgAUHYAGoiCUKAgICAwAA3AwAgAUIINwNQIAFBNGogDzYCACABQQA6ADggASALNgIwIAEgASgCCDYCLCABIAEoAgA2AiggAUEoaiABQdAAahB7IABBLGogAUH4AGopAwA3AgAgAEEkaiAEKQMANwIAIABBHGogDCkDADcCACAAQRRqIAcpAwA3AgAgAEEMaiAJKQMANwIAIAAgASkDUDcCBCAAQQA2AgAgASgCHARAIAEoAhgQjgILIAEoAgQEQCABKAIAEI4CCyABKAIMIQQgAUEUaigCACIABEAgAEEFdCEAIARBFGohBANAIAQoAgAEQCAEQQRrKAIAEI4CCyAEQSBqIQQgAEEgayIADQALIAEoAgwhBAsgAUEQaigCACIARSAAQQV0RXJFBEAgBBCOAgsgAkEEaigCAARAIAsQjgILIAVBFGooAgAEQCAFQRBqKAIAEI4CCyAFQSxqKAIARQ0BIAVBKGooAgAQjgIMAQsgAUHEAGogAUHwAGopAwAiKjcCACABQTxqIAFB6ABqKQMAIis3AgAgAUE0aiABQeAAaikDACIsNwIAIAEgAUHYAGopAwAiLTcCLCAAQSBqICo3AgAgAEEYaiArNwIAIABBEGogLDcCACAAQQhqIC03AgAgAEEBNgIAIAEoAgQEQCABKAIAEI4CCyABKAIMIQwgAUEUaigC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IAVBDWpB1o/AACkAADcAACAFQQhqQdGPwAApAAA3AAAgBUHJj8AAKQAANwAAIAFByABqQpWAgIDQAjcDACABQcQAaiAFNgIAIAFBQGtBBjYCACABQQE2AjgMAQsgAUE4aiAFIAFB+ABqKAIAECogASgCdEUNACAFEI4CCyABKAJkBEAgBxCOAgsCQAJAIAEoAjhFBEAgAUEIaiABQcQAaigCACIFNgIAIAEgASkCPCIcNwMAIANBDGogBTYCACADIBw3AgQgA0EANgIAIAlBBGooAgANAQwCCyABQSxqIAFB2ABqKQMAIhw3AgAgAUEkaiABQdAAaikDACIdNwIAIAFBHGogAUHIAGopAwAiHjcCACABIAFBQGspAwAiHzcCFCADQSBqIBw3AgAgA0EYaiAdNwIAIANBEGogHjcCACADQQhqIB83AgAgA0EBNgIAIAlBBGooAgBFDQELIAoQjgILIAFBgAFqJAAMAQtBFUEBELACAAsgBCgCcEUNCiAEQeQAaiAEQZABaikDACIcNwIAIARB3ABqIARBiAFqKQMAIh03AgAgBEHUAGogBEGAAWopAwAiHjcCACAEIARB+ABqKQMAIh83AkwgDEEgaiAcNwIAIAxBGGogHTcCACAMQRBqIB43AgAgDEEIaiAfNwIADAULIARBQGsgA0EQaikCADcDACAEQThqIANBCGopAgA3AwAgBCADKQIANwMwIARBoAFqIA1BMGopAwA3AwAgBEGYAWogDUEoaikDADcDACAEQZABaiANQSBqKQMANwMAIARBiAFqIA1BGGopAwA3AwAgBEGAAWogDUEQaikDADcDACAEQfgAaiANQQhqKQMANwMAIAQgDSkDADcDcCAEQdABaiABQQxqKAIANgIAIAQgAUEEaikCADcDyAEgBEGwAWogAUEYaigCADYCACAEIAFBEGopAgA3A6gBIARByABqIQMgBEHwAGohBSAEQagBaiEJIwBBkAFrIgEkACABQdAAaiAEQTBqIgcoAggiCiAEQcgBaiINKAIAIg4gDUEIaigCACAHQQxqKAIAKAIMIggRBAACQAJAAkACQAJAIAEoAlBFBEAgAUEQaiABQdwAaigCADYCACABIAEpAlQ3AwggAUHQAGogCiAJKAIAIgogCUEIaigCACAIEQQAIAEoAlANASABQSBqIAFB3ABqKAIANgIAIAEgASkCVDcDGCABQYgBaiAHQRBqKQIANwMAIAFBgAFqIAdBCGopAgA3AwAgASAHKQIANwN4IAFB0ABqIAFB+ABqIAUgAUEIaiABQRhqEHIgAS0AUA0CIAEtAFEhByADQQA6AAAgAyAHOgABIAEoAhwEQCABKAIYEI4CCyABKAIMBEAgASgCCBCOAgsgCUEEaigCAARAIAoQjgILIA1BBGooAgAEQCAOEI4CCyAFQRRqKAIABEAgBUEQaigCABCOAgsgBUEsaigCAEUNBSAFQShqKAIAEI4CDAULIAFBxABqIAFB8ABqKQMAIhw3AgAgAUE8aiABQegAaikDACIdNwIAIAFBNGogAUHgAGopAwAiHjcCACABIAFB2ABqKQMAIh83AiwgA0EgaiAcNwIAIANBGGogHTcCACADQRBqIB43AgAgA0EIaiAfNwIAIANBAToAACAJKAIAIQoMAwsgAUHEAGogAUHwAGopAwAiHDcCACABQTxqIAFB6ABqKQMAIh03AgAgAUE0aiABQeAAaikDACIeNwIAIAEgAUHYAGopAwAiHzcCLCADQSBqIBw3AgAgA0EYaiAdNwIAIANBEGogHjcCACADQQhqIB83AgAgA0EBOgAADAELIAFBxgBqIAFB8ABqKQMAIhw3AQAgAUE+aiABQegAaikDACIdNwEAIAFBNmogAUHgAGopAwAiHjcBACABIAFB2ABqKQMAIh83AS4gA0EgaiAcNwEAIANBGGogHTcBACADQRBqIB43AQAgA0EIaiAfNwEAIANBAToAACABKAIcRQ0AIAEoAhgQjgILIAEoAgxFDQAgASgCCBCOAgsgCUEEaigCAARAIAoQjgILIA1BBGooAgAEQCAOEI4CCyAFQRRqKAIABEAgBUEQaigCABCOAgsgBUEsaigCAEUNACAFQShqKAIAEI4CCyABQZABaiQAIAQtAEhFDQggBEEmaiAEQegAaikDACIcNwEAIARBHmogBEHgAGopAwAiHTcBACAEQRZqIARB2ABqKQMAIh43AQAgBCAEQdAAaikDACIfNwEOIAxBIGogHDcBACAMQRhqIB03AQAgDEEQaiAeNwEAIAxBCGogHzcBACAMQQE2AgAMDAsgAUEgaigCACERIAFBHGooAgAhAiABLQABIQkgBEEYaiADQRBqKQIANwMAIARBEGogA0EIaikCADcDACAEIAMpAgA3AwggBEGgAWogDUEwaikDADcDACAEQZgBaiANQShqKQMANwMAIARBkAFqIA1BIGopAwA3AwAgBEGIAWogDUEYaikDADcDACAEQYABaiANQRBqKQMANwMAIARB+ABqIA1BCGopAwA3AwAgBCANKQMANwNwIARB0AFqIAFBDGooAgA2AgAgBCABQQRqKQIANwPIASAEQbABaiABQRhqKAIANgIAIAQgAUEQaikCADcDqAEgBEHIAGohBSAEQfAAaiENIARBqAFqIQEjAEGgAmsiAyQAIAMgCSAJQQJHcToADyADQdgAaiAEQQhqIgcoAggiCCAEQcgBaiIOKAIAIgogDkEIaigCACAHQQxqKAIAIgsoAgwRBAACQAJAAkACQAJ/AkACQAJAAkAgAygCWEUEQCADQRhqIANB5ABqKAIANgIAIAMgAykCXDcDECADQbgBaiABQQhqKAIANgIAIAMgASkCADcDsAEjAEEwayIBJAAgA0HYAGoiCQJ/AkACQAJAIANBsAFqIhQoAgAiCkUNACABQQhqIAggCiAUKQIEIhxCIIinIAsoAgwRBAAgHKcEQCAKEI4CCyABKAIIDgMBAgACCyAJQQA2AgRBAAwCCyAJIAEpAgw3AgQgCUEMaiABQRRqKAIANgIAQQAMAQsgCUEgaiABQShqKQMANwMAIAlBGGogAUEgaikDADcDACAJQRBqIAFBGGopAwA3AwAgCUEIaiABQRBqKQMANwMAQQELNgIAIAFBMGokACADKAJYDQMgA0EoaiADQeQAaigCADYCACADIAMpAlwiHDcDICADIANBEGo2AvgBIANB2ABqIANB+AFqEJoBIAMoAmAhASADKAJYIQkgA0EINgI0IANB2JjAADYCMCADQbABaiADQTBqIAkgAUGAgMAAQQAQlAEgA0HEAWpBADYCACADQQY2AswBIANBBzYCyAEgA0IBNwK8ASAcpyEBIAMoAlwiCkUgCq1CFH6nRXJFBEAgCRCOAgsgBygCBCEKIAcoAgAhCCADKAKwASELIAMoArgBIRQgAQ0BIANBAjYC+AEMAgsgA0HMAGogA0H4AGopAwAiHDcCACADQcQAaiADQfAAaikDACIdNwIAIANBPGogA0HoAGopAwAiHjcCACADIANB4ABqKQMAIh83AjQgBUEgaiAcNwIAIAVBGGogHTcCACAFQRBqIB43AgAgBUEIaiAfNwIAIAVBATYCACABKAIAIgVFDQcgAUEEaigCAEUNByAFEI4CDAcLIAMgA0EgakEAIAEbNgJcIANBAUEEIAEbNgJYIANBMGohAQJAAkACQAJAAkACQAJAAkAgA0HYAGoiBygCAEEBaw4DAQIDAAsgAUEEaiAHQQRqEDUgAUEANgIADAYLIAFBBGogB0EEahA1IAFBATYCAAwFCyAHQQRqKAIAIRUCQCAHQQxqKAIAIgdFBEBBASEJDAELIAdBAEgNAiAHQQEQdiIJRQ0DCyAJIBUgBxDuAiEJIAFBDGogBzYCACABQQhqIAc2AgAgASAJNgIEIAFBADYCAAwECyAHQQRqKAIAIRVBASEJIAdBDGooAgAiBwRAIAdBAEgNASAHQQEQdiIJRQ0DCyAJIBUgBxDuAiEJIAFBDGogBzYCACABQQhqIAc2AgAgASAJNgIEIAFBATYCAAwDCxCxAgALIAdBARCwAgALIAdBARCwAgALAkACQAJAIAMoAlgOAwICAQALIAMoAmBFDQEgAygCXBCOAgwBCyADKAJgRQ0AIAMoAlwQjgILIANBgAJqIANBOGopAwA3AwAgAyADKQMwNwP4AQsgA0ECNgJYIAMgCCAKIAsgFCADQfgBaiADQdgAahCZASADKAIEIQcgAygCACELQSBBBBB2IgkEQEEAIQEgCUEANgIcIAlCATcCFCAJIAo2AhAgCSAINgIMIAlBBzYCCCAJIAs2AgAgCSAHNgIEIANBDDYCMCADQdwBaiANNgIAIAMgEUEKIAIbIgdBHiAHQR5JGzYC4AEgA0G0hsAANgLUASADIAk2AtABIAMgA0EwajYC5AEgAyADQQ9qNgLYASADQdgAaiADQdABahAeIAMpA1hCA1EEQCADKALQASIKIAMoAtQBIgkoAgARBQBBCCEHIAkoAgQEQCAJKAIIGiAKEI4CC0EADAQLAkAgAygC5AEoAgBBDEcNACADKALgAUUNACADQfgBaiADKALQASADKALUASgCEBEAAAtBgAFBCBB2IgcEQCAHIAMpA1g3AwAgB0EYaiADQfAAaiILKQMANwMAIAdBEGogA0HoAGoiFCkDADcDACAHQQhqIANB4ABqKQMANwMAIANChICAgBA3AuwBIAMgBzYC6AEgA0GIAmogA0HgAWopAwA3AwAgA0GAAmogA0HYAWopAwA3AwAgAyADKQPQATcD+AEgA0HYAGogA0H4AWoQHiADKQNYQgNRBEBBASEBDAQLQQQhCUECIQFBICEKA0AgCSABQQFrRgRAAkAgAygCjAIoAgBBDEcNACADKAKIAkUNACADQZACaiADKAL4ASADKAL8ASgCEBEAAAsgA0HoAWohCCMAQSBrIgckAAJAAkAgCSAJQQFqIhFLDQAgCEEEaigCACICQQF0IgkgESAJIBFLGyIJQQQgCUEESxsiCUH///8/cSAJRkEDdCERIAlBBXQhFSAHIAIEfyAHIAJBBXQ2AhQgByAIKAIANgIQQQgFQQALNgIYIAcgFSARIAdBEGoQaiAHKAIABEAgB0EIaigCACIARQ0BIAcoAgQgABCwAgALIAcoAgQhESAIQQRqIAk2AgAgCCARNgIAIAdBIGokAAwBCxCxAgALIAMoAugBIQcLIAcgCmoiCSADKQNYNwMAIAlBGGogCykDADcDACAJQRBqIBQpAwA3AwAgCUEIaiADQeAAaikDADcDACADIAE2AvABIANB2ABqIANB+AFqEB4gAykDWEIDUQ0EIApBIGohCiABQQFqIQEgAygC7AEhCQwACwALQYABQQgQsAIACwwTCyADQcwAaiADQfgAaikDACIcNwIAIANBxABqIANB8ABqKQMAIh03AgAgA0E8aiADQegAaikDACIeNwIAIAMgA0HgAGopAwAiHzcCNCAFQSBqIBw3AgAgBUEYaiAdNwIAIAVBEGogHjcCACAFQQhqIB83AgAgBUEBNgIADAILIAMoAvgBIgogAygC/AEiCSgCABEFACAJKAIEBEAgCSgCCBogChCOAgsgAygC7AELIQogAygCMCIIQQxGDQEgA0GgAWogA0FAaykDADcDACADQagBaiADQcgAaikDADcDACADIANBOGopAwA3A5gBIAMoAjQhESABBEAgAUEFdCEJIAdBFGohAQNAIAEoAgAEQCABQQRrKAIAEI4CCyABQSBqIQEgCUEgayIJDQALCyAKRSAKQQV0RXJFBEAgBxCOAgsgA0GIAWogA0GgAWopAwAiHDcDACADQZABaiADQagBaikDACIdNwMAIAMgAykDmAEiHjcDgAEgBUEgaiAdNwIAIAVBGGogHDcCACAFQRBqIB43AgAgBUEMaiAR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IAFBHGogAUHIAGopAwAiHjcCACABIAFBQGspAwAiHzcCFCADQSBqIBw3AgAgA0EYaiAdNwIAIANBEGogHjcCACADIB83AgggA0IBNwMAIAUoAgAhBwwBCyABQdgAaikDACEfIANBGGogHDcDACADQRBqIB03AwAgA0EgaiAfNwMAIAMgHjcDCCADQgE3AwAgASgCBEUNACABKAIAEI4CCyAFQQRqKAIABEAgBxCOAgsgCkEEaigCAEUNAQsgDhCOAgsgAUHwAGokACAEQYABaikDACEcIAQpA3ghHSAEKQNwUA0CIARBOGogBEGQAWopAwAiHjcDACAEIARBiAFqKQMAIh83AzAgDEEQaiAcNwMAIAxBCGogHTcDACAMQSBqIB43AwAgDEEYaiAfNwMADAELIARB5ABqIARBkAFqKQMAIhw3AgAgBEHcAGogBEGIAWopAwAiHTcCACAEQdQAaiAEQYABaikDACIeNwIAIAQgBEH4AGopAwAiHzcCTCAMQSBqIBw3AgAgDEEYaiAdNwIAIAxBEGogHjcCACAMQQhqIB83AgALIAxBATYCACANQRRqKAIABEAgDUEQaigCABCOAgsgDUEsaigCAEUNByANQShqKAIAEI4CDAcLIAQgHTcDqAEgBCAcNwOwASAEQcgBaiIBEOUBIARByABqIAEQ6wECQCAEKAJIRQRAIAQgBCgCTDYC2AEgBCAEQdAAai0AADoA3AEgBEHIAGogBEHYAWpBgIvAAEEHIARBqAFqEBMgBCgCSARAIARBFGogBEHUAGooAgA2AgAgBCAEKQJMNwIMDAILIARBCGogBCgC2AEgBC0A3AEQ/QEgBCgCCA0BIARB/ABqIARB0AFqKAIAIgE2AgAgBCAEKQPIASIcNwJ0IAxBDGogATYCACAMIBw3AgQgDEEANgIADAcLIARBFGogBEHIAGpBBHIiAUEIaigCADYCACAEIAEpAgA3AgwLIARBwAFqIgEgBEEUaigCADYCACAEIAQpAgw3A7gBIAQoAswBBEAgBCgCyAEQjgILIARB0ABqIAEoAgA2AgAgBCAEKQO4ATcDSCAEQfgAaiIBQdmSwABBHiAEQcgAahAuIAxBIGogBEGQAWopAwA3AwAgDEEYaiAEQYgBaikDADcDACAMQRBqIARBgAFqKQMANwMAIAxBCGogASkDADcDACAMQQE2AgAMBQsgBEH8AGooAgAhAyAEQfgAaigCACEOIAQoAnQhBSAEQagBaiIBEOUBIARB8ABqIAEQ6wEgDAJ/AkACQCAEKAJwRQRAIAQoAnQhByAEQfgAai0AAARAIAcoAgghAQwCCyAHKAIIIgkgB0EEaigCAEYEQCAHIAkQECAHKAIIIQkLIAcgCUEBaiIBNgIIIAcoAgAgCWpBLDoAAAwBCyAEQTxqIARB8ABqQQRyIgFBCGooAgA2AgAgBCABKQIANwI0DAELIAdBBGoiCSgCACABRgRAIAcgARAQIAcoAgghAQsgBygCACABakEiOgAAIAcgAUEBaiIBNgIIIAkoAgAgAWtBB00EQCAHIAFBCBARIAcoAgghAQsgBygCACABakLiwrGL5u3YsvMANwAAIAcgAUEIaiIBNgIIIAdBBGooAgAgAWtBAU0EQCAHIAFBAhARIAcoAgghAQsgBygCACABakGi9AA7AAAgByABQQJqNgIIIARB8ABqIAcgAxDqAQJAIAQoAnBFBEAgBEH4AGotAAAhCQJAIARByABqIAQoAnQiASADBH8gA0EEdCEKIAlFIQkgBSEDA0AgCUEBcQRAIAEoAggiCSABQQRqKAIARgRAIAEgCRAQIAEoAgghCQsgASAJQQFqNgIIIAEoAgAgCWpBLDoAAAsgBEHwAGogAyABEDggBCgCcA0CIANBEGohA0EBIQkgCkEQayIKDQALQQAFIAkLQf8BcUEARxD7ASAEKAJIDQIgBEEwaiAHQQAQ/QEgBCgCMA0DIARB/ABqIARBsAFqKAIAIgE2AgAgBCAEKQOoASIcNwJ0IAxBDGogATYCACAMIBw3AgRBAAwECyAEQdQAaiAEQfwAaigCADYCACAEIAQpAnQ3AkwMAQsgBEHUAGogBEHwAGpBBHIiAUEIaigCADYCACAEIAEpAgA3AkwLIARBPGogBEHUAGooAgA2AgAgBCAEKQJMNwI0CyAEQdABaiIBIARBPGooAgA2AgAgBCAEKQI0NwPIASAEKAKsAQRAIAQoAqgBEI4CCyAEQdAAaiABKAIANgIAIAQgBCkDyAE3A0ggBEH4AGoiAUG2ksAAQSMgBEHIAGoQLiAMQSBqIARBkAFqKQMANwMAIAxBGGogBEGIAWopAwA3AwAgDEEQaiAEQYABaikDADcDACAMQQhqIAEpAwA3AwBBAQs2AgAgDkUgDkEEdEVyDQQgBRCOAgwECyAEQdQAaigCACEIIARB0ABqKAIAIREgBCgCTCEJIARByAFqIgEQ5QEgBEHwAGogARDrASAMAn8CQAJAIAQoAnBFBEAgBCgCdCEHIARB+ABqLQAABEAgBygCCCEBDAILIAcoAggiAyAHQQRqKAIARgRAIAcgAxAQIAcoAgghAwsgByADQQFqIgE2AgggBygCACADakEsOgAADAELIARBtAFqIARB8ABqQQRyIgFBCGooAgA2AgAgBCABKQIANwKsAQwBCyAHQQRqIgMoAgAgAUYEQCAHIAEQECAHKAIIIQELIAcoAgAgAWpBIjoAACAHIAFBAWoiATYCCCADKAIAIAFrQQhNBEAgByABQQkQESAHKAIIIQELIAcoAgAgAWoiA0Gyl8AAKQAANwAAIANBCGpBupfAAC0AADoAACAHIAFBCWoiATYCCCAHQQRqKAIAIAFrQQFNBEAgByABQQIQESAHKAIIIQELIAcoAgAgAWpBovQAOwAAIAcgAUECajYCCCAEQfAAaiAHIAgQ6gECQCAEKAJwRQRAIARB+ABqLQAAIQECQCAEQQhqIAQoAnQiDSAIBH8gCEEFdCEOIAFFIQEgBEHwAGpBBHIhAiAJIQUDQCABQQFxBEAgDSgCCCIBIA1BBGooAgBGBEAgDSABEBAgDSgCCCEBCyANIAFBAWo2AgggDSgCACABakEsOgAACyAEQfAAaiANEOsBAkAgBCgCcEUEQCAEIAQtAHg6ANwBIAQgBCgCdDYC2AEgBEHwAGogBEHYAWpByJbAAEEHIAVBEGoQEiAEKAJwRQRAIAQoAtgBIQEgBC0A3AEEQCABKAIIIQMMAwsgASgCCCIKIAFBBGooAgBGBEAgASAKEBAgASgCCCEKCyABIApBAWoiAzYCCCABKAIAIApqQSw6AAAMAgsgBEHUAGogBEH8AGooAgA2AgAgBCAEKQJ0NwJMDAQLIARB1ABqIAJBCGooAgA2AgAgBCACKQIANwJMDAMLIARBADoA3AEgAUEEaiIKKAIAIANGBEAgASADEBAgASgCCCEDCyABKAIAIANqQSI6AAAgASADQQFqIgM2AgggCigCACADa0EGTQRAIAEgA0EHEBEgASgCCCEDCyABKAIAIANqIgtB4IbAACgAADYAACALQQNqQeOGwAAoAAA2AAAgASADQQdqIgM2AgggCigCACADa0EBTQRAIAEgA0ECEBEgASgCCCEDCyABKAIAIANqQaL0ADsAACABIANBAmo2AgggBEHwAGogBSABEHAgBCgCcARAIARB1ABqIARB/ABqKAIANgIAIAQgBCkCdDcCTAwDCyAEQcgAaiABQQAQ/QEgBCgCSA0CIAVBIGohBUEBIQEgDkEgayIODQALQQAFIAELQf8BcUEARxD7ASAEKAIIDQIgBEGoAWogB0EAEP0BIAQoAqgBDQMgBEH8AGogBEHQAWooAgAiATYCACAEIAQpA8gBIhw3AnQgDEEMaiABNgIAIAwgHDcCBEEADAQLIARBFGogBEHUAGooAgA2AgAgBCAEKQJMNwIMDAELIARBFGogBEHwAGpBBHIiAUEIaigCADYCACAEIAEpAgA3AgwLIARBtAFqIARBFGooAgA2AgAgBCAEKQIMNwKsAQsgBEHAAWoiASAEQbQBaigCADYCACAEIAQpAqwBNwO4ASAEKALMAQRAIAQoAsgBEI4CCyAEQdAAaiABKAIANgIAIAQgBCkDuAE3A0ggBEH4AGoiAUGzkcAAQSUgBEHIAGoQLiAMQSBqIARBkAFqKQMANwMAIAxBGGogBEGIAWopAwA3AwAgDEEQaiAEQYABaikDADcDACAMQQhqIAEpAwA3AwBBAQs2AgAgCARAIAhBBXQhAyAJQRRqIQEDQCABKAIABEAgAUEEaygCABCOAgsgAUEgaiEBIANBIGsiAw0ACwsgEUUgEUEFdEVyDQQgCRCOAgwECyAELQBJIQkgBEGoAWoiARDlASAEQcgAaiABEOsBAkACQAJAIAQoAkhFBEAgBCgCTCEBIARB0ABqLQAABEAgASgCCCEFDAILIAEoAggiAyABQQRqKAIARgRAIAEgAxAQIAEoAgghAwsgASADQQFqIgU2AgggASgCACADakEsOgAADAELIARBPGogBEHIAGpBBHIiAUEIaigCADYCACAEIAEpAgA3AjQMAQsgAUEEaiIDKAIAIAVGBEAgASAFEBAgASgCCCEFCyABKAIAIAVqQSI6AAAgASAFQQFqIgU2AgggAygCACAFa0EHTQRAIAEgBUEIEBEgASgCCCEFCyABKAIAIAVqQuHgwZP3zd2y5AA3AAAgASAFQQhqIgU2AgggAUEEaigCACAFa0EBTQRAIAEgBUECEBEgASgCCCEFCyABKAIAIAVqQaL0ADsAACABIAVBAmo2AgggBEHIAGoCQCAJRQRAIAFBBGooAgAgAUEIaiIFKAIAIgNrQQRNBEAgASADQQUQhwEgBSgCACEDCyAFIANBBWo2AgAgASgCACADaiIDQaHQwAAoAAA2AAAgA0EEakGl0MAALQAAOgAADAELIAFBBGooAgAgAUEIaiIFKAIAIgNrQQNNBEAgASADQQQQhwEgBSgCACEDCyAFIANBBGo2AgAgASgCACADakH05NWrBjYAAAtBADYCACAEKAJIBEAgBEE8aiAEQdQAaigCADYCACAEIAQpAkw3AjQMAQsgBEEwaiABQQAQ/QEgBCgCMEUNAQsgBEHQAWoiASAEQTxqKAIANgIAIAQgBCkCNDcDyAEgBCgCrAEEQCAEKAKoARCOAgsgBEHQAGogASgCADYCACAEIAQpA8gBNwNIIARB+ABqIgFB5Y7AAEEnIARByABqEC4gDEEgaiAEQZABaikDADcDACAMQRhqIARBiAFqKQMANwMAIAxBEGogBEGAAWopAwA3AwAgDEEIaiABKQMANwMAIAxBATYCAAwECyAEQfwAaiAEQbABaigCACIBNgIAIAQgBCkDqAEiHDcCdCAMQQxqIAE2AgAgDCAcNwIEIAxBADYCAAwDCyAEQdAAaiAEQfwAaigCACIBNgIAIARB0AFqIAE2AgAgBCAEKQJ0Ihw3A0ggBCAcNwPIASAEQTBqIgEQ5QEgBEHwAGogARDrASAMAn8CQAJAIAQoAnBFBEAgBCAEKAJ0NgK4ASAEIARB+ABqLQAAOgC8ASAEQfAAaiAEQbgBakH9lsAAQQMgBEHIAWoQEiAEKAJwBEAgBEEUaiAEQfwAaigCADYCACAEIAQpAnQ3AgwMAwsgBEEIaiAEKAK4ASAELQC8ARD9ASAEKAIIRQ0BDAILIARBFGogBEHwAGpBBHIiAUEIaigCADYCACAEIAEpAgA3AgwMAQsgBEH8AGogBEE4aigCACIBNgIAIAQgBCkDMCIcNwJ0IAxBDGogATYCACAMIBw3AgRBAAwBCyAEQbABaiIBIARBFGooAgA2AgAgBCAEKQIMNwOoASAEKAI0BEAgBCgCMBCOAgsgBEEQaiABKAIANgIAIAQgBCkDqAE3AwggBEH4AGoiAUH3ksAAQSAgBEEIahAuIAxBIGogBEGQAWopAwA3AwAgDEEYaiAEQYgBaikDADcDACAMQRBqIARBgAFqKQMANwMAIAxBCGogASkDADcDAEEBCzYCACAEKALMAUUNASAEKALIARCOAgwBCyAEQdAAaiAEQfwAaigCACIBNgIAIARB0AFqIgUgATYCACAEIAQpAnQiHDcDSCAEIBw3A8gBIAwgBEHIAWoQLyAEKALIASEDIAUoAgAiAQRAIAMgAUEMbGohBSADIQEDQCABQQRqKAIABEAgASgCABCOAgsgAUEMaiIBIAVHDQALCyAEKALMASIBRSABrUIMfqdFcg0AIAMQjgILIA1BFGooAgAEQCANQRBqKAIAEI4CCyANQSxqKAIARQ0AIA1BKGooAgAQjgILIARB4AFqJAAMAQtBIEEEELACAAsgBkHAAmogEykCADcDACAPIAZBnAFqKQIANwMAIBAgBkGkAWopAgA3AwAgEiAGQawBaigCADYCACAGIAYpAowBNwO4AiAGKAKIASIDRQ0BIAZB+AJqIAZB1AJqKQIANwMAIAZB8AJqIAZBzAJqKQIANwMAIAZB6AJqIAZBxAJqKQIANwMAIAYgBikCvAI3A+ACIAZBADYCiAMgBkIBNwOAAyAGQcABaiIBIAZBgANqQYSNwAAQ1wIgBkHgAmogARCkAQ0HIAZBHGogBkGIA2ooAgA2AgAgBiAGKQOAAzcCFCAGQQE2AhAgBkHgAmoQHQwCCyAGQRxqIAZB6AJqKAIANgIAIAYgBikD4AI3AhQgBkEBNgIQIAZBuAJqEB0gGARAIBUQjgILIBtFDQIgGRCOAgwCCyAGQRxqIAZBiAFqQQRyIgFBCGooAgA2AgAgBkEANgIQIAYgASkCADcCFAsgBigCNARAIAAQjgILIAYoAiQEQCAaEI4CCyAGQeACahDlASAGQRBqQQRyIgEgAw0BGiAGKALoAiIAIAYoAuQCRgRAIAZB4AJqIAAQECAGKALoAiEACyAGKALgAiAAakH7ADoAACAGIABBAWo2AugCIAZBiAFqIAZB4AJqQeuDwABBAhDnASAGKAKIAUUEQCAGKALoAiIAIAYoAuQCRgRAIAZB4AJqIAAQECAGKALoAiEACyAGKALgAiAAakE6OgAAIAYgAEEBajYC6AIgBkHgAGogARDaASAGQYgBaiAGQeACaiAGKAJgIgAgBigCaBDnASAGKAJkBEAgABCOAgsgBigCiAFFBEAgBigC6AIiACAGKALkAkYEQCAGQeACaiAAEBAgBigC6AIhAAsgBigC4AIgAGpB/QA6AAAgBiAAQQFqNgLoAgwECyAGQcQCaiAGQZQBaigCADYCACAGIAYpAowBNwK8AgwECyAGQcQCaiAGQZQBaigCADYCACAGIAYpAowBNwK8AgwDCyAGKAI0BEAgABCOAgsgBigCJARAIBoQjgILIAZB4AJqEOUBIAZBEGpBBHILIgEQLCAGKAK4Ag0BCyAGQcgAaiAGQegCaigCACIANgIAIAYgBikD4AIiHDcDQCAGQcgBaiAANgIAIAYgHDcDwAEgBkHAAWoQ3AEgBkEYaigCAARAIAEoAgAQjgILIAZBkANqJAAPCyAGQdgAaiIAIAZBxAJqKAIANgIAIAYgBikCvAI3A1AgBigC5AIEQCAGKALgAhCOAgsgBkGQAWoiASAAKAIANgIAIAYgBikDUDcDiAEgBkHIAWoiAEH+j8AAQdQAIAZBiAFqIgMQLiAGQaABaiAGQeABaikDADcDACAGQZgBaiAGQdgBaikDADcDACABIAZB0AFqKQMANwMAIAYgACkDADcDiAFB9JPAAEErIANBoJTAAEGkgsAAEMsCAAtBnI3AAEE3IAZBsAFqQeSTwABBoI7AABDLAgALCQAgACABEIgCC4oHAQZ/An8CQAJAAkAgAkEJTwRAIAMgAhCIAiIHDQFBAAwEC0GAgHxBCEEIEJYCQRRBCBCWAmpBEEEIEJYCamtBd3FBA2siAUEAQRBBCBCWAkECdGsiAiABIAJJGyADTQ0BQRAgA0EEakEQQQgQlgJBBWsgA0sbQQgQlgIhAiAAEKYCIgEgARCaAiIFEKMCIQQCQAJAAkACQAJAAkACQCABEJ0CRQRAIAIgBU0NASAEQYScwQAoAgBGDQIgBEGAnMEAKAIARg0DIAQQmwINByAEEJoCIgYgBWoiCCACSQ0HIAggAmshBSAGQYACSQ0EIAQQiwIMBQsgARCaAiEEIAJBgAJJDQYgBCACa0GBgAhJIAJBBGogBE1xDQUgASgCACIFIARqQRBqIQYgAkEfakGAgAQQlgIhBEEAIgJFDQYgAiAFaiIBIAQgBWsiAEEQayIDNgIEIAEgAxCjAkEHNgIEIAEgAEEMaxCjAkEANgIEQYicwQBBiJzBACgCACAEIAZraiIANgIAQaScwQBBpJzBACgCACIDIAIgAiADSxs2AgBBjJzBAEGMnMEAKAIAIgIgACAAIAJJGzYCAAwJC0EQQQgQlgIgBSACayIESw0EIAEgAhCjAiEFIAEgAhCeAiAFIAQQngIgBSAEEIoCDAQLQfybwQAoAgAgBWoiBSACTQ0EIAEgAhCjAiEEIAEgAhCeAiAEIAUgAmsiAkEBcjYCBEH8m8EAIAI2AgBBhJzBACAENgIADAMLQfibwQAoAgAgBWoiBSACSQ0DAkBBEEEIEJYCIAUgAmsiBEsEQCABIAUQngJBACEEQQAhBQwBCyABIAIQowIiBSAEEKMCIQYgASACEJ4CIAUgBBChAiAGIAYoAgRBfnE2AgQLQYCcwQAgBTYCAEH4m8EAIAQ2AgAMAgsgBEEMaigCACIJIARBCGooAgAiBEcEQCAEIAk2AgwgCSAENgIIDAELQeiYwQBB6JjBACgCAEF+IAZBA3Z3cTYCAAtBEEEIEJYCIAVNBEAgASACEKMCIQQgASACEJ4CIAQgBRCeAiAEIAUQigIMAQsgASAIEJ4CCyABDQMLIAMQiQIiAkUNASACIAAgAyABEJoCQXhBfCABEJ0CG2oiASABIANLGxDuAiAAEI4CDAMLIAcgACADIAEgASADSxsQ7gIaIAAQjgILIAcMAQsgARCdAhogARClAgsL2gIBA38jAEEQayICJAACQAJ/AkACQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgACgCCCIDIABBBGooAgBGBH8gACADEIYBIAAoAggFIAMLIAAoAgBqIAE6AAAgACAAKAIIQQFqNgIIDAMLIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAUE/cUGAAXI6AA8gAiABQRJ2QfABcjoADCACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA1BBAshASABIABBBGooAgAgAEEIaiIEKAIAIgNrSwRAIAAgAyABEIcBIAQoAgAhAwsgACgCACADaiACQQxqIAEQ7gIaIAQgASADajYCAAsgAkEQaiQAQQALSwECfyACIABBBGooAgAgAEEIaiIEKAIAIgNrSwRAIAAgAyACEIcBIAQoAgAhAwsgACgCACADaiABIAIQ7gIaIAQgAiADajYCAEEAC9kIAgd/An4jAEEgayIGJAACQAJAAkACQAJAAkACQAJAAkBBBkEBEHYiAgRAIAJBBGpBgJvAAC8AADsAACACQfyawAAoAAA2AABBCEEBEHYiBEUNASABQQxqIQcgBEL05IXzts7ZsvIANwAAIAFBFGooAgAiAyABQRBqKAIARgRAIAcgAxCFASABKAIUIQMLIAEoAgwgA0EYbGoiAyAENgIMIANChoCAgOAANwIEIAMgAjYCACADQRBqQoiAgICAATcCAEEBIQQgASABKAIUQQFqIgM2AhQgAEEkaigCACECIAAoAiAhCEEIQQEQdiIFRQ0CIAVC9N6tq+bt17TkADcAACACBEAgAkEASA0IIAJBARB2IgRFDQQLIAQgCCACEO4CIQQgAUEQaigCACADRgRAIAcgAxCFASABKAIUIQMLIAEoAgwgA0EYbGoiAyAENgIMIANCiICAgIABNwIEIAMgBTYCACADQRRqIAI2AgAgA0EQaiACNgIAIAEgASgCFEEBajYCFCAAQQhqKQMAIQkgACkDACEKQQZBARB2IgNFDQQgA0EEakGGm8AALwAAOwAAIANBgpvAACgAADYAACMAQUBqIgIkACAGQRRqIgRBADYCCCAEQgE3AgAgAiAJNwMIIAIgCjcDACACQRBqIgUgBEGIxsAAENcCIAIgBRDQAgRAQaDGwABBNyACQThqQczHwABBpMfAABDLAgALIAJBQGskACAGQoaAgIDgADcCDCAGIAM2AgggASgCFCICIAFBEGooAgBGBEAgByACEIUBIAEoAhQhAgsgASgCDCACQRhsaiICIAYpAwg3AgAgAkEQaiAGQRhqKQMANwIAIAJBCGogBkEQaikDADcCAEEBIQQgASABKAIUQQFqIgI2AhQgACgCECIFBEAgAEEUaigCACIDBEAgA0EASA0JIANBARB2IgRFDQcLIAQgBSADEO4CIQVBBEEBEHYiBEUNByAEQebkvesGNgAAIAFBEGooAgAgAkYEQCAHIAIQhQEgASgCFCECCyABKAIMIAJBGGxqIgIgBTYCDCACQoSAgIDAADcCBCACIAQ2AgAgAkEUaiADNgIAIAJBEGogAzYC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9AA7AAAgAyAEQQJqNgIIIAVBEGogAhDaASAFIAMgBSgCECIBIAUoAhgQ5wEgBSgCFARAIAEQjgILIAAgBSgCAAR/IAAgBSkCBDcCBCAAQQxqIAVBDGooAgA2AgBBAQVBAAs2AgAgBUEgaiQAC+sCAQN/IwBBEGsiBSQAIAEoAgAiAygCCCEEIAEtAARFBEAgA0EEaigCACAERgR/IAMgBBCGASADKAIIBSAECyADKAIAakEsOgAAIAMgAygCCEEBaiIENgIICyABQQA6AAQgA0EEaiIBKAIAIARGBH8gAyAEEIYBIAMoAggFIAQLIAMoAgBqQSI6AAAgAyADKAIIQQFqIgQ2AgggASgCACAEa0EESQRAIAMgBEEEEIcBIAMoAgghBAsgAygCACAEakGUncAAQQQQ7gIaIAMgBEEEaiIENgIIIANBBGooAgAgBGtBAU0EQCADIARBAhCHASADKAIIIQQLIAMoAgAgBGpBovQAOwAAIAMgBEECajYCCAJAIAIoAgAiAUUEQCAFIAMQ6AEMAQsgBSADIAEgAkEIaigCABDnAQsgACAFKAIABH8gACAFKQIENwIEIABBDGogBUEMaigCADYCAEEBBUEACzYCACAFQRBqJAALngIBAn8CfyAAKAIARQRAIABBHGooAgAEQCAAQRhqKAIAEI4CCwJAIABBJGooAgAiAUUNACAAQShqKAIARQ0AIAEQjgILIABBNGooAgAEQCAAQTBqKAIAEI4CCyAAQTxqDAELIABBCGooAgAEQCAAKAIEEI4CCwJAIABBEGooAgAiAUUNACAAQRRqKAIARQ0AIAEQjgILIABBJGooAgAiAQRAIAFBKGwhAiAAQRxqKAIAQSBqIQEDQCABQQxrKAIABEAgAUEQaygCABCOAgsgASgCAARAIAFBBGsoAgAQjgILIAFBKGohASACQShrIgINAAsLIABBIGooAgAEQCAAKAIcEI4CCyAAQShqCyIAQQRqKAIABEAgACgCABCOAgsLqAEBAX8jAEHQAGsiAiQAIAJByABqIAFBOGopAwA3AwAgAkFAayABQTBqKQMANwMAIAJBOGogAUEoaikDADcDACACQTBqIAFBIGopAwA3AwAgAkEoaiABQRhqKQMANwMAIAJBIGogAUEQaikDADcDACACQRhqIAFBCGopAwA3AwAgAkEANgIIIAIgASkDADcDECAAIAJBCGoiABB8IAAQgQEgAkHQAGokAAuHAQEBfyMAQdAAayICJAAgAkE0aiABQShqKQIANwIAIAJBLGogAUEgaikCADcCACACQSRqIAFBGGopAgA3AgAgAkEcaiABQRBqKQIANwIAIAJBFGogAUEIaikCADcCACACQQE2AgggAiABKQIANwIMIAAgAkEIaiIAEHwgABCBASACQdAAaiQAC6UBAQJ/AkACQAJAAkACQAJAAkACfyACBEBBASIEIAFBAEgNARogAygCCEUNAyADKAIEIgUNAiABDQQMBgsgACABNgIEQQELIQRBACEBDAYLIAMoAgAgBSACIAEQdyIDRQ0CDAQLIAFFDQILIAEgAhB2IgMNAgsgACABNgIEIAIhAQwCCyACIQMLIAAgAzYCBEEAIQQLIAAgBDYCACAAQQhqIAE2AgAL1gECBX8BfiMAQSBrIgIkAAJAIAEgAUEBaiIBSw0AQQQhAyAAQQRqKAIAIgVBAXQiBCABIAEgBEkbIgFBBCABQQRLGyIBrUIYfiIHQiCIUEECdCEEIAenIQYCQCAFRQRAQQAhAwwBCyACIAAoAgA2AhAgAiAFrUIYfj4CFAsgAiADNgIYIAIgBiAEIAJBEGoQhAEgAigCAARAIAJBCGooAgAiAEUNASACKAIEIAAQsAIACyACKAIEIQMgAEEEaiABNgIAIAAgAzYCACACQSBqJAAPCxCxAgALsQEBA38jAEEgayICJAACQCABIAFBAWoiAUsNACAAQQRqKAIAIgNBAXQiBCABIAEgBEkbIgFBCCABQQhLGyEBIAIgAwR/IAIgAzYCFCACIAAoAgA2AhBBAQVBAAs2AhggAiABQQEgAkEQahCEASACKAIABEAgAkEIaigCACIARQ0BIAIoAgQgABCwAgALIAIoAgQhAyAAQQRqIAE2AgAgACADNgIAIAJBIGokAA8LELECAAuxAQECfyMAQSBrIgMkAAJAIAEgASACaiIBSw0AIABBBGooAgAiAkEBdCIEIAEgASAESRsiAUEIIAFBCEsbIQEgAyACBH8gAyACNgIUIAMgACgCADYCEEEBBUEACzYCGCADIAFBASADQRBqEIQBIAMoAgAEQCADQQhqKAIAIgBFDQEgAygCBCAAELACAAsgAygCBCECIABBBGogATYCACAAIAI2AgAgA0Eg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IgFFBEBBASEEDAELIAFBAEgNAyABQQEQdiIERQ0ECyAEIAMgBWogARDuAiEDIAJBIGoiBCACQTxqKAIANgIAIAIgAikCNDcDGARAIAUQjgILIAAgATYCBCAAIAM2AgAgAEEIaiABNgIAIABBDGogAikDGDcCACAAQRRqIAQoAgA2AgALIAJBQGskAA8LIAMgARC5AgALELECAAsgAUEBELACAAtCAQF/IAAoAgAgACgCBCgCABEFACAAKAIEIgEoAgQEQCABKAIIGiAAKAIAEI4CCyAAQQxqKAIABEAgACgCCBCOAgsLkwIBCn8jAEEgayIDJAACQAJAAkACf0EAIAJFDQAaIAFBEGooAgAhBSABKAIAIQggASgCBCgCDCEJQQAhAQNAIAEhBiADQQhqIAggCREAAEEBIAMoAggiB0UNARogAygCECIBIAVJDQIgAygCDCADKAIYIQsgAygCFCEMAkAgASAFayIBRQRAQQEhBAwBCyABQQBIDQQgAUEBEHYiBEUNBQsgBCAFIAdqIAEQ7gIhBARAIAcQjgILQQEgBEUNARogAQRAIAQQjgILIAZBAWohASALBEAgDBCOAgsgASACRw0AC0EACyEBIAAgBjYCBCAAIAE2AgAgA0EgaiQADwsgBSABELkCAAsQsQIACyABQQEQsAIAC9ECAQR/IwBB0ABrIgMkACADQQhqIAEgAhCXAQJAAkACQAJAIAMoAghFBEAgA0EQaiABKAIAIAEoAgQoAgwRAAAgAygCECIFRQRAIABBADYCAAwCCyABQRBqKAIAIQIgA0HIAGogA0EgaikDADcDACADQUBrIANBGGoiASkDADcDACADIAMpAxA3AzggASgCACIBIAJJDQIgAygCFAJAIAEgAmsiAUUEQEEBIQQMAQsgAUEASA0EIAFBARB2IgRFDQULIAQgAiAFaiABEO4CIQIgA0EwaiIEIANBzABqKAIANgIAIAMgAykCRDcDKARAIAUQjgILIAAgATYCBCAAIAI2AgAgAEEIaiABNgIAIABBDGogAykDKDcCACAAQRRqIAQoAgA2AgAMAQsgAEEANgIACyADQdAAaiQADwsgAiABELkCAAsQsQIACyABQQEQsAIAC94KAQZ/IwBBQGoiByQAAkACQAJAAkACQAJAAkACQAJAIAUoAgAOAwECAAILAkAgBEUEQEEB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ayICJAAgACgCACEAIAJBHGpBATYCACACQgI3AgwgAkGUqcAANgIIIAJByAA2AiQgAiAANgIsIAIgAkEgajYCGCACIAJBLGo2AiAgASACQQhqENsCIAJBMGokAAtfAQF/IwBBMGsiAiQAIAIgACgCADYCDCACQSRqQQE2AgAgAkIBNwIUIAJBjKLAADYCECACQckANgIsIAIgAkEoajYCICACIAJBDGo2AiggASACQRBqENsCIAJBMGokAAueAQEBfyMAQUBqIgIkACAAKAIAIQAgAkEUakEDNgIAIAJBLGpByAA2AgAgAkEkakHIADYCACACIABBGGo2AjQgAiAANgI4IAJCAzcCBCACQYCowAA2AgAgAkHKADYCHCACIABBDGo2AjwgAiACQRhqNgIQIAIgAkE8ajYCKCACIAJBOGo2AiAgAiACQTRqNgIYIAEgAhDbAiACQUBrJAALQwAgAEEJNgIAIAAgASkCADcCBCAAQRxqIAFBGGooAgA2AgAgAEEUaiABQRBqKQIANwIAIABBDGogAUEIaikCADcCAAvnAQECfyMAQfAAayIGJAAgBiAFNwMYIAYgBDcDECAGIAM3AwggBiACNwMAIAZBADYCKCAGQgE3AyAgBkFAayIHIAZBIGpB0KDAABDXAiAGIAcQ0AJFBEACQCAGQQA2AjggBkIBNwMwIAZBQGsiByAGQTBqQdCgwAAQ1wIgBkEQaiAHENACDQAgACABOgAYIAAgBikDIDcCACAAIAYpAzA3AgwgAEEIaiAGQShqKAIANgIAIABBFGogBkE4aigCADYCACAGQfAAaiQADwsLQeigwABBNyAGQegAakH8ocAAQeyhwAAQywIAC4sIAQF/IwBBMGsiAiQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4LAQIDBAUGBwgJCgsACyACQSxqQQE2AgAgAkIBNwIcIAJBnKXAADYCGCACQcsANgIEIAIgAEEEajYCFCACIAI2AiggAiACQRRqNgIAIAEgAkEYahDbAgwLCyACQSxqQQE2AgAgAkIBNwIcIAJBgKXAADYCGCACQcwANgIEIAIgAEEEajYCFCACIAI2AiggAiACQRRqNgIAIAEgAkEYahDbAgwKCyACQSxqQQE2AgAgAkIBNwIcIAJB4KTAADYCGCACQcgANgIEIAIg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AkLAADcCBCACIAM2AgAgBCACEAciAw0BIAIoAgAiA0UNByACKQIEIQUgAhCOAiAAQQhqIAU3AgAgACADNgIEIABBADYCACAEEI4CDAILQSRBARB2IgJFDQUgAEEBNgIAIABBDGogAjYCACACQbi7wAApAAA3AAAgAkEIakHAu8AAKQAANwAAIAJBEGpByLvAACkAADcAACACQRhqQdC7wAApAAA3AAAgAkEgakHYu8AAKAAANgAAIABBEGpCpICAgMAENwIAIABBCGpBAjYCAAwBCyADKAIAIgJFDQUgASACNgIAIAEgAykCBDcCBCADEI4CIAFB3gA2AhQgASABNgIQIAFBLGpBATYCACABQgE3AhwgAUH4u8AANgIYIAEgAUEQajYCKCAAQQxqIAFBGGoQsgIgAEEBNgIAIABBCGpBAjYCACABKAIEBEAgASgCABCOAgsgBBCOAgsgAUEwaiQADwtBDEEEELACAAtBwABBARCwAgALQQxBBBCwAgALQSRBARCwAgALIAFBLGpBADYCACABQczHwAA2AiggAUIBNwIcIAFBrMrAADYCGCABQRhqQbTKwAAQtwIAC48DAgJ/AX4jAEEwayIBJAAgAkEIaigCACEDIAIoAgAhBAJAAkACQEEMQQQQdiICBEAgAiADNgIIIAIgAzYCBCACIAQ2AgBB2gBBARB2IgRFDQFBDEEEEHYiA0UNAiADQtoANwIEIAMgBDYCAAJAIAIgAxAIIgRFBEAgAygCACIERQ0FIAMpAgQhBSADEI4CIABBCGogBTcCACAAIAQ2AgQgAhCOAkEAIQMMAQsgBCgCACIDRQ0EIAEgAzYCACABIAQpAgQ3AgQgBBCOAiABQd4ANgIUIAEgATYCEEEBIQMgAUEsakEBNgIAIAFCATcCHCABQZi8wAA2AhggASABQRBqNgIoIABBDGogAUEYahCyAiAAQQhqQQI2AgAgASgCBARAIAEoAgAQjgILIAIQjgILIAAgAzYCACABQTBqJAAPC0EMQQQQsAIAC0HaAEEBELACAAtBDEEEELACAAsgAUEsakEANgIAIAFBzMfAADYCKCABQgE3AhwgAUGsysAANgIYIAFBGGpBtMrAABC3AgAL3gIBAX8jAEEgayIBJABBDEEEEHYiCARAAkAgCCADNgIIIAggAzYCBCAIIAI2AgBBDEEEEHYi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aiANNgIAIAJBFGogCjYCACACQRBqIAM2AgAgAkEMaiAGNgIAIAJBCGogBTYCACACIAc2AgQgAkEANgIADAMLIAIgBzYCBCACQQE2AgAgAkEQaiADNgIAIAJBDGogBjYCACACQQhqIAU2AgAMAgsgAkKBgICAwAA3AgAgBEEYaiECIARBHGohAwJAAkACQAJAIAcOBAABAwUDCyAGDQEgBEEQaiECIARBFGohAwwCCyAGDQAgBEEQaiECIARBFGohAwwBCyAFEI4CIARBEGohAiAEQRRqIQMLIAIoAgBFDQEgAygCABCOAgwBCyACQQs2AgQgBEEYaiEDIARBHGohCgJAAkACQAJAAkAgBw4EAAEDBAMLIAYNASAEQRBqIQMgBEEUaiEKDAILIAYNACAEQRBqIQMgBEEUaiEKDAELIAUQjgIgBEEQaiEDIARBFGohCgsgAygCAEUNACAKKAIAEI4CCyACQQE2AgALIARBQGskAAwBCyMAQUBqIgQkACAEQSBqIQYjAEHAAWsiAyQAIANBEGogCBD2AQJAAkAgAy0AEEEBcQRAIAMtABFB+wBHDQEgCBDvASADQQhqIAgQ7QEgAygCCCEHIAMgAy0ADEEBcToAfCADIAc2AnggA0GAAWogA0H4AGoQzwECQAJAAkACQCADLQCAAQRAQQAhBwwBCyADQZgBakEEciENIANBoAFqIQ9BACEHA0ACQAJAAkACQAJAIAMtAIEBIhNBA3FBA0YNAAJAIBNBAWsOAgEAAgsgBw0CIANBmAFqQQRyQfDCwABBBBCsASADQeQAaiADQaQBaikCADcCACADIAMpApwBNwJcDAkLIANBmAFqIAMoAngiExD0AQJAIAMoApgBIhRBFUcEQCADQbwBaiADQaQBaigCADYCACADIAMpApwBNwK0ASADIBQ2ArABDAELIANBsAFqIBMQxQEgAygCsAFBFUYNBAsgA0HkAGogA0G4AWopAwA3AgAgAyADKQOwATcCXAwGCyAHRQ0BIANB2ABqQQRyQfDCwABBBBCtASAFRQ0HDAYLIANB6ABqIAo2AgAgA0HkAGoiCiAFNgIAIANB4ABqIAc2AgAgA0EoaiIFIANB7ABqKQIANwMAIANBMGoiByADQfQAaigCADYCACADQSBqIg0gCikCADcDACADQQQ2AlwgAyADKQJcNwMYIANB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aiEAIAFBMGpBBHIhAwwLCyABQThqIQAgAUEwakEEciEDDAoLIAFBOGohACABQTBqQQRyIQMMCQsgAUE4aiEAIAFBMGpBBHIhAwwICyABQThqKAIABEAgASgCNBCOAgsgAUHEAGohACABQUBrIQMMBwsgAUE4aigCAARAIAEoAjQQjgILIAFBxABqIQAgAUFAayEDDAYLIAFBOGooAgAEQCABKAI0EI4CCyABQcQAaiEAIAFBQGshAwwFCyABQThqIQAgAUEwakEEciEDDAQLQQxBBBCwAgALIAFBHGpBADYCACABQczHwAA2AhggAUIBNwIMIAFB9MnAADYCCCABQQhqQfzJwAAQtwIACyABQRxqQQA2AgAgAUHMx8AANgIYIAFCATcCDCABQazKwAA2AgggAUEIakG0ysAAELcCAAtBiKvAAEE3IAFBiAFqQZyswABBjKzAABDLAgALIAAoAgBFDQAgAygCABCOAgsgGBCOAiABQZABaiQAC3MAAkACfwJAAkACQAJAIAAoAgAOBAECAwUACyAAQQRqDAMLIABBCGooAgAEQCAAKAIEEI4CCyAAQRBqDAILIABBCGooAgAEQCAAKAIEEI4CCyAAQRBqDAELIABBBGoLIgBBBGooAgBFDQAgACgCABCOAgsL4gEBBH8jAEEgayICJAAgAiABEPYBAkACQAJAIAItAABBAXEEQCACLQABQSJHDQEgARDvASACQQhqIAEQ9QEgAkEYaigCACEEIAJBFGooAgAhAyACQRBqKAIAIQEgAigCDCEFIAIoAggNAiAFRQRAIAAgASADENsBDAQLIAAgASAEENsBIANFDQMgARCOAgwDCyAAQoGAgIDAADcCAAwCCyAAQoGAgIDgATcCAAwBCyAAIAU2AgQgAEEBNgIAIABBEGogBDYCACAAQQxqIAM2AgAgAEEIaiABNgIACyACQSBqJAALwgMBBH8jAEEgayICJAAgAiABEPYBAkACQAJAAkACQAJAAkACQCACLQAAQQFxBEAgAi0AAUEiRw0BIAEQ7wEgAkEIaiABEPUBIAJBGGooAgAhBSACQRRqKAIAIQQgAkEQaigCACEBIAIoAgwhAyACKAIIDQIgA0UEQAJAAkAgBEECaw4EAAkJAQkLIAEvAABB78XAAC8AAEYNCQwICyABQfHFwABBBRDtAg0HIABBAToA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VCACIAM2AlAgAkH4AGogAkHQAGoQzgECQCACLQB4RQRAIAJB6ABqQQRyIQQgAkGQAWpBBHIhBQNAIAItAHlFDQIgAkGQAWogAigCUCIGEPQBAkACQCACKAKQASIDQRVHBEAgBCAFKQIANwIAIARBCGogBUEIaigCADYCAAwBCyACQegAaiAGEMUBIAIoAmgiA0EVRg0BCyACQcgAaiAEQQhqKAIANgIAIAIgBCkCADcDQAwNCyACQfgAaiACQdAAahDOASACLQB4RQ0ACwsgAkHIAGogAkGIAWooAgA2AgAgAiACQYABaikDADcDQCACKAJ8IgNBFUcNCgsgAkH4AGogARDyASACKAJ4IgFBFUYEQCAAQRU2AgAMCwsgACACKQJ8NwIEIABBDGogAkGEAWooAgA2AgAgACABNgIADAoLIABBCzYCAAwJCyAAQRU2AgAMCAsgAEEENgIADAcLIABBDjYCAAwGCyACQYgBaigCACEFIAAgAzYCBCAAIAQ2AgAgAEEMaiAFNgIAIABBCGogATYCAAwFCyAAQQQ2AgAMBAsgACACKQOQATcCBCAAQQxqIAMoAgA2AgAgACAENgIADAMLIABBBDYCAAwCCyAAQQ42AgAMAQsgACACKQNANwIEIABBDGogAkHIAGooAgA2AgAgACADNgIACyACQaABaiQACx0AIAEoAgBFBEAACyAAQZTAwAA2AgQgACABNgIAC1UBAn8gASgCACECIAFBADYCAAJAIAIEQCABKAIEIQNBCEEEEHYiAUUNASABIAM2AgQgASACNgIAIABBlMDAADYCBCAAIAE2AgAPCwALQQhBBBCwAgALxQMBCH8jAEEgayIFJAACQAJAAkAgAUEIaigCACIDQQNLBEACfwJAIANBBGsiBCAEIAEoAgAiB2ooAAAiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIghrIgYgBE0EQCABKAIEIQIgBg0BIAchBCACIQFBAQwCC0HwwcAAQSFBlMLAABC8AgALIAMgBkkNAgJAIAMgBmsiAUUEQEEBIQQMAQsgAUEASA0EIAFBARB2IgRFDQULIAQgBiAHaiABEO4CGiACIQkgASEDIAcLIQIgACAENgIMIAAgBjYCCCAAIAk2AgQgACACNgIAIABBEGogATYCACAAQRRqIAMgCCADIAhJ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KQIANwIAIABBAToAAAwDCyAAQQE6AAAgAEEEakETNgIADAILIABBAToAACAAQQRqQQI2AgAMAQsgAEEBOgAAIABBBGpBBDYCAAsgA0EwaiQACwkAIAAgARDQAgvMAQEBfyAAKAIAIQIjAEEQayIAJAACfwJAAkACQAJAAkACQAJAIAIoAgBBAWsOBgECAwQFBgALIAFB8M7AAEEIENoCDAYLIAFB5s7AAEEKENoCDAULIAFB1c7AAEERENoCDAQLIAFBv87AAEEWENoCDAMLIAFBrM7AAEETENoCDAILIAFBmM7AAEEUENoCDAELIAAgAUH0zcAAQQoQ3gIgACACQQRqNgIMIABB/s3AAEEKIABBDGpBiM7AABDFAhogABDOAgsgAEEQaiQACxkAIAAoAgAiACgCACAAQQhqKAIAIAEQ3wILtQMBAX8gACgCACECIwBBMGsiACQAAn8CQAJAAkACQAJAAkACQCACKAIAQQFrDgYBAgMEBQYACyAAQRxqQQA2AgAgAEHMx8AANgIYIABCATcCDCAAQezNwAA2AgggASAAQQhqENsCDAYLIABBHGpBADYCACAAQczHwAA2AhggAEIBNwIMIABB2M3AADYCCCABIABBCGoQ2wIMBQsgAEEcakEANgIAIABBzMfAADYCGCAAQgE3AgwgAEHAzcAANgIIIAEgAEEIahDbAgwECyAAQRxqQQA2AgAgAEHMx8AANgIYIABCATcCDCAAQaTNwAA2AgggASAAQQhqENsCDAMLIABBHGpBADYCACAAQczHwAA2AhggAEIBNwIMIABBhM3AADYCCCABIABBCGoQ2wIMAgsgAEEcakEANgIAIABBzMfAADYCGCAAQgE3AgwgAEHgzMAANgIIIAEgAEEIahDbAgwBCyAAQRxqQQE2AgAgAEIBNwIMIABBoMzAADYCCCAAQe8ANgIkIAAgAkEEajYCLCAAIABBIGo2AhggACAAQSxqNgIgIAEgAEEIahDbAgsgAEEwaiQACxkAIAAoAgAiACgCACAAQQhqKAIAIAEQ4gILVwEBfyMAQSBrIgIkACACIAA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakG0x8AAIAJBCGoQwQIgAkEgaiQAC1oBAX8jAEEgayICJAAgAiAAKAIANgIE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CyADIAMpAkQ3A1AgA0EANgJgIANCATcDWCADQegAaiIBIANB2ABqQdCgwAAQ1wIgA0HQAGogARD/AUUEQCADQSBqIgEgAykCXDcDACADQRxqIAMoAlg2AgAgA0EYakEDNgIAIANBATYCECADQd0ANgJcIAMgA0EIajYCWCADQfwAakEBNgIAIANCATcCbCADQfzIwAA2AmggAyADQdgAajYCeCADQUBrIgIgA0HoAGoQsgIgAEEIaiACELQCIABBFDYCBCADKAJEBEAgAygCQBCOAgsgAEEBNgIAIAEoAgBFDQEgAygCHBCOAgwBC0HooMAAQTcgA0EQakH8ocAAQeyhwAAQywIACyADQZABaiQAC0ABAn8gAEEIaigCACEBIAAoAgAhAkEMQQQQdiIARQRAQQxBBBCwAgALIAAgATYCCCAAIAE2AgQgACACNgIAIAALoQEBAn8jAEEgayICJAACQCABBEAgASgCACIDDQEgAkEcakEANgIAIAJBzMfAADYCGCACQgE3AgwgAkGsysAANgIIIAJBCGpBtMrAABC3AgALIAJBHGpBADYCACACQczHwAA2AhggAkIBNwIMIAJB9MnAADYCCCACQQhqQfzJwAAQtwIACyAAIAM2AgAgACABKQIENwIEIAEQjgIgAkEgaiQAC8sBAAJAAkACQAJAAkACQAJAIAJBB2sODQEEBAQEBAQEAgAEBAMECyABQd7KwABBEBDtAgRAIAFB7srAAEEQEO0CDQQgAEECOgABDAYLIABBAToAAQwFCyABQf7KwABBBxDtAg0CIABBAzoAAQwECyABQc/KwABBDxDtAkUNAgwBCyABQYXLwABBExDtAg0AIABBBDoAAQwCCyAAQQRqIAEgAkGYy8AAQQUQrgEgAEEBOgAADwsgAEEAOgABIABBADoAAA8LIABBADoAAAuxAgEDfyAAKAIAIQIgARDcAkUEQCABEN0CRQRAIAIgARC/Ag8LQQAhACMAQYABayIDJAAgAigCACECA0AgACADakH/AGpBMEE3IAJBD3EiBEEKSRsgBGo6AAAgAEEBayEAIAJBD0sgAkEEdiECDQALIABBgAFqIgJBgQFPBEAgAkGAARC5AgALIAFB+PvAAEECIAAgA2pBgAFqQQAgAGsQ0QIgA0GAAWokAA8LQQAhACMAQYABayIDJAAgAigCACECA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQQ9LIAJBBHYhAg0ACyAAQYABaiICQYEBTwRAIAJBgAEQuQIACyABQfj7wABBAiAAIANqQYABakEAIABrENECIANBgAFqJAALGQAgACgCACIAKAIAIABBBGooAgAgARDfAgu8AwIBfgR/IAAoAgAhACABENwCRQRAIAEQ3QJFBEAgACABEOUCDwsjAEGAAWsiBCQAIAApAwAhAkGAASEAIARBgAFqIQUCQAJAA0AgAEUEQEEAIQAMAwsgBUEBa0EwQTcgAqciA0EPcSIGQQpJGyAGajoAACACQhBaBEAgBUECayIFQTBBNyADQf8BcSIDQaABSRsgA0EEdmo6AAAgAEECayEAIAJCgAJUIAJCCIghAkUNAQwCCwsgAEEBayEACyAAQYEBSQ0AIABBgAEQuQIACyABQfj7wABBAiAAIARqQYABIABrENECIARBgAFqJAAPCyMAQYABayIEJAAgACkDACECQYABIQAgBEGAAWohBQJAAkADQCAARQRAQQAhAAwDCyAFQQFrQTBB1wAgAqciA0EPcSIGQQpJGyAGajoAACACQhBaBEAgBUECayIFQTBB1wAgA0H/AXEiA0GgAUkbIANBBHZqOgAAIABBAmshACACQoACVCACQgiIIQJFDQEMAgsLIABBAWshAAsgAEGBAUkNACAAQYABELkCAAsgAUH4+8AAQQIgACAEakGAASAAaxDRAiAEQYABaiQACwwAIAAoAgAgARDlAgsMACAAKAIAIAEQvwILowEBAX8jAEEwayICJAACfyAAKAIARQRAIAJBHGpBADYCACACQfjOwAA2AhggAkIBNwIMIAJBkM/AADYCCCABIAJBCGoQ2wIMAQsgAiAANgIEIAJBHGpBATYCACACQgE3AgwgAkH4zsAANgIIIAJB+QA2AiQgAiACQSBqNgIYIAIgAkEsajYCICACIAJBBGo2AiwgASACQQhqENsCCyACQTBqJAALKQEBf0GACEEBEHYiAUUEQEGACEEBELACAAsgAEKACDcCBCAAIAE2AgAL/QECBH8BfiMAQSBrIgQkACAEQRdqQQA2AAAgBEEQakIANwMAIARCADcDCCAEIAJCCoKnQTByOgAbQRMhAwJ/IAJCClQEQCAEQRtqIQZBAQwB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AXI6AA1BBAshAyADIAYoAgAgBGtLBEAgASAEIAMQhwEgBSgCACEECyABKAIAIARqIAdBDGogAxDuAhogAyAEagsiBDYCACACIApHDQALCyABQQRqKAIAIARGBH8gASAEEIYBIAFBCGooAgAFIAQLIAEoAgBqQSI6AAAgAEEANgIAIAFBCGoiACAAKAIAQQFqNgIAIAdBEGokAAtRAQJ/IAFBBGooAgAgAUEIaiIDKAIAIgJrQQNNBEAgASACQQQQhwEgAygCACECCyAAQQA2AgAgAyACQQRqNgIAIAEoAgAgAmpB7uqx4wY2AAALDQAgACABIAIgAxDnAQtVACABKAIIIgIgAUEEaigCAEYEfyABIAIQhgEgASgCCAUgAgsgASgCAGpB2wA6AAAgACABNgIEIABBADYCACAAQQhqQQE6AAAgASABKAIIQQFqNgIIC1cBAX8gASgCCCICIAFBBGooAgBGBH8gASACEIYBIAEoAggFIAILIAEoAgBqQfsAOgAAIAAgATYCBCAAQQA2AgAgAEEIakEBOgAAIAEgASgCCEEBajYCCAuTAgECfyMAQRBrIgQkACABKAIIIgUgAUEEaigCAEYEfyABIAUQhgEgASgCCAUgBQsgASgCAGpB+wA6AABBASEFIAEgASgCCEEBajYCCCAEIAEgAiADEOcBAkAgBCgCAEUEQCABKAIIIgIgAUEEaiIDKAIARgR/IAEgAhCGASABKAIIBSACCyABKAIAakE6OgAAIAEgASgCCEEBaiICNgIIIAMoAgAgAkYEfyABIAIQhgEgASgCCAUgAgsgASgCAGpB+wA6AAAgACABNgIEIABBCGpBAToAACABIAEoAghBAWo2AghBACEFDAELIAAgBCkCBDcCBCAAQQxqIARBDGooAgA2AgALIAAgBTYCACAEQRBqJAALEAAgAEEBOgAEIAAgATYCAAsXACAAQQA2AgggACACNgIEIAAgATYCAAsuAQJ/IAAoAggiAUEBaiICIAFPBEAgACACNgIIDwtBkNPAAEEcQYDTwAAQvAIAC18BA38gAAJ/IAEoAggiACABKAIEIgJJBEAgASgCACEDA0BBEiAAIANqLQAAQQlrIgRBF0tBASAEdEGTgIAEcUVyDQIaIAEgAEEBaiIANgIIIAAgAkcNAAsLQRULNgIAC7YCAQZ/QQEhAwJAIAEo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BwgJCgsMDQ4PEBESExQACyACQbrZwAA2AihBIgwUCyACQaHZwAA2AihBGQwTCyACQYXZwAA2AihBHAwSCyACQerYwAA2AihBGwwRCyACQcvYwAA2AihBHwwQCyACQaXYwAA2AihBJgwPCyACQf3XwAA2AihBKAwOCyACQcbXwAA2AihBNwwNCyACQZ/XwAA2AihBJwwMCyACQefWwAA2AihBOAwLCyACQa/WwAA2AihBOAwKCyACQYHWwAA2AihBLgwJCyACQenVwAA2AihBGAwICyACQdrVwAA2AihBDwwHCyACQc7VwAA2AihBDAwGCyACQbPVwAA2AihBGwwFCyACQZjVwAA2AihBGwwECyACQcnUwAA2AihBzwAMAwsgAkGN1MAANgIoQTwMAgsgAkHU08AANgIoQTkMAQsgAiAAQQRqKAIANgIoIABBDGooAgALIQAgAkEcakEBNgIAIAJB/QA2AiQgAiAANgIsIAJCATcCDCACQczTwAA2AgggAiACQShqNgIgIAIgAkEgajYCGCABIAJBCGoQ2wIgAkEwaiQACx0AIAEoAgBFBEAACyAAQdzZwAA2AgQgACABNgIAC1UBAn8gASgCACECIAFBADYCAAJAIAIEQCABKAIEIQNBCEEEEHYiAUUNASABIAM2AgQgASACNgIAIABB3NnAADYCBCAAIAE2AgAPCwALQQhBBBCwAgALRAAgASgCCCICIAFBBGooAgBGBH8gASACEIYBIAEoAggFIAILIAEoAgBqQd0AOgAAIABBADYCACABIAEoAghBAWo2AggLHAAgACgCACgCACIAKAIAIABBCGooAgAgARDiAgtEACABKAIIIgIgAUEEaigCAEYEfyABIAIQhgEgASgCCAUgAgsgASgCAGpB/QA6AAAgAEEANgIAIAEgASgCCEEBajYCCAt9AQF/IAEoAggiAiABQQRqIgMoAgBGBH8gASACEIYBIAEoAggFIAILIAEoAgBqQf0AOgAAIAEgASgCCEEBaiICNgIIIAMoAgAgAkYEfyABIAIQhgEgASgCCAUgAgsgASgCAGpB/QA6AAAgAEEANgIAIAEgASgCCEEBajYCCAuyAgEBfyMAQTBrIgIkAAJ/AkACQAJAIAAtAABBAWsOAgECAAsgAiAAQQRqKAIANgIAIAIgAC0AAToAByACQRxqQQI2AgAgAkEsakEENgIAIAJCAzcCDCACQejawAA2AgggAkGAATYCJCACIAJBIGo2AhggAiACNgIoIAIgAkEHajYCICABIAJBCGoQ2wIMAgsgAkEcakEANgIAIAJB7NnAADYCGCACQgE3AgwgAkHQ2sAANgIIIAEgAkEIahDbAgwBCyACIABBBGooAgA2AgAgAiAALQABOgAHIAJBHGpBAjYCACACQSxqQQQ2AgAgAkIDNwIMIAJBjNrAADYCCCACQYABNgIkIAIgAkEgajYCGCACIAI2AiggAiACQQdqNgIgIAEgAkEIahDbAgsgAkEwaiQAC4cEAQN/IwBBMGsiAiQAAn8CQAJAAkACQCAAKAIEIgMOAwACAwELIwBBEGsiACQAIABB2PHAADYCCCAAQQ42AgQgAEHJ8cAANgIAIAAoAgAhASAAKAIEIQIgACgCCCEDIwBBEGsiACQAIAAgAjYCDCAAIAE2AgggAEEIakHo8cAAQQAgA0EBEJUCAAsgAkEsakEANgIAIAJBqPDAADYCKCACQgE3AhwgAkGw8MAANgIYQQEgASACQRhqENsCDQIaIANBA3QhAyAAKAIAIQACQANAIAIgADYCFCAEBEAgAkEANgIsIAJBqPDAADYCKCACQgE3AhwgAkG88MAANgIYIAEgAkEYahDbAg0CCyACQQE2AiwgAkICNwIcIAJBxPDAADYCGCACQYIBNgIEIAIgAjYCKCACIAJBFGo2AgAgASACQRhqENsCDQEgAEEIaiEAIARBAWshBCADQQhrIgMNAAtBAAwDC0EBDAILIAJBLGpBATYCACACQgI3AhwgAkHE8MAANgIYIAJBgwE2AgQgAiAAKAIANgIAIAIgAjYCKCABIAJBGGoQ2wIMAQsgAkEMakGDATYCACACQSxqQQI2AgAgAkIDNwIcIAJB3PDAADYCGCACQYMBNgIEIAIgACgCACIANgIAIAIgAEEIajYCCCACIAI2AiggASACQRhqENsCCyACQTBqJAALFgAgACgCACIAKAIAIAAoAgQgARDiAgsdACABKAIARQRAAAsgAEH88cAANgIEIAAgATYCAAtVAQJ/IAEoAgAhAiABQQA2AgACQCACBEAgASgCBCEDQQhBBBB2IgFFDQEgASADNgIEIAEgAjYCACAAQfzxwAA2AgQgACABNgIADwsAC0EIQQQQsAIACwwA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KAIATwRAIAAQqgIgAUsNAgsgACgCCCIADQALQQAhAAsgABCoAg0AIABBDGooAgAaDAALQQAQjQJrRw0BQfybwQAoAgBBoJzBACgCAE0NAUGgnMEAQX82AgAPCyACQYACSQ0BIAAgAhCMAkGonMEAQaicwQAoAgBBAWsiADYCACAADQAQjQIaDwsPCyACQQN2IgNBA3RB8JjBAGohAQJ/QeiYwQAoAgAiAkEBIAN0IgNxBEAgASgCCAwBC0HomMEAIAIgA3I2AgAgAQshAyABIAA2AgggAyAANgIMIAAgATYCDCAAIAM2AggLaAAjAEEwayIBJABB0JjBAC0AAARAIAFBHGpBATYCACABQgI3AgwgAUH08sAANgIIIAFBBDYCJCABIAA2AiwgASABQSBqNgIYIAEgAUEsajYCICABQQhqQZzzwAAQtwIACyABQTBqJAAL2AEBA38jAEEgayIAJAACQEHkmMEAKAIAQf////8HcQRAQaycwQAoAgANAQtB2JjBACgCAEHYmMEAQX82AgBFBEBB4JjBACgCACEBQeCYwQBByLXAADYCAEHcmMEAKAIAIQJB3JjBAEEBNgIAQdiYwQBBADYCAAJAIAFFDQAgAiABKAIAEQUAIAEoAgRFDQAgASgCCBogAhCOAgsgAEEgaiQADwsACyAAQRxqQQA2AgAgAEGk8sAANgIYIABCATcCDCAAQeDzwAA2AgggAEEIakGE9MAAELcCAAuLAgIEfwF+IwBBMGsiAiQAIAFBBGohBCABKAIERQRAIAEoAgAhAyACQRBqIgVBADYCACACQgE3AwggAiACQQhqNgIUIAJBKGogA0EQaikCADcDACACQSBqIANBCGopAgA3AwAgAiADKQIANwMYIAJBFGpBjPLAACACQRhqEMECGiAEQQhqIAUoAgA2AgAgBCACKQMINwIACyACQSBqIgMgBEEIaigCADYCACABQQxqQQA2AgAgBCkCACEGIAFCATcCBCACIAY3AxhBDEEEEHYiAUUEQEEMQQQQsAIACyABIAIpAxg3AgAgAUEIaiADKAIANgIAIABBtPTAADYCBCAAIAE2AgAgAkEwaiQAC60BAQN/IwBBMGsiAiQAIAFBBGohAyABKAIERQRAIAEoAgAhASACQRBqIgRBADYCACACQgE3AwggAiACQQhqNgIUIAJBKGogAUEQaikCADcDACACQSBqIAFBCGopAgA3AwAgAiABKQIANwMYIAJBFGpBjPLAACACQRhqEMECGiADQQhqIAQoAgA2AgAgAyACKQMINwIACyAAQbT0wAA2AgQgACADNgIAIAJBMGokAAtFAQJ/IAEoAgQhAiABKAIAIQNBCEEEEHYiAUUEQEEIQQQQsAIACyABIAI2AgQgASADNgIAIABBxPTAADYCBCAAIAE2AgALEwAgAEHE9MAANgIEIAAgATYCAAvvAQEDfyMAQSBrIgUkAEHkmMEAQeSYwQAoAgAiB0EBajYCAEGsnMEAQaycwQAoAgBBAWoiBjYCAAJAAkAgB0EASCAGQQJLcg0AIAUgBDoAGCAFIAM2AhQgBSACNgIQQdiYwQAoAgAiAkEASA0AQdiYwQAgAkEBaiICNgIAQdiYwQBB4JjBACgCACIDBH9B3JjBACgCACAFIAAgASgCEBEAACAFIAUpAwA3AwggBUEIaiADKAIUEQAAQdiYwQAoAgAFIAILQQFrNgIAIAZBAUsNACAEDQELAAsjAEEQayICJAAgAiABNgIMIAIgADYCCAALEAAgACABakEBa0EAIAFrcQsPACAAQQF0IgBBACAAa3ILCgBBACAAayAAcQsSAEEAQRkgAEEBdmsgAEEfRhsLCgAgACgCBEF4cQsNACAALQAEQQJxQQF2CwoAIAAoAgRBAXELCwAgAC0ABEEDcUULJwAgACAAKAIEQQFxIAFyQQJyNgIEIAAgAWoiACAAKAIEQQFyNgIECx4AIAAgAUEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAsMACAAIAFBA3I2AgQLFgAgACABQQFyNgIEIAAgAWogATYCAAsjACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsHACAAIAFqCwcAIAAgAWsLBwAgAEEIagsHACAAQQhrCxkBAX8gACgCECIBBH8gAQUgAEEUaigCAAsLCgAgACgCDEEBcQsKACAAKAIMQQF2Cw0AIAAoAgAgACgCBGoL/wMCBn8CfiMAQRBrIgIkACAAKAIAIgBBCGooAgAhBSAAKAIAIQAgASgCGEHK+8AAQQEgAUEcaigCACgCDBEDACEDIAJBADoABSACIAM6AAQgAiABNgIAIAUEQANAIAIgADYCDCACQQxqIQYjAEFAaiIBJABBASEEAkAgAi0ABA0AIAItAAUhBAJAAkACQCACKAIAIgMoAgAiB0EEcUUEQCAEDQEMAwsgBA0BQQEhBCADKAIYQcn7wABBASADQRxqKAIAKAIMEQMADQMgAygCACEHDAELQQEhBCADKAIYQb37wABBAiADQRxqKAIAKAIMEQMARQ0BDAILQQEhBCABQQE6ABcgAUE0akGc+8AANgIAIAFBEGogAUEXajYCACABIAc2AhggASADKQIYNwMIIAMpAgghCCADKQIQIQkgASADLQAgOgA4IAEgAygCBDYCHCABIAk3AyggASAINwMgIAEgAUEIajYCMCAGIAFBGGpBoPXAACgCABEBAA0BIAEoAjBBu/vAAEECIAEoAjQoAgwRAwAhBAwBCyAGIANBoPXAACgCABEBACEECyACQQE6AAUgAiAEOgAEIAFBQGskACAAQQFqIQAgBUEBayIFDQALCyACLQAEBH9BAQUgAigCACIAKAIYQdz7wABBASAAKAIcKAIMEQMACyACQRBqJAALrQIBA38gACgCACEAIAEQ3AJFBEAgARDdAkUEQCAAIAEQ5AIPCyMAQYABayIDJAAgAC0AACEAA0AgAiADakH/AGpBMEE3IABBD3EiBEEKSRsgBGo6AAAgAkEBayECIAAiBEEEdiEAIARBD0sNAAsgAkGAAWoiAEGBAU8EQCAAQYABELkCAAsgAUH4+8AAQQIgAiADakGAAWpBACACaxDRAiADQYABaiQADwsjAEGAAWsiAyQAIAAtAAAhAANAIAIgA2pB/wBqQTBB1wAgAEEPcSIEQQpJGyAEajoAACACQQFrIQIgACIEQQR2IQAgBEEPSw0ACyACQYABaiIAQYEBTwRAIABBgAEQuQIACyABQfj7wABBAiACIANqQYABakEAIAJrENECIANBgAFqJAAL7wEBAn8gACgCACEDIwBBEGsiACQAIAEoAhhBtZHBAEEJIAFBHGooAgAoAgwRAwAhAiAAQQA6AAUgACACOgAEIAAgATYCACAAIAM2AgwgAEG+kcEAQQsgAEEMaiIBQaCRwQAQxQIgACADQQRqNgIMQcmRwQBBCSABQdSRwQAQxQIaAn8gAC0ABCIBIAAtAAVFDQAaQQEgAQ0AGiAAKAIAIgEtAABBBHFFBEAgASgCGEHD+8AAQQIgAUEcaigCACgCDBEDAAwBCyABKAIYQcL7wABBASABQRxqKAIAKAIMEQMACyAAQRBqJABB/wFxQQBHC90CAQN/IAAoAgAhAiMAQRBrIgAkAAJAAn8CQAJAIAFBgAFPBEAgAEEANgIMIAFBgBBJDQEgAUGAgARPDQIgACABQT9xQYABcjoADiAAIAFBDHZB4AFyOgAMIAAgAUEGdkE/cUGAAXI6AA1BAwwDCyACKAIIIgMgAkEEaigCAEYEQCACIAMQECACKAIIIQMLIAIgA0EBajYCCCACKAIAIANqIAE6AAAMAwsgACABQT9xQYABcjoADSAAIAFBBnZBwAFyOgAMQQIMAQsgACABQT9xQYABcjoADyAAIAFBEnZB8AFyOgAMIAAgAUEGdkE/cUGAAXI6AA4gACABQQx2QT9xQYABcjoADUEECyEBIAEgAkEEaigCACACQQhqIgQoAgAiA2tLBEAgAiADIAEQESAEKAIAIQMLIAIoAgAgA2ogAEEMaiABEO4CGiAEIAEgA2o2AgALIABBEGokAEEAC1oBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB/PTAACACQQhqEMECIAJBIGokAAsaACAAIAFB1JjBACgCACIAQYkBIAAbEQAAAAtAAQF/IwBBIGsiACQAIABBHGpBADYCACAAQaT1wAA2AhggAEIBNwIMIABB5PXAADYCCCAAQQhqQez1wAAQtwIAC+MDAQh/IwBBIGsiBCQAIAFBFGooAgAhCSABKAIAIQUCQCABQQRqKAIAIgdBA3RFBEAMAQsgB0EBa0H/////AXEiAkEBaiIDQQdxIQYCfyACQQdJBEBBACEDIAUMAQsgBUE8aiECIANB+P///wNxIQhBACEDA0AgAigCACACQQhrKAIAIAJBEGsoAgAgAkEYaygCACACQSBrKAIAIAJBKGsoAgAgAkEwaygCACACQThrKAIAIANqampqampqaiEDIAJBQGshAiAIQQhrIggNAAsgAkE8awsgBkUNAEEEaiECA0AgAigCACADaiEDIAJBCGohAiAGQQFrIgYNAAsLAkACQAJAIAlFBEAgAyECDAELAkAgB0UNACAFKAIEDQAgA0EQSQ0CCyADIANqIgIgA0kNAQsgAkUNAAJAIAJBAE4EQCACQQEQdiIDRQ0BDAMLELECAAsgAkEBELACAAtBASEDQQAhAgsgAEEANgIIIAAgAjYCBCAAIAM2AgAgBCAANgIEIARBGGogAUEQaikCADcDACAEQRBqIAFBCGopAgA3AwAgBCABKQIANwMIIARBBGpB/PTAACAEQQhqEMECRQRAIARBIGokAA8LQfz1wABBMyAEQQhqQaT1wABByPbAABDLAgAL4AEBAX8jAEEwayICJAACfyAAQQxqIgAtAAQEQCACIABBBWotAAA6AAcgAkEUakEENgIAIAIgADYCECACQYABNgIMIAFBHGooAgAhACACIAJBB2o2AgggASgCGCACQSxqQQI2AgAgAkICNwIcIAJB0IDBADYCGCACIAJBCGo2AiggACACQRhqEMECDAELIAJBBDYCDCACIAA2AgggAUEcaigCACEAIAEoAhggAkEsakEBNgIAIAJCATcCHCACQZyAwQA2AhggAiACQQhqNgIoIAAgAkEYahDBAgsgAkEwaiQAC2cBAn8gASgCACEDAkACQAJAIAFBCGooAgAiAUUEQEEBIQIMAQsgAUEASA0BIAFBARB2IgJFDQILIAIgAyABEO4CIQIgACABNgIIIAAgATYCBCAAIAI2AgAPCxCxAgALIAFBARCwAgALZQEBfyMAQRBrIgIkACACIAFB+PfAAEENEN4CIAIgADYCDCACQdz3wABBBSACQQxqIgFBzPfAABDFAhogAiAAQQxqNgIMIAJB4ffAAEEFIAFB6PfAABDFAhogAhDOAiACQRBqJAALDgAgACgCABoDQAwACwALwAIBA38jAEEgayICJAAgAkEBOgAYIAIgATYCFCACIAA2AhAgAkHQ+sAANgIMIAJBiPjAADYCCCMAQRBrIgAkACACQQhqIgEoAgwiAkUEQEGk8sAAQStBlPTAABC8AgALIAEoAggiBEUEQEGk8sAAQStBpPTAABC8AgALIAAgAjYCCCAAIAE2AgQgACAENgIAIAAoAgAhASAAKAIEIQIgACgCCCEEIwBBEGsiACQAIAFBFGooAgAhAwJAAn8CQAJAIAFBBGooAgAOAgABAwsgAw0CQQAhAUGk8sAADAELIAMNASABKAIAIgMoAgQhASADKAIACyEDIAAgATYCBCAAIAM2AgAgAEHo9MAAIAIoAgggBCACLQAQEJUCAAsgAEEANgIEIAAgATYC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ayIDJAAgA0EkaiABNgIAIANBAzoAKCADQoCAgICABDcDCCADIAA2AiAgA0EANgIYIANBADYCEAJAAkACQCACKAIIIgpFBEAgAkEUaigCACIERQ0BIAIoAgAhASACKAIQIQAgBEEBa0H/////AXFBAWoiByEEA0AgAUEEaigCACIFBEAgAygCICABKAIAIAUgAygCJCgCDBEDAA0ECyAAKAIAIANBCGogAEEEaigCABEBAA0DIABBCGohACABQQhqIQEgBEEBayIEDQALDAELIAJBDGooAgAiAEUNACAAQQV0IQsgAEEBa0H///8/cUEBaiEHIAIoAgAhAQNAIAFBBGooAgAiAARAIAMoAiAgASgCACAAIAMoAiQoAgwRAwANAwsgAyAEIApqIgVBHGotAAA6ACggAyAFQQRqKQIAQiCJNwMIIAVBGGooAgAhBiACKAIQIQhBACEJQQAhAAJAAkACQCAFQRRqKAIAQQFrDgIAAgELIAZBA3QgCGoiDCgCBEGgAUcNASAMKAIAKAIAIQYLQQEhAAsgAyAGNgIUIAMgADYCECAFQRBqKAIAIQACQAJAAkAgBUEMaigCAEEBaw4CAAIBCyAAQQN0IAhqIgYoAgRBoAFHDQEgBigCACgCACEAC0EBIQkLIAMgADYCHCADIAk2AhggCCAFKAIAQQN0aiIAKAIAIANBCGogACgCBBEBAA0CIAFBCGohASALIARBIGoiBEcNAAsLQQAhACAHIAIoAgRJIgFFDQEgAygCICACKAIAIAdBA3RqQQAgARsiASgCACABKAIEIAMoAiQoAgwRAwBFDQELQQEhAAsgA0EwaiQAIAALcgEEfyMAQSBrIgIkAEEBIQMCQCAAIAEQwAINACABQRxqKAIAIQQgASgCGCACQRxqQQA2AgAgAkGI+MAANgIYIAJCATcCDCACQcD5wAA2AgggBCACQQhqEMECDQAgAEEEaiABEMACIQMLIAJBIGokACADCw0AQtDl+IeL46r17wAL2gUCBn8CfgJAIAJFDQBBACACQQdrIgQgAiAESRshByABQQNqQXxxIAFrIQhBACEEAkACQAJAA0ACQAJAAkAgASAEai0AACIFQRh0QRh1IgZBAE4EQCAIIARrQQNxIAhBf0ZyDQECQCAEIAdPDQADQCABIARqIgMoAgAgA0EEaigCAHJBgIGChHhx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AHNlbmRfZnJvbWJhdGNoX3NlbmRfZnJvbW1pbnRiYXRjaF9taW50YmF0Y2hfYnVybmFwcHJvdmVfYWxscmV2b2tlX2FsbAAAAPgEEAAJAAAAAQUQAA8AAAAQBRAABAAAABQFEAAKAAAASQEQAAQAAAAeBRAACgAAACgFEAALAAAAMwUQAAoAAABiYWxhbmNlYmF0Y2hfYmFsYW5jZWFwcHJvdmVkX2Zvcl9hbGxpc19hcHByb3ZlZF9mb3JfYWxsdG9rZW5faW5mb3Rva2Vuc2FsbF90b2tlbnMAAACABRAABwAAAIcFEAANAAAAlAUQABAAAACkBRAAEwAAALcFEAAKAAAAwQUQAAYAAADHBRAACgAAAAAAEAAAAAAAYSB0dXBsZSBvZiBzaXplIDMAAAANAAAAAAAAAAEAAAAmAAAAYXRfaGVpZ2h0YXRfdGltZTgGEAAJAAAAQQYQAAcAAADUARAABQAAAENvbnRyYWN0VmVyc2lvbnZlcnNpb25jb250cmFjdF9pbmZvACcAAAAMAAAABAAAACgAAAApAAAAKgAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNGI5MWE2ZWE3MjU4YTk0N2U1OWM2NTIyY2Q1ODk4ZTdjMGE2YTg4Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAANMGEABLAAAAugkAAA4AAABjb3Ntd2FzbV9zdGQ6OnR5cGVzOjpFbnZjdzExNTU6Om1zZzo6Q3cxMTU1RXhlY3V0ZU1zZ2N3MTE1NTo6cXVlcnk6OklzQXBwcm92ZWRGb3JBbGxSZXNwb25zZWNvc213YXNtX3N0ZDo6YWRkcmVzc2VzOjpBZGRyY3dfdXRpbHM6OmV4cGlyYXRpb246OkV4cGlyYXRpb25hbGxvYzo6c3RyaW5nOjpTdHJpbmdjdzExNTVfYmFzZTo6bXNnOjpJbnN0YW50aWF0ZU1zZ2Nvc213YXNtX3N0ZDo6cmVzdWx0czo6Y29udHJhY3RfcmVzdWx0OjpDb250cmFjdFJlc3VsdDxjb3Ntd2FzbV9zdGQ6OmJpbmFyeTo6QmluYXJ5PmNvc213YXNtX3N0ZDo6cmVzdWx0czo6Y29udHJhY3RfcmVzdWx0OjpDb250cmFjdFJlc3VsdDxjb3Ntd2FzbV9zdGQ6OnJlc3VsdHM6OnJlc3BvbnNlOjpSZXNwb25zZT5jdzExNTU6OnF1ZXJ5OjpBcHByb3ZlZEZvckFsbFJlc3BvbnNlY3cxMTU1OjpxdWVyeTo6Q3cxMTU1UXVlcnlNc2djb3Ntd2FzbV9zdGQ6Om1hdGg6OnVpbnQxMjg6OlVpbnQxMjhjdzExNTU6OnF1ZXJ5OjpUb2tlbnNSZXNwb25zZWN3MTE1NTo6cXVlcnk6OkJhdGNoQmFsYW5jZVJlc3BvbnNlY3cxMTU1OjpxdWVyeTo6QmFsYW5jZVJlc3BvbnNlY3cxMTU1OjpxdWVyeTo6VG9rZW5JbmZvUmVzcG9uc2VjdzI6OkNvbnRyYWN0VmVyc2lvbmNvc213YXNtX3N0ZDo6dHlwZXM6Ok1lc3NhZ2VJbmZvAA0AAAAEAAAABAAAACsAAAAsAAAALQAAAA0AAAAAAAAAAQAAAC4AAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAC8AAAAgAAAACAAAADAAAABtaXNzaW5nIGZpZWxkIGBgMAoQAA8AAAA/ChAAAQAAAHVua25vd24gZmllbGQgYGAsIHRoZXJlIGFyZSBubyBmaWVsZHMAAABQChAADwAAAF8KEAAWAAAAYCwgZXhwZWN0ZWQgUAoQAA8AAACIChAADAAAAGludmFsaWQgbGVuZ3RoICwgZXhwZWN0ZWQgAACkChAADwAAALMKEAALAAAAZHVwbGljYXRlIGZpZWxkIGAAAADQChAAEQAAAD8KEAABAAAAdW5rbm93biB2YXJpYW50IGBgLCB0aGVyZSBhcmUgbm8gdmFyaWFudHMAAAD0ChAAEQAAAAULEAAYAAAA9AoQABEAAACIChAADAAAAEFwcHJvdmFsc3BlbmRlclRva2Vuc1Jlc3BvbnNlQmFsYW5jZVJlc3BvbnNlVG9rZW5JbmZvUmVzcG9uc2V1cmxCYXRjaEJhbGFuY2VSZXNwb25zZWJhbGFuY2VzQXBwcm92ZWRGb3JBbGxSZXNwb25zZW9wZXJhdG9yc0lzQXBwcm92ZWRGb3JBbGxSZXNwb25zZWludmFsaWQgYmFzZTY0OiAA0wsQABAAAABpbnZhbGlkIFVpbnQ2NCAnJyAtIOwLEAAQAAAA/AsQAAQAAABpbnZhbGlkIFVpbnQxMjggJwAAABAMEAARAAAA/AsQAAQAAABhbHNlcnVldWxsRXhwaXJhdGlvbm1pbnRlcgAASAwQAAYAAABhcHByb3Zlc2NyYXRlcy5pbzpjdzExNTUtYmFzZTAuMTYuMEV4cGlyZWQAAHsMEAAHAAAAVW5hdXRob3JpemVkjAwQAAwAAAB0b2tlbl9pZCBhbHJlYWR5IGNsYWltZWSgDBAAGAAAADEAAAAMAAAABAAAADIAAAAzAAAANAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNGI5MWE2ZWE3MjU4YTk0N2U1OWM2NTIyY2Q1ODk4ZTdjMGE2YTg4Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAA8NEABLAAAAugkAAA4AAAA1AAAAAAAAAAEAAAAuAAAAYWN0aW9uYW1vdW50YXBwcm92ZV9hbGxzZW5kZXJjdzExNTU6OnJlY2VpdmVyOjpSZWNlaXZlckV4ZWN1dGVNc2cAAAA2AAAADAAAAAQAAAA3AAAAOAAAADQAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzRiOTFhNmVhNzI1OGE5NDdlNTljNjUyMmNkNTg5OGU3YzBhNmE4OGYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAAAPDhAASwAAALoJAAAOAAAAOQAAAAAAAAABAAAALgAAAEN3MTE1NVJlY2VpdmVNc2dvcGVyYXRvcmZyb210b2tlbl9pZGFtb3VudG1zZ0N3MTE1NUJhdGNoUmVjZWl2ZU1zZ2JhdGNoYmF0Y2hfcmVjZWl2ZXJlY2VpdmUAOgAAAAQAAAAEAAAAOwAAADwAAAA9AAAAPgAAAAgAAAAEAAAAPwAAAEAAAABBAAAACAAAAAQAAABCAAAAcGFja2FnZXMvc3RvcmFnZS1wbHVzL3NyYy9oZWxwZXJzLnJzFA8QACQAAAArAAAAEQBB0J7AAAuBEmF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3cUDxAAJAAAACsAAAAJAAAAFA8QACQAAABAAAAAEQAAABQPEAAkAAAAQAAAAAkAAAAUDxAAJAAAAEMAAAARAAAAFA8QACQAAABDAAAACQAAAG9ubHkgc3VwcG9ydHMgbmFtZXNwYWNlcyB1cCB0byBsZW5ndGggMHhGRkZGFA8QACQAAABWAAAACQAAAHBhY2thZ2VzL3N0b3JhZ2UtcGx1cy9zcmMvaXRlcl9oZWxwZXJzLnJzAAAA+A8QACkAAAAoAAAABQAAAEMAAAAUAAAABAAAAEQAAABFAAAARgAAAEcAAABQAAAADAAAAAQAAABRAAAAUgAAAFMAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzRiOTFhNmVhNzI1OGE5NDdlNTljNjUyMmNkNTg5OGU3YzBhNmE4OGYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAACfEBAASwAAALoJAAAOAAAAVAAAAAAAAAABAAAALgAAAPwQEAAAAAAAQ29udmVyc2lvbiBlcnJvcjogAAAUERAAEgAAAERpdmlkZSBieSB6ZXJvOiAwERAAEAAAAE92ZXJmbG93OiAAAEgREAAKAAAARXJyb3Igc2VyaWFsaXppbmcgdHlwZSA6IAAAAFwREAAXAAAAcxEQAAIAAABFcnJvciBwYXJzaW5nIGludG8gdHlwZSCIERAAGAAAAHMREAACAAAAIG5vdCBmb3VuZAAA/BAQAAAAAACwERAACgAAAENhbm5vdCBkZWNvZGUgVVRGOCBieXRlcyBpbnRvIHN0cmluZzogAADMERAAJgAAAEludmFsaWQgZGF0YSBzaXplOiBleHBlY3RlZD0gYWN0dWFsPfwREAAcAAAAGBIQAAgAAABJbnZhbGlkIEJhc2U2NCBzdHJpbmc6IAAwEhAAFwAAAEdlbmVyaWMgZXJyb3I6IABQEhAADwAAAFJlY292ZXIgcHVia2V5IGVycm9yOiAAAGgSEAAWAAAAVmVyaWZpY2F0aW9uIGVycm9yOiCIEhAAFAAAAENvbnZlcnNpb25PdmVyZmxvd3NvdXJjZVQAAAAEAAAABAAAAFUAAABEaXZpZGVCeVplcm9UAAAABAAAAAQAAABWAAAAT3ZlcmZsb3dUAAAABAAAAAQAAABXAAAAU2VyaWFsaXplRXJyc291cmNlX3R5cGUAVAAAAAQAAAAEAAAAWAAAAG1zZ1BhcnNlRXJydGFyZ2V0X3R5cGVOb3RGb3VuZGtpbmRJbnZhbGlkVXRmOEludmFsaWREYXRhU2l6ZWV4cGVjdGVkVAAAAAQAAAAEAAAAWQAAAGFjdHVhbEludmFsaWRCYXNlNjRHZW5lcmljRXJyUmVjb3ZlclB1YmtleUVycgAAAFQAAAAEAAAABAAAAFoAAABWZXJpZmljYXRpb25FcnIAVAAAAAQAAAAEAAAAWwAAAFNobFNoclBvd011bFN1YkFkZENhbm5vdCAgd2l0aCAgYW5kIO4TEAAHAAAA9RMQAAYAAAD7ExAABQAAAE92ZXJmbG93RXJyb3JvcGVyYXRpb24AAFQAAAAEAAAABAAAAEkAAABvcGVyYW5kMW9wZXJhbmQyQ29udmVyc2lvbk92ZXJmbG93RXJyb3IAVAAAAAQAAAAEAAAAXAAAAHZhbHVlQ2Fubm90IGRldmlkZSAgYnkgemVybwB9FBAADgAAAIsUEAAIAAAARGl2aWRlQnlaZXJvRXJyb3JvcGVyYW5k6xMQAOgTEADlExAA4hMQAN8TEADcExAAL3J1c3RjLzRiOTFhNmVhNzI1OGE5NDdlNTljNjUyMmNkNTg5OGU3YzBhNmE4OGYvbGlicmFyeS9jb3JlL3NyYy9pdGVyL2FkYXB0ZXJzL2VudW1lcmF0ZS5ycwDUFBAAWwAAADAAAAAJAAAAYXR0ZW1wdCB0byBhZGQgd2l0aCBvdmVyZmxvd18AAAAIAAAABAAAAGAAAABhAAAAYgAAAAwAAAAEAAAAYwAAAGQAAABTAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy80YjkxYTZlYTcyNThhOTQ3ZTU5YzY1MjJjZDU4OThlN2MwYTZhODhmL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAAvxUQAEsAAAC6CQAADgAAAF8AAAAAAAAAAQAAAC4AAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiAAACwWEAAqAAAAbWlzc2luZyBmaWVsZCBgYGAWEAAPAAAAbxYQAAEAAABkdXBsaWNhdGUgZmllbGQgYAAAAIAWEAARAAAAbxYQAAEAAAB1bmtub3duIHZhcmlhbnQgYGAsIHRoZXJlIGFyZSBubyB2YXJpYW50cwAAAKQWEAARAAAAtRYQABgAAABgLCBleHBlY3RlZCCkFhAAEQAAAOAWEAAMAAAAL3Vzci9sb2NhbC9jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jhc2U2NC0wLjEzLjAvc3JjL2RlY29kZS5ycwAAAPwWEABVAAAA0gEAAB8AAAD8FhAAVQAAANgBAAAfAAAA/BYQAFUAAADbAQAADQAAAPwWEABVAAAA4QEAAB8AAAD8FhAAVQAAAOQBAAANAAAA/BYQAFUAAADqAQAAHwAAAPwWEABVAAAA7QEAAA0AAAD8FhAAVQAAAPMBAAAfAAAA/BYQAFUAAAD2AQAADQAAAPwWEABVAAAA/AEAAB8AAAD8FhAAVQAAAP8BAAANAAAA/BYQAFUAAAAFAgAAHwAAAPwWEABVAAAACAIAAA0AAAD8FhAAVQAAAA4CAAAfAAAA/BYQAFUAAAARAgAADQAAAPwWEABVAAAAbgAAAC8AQeCwwAALIWF0dGVtcHQgdG8gbXVsdGlwbHkgd2l0aCBvdmVyZmxvdwBBkLHAAAuxEGF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvdwAAAPwWEABVAAAAAwEAADcAAAD8FhAAVQAAAAMBAAAkAAAA/BYQAFUAAAAEAQAAKQAAAPwWEABVAAAAIQEAABEAAAD8FhAAVQAAACoBAAApAAAA/BYQAFUAAAAqAQAAFgAAAPwWEABVAAAALgEAACkAAAD8FhAAVQAAAC4BAAAoAAAA/BYQAFUAAAAtAQAAGgAAAPwWEABVAAAAMwEAABEAAAD8FhAAVQAAAEEBAAAOAAAA/BYQAFUAAABEAQAAJwAAAPwWEABVAAAARAEAABIAAAD8FhAAVQAAAEcBAAAJAAAA/BYQAFUAAABYAQAAEwAAAPwWEABVAAAAZgEAACkAAAD8FhAAVQAAAHgBAAANAAAA/BYQAFUAAACCAQAAEQAAAPwWEABVAAAAigEAABUAAAD8FhAAVQAAAI4BAAAxAAAASW1wb3NzaWJsZTogbXVzdCBvbmx5IGhhdmUgMCB0byA4IGlucHV0IGJ5dGVzIGluIGxhc3QgY2h1bmssIHdpdGggbm8gaW52YWxpZCBsZW5ndGhz9BkQAFQAAAD8FhAAVQAAAJ0BAAAOAAAA/BYQAFUAAACoAQAADQAAAPwWEABVAAAAsQEAAAkAAABPdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIG91dHB1dCBidWZmZXIgbGVuZ3RoAAD8FhAAVQAAAJYAAAAKAAAAHBYQAAAAAABfAAAAAAAAAAEAAABlAAAAZgAAAGYAAABUTDtEUjogVmFsdWUgbXVzdCBub3QgYmUgZW1wdHkgaW4gU3RvcmFnZTo6c2V0IGJ1dCBpbiBtb3N0IGNhc2VzIHlvdSBjYW4gdXNlIFN0b3JhZ2U6OnJlbW92ZSBpbnN0ZWFkLiBMb25nIHN0b3J5OiBHZXR0aW5nIGVtcHR5IHZhbHVlcyBmcm9tIHN0b3JhZ2UgaXMgbm90IHdlbGwgc3VwcG9ydGVkIGF0IHRoZSBtb21lbnQuIFNvbWUgb2Ygb3VyIGludGVybmFsIGludGVyZmFjZXMgY2Fubm90IGRpZmZlcmVudGlhdGUgYmV0d2VlbiBhIG5vbi1leGlzdGVudCBrZXkgYW5kIGFuIGVtcHR5IHZhbHVlLiBSaWdodCBub3csIHlvdSBjYW5ub3QgcmVseSBvbiB0aGUgYmVoYXZpb3VyIG9mIGVtcHR5IHZhbHVlcy4gVG8gcHJvdGVjdCB5b3UgZnJvbSB0cm91YmxlIGxhdGVyIG9uLCB3ZSBzdG9wIGhlcmUuIFNvcnJ5IGZvciB0aGUgaW5jb252ZW5pZW5jZSEgV2UgaGlnaGx5IHdlbGNvbWUgeW91IHRvIGNvbnRyaWJ1dGUgdG8gQ29zbVdhc20sIG1ha2luZyB0aGlzIG1vcmUgc29saWQgb25lIHdheSBvciB0aGUgb3RoZXIu4BoQAAgCAAAvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY29zbXdhc20tc3RkLTEuMS4wL3NyYy9pbXBvcnRzLnJzAPAcEABbAAAAbAAAAA0AAABfAAAABAAAAAQAAABnAAAAaAAAAGkAAABqAAAAaW5wdXQgdG9vIGxvbmcgZm9yIGFkZHJfdmFsaWRhdGVhZGRyX3ZhbGlkYXRlIGVycm9yZWQ6IACYHRAAFwAAAGlucHV0IHRvbyBsb25nIGZvciBhZGRyX2Nhbm9uaWNhbGl6ZWFkZHJfY2Fub25pY2FsaXplIGVycm9yZWQ6IADcHRAAGwAAAGFkZHJfaHVtYW5pemUgZXJyb3JlZDogAAAeEAAXAAAATWVzc2FnZVRvb0xvbmcgbXVzdCBub3QgaGFwcGVuLiBUaGlzIGlzIGEgYnVnIGluIHRoZSBWTS4gHhAAOAAAAPAcEABbAAAACQEAABIAAADwHBAAWwAAACYBAAASAAAASW52YWxpZEhhc2hGb3JtYXQgbXVzdCBub3QgaGFwcGVuLiBUaGlzIGlzIGEgYnVnIGluIHRoZSBWTS4AgB4QADsAAADwHBAAWwAAAEABAAASAAAARXJyb3IgY29kZSAyIHVudXNlZCBzaW5jZSBDb3NtV2FzbSAwLjE1LiBUaGlzIGlzIGEgYnVnIGluIHRoZSBWTS4AAADUHhAAQQAAAPAcEABbAAAAPwEAABIAAADwHBAAWwAAAGABAAASAAAA8BwQAFsAAABfAQAAEgAAAGsAAAAUAAAABAAAAGwAAAAvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMC9zcmMvZW5jb2RlLnJzSW52YWxpZCBVVEY4AAAAYB8QAFUAAAA0AAAAHAAAAGludGVnZXIgb3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBidWZmZXIgc2l6ZQAAAGAfEABVAAAALwAAABEAAABtAAAACAAAAAQAAABuAAAAL3Vzci9sb2NhbC9jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Nvc213YXNtLXN0ZC0xLjEuMC9zcmMvc2VjdGlvbnMucnMkIBAAXAAAABoAAAAQAAAAYXR0ZW1wdCB0byBtdWx0aXBseSB3aXRoIG92ZXJmbG93AAAAJCAQAFwAAAAaAAAABQBB0MHAAAvxBmF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3cAAAAAYXR0ZW1wdCB0byBzdWJ0cmFjdCB3aXRoIG92ZXJmbG93AAAAJCAQAFwAAAA5AAAAGAAAAENhbm5vdCByZWFkIHNlY3Rpb24gbGVuZ3RoAAAkIRAAGgAAACQgEABcAAAANwAAAAkAAABlcnJvcnJlcXVlc3RyZXNwb25zZWFkZHJraW5kVW5rbm93biBlcnJvcjogAHQhEAAPAAAASW52YWxpZCByZWNvdmVyeSBwYXJhbWV0ZXIuIFN1cHBvcnRlZCB2YWx1ZXM6IDAgYW5kIDEuAACMIRAANgAAAEludmFsaWQgc2lnbmF0dXJlIGZvcm1hdMwhEAAYAAAASW52YWxpZCBoYXNoIGZvcm1hdADsIRAAEwAAAFVua25vd25FcnJlcnJvcl9jb2RlcAAAAAQAAAAEAAAAcQAAAEludmFsaWRSZWNvdmVyeVBhcmFtSW52YWxpZFNpZ25hdHVyZUZvcm1hdEludmFsaWRIYXNoRm9ybWF0Y29zbXdhc21fc3RkOjpyZXN1bHRzOjpzeXN0ZW1fcmVzdWx0OjpTeXN0ZW1SZXN1bHQ8Y29zbXdhc21fc3RkOjpyZXN1bHRzOjpjb250cmFjdF9yZXN1bHQ6OkNvbnRyYWN0UmVzdWx0PGNvc213YXNtX3N0ZDo6YmluYXJ5OjpCaW5hcnk+Pm9rZXJyb3IAAO8iEAACAAAA8SIQAAUAAAByAAAADAAAAAQAAABzAAAAdAAAAFMAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzRiOTFhNmVhNzI1OGE5NDdlNTljNjUyMmNkNTg5OGU3YzBhNmE4OGYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAABXIxAASwAAALoJAAAOAAAAdQAAAAQAAAAEAAAAdgAAAHcAAAB4AAAAdQAAAAAAAAABAAAALgAAAC9ydXN0Yy80YjkxYTZlYTcyNThhOTQ3ZTU5YzY1MjJjZDU4OThlN2MwYTZhODhmL2xpYnJhcnkvY29yZS9zcmMvaXRlci90cmFpdHMvYWNjdW0ucnMAAADcIxAAVQAAAI0AAAABAEHQyMAAC6YHYXR0ZW1wdCB0byBhZGQgd2l0aCBvdmVyZmxvd2ludmFsaWQgYmFzZTY0OiBsJBAAEAAAAC91c3IvbG9jYWwvY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9jb3Ntd2FzbS1zdGQtMS4xLjAvc3JjL21lbW9yeS5yc1JlZ2lvbiBwb2ludGVyIGlzIG51bGzeJBAAFgAAAIQkEABaAAAAOQAAAAUAAABSZWdpb24gc3RhcnRzIGF0IG51bGwgcG9pbnRlcgAAAAwlEAAdAAAAhCQQAFoAAAA/AAAABQAAAFN5c3RlbUVycm9yaW52YWxpZF9yZXF1ZXN0aW52YWxpZF9yZXNwb25zZW5vX3N1Y2hfY29udHJhY3R1bmtub3dudW5zdXBwb3J0ZWRfcmVxdWVzdE8lEAAPAAAAXiUQABAAAABuJRAAEAAAAH4lEAAHAAAAhSUQABMAAABraW5kwCUQAAQAAABhZGRyzCUQAAQAAABlcnJvcnJlc3BvbnNlAAAA2CUQAAUAAADdJRAACAAAAHJlcXVlc3QA2CUQAAUAAAD4JRAABwAAAFVua25vd24gZXJyb3I6IAAQJhAADwAAAEludmFsaWQgcmVjb3ZlcnkgcGFyYW1ldGVyLiBTdXBwb3J0ZWQgdmFsdWVzOiAwIGFuZCAxLgAAKCYQADYAAABJbnZhbGlkIHB1YmxpYyBrZXkgZm9ybWF0AAAAaCYQABkAAABJbnZhbGlkIHNpZ25hdHVyZSBmb3JtYXSMJhAAGAAAAEludmFsaWQgaGFzaCBmb3JtYXQArCYQABMAAABHZW5lcmljIGVycm9yAAAAyCYQAA0AAABCYXRjaCBlcnJvcgDgJhAACwAAAFVua25vd25FcnJlcnJvcl9jb2RldQAAAAQAAAAEAAAAcQAAAEludmFsaWRSZWNvdmVyeVBhcmFtSW52YWxpZFB1YmtleUZvcm1hdEludmFsaWRTaWduYXR1cmVGb3JtYXRJbnZhbGlkSGFzaEZvcm1hdEdlbmVyaWNFcnJCYXRjaEVycngnEAAAAAAAQnVmZmVyIGlzIGZ1bGwAAIAnEAAOAAAAL3Vzci9sb2NhbC9jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3NlcmRlLWpzb24td2FzbS0wLjQuMS9zcmMvc2VyL21vZC5ycwBBgNDAAAuFHWF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvd2ZhbHNlAACYJxAAXgAAANcAAAAJAAAAegAAAAgAAAAEAAAAewAAAHwAAAAvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2VyZGUtanNvbi13YXNtLTAuNC4xL3NyYy9kZS91bmVzY2FwZS5ycwAATCgQAGIAAAAlAAAAFQAAAEwoEABiAAAAMwAAACkAAABhdHRlbXB0IHRvIHN1YnRyYWN0IHdpdGggb3ZlcmZsb3dOb24taGV4IEFTQ0lJIGNoYXJhY3RlciBmb3VuZAAATCgQAGIAAACZAAAADgAAAC91c3IvbG9jYWwvY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9zZXJkZS1qc29uLXdhc20tMC40LjEvc3JjL2RlL21vZC5ycwAAACApEABdAAAAJAAAAAkAAABhdHRlbXB0IHRvIGFkZCB3aXRoIG92ZXJmbG93ICkQAF0AAAB9AAAAIgAAACApEABdAAAAgQAAACwAAADMKRAAAAAAAEpTT04gaGFzIGEgY29tbWEgYWZ0ZXIgdGhlIGxhc3QgdmFsdWUgaW4gYW4gYXJyYXkgb3IgbWFwLkpTT04gaGFzIG5vbi13aGl0ZXNwYWNlIHRyYWlsaW5nIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIHZhbHVlLkZvdW5kIGEgbG9uZSBzdXJyb2dhdGUsIHdoaWNoIGNhbiBleGlzdCBpbiBKU09OIGJ1dCBjYW5ub3QgYmUgZW5jb2RlZCB0byBVVEYtOC5PYmplY3Qga2V5IGlzIG5vdCBhIHN0cmluZy5JbnZhbGlkIHVuaWNvZGUgY29kZSBwb2ludC5JbnZhbGlkIHR5cGVJbnZhbGlkIG51bWJlci5JbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZS5FeHBlY3RlZCB0aGlzIGNoYXJhY3RlciB0byBzdGFydCBhIEpTT04gdmFsdWUuRXhwZWN0ZWQgdG8gcGFyc2UgZWl0aGVyIGEgYHRydWVgLCBgZmFsc2VgLCBvciBhIGBudWxsYC5FeHBlY3RlZCB0aGlzIGNoYXJhY3RlciB0byBiZSBlaXRoZXIgYSBgJywnYCBvciBhIGAnfSdgLkV4cGVjdGVkIGEgbG93IHN1cnJvZ2F0ZSAoREMwMOKAk0RGRkYpLkV4cGVjdGVkIHRoaXMgY2hhcmFjdGVyIHRvIGJlIGVpdGhlciBhIGAnLCdgIG9yYSBgJ10nYC5FeHBlY3RlZCBhIGhpZ2ggc3Vycm9nYXRlIChEODAw4oCTREJGRikuRXhwZWN0ZWQgdGhpcyBjaGFyYWN0ZXIgdG8gYmUgYSBgJzonYC5FT0Ygd2hpbGUgcGFyc2luZyBhIEpTT04gdmFsdWUuRU9GIHdoaWxlIHBhcnNpbmcgYSBzdHJpbmcuRU9GIHdoaWxlIHBhcnNpbmcgYW4gb2JqZWN0LkVPRiB3aGlsZSBwYXJzaW5nIGEgbGlzdC5Db250cm9sIGNoYXJhY3RlciBmb3VuZCBpbiBzdHJpbmcufgAAAAgAAAAEAAAAfwAAAEludmFsaWQgbGFzdCBzeW1ib2wgLCBvZmZzZXQgLgAA7CwQABQAAAAALRAACQAAAAktEAABAAAARW5jb2RlZCB0ZXh0IGNhbm5vdCBoYXZlIGEgNi1iaXQgcmVtYWluZGVyLgAkLRAAKwAAAEludmFsaWQgYnl0ZSAAAABYLRAADQAAAAAtEAAJAAAACS0QAAEAAABPdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIG51bWJlciBvZiBjaHVua3MgaW4gaW5wdXQvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMC9zcmMvZGVjb2RlLnJzsy0QAFUAAAC8AAAACgAAACEiIyQlJicoKSorLC0wMTIzNDU2Nzg5QEFCQ0RFRkdISUpLTE1OUFFSU1RVVlhZWltgYWJjZGVoaWprbG1wcXJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSssLi9BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS4vMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL////////////////////////////////////////////wABAgMEBQYHCAkKCwz//w0ODxAREhMUFRb///////8XGBkaGxwdHh8gISIjJCX/JicoKSorLP8tLi8w/////zEyMzQ1Nv//Nzg5Ojs8//89Pj//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pj////80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ////////GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABNjc4OTo7PD0+P/////////8CAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaG////////xwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJCgv/////////DA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCX///////8mJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+//80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ/////z//GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5g0EACYMxAAmDIQAJgxEACYMBAAmC8QAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IAAAsDUQACoAAAAvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMC9zcmMvZW5jb2RlLnJzAAAA5DUQAFUAAACSAAAAJwAA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" - }, - "deposit_end_time": "2023-03-08T16:58:04.189095261Z", - "final_tally_result": { "abstain": "0", "no": "0", "no_with_veto": "0", "yes": "1000000" }, - "proposal_id": "2", - "status": "PROPOSAL_STATUS_PASSED", - "submit_time": "2023-03-06T16:58:04.189095261Z", - "total_deposit": [{ "amount": "10000000000", "denom": "uixo" }], - "voting_end_time": "2023-03-06T16:59:34.189095261Z", - "voting_start_time": "2023-03-06T16:58:04.189095261Z" - }, - { - "content": { "@type": "/ixo.entity.v1beta1.InitializeNftContract", "NftContractCodeId": "1", "NftMinterAddress": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2" }, - "deposit_end_time": "2023-03-08T16:59:40.593032972Z", - "final_tally_result": { "abstain": "0", "no": "0", "no_with_veto": "0", "yes": "1000000" }, - "proposal_id": "3", - "status": "PROPOSAL_STATUS_PASSED", - "submit_time": "2023-03-06T16:59:40.593032972Z", - "total_deposit": [{ "amount": "1000000000", "denom": "uixo" }], - "voting_end_time": "2023-03-06T17:01:10.593032972Z", - "voting_start_time": "2023-03-06T16:59:40.593032972Z" - }, - { - "content": { "@type": "/ixo.token.v1beta1.SetTokenContractCodes", "ixo1155_contract_code": "2" }, - "deposit_end_time": "2023-03-08T16:59:47.853647461Z", - "final_tally_result": { "abstain": "0", "no": "0", "no_with_veto": "0", "yes": "1000000" }, - "proposal_id": "4", - "status": "PROPOSAL_STATUS_PASSED", - "submit_time": "2023-03-06T16:59:47.853647461Z", - "total_deposit": [{ "amount": "1000000000", "denom": "uixo" }], - "voting_end_time": "2023-03-06T17:01:17.853647461Z", - "voting_start_time": "2023-03-06T16:59:47.853647461Z" - } - ], - "starting_proposal_id": "5", - "tally_params": { "quorum": "0.334000000000000000", "threshold": "0.500000000000000000", "veto_threshold": "0.334000000000000000" }, - "votes": [], - "voting_params": { "voting_period": "90s" } - }, - "ibc": { - "channel_genesis": { "ack_sequences": [], "acknowledgements": [], "channels": [], "commitments": [], "next_channel_sequence": "0", "receipts": [], "recv_sequences": [], "send_sequences": [] }, - "client_genesis": { "clients": [], "clients_consensus": [], "clients_metadata": [], "create_localhost": false, "next_client_sequence": "0", "params": { "allowed_clients": ["06-solomachine", "07-tendermint"] } }, - "connection_genesis": { "client_connection_paths": [], "connections": [], "next_connection_sequence": "0", "params": { "max_expected_time_per_block": "30000000000" } } - }, - "iid": { - "iid_docs": [ - { - "accordedRight": [], - "alsoKnownAs": "", - "assertionMethod": [], - "authentication": [ - "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#0386f89ab4e54b1a5b3f227c81fcccf16ebc8471875ba0b37e538553853ecafb25", - "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#23mpcQ4dGJpQe6HiSRJgTWWMF2PQEh2G1B4UXY58F1fEU", - "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2" - ], - "capabilityDelegation": [], - "capabilityInvocation": [], - "context": [{ "key": "ixo", "val": "https://w3id.org/ixo/ns/context/v1" }], - "controller": ["did:ixo:entity:eaff254f2fc62aefca0d831bc7361c14", "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C"], - "id": "did:ixo:entity:eaff254f2fc62aefca0d831bc7361c14", - "keyAgreement": [], - "linkedClaim": [], - "linkedEntity": [], - "linkedResource": [], - "metadata": { "created": "2023-03-06T17:01:24.989101714Z", "deactivated": false, "updated": "2023-03-06T17:01:24.989101714Z", "versionId": "fecd1888aaaad2c3a8da751feee46d0d6d329cecf4fa6b3548f520a95b72f3b1" }, - "service": [], - "verificationMethod": [ - { - "controller": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "id": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "publicKeyBase58": "23mpcQ4dGJpQe6HiSRJgTWWMF2PQEh2G1B4UXY58F1fEU", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "controller": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "id": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#0386f89ab4e54b1a5b3f227c81fcccf16ebc8471875ba0b37e538553853ecafb25", - "publicKeyMultibase": "F0386f89ab4e54b1a5b3f227c81fcccf16ebc8471875ba0b37e538553853ecafb25", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "controller": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "id": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#23mpcQ4dGJpQe6HiSRJgTWWMF2PQEh2G1B4UXY58F1fEU", - "publicKeyBase58": "23mpcQ4dGJpQe6HiSRJgTWWMF2PQEh2G1B4UXY58F1fEU", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "blockchainAccountID": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "controller": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "id": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "type": "CosmosAccountAddress" - } - ] - }, - { - "accordedRight": [], - "alsoKnownAs": "user", - "assertionMethod": [], - "authentication": [ - "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54", - "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54#0267f1d76dc17f61ec5c73f4b3560a9e8bce99e1e597247d416c7fb74aa3bea5a7", - "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54#iTPcxe7wjZMhG66FAGQKPWwnsmruwtqirhcUDUPfWvDL", - "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54#ixo12am7v5xgjh72c7xujreyvtncqwue3w0v6ud3r4" - ], - "capabilityDelegation": [], - "capabilityInvocation": [], - "context": [{ "key": "ixo", "val": "https://w3id.org/ixo/ns/context/v1" }], - "controller": ["did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54"], - "id": "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54", - "keyAgreement": [], - "linkedClaim": [], - "linkedEntity": [], - "linkedResource": [], - "metadata": { "created": "2023-03-06T16:57:46.645428211Z", "deactivated": false, "updated": "2023-03-06T16:57:46.645428211Z", "versionId": "a3f5edd3e8f28875c6b16aa6d8128281e6205d0194a408c431bcb50bdeeac0c7" }, - "service": [], - "verificationMethod": [ - { - "controller": "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54", - "id": "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54", - "publicKeyBase58": "iTPcxe7wjZMhG66FAGQKPWwnsmruwtqirhcUDUPfWvDL", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "controller": "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54", - "id": "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54#0267f1d76dc17f61ec5c73f4b3560a9e8bce99e1e597247d416c7fb74aa3bea5a7", - "publicKeyMultibase": "F0267f1d76dc17f61ec5c73f4b3560a9e8bce99e1e597247d416c7fb74aa3bea5a7", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "controller": "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54", - "id": "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54#iTPcxe7wjZMhG66FAGQKPWwnsmruwtqirhcUDUPfWvDL", - "publicKeyBase58": "iTPcxe7wjZMhG66FAGQKPWwnsmruwtqirhcUDUPfWvDL", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "blockchainAccountID": "ixo12am7v5xgjh72c7xujreyvtncqwue3w0v6ud3r4", - "controller": "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54", - "id": "did:x:zQ3shUQYdonbR4CaaWBmfYMHND7KEXY3tEStFndNGWp4njQ54#ixo12am7v5xgjh72c7xujreyvtncqwue3w0v6ud3r4", - "type": "CosmosAccountAddress" - } - ] - }, - { - "accordedRight": [], - "alsoKnownAs": "user", - "assertionMethod": [], - "authentication": [ - "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436", - "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436#02f53723c9954233da1b9d2c3f6dc699d904c92f1fb31423780c6f77cdc07ce5c5", - "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436#sxrPoTGjgPVRSw8x7nQqMy54R4fFvLxQhy2vjJtCLaBN", - "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436#ixo13dy867pyn8jda82vnshy7jjjv42n69k7497jrh" - ], - "capabilityDelegation": [], - "capabilityInvocation": [], - "context": [{ "key": "ixo", "val": "https://w3id.org/ixo/ns/context/v1" }], - "controller": ["did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436"], - "id": "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436", - "keyAgreement": [], - "linkedClaim": [], - "linkedEntity": [], - "linkedResource": [], - "metadata": { "created": "2023-03-06T16:57:49.754030504Z", "deactivated": false, "updated": "2023-03-06T16:57:49.754030504Z", "versionId": "330e41ef4369878adb4fabaf9818a090d118bf544fad7cd3fafaab384ef05a7e" }, - "service": [], - "verificationMethod": [ - { - "controller": "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436", - "id": "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436", - "publicKeyBase58": "sxrPoTGjgPVRSw8x7nQqMy54R4fFvLxQhy2vjJtCLaBN", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "controller": "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436", - "id": "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436#02f53723c9954233da1b9d2c3f6dc699d904c92f1fb31423780c6f77cdc07ce5c5", - "publicKeyMultibase": "F02f53723c9954233da1b9d2c3f6dc699d904c92f1fb31423780c6f77cdc07ce5c5", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "controller": "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436", - "id": "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436#sxrPoTGjgPVRSw8x7nQqMy54R4fFvLxQhy2vjJtCLaBN", - "publicKeyBase58": "sxrPoTGjgPVRSw8x7nQqMy54R4fFvLxQhy2vjJtCLaBN", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "blockchainAccountID": "ixo13dy867pyn8jda82vnshy7jjjv42n69k7497jrh", - "controller": "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436", - "id": "did:x:zQ3shdv1QebkD12iJh2pNVsHtBZSW4prECtzwdtnj2eZKZ436#ixo13dy867pyn8jda82vnshy7jjjv42n69k7497jrh", - "type": "CosmosAccountAddress" - } - ] - }, - { - "accordedRight": [], - "alsoKnownAs": "user", - "assertionMethod": [], - "authentication": [ - "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c", - "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c#0376e074dd70dec7786a2af43b9b3cd6b48fa356c99dd96496613253e3c6c4fad7", - "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c#22gzjP2gb5VYXbyyLfHN6x5rhLaLjziKShQtRY4FU9KFt", - "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c#ixo1fewufqrjy0r8kercq3wazsr7v0cymhvgteq442" - ], - "capabilityDelegation": [], - "capabilityInvocation": [], - "context": [{ "key": "ixo", "val": "https://w3id.org/ixo/ns/context/v1" }], - "controller": ["did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c"], - "id": "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c", - "keyAgreement": [], - "linkedClaim": [], - "linkedEntity": [], - "linkedResource": [], - "metadata": { "created": "2023-03-06T16:57:53.884142756Z", "deactivated": false, "updated": "2023-03-06T16:57:53.884142756Z", "versionId": "b25853d648ccb074616db8ccf0ea3f756227dac19e62f2cdd7f1fd16ecaa394f" }, - "service": [], - "verificationMethod": [ - { - "controller": "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c", - "id": "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c", - "publicKeyBase58": "22gzjP2gb5VYXbyyLfHN6x5rhLaLjziKShQtRY4FU9KFt", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "controller": "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c", - "id": "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c#0376e074dd70dec7786a2af43b9b3cd6b48fa356c99dd96496613253e3c6c4fad7", - "publicKeyMultibase": "F0376e074dd70dec7786a2af43b9b3cd6b48fa356c99dd96496613253e3c6c4fad7", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "controller": "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c", - "id": "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c#22gzjP2gb5VYXbyyLfHN6x5rhLaLjziKShQtRY4FU9KFt", - "publicKeyBase58": "22gzjP2gb5VYXbyyLfHN6x5rhLaLjziKShQtRY4FU9KFt", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "blockchainAccountID": "ixo1fewufqrjy0r8kercq3wazsr7v0cymhvgteq442", - "controller": "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c", - "id": "did:x:zQ3shne9kEBA4Q8mQr5em3NF9mgE8zLXiHGMydLeDqPvbMo7c#ixo1fewufqrjy0r8kercq3wazsr7v0cymhvgteq442", - "type": "CosmosAccountAddress" - } - ] - }, - { - "accordedRight": [], - "alsoKnownAs": "user", - "assertionMethod": [], - "authentication": [ - "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#0386f89ab4e54b1a5b3f227c81fcccf16ebc8471875ba0b37e538553853ecafb25", - "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#23mpcQ4dGJpQe6HiSRJgTWWMF2PQEh2G1B4UXY58F1fEU", - "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2" - ], - "capabilityDelegation": [], - "capabilityInvocation": [], - "context": [{ "key": "ixo", "val": "https://w3id.org/ixo/ns/context/v1" }], - "controller": ["did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C"], - "id": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "keyAgreement": [], - "linkedClaim": [], - "linkedEntity": [], - "linkedResource": [], - "metadata": { "created": "2023-03-06T16:57:43.564745417Z", "deactivated": false, "updated": "2023-03-06T16:57:43.564745417Z", "versionId": "e07d5837f870312aff568dfc4dca22185666de0bbde72dffd9eeea31c0fe0b88" }, - "service": [], - "verificationMethod": [ - { - "controller": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "id": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "publicKeyBase58": "23mpcQ4dGJpQe6HiSRJgTWWMF2PQEh2G1B4UXY58F1fEU", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "controller": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "id": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#0386f89ab4e54b1a5b3f227c81fcccf16ebc8471875ba0b37e538553853ecafb25", - "publicKeyMultibase": "F0386f89ab4e54b1a5b3f227c81fcccf16ebc8471875ba0b37e538553853ecafb25", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "controller": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "id": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#23mpcQ4dGJpQe6HiSRJgTWWMF2PQEh2G1B4UXY58F1fEU", - "publicKeyBase58": "23mpcQ4dGJpQe6HiSRJgTWWMF2PQEh2G1B4UXY58F1fEU", - "type": "EcdsaSecp256k1VerificationKey2019" - }, - { - "blockchainAccountID": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "controller": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C", - "id": "did:x:zQ3shoiydFD6jdTdXLPProPZWL6igg9bCyaJY6zEKqQoNE96C#ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "type": "CosmosAccountAddress" - } - ] - } - ] - }, - "mint": { - "minter": { "annual_provisions": "1562650112723.228659792741860527", "inflation": "0.130195385556353407" }, - "params": { - "blocks_per_year": "6311520", - "goal_bonded": "0.670000000000000000", - "inflation_max": "0.200000000000000000", - "inflation_min": "0.070000000000000000", - "inflation_rate_change": "0.130000000000000000", - "mint_denom": "uixo" - } - }, - "params": null, - "payments": { "payment_contracts": [], "payment_templates": [], "subscriptions": [] }, - "project": { - "account_maps": [], - "claims": [], - "params": { - "ixo_did": "did:ixo:U4tSpzzv91HHqWW1YmFkHJ", - "node_fee_percentage": "10.000000000000000000", - "oracle_fee_percentage": "10.000000000000000000", - "project_minimum_initial_funding": [{ "amount": "1", "denom": "uixo" }] - }, - "project_docs": [], - "withdrawals_infos": [] - }, - "slashing": { - "missed_blocks": [{ "address": "ixovalcons1fce0amecrevnt4xccsg7ptt444her0l6r3snm2", "missed_blocks": [] }], - "params": { - "downtime_jail_duration": "600s", - "min_signed_per_window": "0.500000000000000000", - "signed_blocks_window": "100", - "slash_fraction_double_sign": "0.050000000000000000", - "slash_fraction_downtime": "0.010000000000000000" - }, - "signing_infos": [ - { - "address": "ixovalcons1fce0amecrevnt4xccsg7ptt444her0l6r3snm2", - "validator_signing_info": { - "address": "ixovalcons1fce0amecrevnt4xccsg7ptt444her0l6r3snm2", - "index_offset": "9485", - "jailed_until": "1970-01-01T00:00:00Z", - "missed_blocks_counter": "0", - "start_height": "0", - "tombstoned": false - } - } - ] - }, - "staking": { - "delegations": [{ "delegator_address": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", "shares": "1000000.000000000000000000", "validator_address": "ixovaloper1n8yrmeatsk74dw0zs95ess9sgzptd6thzncf20" }], - "exported": true, - "last_total_power": "1", - "last_validator_powers": [{ "address": "ixovaloper1n8yrmeatsk74dw0zs95ess9sgzptd6thzncf20", "power": "1" }], - "params": { "bond_denom": "uixo", "historical_entries": 10000, "max_entries": 7, "max_validators": 100, "unbonding_time": "1814400s" }, - "redelegations": [], - "unbonding_delegations": [], - "validators": [ - { - "commission": { "commission_rates": { "max_change_rate": "0.010000000000000000", "max_rate": "0.200000000000000000", "rate": "0.100000000000000000" }, "update_time": "2023-03-06T16:44:13.184768792Z" }, - "consensus_pubkey": { "@type": "/cosmos.crypto.ed25519.PubKey", "key": "YPBb/RbSf03WQF8fC3rCCMa0Da1aBF7pRed1sSUclLM=" }, - "delegator_shares": "1000000.000000000000000000", - "description": { "details": "", "identity": "", "moniker": "local", "security_contact": "", "website": "" }, - "jailed": false, - "min_self_delegation": "1", - "operator_address": "ixovaloper1n8yrmeatsk74dw0zs95ess9sgzptd6thzncf20", - "status": "BOND_STATUS_BONDED", - "tokens": "1000000", - "unbonding_height": "0", - "unbonding_time": "1970-01-01T00:00:00Z" - } - ] - }, - "token": { "params": { "ixo1155_contract_code": "2" }, "token_properties": [], "tokens": [] }, - "transfer": { "denom_traces": [], "params": { "receive_enabled": true, "send_enabled": true }, "port_id": "transfer" }, - "upgrade": {}, - "vesting": {}, - "wasm": { - "codes": [ - { - "code_bytes": "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EPCCgIAAIAUoAigNAiADQSBqIQNBASEGIAJBYGoiAg0AC0EAIQQLQQAhBiAFQRhqIAEgBEH/AXFBAEcQ74KAgAAgBSgCGA0DDAQLIAVBGGpBDGogBUEoakEMaigCADYCACAFIAUpAiw3AhwMAgtBuI7AgABBNyAFQYgBakGsl8CAAEG8j8CAABCOhICAAAALIAVBJGogBUHgAGpBBHIiBkEIaigCADYCACAFIAYpAgA3AhwLIAVBEGogBUEYakEMaigCACIGNgIAIAUgBSkCHCIKNwMIIABBDGogBjYCACAAIAo3AgRBASEGCyAAIAY2AgAgBUGQAWokgICAgAAL2wEBA38jgICAgABBIGsiAiSAgICAAAJAIAFBAWoiAyABSQ0AIABBBGooAgAiBEEBdCIBIAMgASADSxsiAUEIIAFBCEsbIQECQAJAIARFDQAgAkEQakEIakEBNgIAIAIgBDYCFCACIAAoAgA2AhAMAQsgAkEANgIQCyACIAFBASACQRBqEPmAgIAAAkAgAigCAEUNACACQQhqKAIAIgBFDQEgAigCBCAAENyDgIAAAAsgAigCBCEDIABBBGogATYCACAAIAM2AgAgAkEgaiSAgICAAA8LEN2DgIAAAAvbAQECfyOAgICAAEEgayIDJICAgIAAAkAgASACaiICIAFJDQAgAEEEaigCACIEQQF0IgEgAiABIAJLGyIBQQggAUEISxshAQJAAkAgBEUNACADQRBqQQhqQQE2AgAgAyAENgIUIAMgACgCADYCEAwBCyADQQA2AhALIAMgAUEBIANBEGoQ+YCAgAACQCADKAIARQ0AIANBCGooAgAiAEUNASADKAIEIAAQ3IOAgAAACyADKAIEIQIgAEEEaiABNgIAIAAgAjYCACADQSBqJICAgIAADwsQ3YOAgAAAC60DAgR/AX4jgICAgABBIGsiBSSAgICAACABKAIAIQYCQAJAIAEtAARFDQAgBigCCCEHDAELAkAgBigCCCIIIAZBBGooAgBHDQAgBiAIEI+AgIAAIAYoAgghCAsgBiAIQQFqIgc2AgggBigCACAIakEsOgAACyABQQA6AAQCQCAHIAZBBGoiASgCAEcNACAGIAcQj4CAgAAgBigCCCEHCyAGKAIAIAdqQSI6AAAgBiAHQQFqIgc2AggCQCABKAIAIAdrIANPDQAgBiAH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RQ0CIAAgAUEBEIOBgIAADwsCQCAAQQhqKAIAIgFFDQAgAEEEaigCACICRQ0AIAIgAUEBEIOBgIAACyAAQRRqKAIAIgFFDQEgAEEQaigCACIARQ0BIAAgAUEBEIOBgIAADwsgAEEIaigCACIBRQ0AIABBBGooAgAiAEUNACAAIAFBARCDgYCAAA8LC7QKAhJ/BH4jgICAgABB4AFrIgIkgICAgAAgAUEEaiEDIAEoAgAhBAJAAkACQAJAIAFB0ABqKAIAIgVFDQAgAUHsAGooAgAhBiABQeQAaigCACEHIAFB4ABqKAIAIQggAUHcAGooAgAhCSABQdgAaigCACEKIAFB1ABqKAIAIQsgAkHYAGpBBHIhDCACQaABakEMaiENIAJB2ABqQRhqIQ4gAkHYAGpBDGohDwNAAkAgBEEDRg0AIAFBAjYCACAEQQJHDQQgAUEDNgIACyACQTBqIAUgCygCDBGAgICAAAACQAJAAkAgAigCMEUNACACQaABakEQaiIQIAJBMGpBEGopAwA3AwAgAkGgAWpBCGoiESACQTBqQQhqKQMANwMAIAIgAikDMDcDoAEgAkHYAGogCSAIIAcgBiACQaABaiAKEYGAgIAAACACKAJYIhINASACQaABakE4aiAMQThqKQIANwMAIAJBoAFqQTBqIAxBMGopAgA3AwAgAkGgAWpBKGogDEEoaikCADcDACACQaABakEgaiAMQSBqKQIANwMAIAJBoAFqQRhqIAxBGGopAgA3AwAgECAMQRBqKQIANwMAIBEgDEEIaiIEKQIANwMAIAIgDCkCADcDoAEgDRCZgICAACACQcgAakEIaiAEKAIANgIAIAIgDCkCADcDSEEAIQQMAgsgBSALKAIAEYKAgIAAAAJAIAsoAgQiDEUNACAFIAwgCygCCBCDgYCAAAsCQCABQegAaigCACIMRQ0AIAdFDQAgByAMQQEQg4GAgAALIAFBADYCUAwECyACQcgAakEIaiAPQQhqKAIANgIAIBEgDkEIaikDADcDACACIA8pAgA3A0ggAiAOKQMANwOgASACKAJgIQQLIAJBIGpBCGogAkHIAGpBCGooAgAiEzYCACACQQhqQQhqIBEpAwAiFDcDACACQQhqQRBqIBApAwAiFTcDACACIAIpA0giFjcDICACIAIpA6ABIhc3AwggESATNgIAIA0gFzcCACANQQhqIBQ3AgAgDUEQaiAVNwIAIAIgFjcDoAECQAJAIBINACACQdgAakEgaiACQaABakEgaigCADYCACAOIAJBoAFqQRhqKQMANwMAIAJB2ABqQRBqIBApAwA3AwAgAkHYAGpBCGogESkDADcDACACIAIpA6ABNwNYDAELIAwgAikDoAE3AgAgDEEIaiARKQMANwIAIAxBEGogECkDADcCACAMQRhqIAJBoAFqQRhqKAIANgIAIAIgBDYCWCACQdgAahCXgICAAEECIQQLIAMgAikDWDcCACADQSBqIAJB2ABqQSBqKAIANgIAIANBGGogDikDADcCACADQRBqIAJB2ABqQRBqKQMANwIAIANBCGogAkHYAGpBCGopAwA3AgAgASAENgIADAALCyAEQQNGDQAgAUECNgIAIARBAkcNASABQQM2AgALQQIhDAJAAkAgASgCKCIDQQNGDQAgAUECNgIoIANBAkYNASAAQSRqIAFBzABqKAIANgIAIABBHGogAUHEAGopAgA3AgAgAEEUaiABQTxqKQIANwIAIABBDGogAUE0aikCADcCACAAIAFBLGopAgA3AgQgAyEMCyAAIAw2AgAMAgsgAUEDNgIoIABBAjYCAAwBCyAAIAQ2AgAgACADKQIANwIEIABBJGogA0EgaigCADYCACAAQRxqIANBGGopAgA3AgAgAEEUaiADQRBqKQIANwIAIABBDGogA0EIaikCADcCAAsgAkHgAWokgICAgAALkQIBBH8CQCAAQQRqKAIAIgFFDQAgACgCACICRQ0AIAIgAUEBEIOBgIAACyAAKAIMIQECQCAAQRRqKAIAIgJFDQAgAkEFdCECIAFBFGohAQNAAkAgASgCACIDRQ0AIAFBfGooAgAiBEUNACAEIANBARCDgYCAAAsgAUEgaiEBIAJBYGoiAg0ACyAAKAIMIQELAkAgAEEQaigCACICRQ0AIAFFDQAgAkEFdCICRQ0AIAEgAkEIEIOBgIAACwJAIAAoAhgiAUUNACAAQRxqKAIAIgJFDQAgASACQQEQg4GAgAALAkAgACgCJEUNACAAQShqKAIAIgFFDQAgAEEsaigCACICRQ0AIAEgAkEBEIOBgIAACwubAQEDfyOAgICAAEEQayICJICAgIAAIAEoAihBAXZBAXMgASgCAEEBdkEBc2ohAwJAAkAgASgCUCIERQ0AIAIgBCABQdQAaigCACgCEBGAgICAAABBACEBIAIoAgANASACKAIEQQFHDQEgAkEIaigCAA0BCyAAQQhqIAM2AgBBASEBCyAAIAE2AgQgACADNgIAIAJBEGokgICAgAALwwUBCH8jgICAgABBMGsiBCSAgICAACACQRRqKAIAIgVBBXQhBiACKAIMIQcCQAJAAkACQAJAIAMNACAGIQUgByEIA0AgBUUNAyAFQWBqIQUgCCABEJaBgIAAIQkgCEEgaiICIQggCQ0ACyACQWBqIQUMAQsgBUUNASAHQSBqIQIgByEFCyAEQRBqIAUQlYGAgAAgBCkDEEIDUg0BCyAAQQA2AgggAEIINwIADAELAkACQAJAQYABQQgQgoGAgAAiCkUNACAHIAZqIQggCiAEKQMQNwMAIApBGGogBEEQakEYaiIGKQMANwMAIApBEGogBEEQakEQaiILKQMANwMAIApBCGogBEEQakEIaikDADcDACAEQoSAgIAQNwIEIAQgCjYCACADDQFBASEHA0AgAiAIRg0DIAIgARCWgYCAACEFIAJBIGoiCSECIAUNACAEQRBqIAlBYGoQlYGAgAAgBCkDEEIDUQ0DAkAgByAEKAIERw0AIAQgB0EBEJyAgIAAIAQoAgAhCgsgCiAHQQV0aiICIAQpAxA3AwAgAkEYaiAGKQMANwMAIAJBEGogCykDADcDACACQQhqIARBEGpBCGopAwA3AwAgBCAHQQFqIgc2AgggCSECDAALC0GAAUEIENyDgIAAAAsgCCACRg0AQQAhBSAEQShqIQcgBEEgaiEDIARBGGohBkEBIQEDQCAEQRBqIAIgBWoQlYGAgAAgBCkDEEIDUQ0BAkAgASAEKAIERw0AIAQgAUEBEJyAgIAAIAQoAgAhCgsgCiAFaiIJQThqIAcpAwA3AwAgCUEwaiADKQMANwMAIAlBKGogBikDADcDACAJQSBqIAQpAxA3AwAgBCABQQFqIgE2AgggAiAFQSBqIgVqIAhHDQALCyAAIAQpAwA3AgAgAEEIaiAEQQhqKAIANgIACyAEQTBqJICAgIAAC/MBAQN/I4CAgIAAQSBrIgMkgICAgAACQCABIAJqIgIgAUkNACAAQQRqKAIAIgRBAXQiASACIAEgAksbIgFBBCABQQRLGyIBQf///z9xIAFGQQN0IQIgAUEFdCEFAkACQCAERQ0AIANBEGpBCGpBCDYCACADIARBBXQ2AhQgAyAAKAIANgIQDAELIANBADYCEAsgAyAFIAIgA0EQahD5gICAAAJAIAMoAgBFDQAgA0EIaigCACIARQ0BIAMoAgQgABDcg4CAAAALIAMoAgQhAiAAQQRqIAE2AgAgACACNgIAIANBIGokgICAgAAPCxDdg4CAAAALm8EBBAV/BH4VfwF+I4CAgIAAQdAEayIFJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAADgsAAQIDChoZGA0MCwALIARBCGooAgAhBiAEQQxqKAIAIQcgBEEEaigCACEIIAQtAAEhCSACKAIEIQQgAigCACECIAVByANqQTBqIANBMGopAwA3AwAgBUHIA2pBKGogA0EoaikDADcDACAFQcgDakEgaiADQSBqKQMANwMAIAVByANqQRhqIANBGGopAwA3AwAgBUHIA2pBEGogA0EQaikDADcDACAFQcgDakEIaiADQQhqKQMANwMAIAUgAykDADcDyAMgBUGIBGogAUEgaiACIAQgCCAHEJ6AgIAAAkAgBSgCiAQNACAFQfgCakEwaiAFQbwEaigCACIDNgIAIAVB+AJqQShqIAVBtARqKQIAIgo3AwAgBUH4AmpBIGogBUGsBGopAgAiCzcDACAFQcACakEIaiAFQYgEakEMaikCADcDACAFQcACakEQaiAFQZwEaikCADcDACAFQcACakEYaiAFQaQEaikCADcDACAFQcACakEgaiALNwMAIAVBwAJqQShqIAo3AwAgBUHAAmpBMGogAzYCACAFIAUpAowENwPAAiAFQQA2AoADIAVCATcD+AIgBUGIBGogBUH4AmpBoI7AgAAQn4SAgAAgBUHAAmogBUGIBGoQx4KAgAANCSAFQZQEaiAFQcgDaiAFQcACaiAJQQJHIAlxEJuAgIAAIAVBiARqQQhqIgMgBUH4AmpBCGooAgA2AgAgBUG4AWpBEGogBUGIBGpBEGopAwA3AwAgBUG4AWpBCGogAykDADcDACAFIAUpA/gCIgo3A4gEIAUgCjcDuAEgBUHAAmoQmYCAgAACQCAGRQ0AIAgg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QQhqIA03AgAgAEEBNgIADBULAkAgAygCCCICIANBBGooAgBHDQAgAyACEI+AgIAAIAMoAgghAgsgAyACQQFqIgQ2AgggAygCACACakEsOgAADAILIAVB1ANqIAVBiARqQQRyIgNBCGooAgA2AgAgBSADKQIANwLMAwwCC0G4jsCAAEE3IAVBsAJqQayXwIAAQbyPwIAAEI6EgIAAAAsCQCAEIANBBGoiAigCAEcNACADIAQQj4CAgAAgAygCCCEECyADKAIAIARqQSI6AAAgAyAEQQFqIgQ2AggCQCACKAIAIARrQQVLDQAgAyAEQQYQkICAgAAgAygCCCEECyADKAIAIARqIgJBACgAm5nAgAA2AAAgAkEEakEALwCfmcCAADsAACADIARBBmoiBDYCCAJAIANBBGooAgAgBGtBAUsNACADIARBAhCQgICAACADKAIIIQQLIAMoAgAgBGpBovQAOwAAIAMgBEECajYCCCAFQYgEaiAFQcgAaiADEJ+AgIAAAkACQCAFKAKIBA0AAkAgAygCCCIEIANBBGoiAigCAEcNACADIAQQj4CAgAAgAygCCCEECyADKAIAIARqQSw6AAAgAyAEQQFqIgQ2AggCQCAEIAIoAgBHDQAgAyAEEI+AgIAAIAMoAgghBAsgAygCACAEakEiOgAAIAMgBEEBaiIENgIIAkAgA0EEaiICKAIAIARrQQNLDQAgAyAEQQQQkICAgAAgAygCCCEECyAFQeAAaiEBIAMoAgAgBGpB6dyZ+wY2AAAgAyAEQQRqIgQ2AggCQCACKAIAIARrQQFLDQAgAyAEQQIQkICAgAAgAygCCCEECyADKAIAIARqQaL0ADsAACADIARBAmo2AgggBUGIBGogASADEK6AgIAAAkAgBSgCiARFDQAgBUHIA2pBDGogBUGIBGpBDGooAgA2AgAgBSAFKQKMBDcCzAMMAwtBACEEIAVByANqIANBABDwgoCAACAFKALIA0UNAQwCCyAFQcgDakEMaiAFQYgEakEMaigCADYCACAFIAUpAowENwLMAwwBCyAFQYgEakEMaiAFQYADaigCACIDNgIAIAUgBSkD+AIiCjcCjAQgAEEMaiADNgIAIAAgCjcCBAwBCyAFQcACakEIaiIDIAVB1ANqKAIANgIAIAUgBSkCzAM3A8ACAkAgBSgC/AIiBEUNACAF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QRIhAwwCC0ESIQMMAQsgBUHIAGpBCGogBUGIBGpBIGooAgA2AgAgBSAFQYgEakEYaikDACIKNwPAAiAFIAo3A0ggBUGcBGooAgAhAyAFQYgEakEQaigCACEEIAVBiARqQQxqKAIAIQggBUGIBGpBCGooAgAhDiAFQawEaigCACESQgEhCgsCQCAFKAKEASICRQ0AIAUoAoABIgFFDQAgASACQQEQg4GAgAALAkAgCUUNACAHRQ0AIAcgCUEBEIOBgIAACwJAIAVB3ANqKAIAIgJFDQAgBSgC2AMiAUUNACABIAJBARCDgYCAAAsCQCAFQfQDaigCACICRQ0AIAUoAvADIgFFDQAgASACQQEQg4GAgAALIApQDQAgBUGwA2pBCGogBUHIAGpBCGooAgAiAjYCACAFIAUpA0giCjcDsAMgAEEgaiACNgIAIABBGGogCjcDACAAQSRqIBI2AgAgAEEUaiADNgIAIABBEGogBDYCACAAQQxqIAg2AgAgAEEIaiAONgIAIABBATYCAAwCCyAFQbADakEIaiAFQcgAakEIaigCACICNgIAIAVB0AFqIAI2AgAgBSAFKQNIIgo3A7ADIAUgCjcDyAEgBSASNgLUASAFIAM2AsQBIAUgBDYCwAEgBSAINgK8ASAFIA42ArgBIAVB+AJqEMuCgIAAIAVBiARqIAVB+AJqQZWYwIAAQRBBARDSgoCAAAJAAkACQAJAAkAgBSgCiAQNACAFKAKMBCEDAkAgBUGIBGpBCGotAABFDQAgAygCCCEEDAILAkAgAygCCCICIANBBGooAgBHDQAgAyACEI+AgIAAIAMoAgghAgsgAyACQQFqIgQ2AgggAygCACACakEsOgAADAELIAVB1ANqIAVBiARqQQRyIgNBCGooAgA2AgAgBSADKQIANwLMAwwBCwJAIAQgA0EEaiICKAIARw0AIAMgBBCPgICAACADKAIIIQQLIAMoAgAgBGpBIjoAACADIARBAWoiBDYCCAJAIAIoAgAgBGtBB0sNACADIARBCBCQgICAACADKAIIIQQLIAMoAgAgBGpC4eDBk/fN3bDsADcAACADIARBCGoiBDYCCAJAIANBBGooAgAgBGtBAUsNACADIARBAhCQgICAACADKAIIIQQLIAMoAgAgBGpBovQAOwAAIAMgBEECajYCCCAFQYgEaiAFQbgBaiADELaAgIAAAkAgBSgCiARFDQAgBUHIA2pBDGogBUGIBGpBDGooAgA2AgAgBSAFKQKMBDcCzAMMAQtBACEEIAVByANqIANBABDwgoCAACAFKALIA0UNAQsgBUHAAmpBCGoiAyAFQdQDaigCADYCACAFIAUpAswDNwPAAgJAIAUoAvwCIgRFDQAgBSgC+AIiAkUNACACIARBARCDgYCAAAsgBUHIA2pBCGogAygCADYCACAFIAUpA8ACNwPIAyAFQYgEakEIaiIDQZORwIAAQR4gBUHIA2oQoICAgAAgAEEgaiAFQYgEakEgaikDADcDACAAQRhqIAVBiARqQRhqKQMANwMAIABBEGogBUGIBGpBEGopAwA3AwAgAEEIaiADKQMANwMAQQEhBAwBCyAFQYgEakEMaiAFQYADaigCACIDNgIAIAUgBSkD+AIiCjcCjAQgAEEMaiADNgIAIAAgCjcCBAsgACAENgIAIAVBzAFqKAIAIgBFDQEgBSgCyAEiA0UNASADIABBARCDgYCAAAwBCyAAIAM2AgACQCAFKAJMIgBFDQAgBSgCSCIDRQ0AIAMgAEEBEIOBgIAACyAFKAJUIQECQCAFQcgAakEUaigCACIARQ0AIABBBXQhAyABQRRqIQADQAJAIAAoAgAiBEUNACAAQXxqKAIAIgJFDQAgAiAEQQEQg4GAgAALIABBIGohACADQWBqIgMNAAsLIAVB2ABqKAIAIgBFDQAgAEEFdCIARQ0AIAEgAEEIEIOBgIAACyAFQdAEaiSAgICAAAuHAgEBfyOAgICAAEEgayIGJICAgIAAIAYgAUEIaiAEIAUQ14CAgAAgBkEQaiACIAYoAgAiBCAGKAIIIAMoAgwRg4CAgAAAAkACQAJAIAYoAhAiAg0AQdQAQQEQgoGAgAAiAkUNAiACQcyPwIAAQdQAEMCEgIAAIQIgAEEQakLUgICAwAo3AwAgAEEMaiACNgIAIABBCGpBBjYCACAAQQE2AgAMAQsgACACIAZBEGpBCGooAgAQzICAgAAgBigCFCIARQ0AIAIgAEEBEIOBgIAACwJAIARFDQAgBigCBCIARQ0AIAQgAEEBEIOBgIAACyAGQSBqJICAgIAADwtB1ABBARDcg4CAAAALrQIBAX8jgICAgABBIGsiAySAgICAACADQRBqIAJBhpjAgABBD0ECENKCgIAAAkACQAJAIAMoAhANACADIAMoAhQ2AgggAyADQRhqLQAAOgAMIANBEGogA0EIakHggcCAAEEFIAEQkYCAgAAgAygCEA0BIANBEGogA0EIakGQgMCAACABQQxqELWAgIAAAkAgAygCEA0AIAAgAygCCCADLQAMEPCCgIAADAMLIAAgAykCFDcCBCAAQQE2AgAgAEEMaiADQRBqQQxqKAIANgIADAILIABBATYCACAAIANBEGpBBHIiAikCADcCBCAAQQxqIAJBCGooAgA2AgAMAQsgACADKQIUNwIEIABBATYCACAAQQxqIANBEGpBDGooAgA2AgALIANBIGokgICAgAALpwIBAn8jgICAgABBwABrIgQkgICAgAACQAJAAkACQCACQQBIDQAgAg0BQQEhBQwCCxDdg4CAAAALIAJBARCCgYCAACIFRQ0BCyAFIAEgAhDAhICAACEBIARBADYCCCAEQgE3AwAgBEEQaiAEQaCOwIAAEJ+EgIAAAkAgAyAEQRBqEMqCgIAADQAgAEEMaiACNgIAIABBCGogAjYCACAAIAE2AgQgAEEQaiAEKQMANwIAIABBCDYCACAAQRhqIARBCGooAgA2AgACQCADKAIAIgBFDQAgA0EEaigCACICRQ0AIAAgAkEBEIOBgIAACyAEQcAAaiSAgICAAA8LQbiOwIAAQTcgBEE4akGsl8CAAEG8j8CAABCOhICAAAALIAJBARDcg4CAAAAL2gMCBn8CfiOAgICAAEHQAGsiBiSAgICAACAFQRBqKAIAIQcgBSgCCCEIIAUoAgQhCSAFKAIAIQogBkEoaiAFKAIMIgsgBUEUaigCABDYgoCAACAGQThqIAZBKGoQzYCAgAACQAJAAkAgBigCOA0AIAZBOGpBEGopAwAhDCAGQcAAaikDACENIAZBOGogBkEoahDagoCAAAJAIAYoAjgiBUEVRg0AIAZBxABqKAIAIQggBikCPCEMDAILIABBIGogDDcDACAAQRhqIA03AwAgAEEQaiAINgIAIABBDGogCTYCACAAIAo2AgggAEIANwMAIAdFDQIgC0UNAiALIAdBARCDgYCAAAwCCyAGQThqQRBqKAIAIQggBkHAAGopAwAhDCAGKAI8IQULIAZBxABqIAg2AgAgBiAMNwI8IAYgBTYCOCAGQQhqQcuVwIAAQSAgBkE4ahCz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IAIgBEEFdDYCFCACIAAoAgA2AhAMAQsgAkEANgIQCyACIAUgAyACQRBqEPmAgIAAAkAgAigCAEUNACACQQhqKAIAIgBFDQEgAigCBCAAENyDgIAAAAsgAigCBCEDIABBBGogATYCACAAIAM2AgAgAkEgaiSAgICAAA8LEN2DgIAAAAvqtAEEBn8FfhV/AX4jgICAgABB8ARrIgYkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAUoAgAOCAABAgMEBQYHAAsgBUEUaigCACEHIAVBCGooAgAhCCAFQRhqKAIAIQkgBUEQaigCACEKIAVBDGooAgAhCyAFKAIEIQUgBkHoAWpBMGogA0EwaikDADcDACAGQegBakEoaiADQShqKQMANwMAIAZB6AFqQSBqIANBIGopAwA3AwAgBkHoAWpBGGogA0EYaikDADcDACAGQegBakEQaiADQRBqKQMANwMAIAZB6AFqQQhqIANBCGopAwA3AwAgBiADKQMANwPoASAGQdgCakEQaiAEQRBqKQIANwMAIAZB2AJqQQhqIARBCGopAgA3AwAgBiAEKQIANwPYAiAGQZADakEQaiACQRBqKQIANwMAIAZBkANqQQhqIAJBCGopAgA3AwAgBiACKQIANwOQAyAGQbgEaiABIAZBkANqIAZB6AFqIAZB2AJqIAUgCyAKIAkQuYCAgAACQCAGKAK4BA0AIAZBgARqQTBqIAZB7ARqKAIAIgM2AgAgBkGABGpBKGogBkHkBGopAgAiDDcDACAGQYAEakEgaiAGQdwEaikCACINNwMAIAZBgARqQRhqIAZB1ARqKQIAIg43AwAgBkGABGpBEGogBkG4BGpBFGopAgAiDzcDACAGQYAEakEIaiAGQbgEakEMaikCACIQNwMAIAZByANqQQhqIBA3AwAgBkHIA2pBEGogDzcDACAGQcgDakEYaiAONwMAIAZByANqQSBqIA03AwAgBkHIA2pBKGogDDcDACAGQcgDakEwaiADNgIAIAYgBikCvAQiDDcDgAQgBiAMNwPIAyAGQcgDahCZgICAACAGQbgEakEgakIANwMAIAZBuARqQRBqQgA3AwAgBkIENwPQBCAGQoCAgIDAADcDwAQgBkIINwO4BCAGQYAEaiAGQbgEakH3gcCAAEEMEMGAgIAAQQZBARCCgYCAACIDRQ0IIANBBGpBAC8A9oTAgAA7AAAgA0EAKADyhMCAADYAACAGQbgEakEIaiICIAZB2AJqQQhqKAIANgIAIAYgBikD2AI3A7gEIAZByANqQQxqIAZBuARqEK2CgIAAIAZChoCAgOAANwLMAyAGIAM2AsgDAkAgBkGUBGooAgAiAyAGQYAEakEQaiIBKAIARw0AIAZBgARqQQxqIAMQwoCAgAAgBigClAQhAwsgBigCjAQgA0EYbGoiBCAGKQPIAzcCACAEQQhqIAZByANqQQhqKQMANwIAIARBEGogBkHIA2pBEGopAwA3AgAgAiAGQYAEakEIaikDADcDACAGQbgEakEYaiAGQYAEakEYaikDADcDACAGQbgEakEgaiAGQYAEakEgaikDADcDACAGQbgEakEoaiAGQYAEakEoaikDADcDACAGIANBAWo2ApQEIAZBuARqQRBqIAEpAwA3AwAgBiAGKQOABDcDuARBCUEBEIKBgIAAIgRFDQkgBEEIakEALQCIhcCAADoAACAEQQApAICFwIAANwAAAkAgBkG4BGpBFGooAgAiAiAGQbgEakEQaiIBKAIARw0AIAZBuARqQQxqIAIQwoCAgAAgBigCzAQhAgsgBigCxAQgAkEYbGoiAyAFNgIMIANCiYCAgJABNwIEIAMgBDYCACAGQYAEakEIaiAGQbgEakEIaikDADcDACAGQYAEakEYaiAGQbgEakEYaikDADcDACAGQYAEakEgaiAGQbgEakEgaikDADcDACAGQYAEakEoaiAGQbgEakEoaikDADcDACADQRRqIAs2AgAgA0EQaiAINgIAIAYgAkEBajYCzAQgBkGABGpBEGogASkDADcDACAGIAYpA7gENwOABEEIQQEQgoGAgAAiBEUNCiAEQvTeravm7de05AA3AAACQCAGQYAEakEUaigCACIDIAZBgARqQRBqIgIoAgBHDQAgBkGMBGogAxDCgICAACAGKAKUBCEDCyAGKAKMBCADQRhsaiIFIAo2AgwgBUKIgICAgAE3AgQgBSAENgIAIAVBFGogCTYCACAFQRBqIAc2AgAgAEEsaiAGQagEaikDADcCACAAQSRqIAZBgARqQSBq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AgAgBkGABGpBEGogCikDADcDACAGQYAEakEYaiAGQbgEakEYaikDADcDACAGQYAEakEgaiABKQMANwMAIAZBgARqQShqIAZBuARqQShqKQMANwMAIAYoArgEIAVB6ABsaiIFQQI2AgggBUIANwMAIAVBAzoAYCAFQgA3A1AgBUEQakEANgIAIAVBFGogBikDSDcCACAFQRxqIAQoAgA2AgAgBUE0akEANgIAIAVBLGpCCDcCACAFQShqIAg2AgAgBUEgaiAMNwMAIAIgAykDADcDACAGIAYpA7gENwOABCAGQcgDaiAGQYAEakGDgsCAAEEIEMGAgIAAQQZBARCCgYCAACIFRQ0KIAVBBGpBAC8A9oTAgAA7AAAgBUEAKADyhMCAADYAACAGQYAEakEIaiAGQRBqQQhqKAIANgIAIAYgBikDEDcDgAQgBkG4BGpBDGogBkGABGoQrYKAgAAgBkKGgICA4AA3ArwEIAYgBTYCuAQCQCAGQcgDakEUaigCACIFIAZByANqQRBqIgQoAgBHDQAgBkHIA2pBDGogBRDCgICAACAGKALcAyEFCyAGKALUAyAFQRhsaiIDIAYpA7gENwIAIANBCGogBkG4BGpBCGopAwA3AgAgA0EQaiAGQbgEakEQaikDADcCACAGQZADakEIaiAGQcgDakEIaikDADcDACAGQZADakEYaiAGQcgDakEYaikDADcDACAGQZADakEgaiAGQcgDakEgaikDADcDACAGQZADakEoaiAGQcgDakEoaikDADcDACAGIAVBAWo2AtwDIAZBkANqQRBqIAQpAwA3AwAgBiAGKQPIAzcDkANBCUEBEIKBgIAAIgVFDQsgBUEIakEALQCIhcCAADoAACAFQQApAICFwIAANwAAIAZBuARqQQhqIgIgBkEoakEIaigCADYCACAGIAYpAyg3A7gEAkAgBkGQA2pBFGooAgAiAyAGQZADakEQaiIBKAIARw0AIAZBkANqQQxqIAMQwoCAgAAgBigCpAMhAwsgBigCnAMgA0EYbGoiBEKJgICAkAE3AgQgBCAFNgIAIAQgBikDuAQ3AgwgBEEUaiACKAIANgIAIAZB2AJqQQhqIAZBkANqQQhqKQMANwMAIAZB2AJqQRhqIAZBkANqQRhqKQMANwMAIAZB2AJqQSBqIAZBkANqQSBqKQMANwMAIAZB2AJqQShqIAZBkANqQShqKQMANwMAIAYgA0EBajYCpAMgBkHYAmpBEGogASkDADcDACAGIAYpA5ADNwPYAkEIQQEQgoGAgAAiBEUNDCAEQvTeravm7de05AA3AAAgBkG4BGpBCGoiAiAGQThqQQhqKAIANgIAIAYgBikDODcDuAQCQCAGQdgCakEUaigCACIFIAZB6AJqIgEoAgBHDQAgBkHkAmogBRDCgICAACAGKALsAiEFCyAGKALkAiAFQRhsaiIDQoiAgICAATcCBCADIAQ2AgAgAyAGKQO4BDcCDCADQRRqIAIoAgA2AgAgBiAFQQFqNgLsAiAAQSxqIAZBgANqKQMANwIAIABBJGogBkHYAmpBIGopAwA3AgAgAEEcaiAGQdgCakEYaikDADcCACAAQRRqIAEpAwA3AgAgAEEMaiAGQdgCakEIaikDADcCACAAIAYpA9gCNwIEIABBADYCACAGKAIcIQUCQCAGQRBqQRRqKAIAIgNFDQAgA0EFdCEDIAVBFGohBQNAAkAgBSgCACIARQ0AIAVBfGooAgAiBEUNACAEIABBARCDgYCAAAsgBUEgaiEFIANBYGoiAw0ACyAGKAIcIQULAkAgBkEgaigCACIDRQ0AIAVFDQAgA0EFdCIDRQ0AIAUgA0EIEIOBgIAACwJAIAZB/AFqKAIAIgVFDQAgBigC+AEiA0UNACADIAVBARCDgYCAAAsgBkGUAmooAgAiBUUNKSAGKAKQAiIDRQ0pIAMgBUEBEIOBgIAADCkLIAVBFGooAgAhByAFQQhqKAIAIQggBUEoaikDACEMIAVBIGopAwAhDSAFQRhqKAIAIQkgBUEQaigCACEKIAVBDGooAgAhCyAFKAIEIQUgBkHoAWpBMGogA0EwaikDADcDACAGQegBakEoaiADQShqKQMANwMAIAZB6AFqQSBqIANBIGopAwA3AwAgBkHoAWpBGGogA0EYaikDADcDACAGQegBakEQaiADQRBqKQMANwMAIAZB6AFqQQhqIANBCGopAwA3AwAgBiADKQMANwPoASAGQdgCakEQaiAEQRBqKQIANwMAIAZB2AJqQQhqIARBCGopAgA3AwAgBiAEKQIANwPYAiAGQZADakEQaiACQRBqKQIANwMAIAZBkANqQQhqIAJBCGopAgA3AwAgBiACKQIANwOQAyAGQbgEaiABIAZBkANqIAZB6AFqIAZB2AJqIAUgCyAKIAlBASANIAwQvoCAgAACQCAGKAK4BA0AIAZBgARqQTBqIAZB7ARqKAIAIgM2AgAgBkGABGpBKGogBkHkBGopAgAiDDcDACAGQYAEakEgaiAGQdwEaikCACINNwMAIAZBgARqQRhqIAZB1ARqKQIAIg43AwAgBkGABGpBEGogBkG4BGpBFGopAgAiDzcDACAGQYAEakEIaiAGQbgEakEMaikCACIQNwMAIAZByANqQQhqIBA3AwAgBkHIA2pBEGogDzcDACAGQcgDakEYaiAONwMAIAZByANqQSBqIA03AwAgBkHIA2pBKGogDDcDACAGQcgDakEwaiADNgIAIAYgBikCvAQiDDcDgAQgBiAMNwPIAyAGQcgDahCZgICAACAGQbgEakEgakIANwMAIAZBuARqQRBqQgA3AwAgBkIENwPQBCAGQoCAgIDAADcDwAQgBkIINwO4BCAGQYAEaiAGQbgEakGLgsCAAEEHEMGAgIAAQQZBARCCgYCAACIDRQ0NIANBBGpBAC8A9oTAgAA7AAAgA0EAKADyhMCAADYAACAGQbgEakEIaiICIAZB2AJqQQhqKAIANgIAIAYgBikD2AI3A7gEIAZByANqQQxqIAZBuARqEK2CgIAAIAZChoCAgOAANwLMAyAGIAM2AsgDAkAgBkGUBGooAgAiAyAGQYAEakEQaiIBKAIARw0AIAZBgARqQQxqIAMQwoCAgAAgBigClAQhAwsgBigCjAQgA0EYbGoiBCAGKQPIAzcCACAEQQhqIAZByANqQQhqKQMANwIAIARBEGogBkHIA2pBEGopAwA3AgAgAiAGQYAEakEIaikDADcDACAGQbgEakEYaiAGQYAEakEYaikDADcDACAGQbgEakEgaiAGQYAEakEgaikDADcDACAGQbgEakEoaiAGQYAEakEoaikDADcDACAGIANBAWo2ApQEIAZBuARqQRBqIAEpAwA3AwAgBiAGKQOABDcDuARBB0EBEIKBgIAAIgRFDQ4gBEEDakEAKACVg8CAADYAACAEQQAoAJKDwIAANgAAAkAgBkG4BGpBFGooAgAiAiAGQbgEakEQaiIBKAIARw0AIAZBuARqQQxqIAIQwoCAgAAgBigCzAQhAgsgBigCxAQgAkEYbGoiAyAFNgIMIANCh4CAgPAANwIEIAMgBDYCACAGQYAEakEIaiAGQbgEakEIaikDADcDACAGQYAEakEYaiAGQbgEakEYaikDADcDACAGQYAEakEgaiAGQbgEakEgaikDADcDACAGQYAEakEoaiAGQbgEakEoaikDADcDACADQRRqIAs2AgAgA0EQaiAINgIAIAYgAkEBajYCzAQgBkGABGpBEGogASkDADcDACAGIAYpA7gENwOABEEIQQEQgoGAgAAiBEUNDyAEQvTeravm7de05AA3AAACQCAGQYAEakEUaigCACIDIAZBgARqQRBqIgIoAgBHDQAgBkGMBGogAxDCgICAACAGKAKUBCEDCyAGKAKMBCADQRhsaiIFIAo2AgwgBUKIgICAgAE3AgQgBSAENgIAIAVBFGogCTYCACAFQRBqIAc2AgAgAEEsaiAGQagEaikDADcCACAAQSRqIAZBgARqQSBqKQMANwIAIABBHGogBkGABGpBGGopAwA3AgAgBiADQQFqNgKUBCAAQRRqIAIpAwA3AgAgAEEMaiAGQYgEaikDADcCACAAIAYpA4AENwIEIABBADYCACAGKALkAiEFAkAgBkHYAmpBFGooAgAiA0UNACADQQV0IQMgBUEUaiEFA0ACQCAFKAIAIgBFDQAgBUF8aigCACIERQ0AIAQgAEEBEIOBgIAACyAFQSBqIQUgA0FgaiIDDQALIAYoAuQCIQULAkAgBkHoAmooAgAiA0UNACAFRQ0AIANBBXQiA0UNACAFIANBCBCDgYCAAAsCQCAGQfwBaigCACIFRQ0AIAYoAvgBIgNFDQAgAyAFQQEQg4GAgAALIAZBlAJqKAIAIgVFDSkgBigCkAIiA0UNKSADIAVBARCDgYCAAAwpCyAGQaQEaiAGQbgEakEoaikDACIMNwIAIAZBnARqIAZBuARqQSBqKQMAIg03AgAgBkGABGpBFGogBkG4BGpBGGopAwAiDjcCACAGQYAEakEMaiAGQbgEakEQaikDACIPNwIAIAYgBkG4BGpBCGopAwAiEDcChAQgAEEoaiAMNwIAIABBIGogDTcCACAAQRhqIA43AgAgAEEQaiAPNwIAIABBCGogEDcCACAAQQE2AgACQCAHRQ0AIAogB0EBEIOBgIAACwJAIAhFDQAgBSAIQQEQg4GAgAALAkAgBigC3AIiBUUNACAGKALYAiIDRQ0AIAMgBUEBEIOBgIAACyAGKALkAiEFAkAgBkHYAmpBFGooAgAiA0UNACADQQV0IQMgBUEUaiEFA0ACQCAFKAIAIgBFDQAgBUF8aigCACIERQ0AIAQgAEEBEIOBgIAACyAFQSBqIQUgA0FgaiIDDQALIAYoAuQCIQULAkAgBkHoAmooAgAiA0UNACAFRQ0AIANBBXQiA0UNACAFIANBCBCDgYCAAAsCQCAGQfwBaigCACIFRQ0AIAYoAvgBIgNFDQAgAyAFQQEQg4GAgAALIAZBlAJqKAIAIgVFDSggBigCkAIiA0UNKCADIAVBARCDgYCAAAwoCyAFQRRqKAIAIQcgBUEIaigCACEIIAVBGGooAgAhCSAFQRBqKAIAIQogBUEMaigCACELIAUoAgQhBSAGQegBakEwaiADQTBqKQMANwMAIAZB6AFqQShqIANBKGopAwA3AwAgBkHoAWpBIGogA0EgaikDADcDACAGQegBakEYaiADQRhqKQMANwMAIAZB6AFqQRBqIANBEGopAwA3AwAgBkHoAWpBCGogA0EIaikDADcDACAGIAMpAwA3A+gBIAZB2AJqQRBqIARBEGopAgA3AwAgBkHYAmpBCGogBEEIaikCADcDACAGIAQpAgA3A9gCIAZBkANqQRBqIAJBEGopAgA3AwAgBkGQA2pBCGogAkEIaikCADcDACAGIAIpAgA3A5ADIAZBuARqIAEgBkGQA2ogBkHoAWogBkHYAmogBSALIAogCUEAQgMgDBC+gICAAAJAIAYoArgEDQAgBkGABGpBMGogBkHsBGooAgAiAzYCACAGQYAEakEoaiAGQeQEaikCACIMNwMAIAZBgARqQSBqIAZB3ARqKQIAIg03AwAgBkGABGpBGGogBkHUBGopAgAiDjcDACAGQYAEakEQaiAGQbgEakEUaikCACIPNwMAIAZBgARqQQhqIAZBuARqQQxqKQIAIhA3AwAgBkHIA2pBCGogEDcDACAGQcgDakEQaiAPNwMAIAZByANqQRhqIA43AwAgBkHIA2pBIGogDTcDACAGQcgDakEoaiAMNwMAIAZByANqQTBqIAM2AgAgBiAGKQK8BCIMNwOABCAGIAw3A8gDIAZByANqEJmAgIAAIAZBuARqQSBqQgA3AwAgBkG4BGpBEGpCADcDACAGQgQ3A9AEIAZCgICAgMAANwPABCAGQgg3A7gEIAZBgARqIAZBuARqQZKCwIAAQQYQwYCAgABBBkEBEIKBgIAAIgNFDQ8gA0EEakEALwD2hMCAADsAACADQQAoAPKEwIAANgAAIAZBuARqQQhqIgIgBkHYAmpBCGooAgA2AgAgBiAGKQPYAjcDuAQgBkHIA2pBDGogBkG4BGoQrYKAgAAgBkKGgICA4AA3AswDIAYgAzYCyAMCQCAGQZQEaigCACIDIAZBgARqQRBqIgEoAgBHDQAgBkGABGpBDGogAxDCgICAACAGKAKUBCEDCyAGKAKMBCADQRhsaiIEIAYpA8gDNwIAIARBCGogBkHIA2pBCGopAwA3AgAgBEEQaiAGQcgDakEQaikDADcCACACIAZBgARqQQhqKQMANwMAIAZBuARqQRhqIAZBgARqQRhqKQMANwMAIAZBuARqQSBqIAZBgARqQSBqKQMANwMAIAZBuARqQShqIAZBgARqQShqKQMANwMAIAYgA0EBajYClAQgBkG4BGpBEGogASkDADcDACAGIAYpA4AENwO4BEEHQQEQgoGAgAAiBEUNECAEQQNqQQAoAJWDwIAANgAAIARBACgAkoPAgAA2AAACQCAGQbgEakEUaigCACICIAZBuARqQRBqIgEoAgBHDQAgBkG4BGpBDGogAhDCgICAACAGKALMBCECCyAGKALEBCACQRhsaiIDIAU2AgwgA0KHgICA8AA3AgQgAyAENgIAIAZBgARqQQhqIAZBuARqQQhqKQMANwMAIAZBgARqQRhqIAZBuARqQRhqKQMANwMAIAZBgARqQSBqIAZBuARqQSBqKQMANwMAIAZBgARqQShqIAZBuARqQShqKQMANwMAIANBFGogCzYCACADQRBqIAg2AgAgBiACQQFqNgLMBCAGQYAEakEQaiABKQMANwMAIAYgBikDuAQ3A4AEQQhBARCCgYCAACIERQ0RIARC9N6tq+bt17TkADcAAAJAIAZBgARqQRRqKAIAIgMgBkGABGpBEGoiAigCAEcNACAGQYwEaiADEMKAgIAAIAYoApQEIQMLIAYoAowEIANBGGxqIgUgCjYCDCAFQoiAgICAATcCBCAFIAQ2AgAgBUEUaiAJNgIAIAVBEGogBzYCACAAQSxqIAZBqARqKQMANwIAIABBJGogBkGABGpBIGopAwA3AgAgAEEcaiAGQYAEakEY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aigCACIFRQ0AIAYoAsgEIgNFDQAgAyAFQQEQg4GAgAALIAZB5ARqKAIAIgVFDScgBigC4AQiA0UNJyADIAVBARCDgYCAAAwnCyAGQcgDakEQaiAGQYAEakEQaikDACIMNwMAIAZByANqQQhqIAZBgARqQQhqKQMAIg03AwAgBiAGKQOABCIONwPIAyAGQegBakEIaiAONwMAIAZB6AFqQRBqIA03AwAgBkGAAmogDDcDACAGIAI2AuwBIAYgAzYC6AEgAEEIaiAGQegBahCYgYCAACAAQQE2AgAgBigCbCIDRQ0lIAYoAmgiAEUNJSAAIANBARCDgYCAAAwlCyADQSxqKAIAIQogA0EUaigCACEIIAVBCGooAgAhESAFQQxqKAIAIQcgAkEMaigCACESIAMoAighCyADKAIQIQkgAigCBCETIAIoAgAhFCACKAIIIQMgBSgCBCEFIAZByANqQRBqIARBEGopAgA3AwAgBkHIA2pBCGogBEEIaikCADcDACAGIAQpAgA3A8gDIAZBuARqIAMgBSAHIBIoAgwRg4CAgAAAAkAgBigCuAQNACAGQZADakEIaiAGQbgEakEMaigCADYCACAGIAYpArwENwOQAyAGQbgEaiABQRhqIAZByANqIAZBkANqEMWAgIAAIBQgBigCuAQiAyAGKALABCATKAIYEYWAgIAAAAJAIANFDQAgBigCvAQiBEUNACADIARBARCDgYCAAAsgBkHYBGpCADcDACAGQbgEakEQakIANwMAIAZCBDcD0AQgBkKAgICAwAA3A8AEIAZCCDcDuAQgBkHoAWogBkG4BGpBo4LAgABBChDBgICAAEEGQQEQgoGAgAAiA0UNEiADQQRqQQAvAPaEwIAAOwAAIANBACgA8oTAgAA2AAAgBkG4BGpBCGoiAiAGQcgDakEIaigCADYCACAGIAYpA8gDNwO4BCAGQYAEakEMaiAGQbgEahCtgoCAACAGQoaAgIDgADcChAQgBiADNgKABAJAIAZB/AFqKAIAIgMgBkHoAWpBEGooAgBHDQAgBkHoAWpBDGogAxDCgICAACAGKAL8ASEDCyAGKAL0ASADQRhsaiIEIAYpA4AENwIAIARBCGogBkGABGpBCGopAwA3AgAgBEEQaiAGQYAEakEQaikDADcCACACIAZB6AFqQQhqKQMANwMAIAZBuARq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QQhqKAIANgIAIAYgBikDEDcDkAMgBiAGKQPIAzcDqAMgBiAGKQOABDcDuAMgBiAXNgKkAyAGIBc2AqADIAYgJTYCnAMLIAYgAzYCtAMgBkGABGpBMGoiEyAGQaACakEwaigCADYCACAGQYAEakEoaiIbIAZBoAJqQShqKQMANwMAIAZBgARqQSBqIhkgBkGgAmpBIGopAwA3AwAgBkGABGpBGGogBkGgAmpBGGopAwA3AwAgBkGABGpBEGogBkGgAmpBEGopAwA3AwAgBkGABGpBCGogBkGgAmpBCGopAwA3AwAgBiAGKQOgAjcDgAQgBkG4BGpBIGogBkHYAmpBIGopAwA3AwAgBkG4BGpBMGogBkHYAmpBMGooAgA2AgAgBkG4BGpBKGogBkHYAmpBKGopAwA3AwAgBkG4BGpBGGogFSkDADcDACAGQbgEakEQaiAaKQMANwMAIAZBuARqQQhqIAZB2AJqQQhqKQMANwMAIAYgBikD2AI3A7gEAkACQCAGKALcBEECRw0AIAZByANqQRBqIhggBkGABGpBEGoiFykDADcDACAGQcgDakEYaiIVIAZBgARqQRhqIhopAwA3AwAgBkHIA2pBIGogGSkDADcDACAGQcgDakEoaiAbKQMANwMAIAZByANqQTBqIBMoAgA2AgAgBiAGKQOIBDcD0AMgBiAGKQOABDcDyAMgBkG4BGogFiAiIAIgBSAdIAZByANqQQAgBkGQA2ogA0ECRhsQvICAgAAgBigCuAQiA0EMRw0BIAZB6AFqQQxqIAZByANqQQhqKQMANwIAIAZB/AFqIBgpAwA3AgAgBkGEAmogFSkDADcCACAGQYwCaiAGQcgDakEgaikDADcCACAGQZQCaiAGQcgDakEoaikDADcCACAGQZwCaiAGQcgDakEwaigCADYCACAGIAYpA8gDNwLsASAGQegBakEEciEDAkAgBigCtANBAkYNACAGQZADahCZgICAAAsgBkGwAWpBCGogA0EIaikCACIMNwMAIAZBsAFqQRBqIANBEGopAgAiDTcDACAGQbABakEYaiADQRhqKQIAIg43AwAgBkGwAWpBIGogA0EgaikCACIPNwMAIAZBsAFqQShqIANBKGopAgAiEDcDACAGQbABakEwaiADQTBqKAIAIhM2AgAgBiADKQIAIiY3A7ABIAZB+ABqQTBq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B0EBEIOBgIAADCYLIAZB6AFqQRBqIAZB2ARqKQMANwMAIAZB8AFqIAZBuARqQRhqKQMANwMAIAYgBkG4BGpBEGopAwA3A+gBIAxCIIinIQIgDKchAwsgBkGABGpBEGogBkHoAWpBEGopAwAiDDcDACAGQYAEakEIaiAGQegBakEIaikDACINNwMAIAYgBikD6AEiDjcDgAQgBkG4BGpBCGogDjcDACAGQbgEakEQaiANNwMAIAZB0ARqIAw3AwAgBiACrUIghiADrYQ3A7gEIABBCGogBkG4BGoQmIGAgAAgAEEBNgIADB4LIAVBCGooAgAhCCAFQQxqKAIAIQcgAigCBCEKIAIoAgAhAiAFKAIEIQUgBkHoAWpBMGogA0EwaikDADcDACAGQegBakEoaiADQShqKQMANwMAIAZB6AFqQSBqIANBIGopAwA3AwAgBkHoAWpBGGogA0EYaikDADcDACAGQegBakEQaiADQRBqKQMANwMAIAZB6AFqQQhqIANBCGopAwA3AwAgBiADKQMANwPoASAGQbABakEQaiAEQRBqKQIANwMAIAZBsAFqQQhqIARBCGopAgA3AwAgBiAEKQIANwOwASAGQbgEaiABQSBqIgMgAiAKIAUgBxCegICAAAJAAkAgBigCuAQNACAGQYAEakEwaiAGQewEaigCACIENgIAIAZBgARqQShqIAZBuARqQSxqKQIAIgw3AwAgBkGABGpBIGogBkG4BGpBJGoiCykCACINNwMAIAZBkANqQQhqIAZBuARqQQxqKQIANwMAIAZBkANqQRBqIAZBuARqQRRqIgkpAgA3AwAgBkGQA2pBGGogBkG4BGpBHGoiESkCADcDACAGQZADakEgaiANNwMAIAZBkANqQShqIAw3AwAgBkGQA2pBMGogBDYCACAGIAYpArwENwOQAyAGQbgEaiABIAIgCiAGQegBaiAGQbABaiAGQZADahC6gICAACAGKAK4BCIEQQVGDQEgAEEMaiAGKQK8BDcCACAAQSxqIAsoAgA2AgAgAEEkaiARKQIANwIAIABBHGogCSkCADcCACAAQRRqIAZBuARqQQxqKQIANwIAIABBATYCACAAQQhqIAQ2AgAMGwsgBkGcBGogBkG4BGpBIGopAwAiDDcCACAGQZQEaiAGQbgEakEYaiIDKQMAIg03AgAgBkGABGpB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KAKoAiIFQRVHDQAgA0GoAmogARCxgICAACADKAK0AiETIAMoArACIQIgAygCrAIhCiADKAKoAkUNASADQbgCaigCACEOQQEhBiAKIQUgAiEQIBMhD0EAIQoMEQsgA0G0AmooAgAhDiADQbACaigCACEPIAMoAqwCIRAMBAsgAiESDAoLIANB2AFqQTBqIBQ2AgAgA0GEAmogFTYCACADQdgBakEoaiAWNgIAIANB2AFqQSBqIA82AgAgA0H0AWogFzYCACADQewBaiAYNgIAIANB2AFqQRBqIgEgGTYCACADIAk2AuQBIAMgEzYC4AEgAyASNgLcASADIAo2AtgBIAMgGkEAIAcbNgLwASADQQAgCCAIQQJGGzYC/AEgA0GoAmogA0GQAWoQ3IKAgAACQCADKAKoAiIFQRVGDQAgA0G0AmooAgAhDiADQbACaigCACEPIAMoAqwCIRAgA0HYAWoQmYCAgAAMEgsgA0GgAWpBEGoiAiABKQIANwMAIANBoAFqQRhqIAFBCGopAgA3AwAgA0GgAWpBIGogAUEQaikCADcDACADQaABakEoaiABQRhqKQIANwMAIANBoAFqQTBqIAFBIGooAgA2AgAgAyAJNgKsASADIBM2AqgBIAMgEjYCpAEgAyAKNgKgASADQdgBaiADQZABahDagoCAACADKALYASIFQRVGDQEgA0HkAWooAgAhDiADQdgBakEIaigCACEPIAMoAtwBIRAgA0GgAWoQmYCAgAAMEQsgA0GoAmpBBHJB4IHAgABBBRCvgICAACADQbgCaigCACEOIANBtAJqKAIAIQ8gA0GwAmooAgAhECADKAKsAiEFDAELIABBFGogAikCADcCACAAQTRqIAJBIGooAgA2AgAgAEEsaiACQRhqKQIANwIAIABBJGogAkEQaikCADcCACAAQRxqIAJBCGopAgA3AgAgAEEQaiAJNgIAIABBDGogEzYCACAAQQhqIBI2AgAgACAKNgIEQQAhBAwQC0EBIQZBACEKDAsLIANBqAJqIAEQ3oKAgAACQAJAAkACQAJAAkACQAJAIAMoAqgCIgVBFUcNACADQdgAaiABEOCCgIAAQQAhCQJAIAMtAFhBAXENAEEEIQUMCAsCQCADLQBZQf8BcUHbAEYNAEEOIQUMCAsgARDZgoCAACADQdAAaiABENaCgIAAIAMtAFQhDSADKAJQIRsgA0EANgKgAiADQgg3A5gCIANByABqIBsQ4IKAgABBASEFAkAgAy0ASEEBcQ0AQQghEUEAIQ8MBgsgAy0ASSECIA1BAXEhHEEAIR1BCCEeA0ACQAJAIAJB/wFxIg1BLEYNACANQd0ARg0EIBxB/wFxIQ1BACEcIA0NAUEHIQUMBwsgGxDZgoCAACADQcAAaiAbEOCCgIAAAkAgAy0AQEEBcQ0AQQAhHEEEIQUMBwsgAy0AQSECCwJAIAJB/wFxQd0ARw0AQRMhBUEAIRwMBgsgA0E4aiAbEOCCgIAAAkAgAy0AOEEBcQ0AQQQhBUEAIRwMBgsCQCADLQA5Qf8BcUH7AEYNAEEOIQVBACEcDAYLIBsQ2YKAgAAgA0EwaiAbENaCgIAAIAMtADQhESADQShqIAMoAjAiAhDggoCAAAJAIAMtAChBAXENAEEAIR9BAiEFDAULIAMtACkhDSARQQFxIRFCAyEgQQAhHwNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgDUH/AXEiBUEsRg0AIAVB/QBGDQIgEUH/AXENAUEJIQUMEgsCQCARQf8BcUUNAEEQIQUMEgsgAhDZgoCAACADQSBqIAIQ4IKAgAAgAy0AIEEBcUUNECADLQAhIQ0LAkAgDUH/AXEiDUEiRg0AQRAhBQJAIA1B/QBHDQBBEyEFCwwRCyADQRBqIAIQ4IKAgAAgAy0AEEEBcUUNDwJAIAMtABFB/wFxQSJGDQBBDiEFDBELIAIQ2YKAgAAgA0GoAmogAhDfgoCAACADKAK4AiEOIAMoArQCIQ0gAygCsAIhCSADKAKsAiEFAkAgAygCqAJFDQAgDSEcDBELAkAgBQ0AIA1BB0cNAiAJQZKDwIAAQQcQv4SAgABFDQMgCUGZg8CAAEEHEL+EgIAADQIMCAtBAiERAkAgDkEHRw0AAkAgCUGSg8CAAEEHEL+EgIAADQBBACERDAELQX5BASAJQZmDwIAAQQcQv4SAgAAbIRELAkAgDUUNACAJRQ0AIAkgDUEBEIOBgIAACyARQR50QR51QQBIDQEgEUEDcQ4CAgcCCyAfRQ0DICBCA1INAiADQagCakEEckGZg8CAAEEHEK+AgIAAIANBuAJqKAIAIQ4gAygCtAIhHCADKAKwAiEJIAMoAqwCIQUgIUUNECAfICFBARCDgYCAAAwQCyADQagCaiACEN6CgIAAAkACQCADKAKoAiIFQRVGDQAgA0HAAmpBDGogA0GoAmpBDGooAgA2AgAgAyADKQKsAjcCxAIMAQsgA0HAAmogAhCygICAACADKALAAiIFQRVGDQkLIANBzAJqKAIAIQ4gA0HIAmooAgAhHCADKALEAiEJDA4LIB9FDQMgA0GoAmpBkoPAgABBBxCwgICAACADQbQCaigCACEOIANBsAJqKAIAIRwMBQsgA0GoAmogGxDcgoCAAAJAIAMoAqgCIgVBFUYNACADQbQCaigCACEOIANBsAJqKAIAIRwgAygCrAIhCSAhRQ0OIB8gIUEBEIOBgIAADA4LICCnIglBA0cNAQwKCyADQagCakEEckGSg8CAAEEHEK+AgIAAIANBuAJqKAIAIQ4gA0G0AmooAgAhHCADQbACaigCACEJIAMoAqwCIQUMDAsgIEL/////D4MhIiAkrSEjAkAgHSADKAKcAkcNACADQZgCaiAdEL+AgIAAIAMoApgCIR4gAygCoAIhHQsgJachDiAeIB1BBXRqIgIgHzYCECACICU3AwggAiAiNwMAIAJBGGogIzcDACACQRRqICE2AgAgAyAdQQFqIh02AqACIANBGGogGxDggoCAACADLQAZIQIgAy0AGEEBcQ0GICWnIQ4gIKchCUEAIRxBASEFDAsLIANBqAJqIAIQ3oKAgAACQCADKAKoAiIFQRVHDQAgA0GoAmogAhCxgICAACADKAK0AiEkIAMoArACISEgAygCrAIhHyADKAKoAkUNBCADQbgCaigCACEOIB8hBSAhIQkgJCEcDAsLIANBtAJqKAIAIQ4gA0GwAmooAgAhHCADKAKsAiEJDAoLICBCA1ENASADQagCakGZg8CAAEEHELCAgIAAIANBtAJqKAIAIQ4gA0GwAmooAgAhHAsgAygCrAIhCSADKAKoAiEFDAcLIANBwAJqIAIQ3oKAgAACQAJAAkAgAygCwAIiBUEVRg0AIANBuAJqIANBzAJqKAIANgIAIAMgAykCxAI3A7ACIANBsAJqIQEMAQsgA0GoAmogAhDNgICAACADKAKoAkUNASADQbACaiEBIAMoAqwCIQULIAEoAgAhCSADKAK4AiEOIAMoArQCIRwMBwsgAykDuAIhJSADKQOwAiEgCyADQQhqIAIQ4IKAgABB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ACAKIAMpApwCNwIAIApBCGogA0GkAmooAgA2AgAMAQsgA0HwAWogBxCxgICAACADKALwAUUNByADKAL0ASEBCyADQYACaigCACEYIAMoAvwBIRQgAygC+AEhAgwPCyADQZgCaiAHEN6CgIAAAkACQCADKAKYAiIBQRVGDQAgCiADKQKcAjcCACAKQQhqIANBpAJqKAIANgIADAELIANB8AFqIAcQ0ICAgAAgAygC8AFFDQUgAygC9AEhAQsgA0GAAmooAgAhGCADQfwBaigCACEUIAMoAvgBIQIMDAsgA0GYAmogBxDegoCAAAJAAkAgAygCmAIiAUEVRg0AIAogAykCnAI3AgAgCkEIaiADQaQCaigCADYCAAwBCyADQfABaiAHELiAgIAAIAMoAvABRQ0DIAMoAvQBIQELIANBgAJqKAIAIRggA0H8AWooAgAhFCADKAL4ASECDAsLIANB8AFqIAQQ3IKAgAACQCADKALwASIBQRVGDQAgA0H8AWooAgAhGCADQfgBaigCACEUIAMoAvQBIQIgEUUNDSAGIBFBARCDgYCAAAwNCyAZQiCIpyEUIBOnIRggGachFyAQrSEWIBEhDgwYCyADQfABakEEckGphsCAAEEEEK+AgIAAIANBgAJqKAIAIRggA0H8AWooAgAhFCADQfgBaigCACECDAcLIAMpA/gBIRlCASEWDAMLIAMpA/gBIRNCASEVDAILIAMoAvwBIRAgAygC+AEhESADKAL0ASEGDAELIANB8AFqIAcQ3oKAgAACQAJAIAMoAvABIgFBFUYNACADQZgCakEMaiADQfABakEMaigCADYCACADIAMpAvQBNwKcAgwBCyADQZgCaiAHELKAgIAAIAMoApgCIgFBFUYNAQsgA0GkAmooAgAhGCADQaACaigCACEUIAMoApwCIQIMBQsgA0EQaiAHEOCCgIAAQQAhDCADLQARIQEgAy0AEEEBcQ0AC0ECIQEMAwsgA0H8AWooAgAhGCADQfgBaigCACEUIAMoAvQBIQIMBAsgAygC9AEhAQwBC0EEIQELIAZFDQEgEUUNAQsgBiARQQEQg4GAgAALIAMgGDYC5AEgAyAUNgLgAQwNCyADQfABaiAEEN6CgIAAAkACQAJAAkACQAJAIAMoAvABIgFBFUcNACADQfAAaiAEEOCCgIAAQQQhAQJAIAMtAHBBAXENACADQgA3A+ABDBYLAkACQCADLQBxQf8BcUHuAEcNACAEENmCgIAAIANB8AFqIARBjJvAgABBAxDdgoCAACADKALwASIBQRVHDQFBACELDBILIANB6ABqIAQQ4IKAgAACQCADLQBoQQFxDQAgA0IANwPgAQwXCwJAIAMtAGlB/wFxQfsARg0AQQ4hASADQgA3A+ABDBcLIAQQ2YKAgAAgA0HgAGogBBDWgoCAACADLQBkIQIgA0HYAGogAygCYCIBEOCCgIAAQQIhECADLQBYQQFxRQ0DIAMtAFkhByACQQFxIQxBACELA0ACQAJAAkACQAJAAkACQAJAIAdB/wFxIg1BLEYNACANQf0ARg0CIAxB/wFxDQFBCSEQDA4LAkAgDEH/AXFFDQBBECEQDA4LIAEQ2YKAgAAgA0HQAGogARDggoCAACADLQBQQQFxRQ0MIAMtAFEhBwsCQCAHQf8BcSIRQSJGDQBBECEQIBFB/QBHDQ1BEyEQDAsLIANByABqIAEQ4IKAgAAgAy0ASEEBcUUNCwJAIAMtAElB/wFxQSJGDQBBDiEQDA0LIAEQ2YKAgAAgA0HwAWogARDfgoCAACADKAKAAiENIAMoAvwBIQcgAygC+AEhDCADKAL0ASERAkAgAygC8AFFDQAgESEQDA0LAkACQCARDQAgB0EFRw0DIAxBwYbAgABBBRC/hICAAEEARyERDAELQQEhEQJAIA1BBUcNACAMQcGGwIAAQQUQv4SAgABBAEchEQsgB0UNACAMRQ0AIAwgB0EBEIOBgIAACyARDQEgC0EBRw0CIANBmAJqQQRyQcGGwIAAQQUQsICAgAAMDQsgCw0CIANB8AFqQQRyQcGGwIAAQQUQr4CAgAAgA0GYAmpBDGogA0HwAWpBDGopAgA3AgAgAyADKQL0ATcCnAIMDAsgA0HwAWogARDegoCAAAJAAkAgAygC8AEiB0EVRg0AIANBsAJqQQxqIANB8AFqQQxqKAIANgIAIAMgAykC9AE3ArQCIAMgBzYCsAIMAQsgA0GwAmogARCygICAACADKAKwAkEVRg0ECyADQaQCaiADQbgCaikDADcCACADIAMpA7ACNwKcAgwLCyADQbACaiABEN6CgIAAAkACQCADKAKwAiICQRVGDQAgA0H4AWogAykCtAI3AwAgA0GAAmogA0G8AmooAgA2AgAgAyACNgL0AQwBCyADQfABaiABENGAgIAAIAMoAvABRQ0CCyADQZgCakEMaiADQfABakEMaikCADcCACADIAMpAvQBNwKcAgwKCyADQfABaiAEENyCgIAAIAMoAvABIgFBFUYNEiADQfgBaikDACETDAULIAMoAvQBIQJBASELCyADQcAAaiABEOCCgIAAQQAhDCADLQBBIQcgAy0AQEEBcQ0ADAQLCyADQfgBaikDACETDAELIANB+AFqKQMAIRMLIAMoAvQBIQIgAyATNwPgAQwTCwwBC0EEIRALIANBqAJqIA02AgAgA0GkAmogBzYCACADQaACaiAMNgIAIAMgEDYCnAILIANBoAJqKAIAIQIgAygCnAIhASADIANBpAJqKQIANwPgAQwPCyADQfwBaigCACEEIANB+AFqKAIAIRIgAygC9AEhAgwGCwwBC0EEIRALIANBqAJqIA02AgAgA0GkAmogBzYCACADQaACaiAMNgIAIAMgEDYCnAILIAVFDQEgD0UNAQsgBSAPQQEQg4GAgAALIANBqAJqKAIAIQQgA0GkAmooAgAhEiADQaACaigCACECIAMoApwCIQELIAMgBDYC5AEgAyASNgLgAQwJC0EBIQsMAQsgA0HwAWogBBDegoCAAAJAAkAgAygC8AEiAUEVRg0AIAggCSkCADcCACAIQQhqIAlBCGooAgA2AgAMAQsgA0GYAmogBBCygICAACADKAKYAiIBQRVGDQELIAMgA0GgAmopAwA3A+ABIAMoApwCIQIMBQsgA0EIaiAEEOCCgIAAQQAhByADLQAJIQEgAy0ACEEBcQ0AC0ECIQEMAgtBACEGDAILQQQhAQsgAyAMNgLkASADIAc2AuABCyAFRQ0BIA9FDQELIAUgD0EBEIOBgIAACyAGRQ0AIA5FDQAgBiAOQQEQg4GAgAAgAykD4AEhEwwBCyADKQPgASETCyADQfABakEIaiATNwMAIAMgAjYC9AEgAyABNgLwASAAQQhqQbSRwIAAQRggA0HwAWoQs4CAgABCASETCyAAIBM3AwAgA0HAAmokgICAgAAL9wIBBH8jgICAgABBwABrIgIkgICAgAAgAkEIaiABEOCCgIAAAkACQAJAAkAgAi0ACEEBcUUNACACLQAJQf8BcUEiRw0BIAEQ2YKAgAAgAkEoaiABEN+CgIAA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AyADKQK0ATcCzAEMAQsgA0HIAWogAhCygICAACADKALIASIHQRVGDQELIANB1AFqKAIAIQ8gA0HQAWooAgAhFyADKALMASEODAgLIANBCGogAhDggoCAAEEAIQcgAy0ACSEJIAMtAAhBAXENAAtBAiEHDAYLAkAgFUUNACAYrUIghiAPrYQhHCAXrUIghiAOrYQhHgJAIAYgAygCpAFHDQAgA0GgAWogBhC/gICAACADKAKgASEUIAMoAqgBIQYLIBQgBkEFdGoiAiAVNgIQIAJBGGogFjcDACACQRRqIBs2AgAgAiAcNwMIIAIgHjcDAEEBIQcgAyAGQQFqIgY2AqgBIANBIGogEhDggoCAACADLQAhIQIgAy0AIEEBcQ0BDAcLCyADKAKkASESIAMoAqABIQcgA0GwAWogARDbgoCAACADKAKwASIJQRVGDQogA0G8AWooAgAhDyADQbgBaigCACEQIAMoArQBIQ4CQCAGRQ0AIAZBBXQhAiAHQRRqIQEDQAJAIAEoAgAiBkUNACABQXxqKAIAIgVFDQAgBSAGQQEQg4GAgAALIAFBIGohASACQWBqIgINAAsLAkAgEkUNACASQQV0IgFFDQAgByABQQgQg4GAgAALIAkhBQwQCyADQbABaiADQZABahDcgoCAAAJAIAMoArABIgVBFUYNACADQbwBaigCACEPIANBuAFqKAIAIRAgAygCtAEhDgJAIBFFDQAgCCARQQEQg4GAgAALAkAgBkUNACAGQQV0IQIgB0EUaiEBA0ACQCABKAIAIgZFDQAgAUF8aigCACIJRQ0AIAkgBkEBEIOBgIAACyABQSBqIQEgAkFgaiICDQALCyASRQ0RIBJBBXQiAUUNESAHIAFBCBCDgYCAAAwRCyADQbABaiADQZABahDagoCAAAJAIAMoArABIgVBFUYNACADQbwBaigCACEPIANBuAFqKAIAIRAgAygCtAEhDgJAIBFFDQAgCCARQQEQg4GAgAALAkAgBkUNACAGQQV0IQIgB0EUaiEBA0ACQCABKAIAIgZFDQAgAUF8aigCACIJRQ0AIAkgBkEBEIOBgIAACyABQSBqIQEgAkFgaiICDQALCyASRQ0RIBJBBXQiAUUNESAHIAFBCBCDgYCAAAwRCyAAQRhqIAY2AgAgAEEUaiASNgIAIABBEGogBzYCACAAQQxqIBA2AgAgAEEIaiARNgIAIAAgCDYCBEEAIQQMEQsgA0GwAWogARDegoCAAAJAIAMoArABIgJBFUcNACADQbABaiABELGAgIAAIAMoArwBIRAgAygCuAEhDiADKAK0ASEIIAMoArABRQ0HIANBwAFqKAIAIQ8CQCAHDQAgCCEFQQAhCAwQCyAIIQVBACEIDA4LIANBvAFqKAIAIQ8gA0G4AWooAgAhECADKAK0ASEOQQAhCAJAIAcNACACIQUMDwsgAiEFDA0LIANBvAFqKAIAIQ8gA0G4AWooAgAhECADKAK0ASEOIAIhBQwNC0EEIQcLIBVFDQAgG0UNACAVIBtBARCDgYCAAAsgAygCoAEhCQJAIAZFDQAgBkEFdCEQQQAhAQNAAkAgCSABaiICQRRqKAIAIgZFDQAgAkEQaigCACICRQ0AIAIgBkEBEIOBgIAACyAQIAFBIGoiAUcNAAsLIBchECAHIQULIAMoAqQBIgFFDQkgAUEFdCIBRQ0JIAkgAUEIEIOBgIAADAkLIBIhDiAGIRAMCAsgDiERDAELIANBsAFqIAEQ3oKAgAACQAJAIAMoArABIgJBFUYNACAKIAspAgA3AgAgCkEIaiALQQhqKAIANgIADAELIANByAFqIAEQsoCAgAAgAygCyAEiAkEVRg0BCyADQdQBaigCACEPIANB0AFqKAIAIRAgAygCzAEhDiAHDQIgAiEFDAYLIAMgARDggoCAAEEAIQkgAy0AASECIAMtAABBAXENAAwCCwsgAiEFDAILIAdFDQIMAQtBBCEFIAdFDQELAkAgBkUNACAGQQV0IQIgB0EUaiEBA0ACQCABKAIAIgZFDQAgAUF8aigCACIJRQ0AIAkgBkEBEIOBgIAACyABQSBqIQEgAkFgaiICDQALCyASRQ0AIBJBBXQiAUUNACAHIAFBCBCDgYCAAAsgCEUNACARRQ0AIAggEUEBEIOBgIAACyADQbwBaiAPNgIAIANBsAFqQQhqIBA2AgAgAyAONgK0ASADIAU2ArABIABBCGpB8ZbAgABBICADQbABahCzgICAAAsgACAENgIAIANB4AFqJICAgIAAC8YCAQF/I4CAgIAAQeAAayIDJICAgIAAIAMgAjYCBCADIAE2AgAgA0EIaiABIAIQsoSAgAACQAJAIAMtAAgNACAAQQA2AgAgAEEIaiADKQMQNwMAIABBEGogA0EIakEQaikDADcDAAwBCyADIAMtAAk6ACcgA0E4akEUakECNgIAIANB0ABqQQxqQYeAgIAANgIAIANCAjcCPCADQeiawIAANgI4IANBhoCAgAA2AlQgAyADQdAAajYCSCADIANBJ2o2AlggAyADNgJQIANBKGogA0E4ahDgg4CAACADQThqQQRyIANBKGoQ4oOAgAAgA0EUNgI4AkAgAygCLCIBRQ0AIAMoAigiAkUNACACIAFBARCDgYCAAAsgACADKQM4NwIEIABBATYCACAAQQxqIANBwABqKQMANwIACyADQeAAaiSAgICAAAv7OQIPfwJ+I4CAgIAAQaABayICJICAgIAAIAJBCGoQy4KAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIADQACQCACKAIQIgMgAigCDEcNACACQQhqIAMQj4CAgAAgAigCECEDCyACKAIIIANqQfsAOgAAIAIgA0EBajYCECACQZABaiACQQhqQZWJwIAAQQIQzoKAgAACQAJAIAIoApABDQACQCACKAIQIgMgAigCDEcNACACQQhqIAMQj4CAgAAgAigCECEDCyACKAIIIANqQTo6AAAgAiADQQFqNgIQIAJBkAFqIAJBCGpBwInAgABBCEEEENKCgIAAIAIoApABDQEgAiACKAKUASIDNgI4AkAgAkGQAWpBCGotAABFDQAgAygCCCEEDAQLAkAgAygCCCIFIANBBGooAgBHDQAgAyAFEI+AgIAAIAMoAgghBQsgAyAFQQFqIgQ2AgggAygCACAFakEsOgAADAMLIAJBGGpBDGogAkGQAWpBDGooAgA2AgAgAiACKQKUATcCHAwMCyACQTRqIAJBkAFqQQRyIgFBCGooAgA2AgAgAiABKQIANwIsDAoLIAJBGGogAkEIaiABQQRqENWAgIAAIAIoAhhFDQEMCgsgAkEAOgA8AkAgBCADQQRqIgUoAgBHDQAgAyAEEI+AgIAAIAMoAgghBAsgAygCACAEakEiOgAAIAMgBEEBaiIENgIIAkAgBSgCACAEa0EHSw0AIAMgBEEIEJCAgIAAIAMoAgghBAsgAygCACAEakLtys2bl+zZsvMANwAAIAMgBEEIaiIENgIIAkAgA0EEaigCACAEa0EBSw0AIAMgBEECEJCAgIAAIAMoAgghBAsgAygCACAEakGi9AA7AAAgAyAEQQJqNgIIIAEoAgQhBSACQZABaiADQQEgAUEMaigCACIEENGCgIAAIAIoApABDQUgAkGQAWpBCGotAAAhAyACKAKUASEGAkACQAJAIARFDQAgBSAEQegAbGohByAFQSxqIQggA0H/AXFFIQMgAkGQAWpBBHIhCSACQYABakEEciEKA0ACQCADQQFxRQ0AAkAgBigCCCIDIAZBBGooAgBHDQAgBiADEI+AgIAAIAYoAgghAwsgBiADQQFqNgIIIAYoAgAgA2pBLDoAAAsgAkGQAWogBkHmiMCAAEEGQQQQ0oKAgAACQAJAIAIoApABDQAgAiACLQCYAToAVCACIAIoApQBNgJQIAJBkAFqIAJB0ABqQeyIwIAAQQIgCEFUaiIFKQMAEJKAgIAAAkAgAigCkAENACACKAJQIQMCQCACLQBURQ0AIAMoAgghCwwDCwJAIAMoAggiBCADQQRqKAIARw0AIAMgBBCPgICAACADKAIIIQQLIAMgBEEBaiILNgIIIAMoAgAgBGpBLDoAAAwCCyACQfAAakEMaiACQZABakEMaigCADYCACACIAIpApQBNwJ0DAwLIAJB/ABqIAlBCGooAgA2AgAgAiAJKQIANwJ0DAsLIAJBADoAVAJAIAsgA0EEaiIEKAIARw0AIAMgCxCPgICAACADKAIIIQsLIAMoAgAgC2pBIjoAACADIAtBAWoiCzYCCAJAIAQoAgAgC2tBAksNACADIAtBAxCQgICAACADKAIIIQsLIAMoAgAgC2oiDEEALwDFiMCAADsAACAMQQJqQQAtAMeIwIAAOgAAIAMgC0EDaiILNgIIAkAgBCgCACALa0EBSw0AIAMgC0ECEJCAgIAAIAMoAgghCwsgAygCACALakGi9AA7AAAgAyALQQJqIgs2AggCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAVBCGooAgAOAwABAgALAkAgCyAEKAIARw0AIAMgCxCPgICAACADKAIIIQsLIAMgC0EBajYCCCADKAIAIAtqQfsAOgAAIAJBkAFqIANB6ofAgABBBBDOgoCAACACKAKQAQ0DAkAgAygCCCILIAQoAgBHDQAgAyALEI+AgIAAIAMoAgghCwsgAyALQQFqNgIIIAMoAgAgC2pBOjoAAAJAAkACQAJAIAhBYGooAgANACACQZABaiADQe6HwIAAQQdBAEH1h8CAAEEEQQIQ04KAgAAgAigCkAENASACIAItAJgBOgBsIAIgAigClAE2AmggAkGQAWogAkHoAGpB+YfAgABBCiAIQWRqEJGAgIAAIAIoApABDQIgAkGQAWogAkHoAGpBhYbAgABBBiAIQXBqEI6AgIAAIAIoApABDQMgAkGAAWogAigCaCACLQBsEPGCgIAADBILIAJBkAFqIANB7ofAgABBB0EBQbGCwIAAQQRBARDTgoCAACACKAKQAQ0HIAIgAi0AmAE6AGwgAiACKAKUATYCaCACQZABaiACQegAakGFhsCAAEEGIAhBZGoQjoCAgAACQCACKAKQAQ0AIAJBgAFqIAIoAmggAi0AbBDxgoCAAAwSCyAKIAkpAgA3AgAgCkEIaiAJQQhqKAIANgIADBALIAogCSkCADcCACAKQQhqIAlBCGooAgA2AgAMDwsgCiAJKQIANwIAIApBCGogCUEIaigCADYCAAwOCyAKIAkpAgA3AgAgCkEIaiAJQQhqKAIANgIADA0LAkAgCyAEKAIARw0AIAMgCxCPgICAACADKAIIIQsLIAMgC0EBajYCCCADKAIAIAtqQfsAOgAAIAJBkAFqIANB5IfAgABBBhDOgoCAAAJAAkACQCACKAKQAQ0AAkAgAygCCCILIAQoAgBHDQAgAyALEI+AgIAAIAMoAgghCwsgAyALQQFqNgIIIAMoAgAgC2pBOjoAACACQZABaiADQZeJwIAAQQVBABDSgoCAACACKAKQAUUNASACQYwBaiAJQQhqKAIANgIAIAIgCSkCADcChAEMAgsgAkHgAGogAkGcAWooAgA2AgAgAiACKQKUATcDWAwSCyACQYABaiACKAKUASACLQCYARDwgoCAACACKAKAAUUNAgsgAkHgAGogAkGMAWooAgA2AgAgAiACKQKEATcDWAwQCwJAIAsgBCgCAEcNACADIAsQj4CAgAAgAygCCCELCyADIAtBAWo2AgggAygCACALakH7ADoAACACQZABaiADQeCHwIAAQQQQzoKAgAAgAigCkAENBCAIQWRqIQwCQCADKAIIIgsgBCgCAEcNACADIAsQj4CAgAAgAygCCCELCyADIAtBAWo2AgggAygCACALakE6OgAAAkACQAJAAkACQCAMKAIADgUEAwIBAAQLIAJBkAFqIANBg4jAgABBB0EEQYqIwIAAQQtBARDTgoCAACACKAKQAQ0HIAIgAi0AmAE6AGwgAiACKAKUATYCaCACQZABaiACQegAakGViMCAAEENIAhBaGoQkYCAgAACQCACKAKQAQ0AIAJBgAFqIAIoAmggAi0AbBDxgoCAAAwPCyAKIAkpAgA3AgAgCkEIaiAJQQhqKAIANgIADAsLIAJBkAFqIANBg4jAgABBB0EDQaKIwIAAQQxBAhDTgoCAAAJAIAIoApABRQ0AIAogCSkCADcCACAKQQhqIAlBCGooAgA2AgAMCwsgAiACLQCYAToAbCACIAIoApQBNgJoIAJBkAFqIAJB6ABqQZWIwIAAQQ0gCEFoahCRgICAAAJAIAIoApABRQ0AIAogCSkCADcCACAKQQhqIAlBCGooAgA2AgAMCwsgAkGQAWogAkHoAGpBrojAgABBBSAIQXRqEJGAgIAAIAIoApABRQ0MIAogCSkCADcCACAKQQhqIAlBCGooAgA2AgAMCgsgAkGQAWogA0GDiMCAAEEHQQJBs4jAgABBB0EDENOCgIAAAkAgAigCkAFFDQAgCiAJKQIANwIAIApBCGogCUEIaigCADYCAAwKCyACIAItAJgBOgBsIAIgAigClAE2AmggAkGQAWogAkHoAGpBlYjAgABBDSAIQWhqEJGAgIAAAkAgAigCkAFFDQAgCiAJKQIANwIAIApBCGogCUEIaigCADYCAAwKCyACQZABaiACQegAakG6iMCAAEELIAhBBGopAwAQkoCAgAACQCACKAKQAUUNACAKIAkpAgA3AgAgCkEIaiAJQQhqKAIANgIADAoLIAJBkAFqIAJB6ABqIAhBdGoQk4CAgAAgAigCkAFFDQogCiAJKQIANwIAIApBCGogCUEIaigCADYCAAwJCyACQZABaiADQYOIwIAAQQdBAUHIiMCAAEELQQUQ04KAgAAgAigCkAFFDQcgCiAJKQIANwIAIApBCGogCUEIaigCADYCAAwICyACQZABaiADQYOIwIAAQQdBAEHfiMCAAEEHQQMQ04KAgAACQCACKAKQAUUNACAKIAkpAgA3AgAgCkEIaiAJQQhqKAIANgIADAgLIAIgAi0AmAE6AGwgAiACKAKUATYCaCACQZABaiACQegAakGViMCAAEENIAhB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B0sNACADIAtBCBCQgICAACADKAIIIQsLIAMoAgAgC2pC8srB45bv17fuADcAACADIAtBCGoiCzYCCAJAIAQoAgAgC2tBAUsNACADIAtBAhCQgICAACADKAIIIQsLIAMoAgAgC2pBovQAOwAAIAMgC0ECajYCCAJAAkACQAJAAkAgDA4EAAECAwALIAJBkAFqIANB94jAgABBB0EAQY+JwIAAQQYQ0IKAgAAMAwsgAkGQAWogA0H3iMCAAEEHQQFBionAgABBBRDQgoCAAAwCCyACQZABaiADQfeIwIAAQQdBAkGDicCAAEEHENCCgIAADAELIAJBkAFqIANB94jAgABBB0EDQf6IwIAAQQUQ0IKAgAALAkAgAigCkAFFDQAgAkHwAGpBDGogAkGQAWpBDGooAgA2AgAgAiACKQKUATcCdAwLCyACQfAAaiADQQAQ8IKAgAAgAigCcA0KIAhB6ABqIQhBASEDIAcgBUHoAGpHDQALQQAhAwsgAkHAAGogBiADQf8BcUEARxDvgoCAACACKAJADQkgAkGQAWogAkE4aiABQRBqENaAgIAAAkAgAigCkAFFDQAgAkEoakEMaiACQZABakEMaigCADYCACACIAIpApQBNwIsDAsLIAIoAjghAwJAIAItADxFDQAgAygCCCEEDAILAkAgAygCCCIFIANBBGooAgBHDQAgAyAFEI+AgIAAIAMoAgghBQsgAyAFQQFqIgQ2AgggAygCACAFakEsOgAADAELIAJB8ABqQQxqIAJBkAFqQQxqKAIANgIAIAIgAikClAE3AnQMBwsgAkEAOgA8AkAgBCADQQRqIgUoAgBHDQAgAyAEEI+AgIAAIAMoAgghBAsgAygCACAEakEiOgAAIAMgBEEBaiIENgIIAkAgBSgCACAEa0EFSw0AIAMgBEEGEJCAgIAAIAMoAgghBAsgAygCACAEaiIFQQAoAMiJwIAANgAAIAVBBGpBAC8AzInAgAA7AAAgAyAEQQZqIgQ2AggCQCADQQRqKAIAIARrQQFLDQAgAyAEQQIQkICAgAAgAygCCCEECyADKAIAIARqQaL0ADsAACADIARBAmo2AgggASgCHCEFIAJBkAFqIANBASABQSRqKAIAIgsQ0YKAgAAgAigCkAENAiACQZgBai0AACEIIAIoApQBIQQCQAJAAkACQCALRQ0AIAUg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AGsiAySAgICAACABKAIAIQQCQAJAIAEtAARFDQAgBCgCCCEFDAELAkAgBCgCCCIGIARBBGooAgBHDQAgBCAGEI+AgIAAIAQoAgghBgsgBCAGQQFqIgU2AgggBCgCACAGakEsOgAACyABQQA6AAQCQCAFIARBBGoiASgCAEcNACAEIAUQj4CAgAAgBCgCCCEFCyAEKAIAIAVqQSI6AAAgBCAFQQFqIgU2AggCQCABKAIAIAVrQQlLDQAgBCAFQQoQkICAgAAgBCgCCCEFCyAEKAIAIAVqIgFBACkApYnAgAA3AAAgAUEIakEALwCticCAADsAACAEIAVBCmoiBTYCCAJAIARBBGooAgAgBWtBAUsNACAEIAVBAhCQgICAACAEKAIIIQULIAQoAgAgBWpBovQAOwAAIAQgBUECajYCCCACKAIAIQUgA0HAAGogBEEBIAIoAggiARDRgoCAAAJAAkACQAJAIAMoAkANACADQcgAai0AACEGIAMoAkQhBAJAAkACQCABRQ0AIAUgAUEYbGohAiAGQf8BcUUhASADQcAAakEEciEGA0ACQCABQQFxRQ0AAkAgBCgCCCIBIARBBGooAgBHDQAgBCABEI+AgIAAIAQoAgghAQsgBCABQQFqNgIIIAQoAgAgAWpBLDoAAAsgA0HAAGogBEGvicCAAEEJQQIQ0oKAgAAgAygCQA0CIAMgAy0ASDoAPCADIAMoAkQ2AjggA0HAAGogA0E4akG4icCAAEEDIAUQkYCAgAAgAygCQA0DIANBwABqIANBOGpBu4nAgABBBSAFQQxqIgUQkYCAgAACQCADKAJARQ0AIANBKGpBDGogA0HAAGpBDGooAgA2AgAgAyADKQJENwIsDAYLIANBKGogAygCOCADLQA8EPCCgIAAIAMoAigNBUEBIQEgBUEMaiIFIAJHDQALQQAhBgtBACEFIANBGGogBCAGQf8BcUEARxDvgoCAACADKAIYDQQMBQsgA0E0aiAGQQhqKAIANgIAIAMgBikCADcCLAwCCyADQShqQQxqIANBwABqQQxqKAIANgIAIAMgAykCRDcCLAwBCyADQSRqIANBwABqQQRyIgRBCGooAgA2AgAgAyAEKQIANwIcDAELIANBGGpBDGogA0EoakEMaigCADYCACADIAMpAiw3AhwLIANBEGogA0EYakEMaigCACIE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AX4jgICAgABBwABrIgMkgICAgAAgASgCACEEAkACQCABLQAERQ0AIAQoAgghBQwBCwJAIAQoAggiBiAEQQRqKAIARw0AIAQgBhCPgICAACAEKAIIIQYLIAQgBkEBaiIFNgIIIAQoAgAgBmpBLDoAAAsgAUEAOgAEAkAgBSAEQQRqIgEoAgBHDQAgBCAFEI+AgIAAIAQoAgghBQsgBCgCACAFakEiOgAAIAQgBUEBaiIFNgIIAkAgASgCACAFa0EISw0AIAQgBUEJEJCAgIAAIAQoAgghBQsgBCgCACAFaiIBQQApAO6BwIAANwAAIAFBCGpBAC0A9oHAgAA6AAAgBCAFQQlqIgU2AggCQCAEQQRqKAIAIAVrQQFLDQAgBCAFQQIQkICAgAAgBCgCCCEFCyAEKAIAIAVqQaL0ADsAACAEIAVBAmo2AggCQAJAIAIoAgANACADQRhqIAQQz4KAgAAMAQsgAkEMaigCACEFIAJBBGooAgAhASADQTBqIARBmZvAgABBCEEBENKCgIAAAkAgAygCMA0AIAMgAygCNDYCKCADIANBMGpBCGotAAA6ACwgA0EwaiADQShqQaGbwIAAQQQgASAFENuAgIAAAkAgAygCMA0AIANBGGogAygCKCADLQAsEPCCgIAADAILIANBGGpBDGogA0EwakEMaigCADYCACADIAMpAjQ3AhwgA0EBNgIYDAELIANBGGpBDGogA0EwakEEciIEQQhqKAIANgIAIANBATYCGCADIAQpAgA3AhwLAkACQCADKAIYDQBBACEEDAELIANBEGogA0EYakEMaigCACIENgIAIAMgAykCHCIHNwMIIABBDGogBDYCACAAIAc3AgRBASEECyAAIAQ2AgAgA0HAAGokgICAgAAL8wECA38BfiOAgICAAEEgayIDJICAgIAAAkAgASACaiICIAFJDQAgAEEEaigCACIBQQF0IgQgAiAEIAJLGyICQQQgAkEESxsiBa1CFH4iBkIgiKdFQQJ0IQIgBqchBAJAAkAgAUUNACADQRhqQQQ2AgAgAyAAKAIANgIQIAMgAa1CFH4+AhQMAQsgA0EANgIQCyADIAQgAiADQRBqEPmAgIAAAkAgAygCAEUNACADQQhqKAIAIgBFDQEgAygCBCAAENyDgIAAAAsgAygCBCEBIABBBGogBTYCACAAIAE2AgAg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AigCrAUhECACKAKoBSEDIAIoAqQFIQsgAigCoAVFDQYgAkGwBWooAgAhDQwFCyACQawFaigCACENIAJBqAVqKAIAIRAMAwsgAkGMBmogCTYCACACQfgFakEQaiIDQQAgCCAIQQJGGzYCACACQfgFakEIaiAQrUIghiAPrYQiBTcDACACQQk2AvgFIAIgDEEAIAcbIgs2AvwFIAJBoAVqIAEQ3IKAgAACQCACKAKgBSIEQRVGDQAgAkGgBWpBCGopAwAhBSACKAKkBSEDIAJB+AVqEOKAgIAADA0LIAJByAZqQRBqIAMpAgA3AwAgAkHgBmogA0EIaikCADcDACACQegGaiADQRBqKAIANgIAIAJByAZqQQhqIAU3AwAgAiALNgLMBiACQQk2AsgGIAJBwARqIAEQ4IKAgAAgAi0AwARBAXFFDQECQCACLQDBBEH/AXFB/QBHDQAgARDZgoCAACAAQSRqIAJB6AZqKAIANgIAIABBHGogAkHgBmopAwA3AgAgAEEUaiACQdgGaikDADcCACAAQQxqIAJB0AZqKQMANwIAIAAgAikDyAY3AgQgAEEANgIADBoLIABBCzYCBCACQcgGahDigICAACAAQQE2AgAMGQsgAkGsBWooAgAhDSACQagFaigCACEQDAELIABCgYCAgMAANwIAIAJByAZqEOKAgIAADBcLIAIoAqQFIQMLIAtBCHYhAQwHCwJAIAdFDQAgDEUNACAPRQ0AQQEhByAMIA9BARCDgYCAACADIQ8gCyEMDAILIAMhDyALIQxBASEHDAELIAJBoAVqIAQQ3oKAgAACQAJAIAIoAqAFIgtBFUYNACAKIBEpAgA3AgAgCkEIaiARQQhqKAIANgIADAELIAJBoAZqIAQQsoCAgAAgAigCoAYiC0EVRg0BCyACQagGaikDACIFQiCIpyENIAIoAqQGIQMgBachEAwDCyACQaAEaiAEEOCCgIAAQQAhDSACLQChBCELIAItAKAEQQFxDQALQQIhCwwBC0EEIQsLIAtBCHYhASAHQQFHDQELIAxFDQAgD0UNACAMIA9BARCDgYCAAAsgAUEIdCALQf8BcXIhBCANrUIghiAQrYQhBQsgACAENgIEIABBATYCACAAQQxqIAU3AgAgAEEIaiADNgIADAwLIAJBmARqIAEQ4IKAgAACQAJAIAItAJgEQQFx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AgEEfyOAgICAAEEgayICJICAgIAAIAIgARDggoCAAAJAAkACQAJAIAItAABBAXFFDQAgAi0AAUH/AXFBIkcNASABENmCgIAAIAJBCGogARDfgoCAACACQQhqQRBqKAIAIQMgAkEIakEMaigCACEBIAJBCGpBCGooAgAhBCACKAIMIQUgAigCCA0CAkAgBQ0AIAAgBCABEOSAgIAADAQLIAAgBCADEOSAgIAAIAFFDQMgBCABQQEQg4GAgAAMAwsgAEEBOgAAIABBBGpBBDYCAAwCCyAAQQE6AAAgAEEEakEONgIADAELIABBAToAACAAQRBqIAM2AgAgAEEMaiABNgIAIABBCGogBDYCACAAQQRqIAU2AgALIAJBIGokgICAgAALuwQBAn8jgICAgABBMGsiAiSAgICAACACQSBqIAEoAgAiARDegoCAAAJAAkACQCACKAIgIgNBFUcNACACQQhqIAEQ4IKAgAAgAi0ACEEBcUUNAQJAAkAgAi0ACUH/AXFB7gBHDQAgARDZgoCAACACQSBqIAFBjJvAgABBAxDdgoCAACACKAIgIgFBFUcNASAAQYAEOwEADAQLIAIgARDggoCAAEEEIQMCQCACLQAAQQFxRQ0AQQ4hAwJAAkACQAJAIAItAAFB/wFxQZp/ag4PAAQEBAQEBAQEBAQEBAQBBAsgARDZgoCAACACQSBqIAFBhZvAgABBBBDdgoCAACACKAIgIgNBFUcNAkEAIQEMAQsgARDZgoCAACACQSBqIAFBiZvAgABBAxDdgoCAAAJAIAIoAiAiA0EVRg0AIAJBGGogAkEsaigCADYCACACIAIpAiQ3AxAMAwtBASEBCyAAIAE6AAEgAEEAOgAADAULIAJBGGogAkEsaigCADYCACACIAIpAiQ3AxALIABBBGogAzYCACAAQQhqIAIpAxA3AgAgAEEQaiACQRBqQQhqKAIANgIAIABBAToAAAwDCyAAQQhqIAIpAiQ3AgAgAEEQaiACQSxqKAIANgIAIABBAToAACAAQQRqIAE2AgAMAgsgAEEIaiACKQIkNwIAIABBEGogAkEsaigCADYCACAAQQE6AAAgAEEEaiADNgIADAELIABBAToAACAAQQRqQQQ2AgALIAJBMGokgICAgAAL5QMBAn8CQAJAAkACQAJAAkACQAJAAkAgAC0AAA4KAAECAwgIBAUGBwgLIABBCGooAgAiAUUNByAAQQRqKAIAIgBFDQcgACABQQEQg4GAgAAPCwJAIABBCGooAgAiAUUNACAAQQRqKAIAIgJFDQAgAiABQQEQg4GAgAALIABBFGooAgAiAUUNBiAAQRBqKAIAIgBFDQYgACABQQEQg4GAgAAPCyAAQQhqKAIAIgFFDQUgAEEEaigCACIARQ0FIAAgAUEBEIOBgIAADwsCQCAAQQhqKAIAIgFFDQAgAEEEaigCACICRQ0AIAIgAUEBEIOBgIAACyAAQRBqKAIAIgFFDQQgAEEUaigCACIARQ0EIAEgAEEBEIOBgIAADwsgAEEIaigCACIBRQ0DIABBBGooAgAiAEUNAyAAIAFBARCDgYCAAA8LIABBCGooAgAiAUUNAiAAQQRqKAIAIgBFDQIgACABQQEQg4GAgAAMAgsCQCAAQQhqKAIAIgFFDQAgAEEEaigCACICRQ0AIAIgAUEBEIOBgIAACyAAQRBqKAIAIgFFDQEgAEEUaigCACIARQ0BIAEgAEEBEIOBgIAADwsgAEEEaigCACIBRQ0AIABBCGooAgAiAEUNACABIABBARCDgYCAAA8LC5kBAAJAAkACQAJAAkACQCACQXtqDgsABAQEBAQCBAQEAQQLIAFB4IHAgABBBRC/hICAAA0CQQAhAQwECyABQdCNwIAAQQ8Qv4SAgAANAkEBIQEMAwsgAUHAjcCAAEELEL+EgIAADQFBAiEBDAILIAFBy43AgABBBRC/hICAAA0AQQMhAQwBC0EEIQELIABBADoAACAAIAE6AAELzAMBAX8jgICAgABBEGsiAySAgICAAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBemoOCAMHAAYFBwQBBwsCQCABKQAAQu/uuaum7te35gBRDQAgASkAAELh4MGT983dsOwAUg0CIABBgAI7AQAMDAsgAEEAOwEADAsLIAFBmYDAgABBDRC/hICAAEUNCCABQbCAwIAAQQ0Qv4SAgAANBSAAQYAKOwEADAoLIAEpAABC7szR+5XNm7PvAFINBCAAQYAMOwEADAkLIAFB0YDAgABBBhC/hICAAEUNBCABQeGAwIAAQQYQv4SAgAANAyAAQYAUOwEADAgLIAFBxYDAgABBDBC/hICAAA0CIABBgA47AQAMBwsgAUGmgMCAAEEKEL+EgIAARQ0DIAFB14DAgABBChC/hICAAA0BIABBgBI7AQAMBgsgAUGQgMCAAEEJEL+EgIAARQ0ECyADIAEgAkHogMCAAEELEOWAgIAAIABBAToAACAAQQxqIANBCGopAwA3AgAgAEEEaiADKQMANwIADAQLIABBgBA7AQAMAwsgAEGACDsBAAwCCyAAQYAGOwEADAELIABBgAQ7AQALIANBEGokgICAgAALlwIBAX8jgICAgABBgAFrIgUkgICAgAAgBSACNgIMIAUgATYCCCAFQRBqQRRqQQI2AgAgBUEoakEMakGIgICAADYCACAFQgI3AhQgBUGImsCAADYCECAFQYaAgIAANgIsIAUgBDYCPCAFIAM2AjggBSAFQShqNgIgIAUgBUE4ajYCMCAFIAVBCGo2AiggBUEANgJIIAVCATcDQCAFQdAAaiAFQcAAakGgjsCAABCfhICAAAJAIAVBEGogBUHQAGoQjYSAgABFDQBBuI7AgABBNyAFQfgAakGsl8CAAEG8j8CAABCOhICAAAALIAAgBSkDQDcCBCAAQRQ2AgAgAEEMaiAFQcgAaigCADYCACAFQYABaiSAgICAAAvaAgACQAJAAkACQAJAAkACQAJAAkAgAkF8ag4JBQcCAQAHBAMGBwsgASkAAELzyrmj9subs/QAUg0GIABBAToAASAAQQA6AAAPCyABQYuCwIAAQQcQv4SAgAANBSAAQQI6AAEgAEEAOgAADwsgAUGSgsCAAEEGEL+EgIAADQQgAEEDOgABIABBADoAAA8LIAFBmILAgAAgAhC/hICAAA0DIABBBDoAASAAQQA6AAAPCyABQaOCwIAAIAIQv4SAgAANAiAAQQU6AAEgAEEAOgAADwsCQCABQa2CwIAAIAIQv4SAgABFDQAgAUGxgsCAACACEL+EgIAADQIgAEEHOgABIABBADoAAA8LIABBBjoAASAAQQA6AAAPCyABQfeBwIAAQQwQv4SAgABFDQELIABBBGogASACQbiCwIAAQQgQ5YCAgAAgAEEBOgAADwsgAEEAOgABIABBADoAAAuiAQACQAJAAkACQAJAIAJBe2oOBQIDAAMBAwsgAUHojcCAAEEHEL+EgIAADQIgAEEBOgABIABBADoAAA8LIAFB343AgABBCRC/hICAAEUNAgwBCyABQf6IwIAAQQUQv4SAgAANACAAQQI6AAEgAEEAOgAADwsgAEEEaiABIAJB8I3AgABBAxDlgICAACAAQQE6AAAPCyAAQQA6AAEgAEEAOgAAC9uTAQUDfwF+DH8Cfgt/I4CAgIAAQeAGayICJICAgIAAIAJB+AVqIAEQ6YCAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAItAPgFDQAgAi0A+QUhAyACQfgFaiABEN6CgIAAAkAgAigC+AUiBEEVRg0AIAJBgAZqKQMAIQUgAigC/AUhAUEAIQMMAgsgAw4IAgkIBwYFBAMCCyACKAL8BSIEQYB+cSEDIAJBhAZqKQIAIQUgAkGABmooAgAhAQsgAEEBNgIAIABBDGogBTcCACAAQQhqIAE2AgAgACAEQf8BcSADcjYCBAwOCyACQTBqIAEQ4IKAgAACQCACLQAwQQFxDQBBBCEEDA0LAkAgAi0AMUH/AXFB+wBGDQBBDiEEDA0LIAEQ2YKAgAAgAkEoaiABENaCgIAAIAItACwhAyACQSBqIAIoAigiBhDggoCAAAJAIAItACBBAXENAEEAIQdBACEIQQIhBAwKCyACLQAhIQQgA0EBcSEDIAJB0ARqQQRyIQkgAkGIBWpBBHIhCiACQZAFaiELQQAhCEEAIQcDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIARB/wFxIgxBLEYNACAMQf0ARg0CIANB/wFxDQFBCSEEDBcLAkAgA0H/AXFFDQBBECEEDBcLIAYQ2YKAgAAgAkEYaiAGEOCCgIAAIAItABhBAXFFDRUgAi0AGSEECwJAIARB/wFxIgNBIkYNAEEQIQQCQCADQf0ARw0AQRMhBAsMFgsgAkEIaiAGEOCCgIAAIAItAAhBAXFFDRQCQCACLQAJQf8BcUEiRg0AQQ4hBAwWCyAGENmCgIAAIAJBiAVqIAYQ34KAgAAgAigCmAUhDSACKAKUBSEMIAIoApAFIQMgAigCjAUhBCACKAKIBQ0VAkAgBA0AIAxBeGoOAgQCCgtBAiEEAkACQAJAIA1BeGoOAgEAAgtBfkEAIANBgIXAgABBCRC/hICAABshBAwBC0EBQX4gAykAAEL03q2r5u3XtOQAURshBAsCQCAMRQ0AIANFDQAgAyAMQQEQg4GAgAALIARBHnRBHnVBAEgNCSAEQQNxDgICBAILAkAgCEUNACAHDQYgAkGIBWpBBHJB2IHAgABBCBCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGIBWpBCGooAgAhAyACKAKMBSEEIA5FDRggCCAOQQEQg4GAgAAMGAsgAkGIBWpBBHJBgIXAgABBCRCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGQBWooAgAhAyACKAKMBSEEDBILIANBgIXAgABBCRC/hICAAA0HCyAIRQ0CIAJBiAVqQYCFwIAAQQkQsICAgAAgAkGUBWooAgAhDSACQZAFaigCACEMIAIoAowFIQMgAigCiAUhBAwSCyADKQAAQvTeravm7de05ABSDQULAkAgB0UNACACQYgFakHYgcCAAEEIELCAgIAAIAJBlAVqKAIAIQ0gAkGIBWpBCGooAgAhDCACKAKMBSEDIAIoAogFIQQgDw0SDBMLIAJB0ARqIAYQ3oKAgAACQAJAIAIoAtAEIgRBFUYNACALIAkpAgA3AgAgC0EIaiAJQQhqKAIANgIADAELIAJBiAVqIAYQsYCAgAAgAigCiAVFDQQgAigCjAUhBAsgAkGYBWooAgAhDSACKAKUBSEMIAIoApAFIQMMEgsgAkHQBGogBhDegoCAAAJAAkAgAigC0AQiBEEVRg0AIAsgCSkCADcCACALQQhqIAlBCGooAgA2AgAMAQsgAkGIBWogBhCxgICAACACKAKIBUUNAiACKAKMBSEECyACQZgFaigCACENIAIoApQFIQwgAigCkAUhAwwNCyACQfgFakEYaiAQNgIAIAJB+AVqQRRqIA82AgAgAkH4BWpBEGogBzYCACACQfgFakEMaiIDIBE2AgAgAkH4BWpBCGogDjYCACACIAg2AvwFIAJBADYC+AUgAkGIBWogARDcgoCAAAJAIAIoAogFIgRBFUYNACACQYgFakEMaigCACENIAJBiAVqQQhqKAIAIQwgAigCjAUhAyACQfgFahDqgICAAAwSCyACQcAFakEMaiADKQIANwIAIAJBwAVqQRRqIANBCGopAgA3AgAgAkHcBWogA0EQaikCADcCACACQeQFaiADQRhqKQIANwIAIAJB7AVqIANBIGopAgA3AgAgAkH0BWogA0EoaigCADYCACACQcAFakEIaiAONgIAIAIgCDYCxAUgAkEANgLABSACQRBqIAEQ4IKAgAAC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aiANKQMAIhI3AwAgAkHQBGpBIGogCCkDACITNwMAIAJBmARqQQhqIgQgBikDADcDACACQZgEakEQaiIGIAU3AwAgAkGYBGpBGGoiDCASNwMAIAJBmARqQSBqIg0gEzcDACACQZgEakEoaiIIIAcpAwA3AwAgAkGYBGpBMGoiByADKQMANwMAIAIgAikDiAU3A5gEIAJB4ANqQTBqIAcpAwA3AwAgAkHgA2pBKGogCCkDADcDACACQeADakEgaiANKQMANwMAIAJB4ANqQRhqIAwpAwA3AwAgAkHgA2pBEGogBikDADcDACACQeADakEIaiAEKQMANwMAIAIgAikDmAQ3A+ADIAJBuANqIAEQ4IKAgAACQCACLQC4A0EBcUUNAAJAIAItALkDQf8BcUH9AEcNACABENmCgIAAIABBOGogAkHgA2pBMGopAwA3AwAgAEEwaiACQeADakEoaikDADcDACAAQShqIAJB4ANqQSBqKQMANwMAIABBIGogAkHgA2pBGGopAwA3AwAgAEEYaiACQeADakEQaikDADcDACAAQRBqIAJB4ANqQQhqKQMANwMAIABBCGogAikD4AM3AwAgAEEANgIADBgLIABBCzYCBCACQeADahDqgICAACAAQQE2AgAMFwsgAEKBgICAwAA3AwAgAkHgA2oQ6oCAgAAMFgsgAigCxAYhDyACKALABiEHIAIoArwGIQ0LIAJBqANqIAQQ4IKAgABBACEGIAItAKkDIQMgAi0AqANBAXENAAsLDAELQQQhDgsgAkGIBmogDDYCACACQYQGaiADNgIAIAJBgAZqIAY2AgAgAiAONgL8BQsgDUUNASAHRQ0BCyANIAdBARCDgYCAAAsgAkHQBGpBCGogAkGIBmooAgA2AgAgAiACQfgFakEIaikDADcD0AQgAigC/AUhBAsgAkGYBGpBCGogAkHQBGpBCGooAgAiATYCACACIAIpA9AEIgU3A5gEIABBEGogATYCACAAQQhqIAU3AgAgACAENgIEIABBATYCAAwMCyACQaADaiABEOCCgIAAAkACQCACLQCgA0EBcQ0AQQQhBAwBCwJAIAItAKEDQf8BcUH7AEYNAEEOIQQMAQsgARDZgoCAACACQZgDaiABENaCgIAAQQEhFCACKAKYAyEDIAIgAi0AnANBAXEiBzoAjAUgAiADNgKIBSAC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AkGIBWpBCGooAgAhDCACKAKMBSEGIAJB+AVqEOqAgIAADAgLIAJBwAVqQQxqIAMpAgA3AgAgAkHUBWogA0EIaikCADcCACACQdwFaiADQRBqKQIANwIAIAJB5AVqIANBGGopAgA3AgAgAkHsBWogA0EgaikCADcCACACQfQFaiADQShqKAIANgIAIAJBwAVqQQhqIAc2AgAgAiAINgLEBSACQQQ2AsAFIAJBiAJqIAEQ4IKAgAACQCACLQCIAkEBcUUNAAJAIAItAIkCQf8BcUH9AEcNACABENmCgIAAIABBOGogAkHABWpBMGopAwA3AwAgAEEwaiACQcAFakEoaikDADcDACAAQShqIAJBwAVqQSBqKQMANwMAIABBIGogAkHABWpBGGopAwA3AwAgAEEYaiACQcAFakEQaikDADcDACAAQRBqIAJBwAVqQQhqKQMANwMAIABBCGogAikDwAU3AwAgAEEANgIADBMLIABBCzYCBCACQcAFahDqgICAACAAQQE2AgAMEgsgAEKBgICAwAA3AwAgAkHABWoQ6oCAgAAMEQsgAigClAUhDiACKAKQBSEHIAIoAowFIQgMAQsgAkGIBWogAxDegoCAAAJAAkAgAigCiAUiBEEVRg0AIA8gESkCADcCACAPQQhqIBFBCGooAgA2AgAMAQsgAkHQBGogAxCygICAACACKALQBCIEQRVGDQELIAJB3ARqKAIAIQ0gAkHYBGooAgAhDCACKALUBCEGDAQLIAJB8AFqIAMQ4IKAgABBACEGIAItAPEBIQQgAi0A8AFBAXENAAtBAiEEDAILQQQhBAsLIAhFDQAgB0UNACAIIAdBARCDgYCAAAsgACAENgIEIABBATYCACAAQRBqIA02AgAgAEEMaiAMNgIAIABBCGogBjYCAAwJCyACQegBaiABEOCCgIAAAkACQCACLQDoAUEBcQ0AQQQhBAwBCwJAIAItAOkBQf8BcUH7AEYNAEEOIQQMAQsgARDZgoCAACACQeABaiABENaCgIAAIAItAOQBIQMgAkHYAWogAigC4AEiBhDggoCAAAJAAkACQAJAIAItANgBQQFxDQBBACEHQQAhCEECIQQMAQsgAi0A2QEhBCADQQFxIQMgAkHQBGpBBHIhCSACQYgFakEEciEKIAJBkAVqIQtBACEIQQAhBwJAAkADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIARB/wFxIgxBLEYNACAMQf0ARg0CIANB/wFxDQFBCSEEDBALAkAgA0H/AXFFDQBBECEEDBALIAYQ2YKAgAAgAkHQAWogBhDggoCAACACLQDQAUEBcUUNDiACLQDRASEECwJAIARB/wFxIgNBIkYNAEEQIQQCQCADQf0ARw0AQRMhBAsMDwsgAkHAAWogBhDggoCAACACLQDAAUEBcUUNDQJAIAItAMEBQf8BcUEiRg0AQQ4hBAwPCyAGENmCgIAAIAJBiAVqIAYQ34KAgAAgAigCmAUhDSACKAKUBSEMIAIoApAFIQMgAigCjAUhBCACKAKIBQ0OAkAgBA0AIAxBeWoOAgIECgtBAiEEAkACQAJAIA1BeWoOAgABAgtBfkEAIANBkoPAgABBBxC/hICAABshBAwBC0EBQX4gAykAAEL03q2r5u3XtOQAURshBAsCQCAMRQ0AIANFDQAgAyAMQQEQg4GAgAALIARBHnRBHnVBAEgNCSAEQQNxDgICBAILAkAgCEUNACAHDQYgAkGIBWpBBHJB2IHAgABBCBCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGIBWpBCGooAgAhAyACKAKMBSEEIA5FDREgCCAOQQEQg4GAgAAMEQsgAkGIBWpBBHJBkoPAgABBBxCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGQBWooAgAhAyACKAKMBSEEDAsLIANBkoPAgABBBxC/hICAAA0HCyAIRQ0CIAJBiAVqQZKDwIAAQQcQsICAgAAgAkGUBWooAgAhDSACQZAFaigCACEMIAIoAowFIQMgAigCiAUhBAwLCyADKQAAQvTeravm7de05ABSDQULAkAgB0UNACACQYgFakHYgcCAAEEIELCAgIAAIAJBlAVqKAIAIQ0gAkGIBWpBCGooAgAhDCACKAKMBSEDIAIoAogFIQQgDw0LDAwLIAJB0ARqIAYQ3oKAgAACQAJAIAIoAtAEIgRBFUYNACALIAkpAgA3AgAgC0EIaiAJQQhqKAIANgIADAELIAJBiAVqIAYQsYCAgAAgAigCiAVFDQQgAigCjAUhBAsgAkGYBWooAgAhDSACKAKUBSEMIAIoApAFIQMMCwsgAkHQBGogBhDegoCAAAJAAkAgAigC0AQiBEEVRg0AIAsgCSkCADcCACALQQhqIAlBCGooAgA2AgAMAQsgAkGIBWogBhCxgICAACACKAKIBUUNAiACKAKMBSEECyACQZgFaigCACENIAIoApQFIQwgAigCkAUhAwwGCyACQfgFakEYaiAQNgIAIAJB+AVqQRRqIA82AgAgAkH4BWpBEGogBzYCACACQfgFakEMaiIDIBE2AgAgAkH4BWpBCGogDjYCACACIAg2AvwFIAJBAzYC+AUgAkGIBWogARDcgoCAAAJAIAIoAogFIgRBFUYNACACQYgFakEMaigCACENIAJBiAVqQQhqKAIAIQwgAigCjAUhAyACQfgFahDqgICAAAwLCyACQcAFakEMaiADKQIANwIAIAJBwAVqQRRqIANBCGopAgA3AgAgAkHcBWogA0EQaikCADcCACACQeQFaiADQRhqKQIANwIAIAJB7AVqIANBIGopAgA3AgAgAkH0BWogA0EoaigCADYCACACQcAFakEIaiAONgIAIAIgCDYCxAUgAkEDNgLABSACQcgBaiABEOCCgIAAAkAgAi0AyAFBAXFFDQACQCACLQDJAUH/AXFB/QBHDQAgARDZgoCAACAAQThqIAJBwAVqQTBqKQMANwMAIABBMGogAkHABWpBKGopAwA3AwAgAEEoaiACQcAFakEgaikDADcDACAAQSBqIAJBwAVqQRhqKQMANwMAIABBGGogAkHABWpBEGopAwA3AwAgAEEQaiACQcAFakEIaikDADcDACAAQQhqIAIpA8AFNwMAIABBADYCAAwVCyAAQQs2AgQgAkHABWoQ6oCAgAAgAEEBNgIADBQLIABCgYCAgMAANwMAIAJBwAVqEOqAgIAADBMLIAIoApQFIREgAigCkAUhDiACKAKMBSEIDAILIAIoApQFIRAgAigCkAUhDyACKAKMBSEHDAELIAJBiAVqIAYQ3oKAgAACQAJAIAIoAogFIgRBFUYNACAJIAopAgA3AgAgCUEIaiAKQQhqKAIANgIADAELIAJB0ARqIAYQsoCAgAAgAigC0AQiBEEVRg0BCyACQdwEaigCACENIAJB2ARqKAIAIQwgAigC1AQhAwwECyACQbgBaiAGEOCCgIAAQQAhAyACLQC5ASEEIAItALgBQQFxDQALQQIhBAwCC0EAIQgMAQtBBCEECyAHRQ0BIA9FDQELIAcgD0EB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DCACKAKMBSEDIAJB+AVqEOqAgIAADAoLIAJBwAVqQQxqIAMpAgA3AgAgAkHABWpBFGogA0EIaikCADcCACACQdwFaiADQRBqKQIANwIAIAJB5AVqIANBGGopAgA3AgAgAkHsBWogA0EgaikCADcCACACQfQFaiADQShqKAIANgIAIAJBwAVqQQhqIA42AgAgAiAINgLEBSACQQI2AsAFIAJBkAFqIAEQ4IKAgAACQCACLQCQAUEBcUUNAAJAIAItAJEBQf8BcUH9AEcNACABENmCgIAAIABBOGogAkHABWpBMGopAwA3AwAgAEEwaiACQcAFakEoaikDADcDACAAQShqIAJBwAVqQSBqKQMANwMAIABBIGogAkHABWpBGGopAwA3AwAgAEEYaiACQcAFakEQaikDADcDACAAQRBqIAJBwAVqQQhqKQMANwMAIABBCGogAikDwAU3AwAgAEEANgIADBMLIABBCzYCBCACQcAFahDqgICAACAAQQE2AgAMEgsgAEKBgICAwAA3AwAgAkHABWoQ6oCAgAAMEQsgAigClAUhESACKAKQBSEOIAIoAowFIQgMAgsgAigClAUhECACKAKQBSEPIAIoAowFIQcMAQsgAkGIBWogBhDegoCAAAJAAkAgAigCiAUiBEEVRg0AIAkgCikCADcCACAJQQhqIApBCGooAgA2AgAMAQsgAkHQBGogBhCygICAACACKALQBCIEQRVGDQELIAJB3ARqKAIAIQ0gAkHYBGooAgAhDCACKALUBCEDDAQLIAJB+ABqIAYQ4IKAgABBACEDIAItAHkhBCACLQB4QQFxDQALQQIhBAwCC0EAIQgMAQtBBCEECyAHRQ0AIA9FDQAgByAPQQEQg4GAgAALIAhFDQAgDkUNACAIIA5BARCDgYCAAAsgACAENgIEIABBATYCACAAQRBqIA02AgAgAEEMaiAMNgIAIABBCGogAzYCAAwHCyACQfAAaiABEOCCgIAAAkACQCACLQBwQQFxDQBBBCEEDAELAkAgAi0AcUH/AXFB+wBGDQBBDiEEDAELIAEQ2YKAgAAgAkHoAGogARDWgoCAACACLQBsIQMgAkHgAGogAigCaCIGEOCCgIAAQQEhCQJAAkACQAJAAkACQCACLQBgQQFxDQBBACEOQQAhB0EAIQgMAQsgAi0AYSEEIANBAXEhAyACQdAEakEEciEUIAJBiAVqQQRyIRkgAkGIBWpBCGohGiACQdAEakEIaiEbQQAhCEEAIQdBACEOA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBEH/AXEiDEEsRg0AIAxB/QBGDQIgA0H/AXENAUEJIQQMGAsCQCADQf8BcUUNAEEQIQQMGAsgBhDZgoCAACACQdgAaiAGEOCCgIAAIAItAFhBAXFFDRYgAi0AWSEECwJAIARB/wFxIgNBIkYNAEEQIQQCQCADQf0ARw0AQRMhBAsMFwsgAkHIAGogBhDggoCAACACLQBIQQFxRQ0VAkAgAi0ASUH/AXFBIkYNAEEOIQQMFwsgBhDZgoCAACACQYgFaiAGEN+CgIAAIAIoApgFIQ0gAigClAUhDCACKAKQBSEDIAIoAowFIQQgAigCiAUNFgJAIAQNAAJAIAxBfWoOBgMPDw8PAA8LIAMpAABC4965o6eu2LH0AFENBCADKQAAQvTeravm7de05ABSDQ4MDwsCQAJAAkACQCANQX1qDgYBAgICAgACCwJAIAMpAABC4965o6eu2LH0AFINAEEAIQQMAwsgAykAAEL03q2r5u3XtOQAUg0BQQEhBAwCCyADQcWIwIAAQQMQv4SAgAANAEECIQQMAQtBAyEECwJAIAxFDQAgA0UNACADIAxBARCDgYCAAAsgBA4DAw4CDQsgCEUNBAJAAkAgB0UNACAODQUgAkGIBWpBBHJBxYjAgABBAxCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGQBWooAgAhAyACKAKMBSEEQQAhCSARRQ0BIAcgEUEBEIOBgIAADAELIAJBiAVqQQRyQdiBwIAAQQgQr4CAgAAgAkGYBWooAgAhDSACQZQFaigCACEMIAJBiAVqQQhqKAIAIQMgAigCjAUhBEEBIQkLQQAhAQJAIA8NAEEAIQ8gDg0XDBgLIAggD0EBEIOBgIAAIA4NFgwXCyADQcWIwIAAQQMQv4SAgAANCwsCQCAORQ0AIAJBiAVqQcWIwIAAQQMQsICAgAAgAkGUBWooAgAhDSACQZAFaigCACEMIAIoAowFIQMgAigCiAUhBEEBIQFBASEJDBULIAJBiAVqIAYQ3oKAgAAgAigCiAUiBEEVRw0EIAJBwABqIAYQ4IKAgAACQCACLQBAQQFxDQBBBCEEDAoLAkAgAi0AQUH/AXFBIkYNAEEOIQQMCgsgBhDZgoCAACACQYgFaiAGEN+CgIAAIAIoApgFIQ0gAigClAUhAyACKAKQBSEMIAIoAowFIQQgAigCiAUNAwJAAkAgBA0AIAJB0ARqIAwgAxDrgICAAAwBCyACQdAEaiAMIA0Q64CAgAAgA0UNACAMIANBARCDgYCAAAsCQCACKALQBA0AIAIoAtwEIQogAigC2AQhECACKALUBCEODBALIAIoAtQEIQQMCQsgCEUNBSACQYgFakGbhsCAAEEIELCAgIAAIAJBlAVqKAIAIQ0gAkGIBWpBCGooAgAhDAwLCyACQfgFakEkaiAKNgIAIAJB+AVqQSBqIBA2AgAgAkH4BWpBHGogDjYCACACQfgFakEYaiAYNgIAIAJB+AVqQRRqIBE2AgAgAkH4BWpBEGogBzYCACACQfgFakEMaiIDIAs2AgAgAkH4BWpBCGogDzYCACACIAg2AvwFIAJBATYC+AUgAkGIBWogARDcgoCAAAJAIAIoAogFIgRBFUYNACACQYgFakEMaigCACENIAJBiAVqQQhqKAIAIQwgAigCjAUhAyACQfgFahDqgICAAAwVCyACQcAFakEMaiADKQIANwIAIAJBwAVqQRRqIANBCGopAgA3AgAgAkHABWpBHGogA0EQaikCADcCACACQcAFakEkaiADQRhqKQIANwIAIAJB7AVqIANBIGopAgA3AgAgAkH0BWogA0EoaigCADYCACACQcAFakEIaiAPNgIAIAIgCDYCxAUgAkEBNgLABSACQdAAaiABEOCCgIAAIAItAFBBAXFFDQMCQCACLQBRQf8BcUH9AEcNACABENmCgIAAIABBOGogAkHABWpBMGopAwA3AwAgAEEwaiACQcAFakEoaikDADcDACAAQShqIAJBwAVqQSBqKQMANwMAIABBIGogAkHABWpBGGopAwA3AwAgAEEYaiACQcAFakEQaikDADcDACAAQRBqIAJBwAVqQQhqKQMANwMAIABBCGogAikDwAU3AwAgAEEANgIADBwLIABBCzYCBCACQcAFahDqgICAACAAQQE2AgAMGwsgAkGIBWpBBHJBm4bAgABBCBCvgICAACACQZgFaigCACENIAJBlAVqKAIAIQwgAkGIBWpBCGooAgAhAyACKAKMBSEEDAQLIAIgDTYC4AQgAiADNgLcBCACIAw2AtgEIAIgBDYC1AQMBQsgGyAZKQIANwIAIBtBCGogGUEIaigCADYCAAwECyAAQoGAgIDAADcDACACQcAFahDqgICAAAwXCyACQdAEaiAGEN6CgIAAAkACQCACKALQBCIEQRVGDQAgGiAUKQIANwIAIBpBCGogFEEIaigCADYCAAwBCyACQYgFaiAGELGAgIAAIAIoAogFRQ0CIAIoAowFIQQLIAJBmAVqKAIAIQ0gAigClAUhDCACKAKQBSEDC0EBIQlBACEIQQEhASAODQwMDQsgAigClAUhCyACKAKQBSEPIAIoAowFIQgMBgsgAigC4AQhDSACKALcBCEMIAIoAtgEIQNBASEBQQEhCQwLCyACQYgFaiAGEN6CgIAAAkACQCACKAKIBSIEQRVGDQAgFCAZKQIANwIAIBRBCGogGUEIaigCADYCAAwBCyACQdAEaiAGELKAgIAAIAIoAtAEIgRBFUYNBQsgAkHcBGooAgAhDSACQdgEaigCACEMIAIoAtQEIQMMAgsgB0UNAiACQYgFakHYgcCAAEEIELCAgIAAIAJBlAVqKAIAIQ0gAkGIBWpBCGooAgAhDAsgAigCjAUhAyACKAKIBSEEC0EBIQlBASEBIA4NBgwHCyACQdAEaiAGEN6CgIAAAkACQAJAIAIoAtAEIgRBFUYNACAaIBQpAgA3AgAgGkEIaiAUQQhqKAIANgIADAELIAJBiAVqIAYQsYCAgAAgAigCiAVFDQEgAigCjAUhBAsgAkGYBWooAgAhDSACKAKUBSEMIAIoApAFIQNBASEJQQAhB0EBIQEgDg0GDAcLIAIoApQFIRggAigCkAUhESACKAKMBSEHCyACQThqIAYQ4IKAgABBACEDIAItADkhBCACLQA4QQFxDQALC0ECIQQMAQtBBCEEC0EBIQEgDkUNAQsgEEUNACAOIBBBARCDgYCAAAsCQCAHRQ0AIAlFDQAgEUUNACAHIBFBARCDgYCAAAsgCEEARyABcUEBRw0AIA9FDQAgCCAPQQEQg4GAgAALIAAgBDYCBCAAQQE2AgAgAEEQaiANNgIAIABBDGogDDYCACAAQQhqIAM2AgAMBgtBACEIDAELQQQhBAsgB0UNASAPRQ0BCyAHIA9BARCDgYCAAAsgCEUNACAORQ0AIAggDkEBEIOBgIAACyAAIAQ2AgQgAEEBNgIAIABBEGogDTYCACAAQQxqIAw2AgAgAEEIaiADNgIACyACQeAGaiSAgICAAAuiAgEEfyOAgICAAEEgayICJICAgIAAIAIgARDggoCAAAJAAkACQAJAIAItAABBAXFFDQAgAi0AAUH/AXFBIkcNASABENmCgIAAIAJBCGogARDfgoCAACACQQhqQRBqKAIAIQMgAkEIakEMaigCACEBIAJBCGpBCGooAgAhBCACKAIMIQUgAigCCA0CAkAgBQ0AIAAgBCABEOaAgIAADAQLIAAgBCADEOaAgIAAIAFFDQMgBCABQQEQg4GAgAAMAwsgAEEBOgAAIABBBGpBBDYCAAwCCyAAQQE6AAAgAEEEakEONgIADAELIABBAToAACAAQRBqIAM2AgAgAEEMaiABNgIAIABBCGogBDYCACAAQQRqIAU2AgALIAJBIGokgICAgAALlwQBAn8CQAJAAkACQAJAAkACQAJAAkAgACgCAA4HAQIDBAUGBwALIABBCGooAgAiAUUNByAAQQRqKAIAIgBFDQcgACABQQEQg4GAgAAPCwJAIABBCGooAgAiAUUNACAAQQRqKAIAIgJFDQAgAiABQQEQg4GAgAALIABBFGooAgAiAUUNBiAAQRBqKAIAIgBFDQYgACABQQEQg4GAgAAPCwJAIABBCGooAgAiAUUNACAAQQRqKAIAIgJFDQAgAiABQQEQg4GAgAALAkAgAEEUaigCACIBRQ0AIABBEGooAgAiAkUNACACIAFBARCDgYCAAAsgAEEgaigCACIBRQ0FIABBHGooAgAiAEUNBSAAIAFBARCDgYCAAA8LAkAgAEEIaigCACIBRQ0AIABBBGooAgAiAkUNACACIAFBARCDgYCAAAsgAEEUaigCACIBRQ0EIABBEGooAgAiAEUNBCAAIAFBARCDgYCAAA8LAkAgAEEIaigCACIBRQ0AIABBBGooAgAiAkUNACACIAFBARCDgYCAAAsgAEEUaigCACIBRQ0DIABBEGooAgAiAEUNAyAAIAFBARCDgYCAAA8LIABBCGooAgAiAUUNAiAAQQRqKAIAIgBFDQIgACABQQEQg4GAgAAPCyAAQQhqKAIAIgFFDQEgAEEEaigCACIARQ0BIAAgAUEBEIOBgIAADwsgAEEEahDugICAAAsLsQIBAX8jgICAgABB4ABrIgMkgICAgAAgAyACNgIEIAMgATYCACADQQhqIAEgAhCugoCAAAJAAkAgAygCCA0AIAAgAykCDDcCBCAAQQA2AgAgAEEMaiADQQhqQQxqKAIANgIADAELIANBwABqQRRqQQE2AgAgA0IBNwJEIANBqJrAgAA2AkAgA0GGgICAADYCXCADIANB2ABqNgJQIAMgAzYCWCADQTBqIANBwABqEOCDgIAAIANBwABqQQRyIANBMGoQ4oOAgAAgA0EUNgJAAkAgAygCNCIBRQ0AIAMoAjAiAkUNACACIAFBARCDgYCAAAsgACADKQNANwIEIABBATYCACAAQQxqIANBwABqQQhqKQMANwIAIANBCGpBCGoQl4CAgAALIANB4ABqJICAgIAACxQAIAAoAgAgACgCBCABEKmEgIAAC3EBAX8jgICAgABBIGsiAiSAgICAACACIAA2AgQgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGUl8CAACACQQhqEP2DgIAAIQEgAkEgaiSAgICAACABC6oBAQJ/AkAgAEEEaigCACIBRQ0AIAAoAgAiAkUNACACIAFBARCDgYCAAAsCQCAAQRBqKAIAIgFFDQAgAEEMaigCACICRQ0AIAIgAUEBEIOBgIAACwJAIAAoAhgiAUUNACAAQRxqKAIAIgJFDQAgASACQQEQg4GAgAALAkAgACgCJEUNACAAQShqKAIAIgFFDQAgAEEsaigCACIARQ0AIAEgAEEBEIOBgIAACwsCAAtlAQJ/IAAoAgAgACgCBCgCABGCgICAAAACQCAAKAIEIgEoAgQiAkUNACAAKAIAIAIgASgCCBCDgYCAAAsCQCAAQRhqKAIAIgFFDQAgAEEUaigCACIARQ0AIAAgAUEBEIOBgIAACwsqAQF/AkAgAEEEaigCACIBRQ0AIAAoAgAiAEUNACAAIAFBARCDgYCAAAsLvQMDCX8BfgJ/I4CAgIAAQYABayIDJICAgIAAAkACQCACDQBBACEBQQAhBAwBCyABQRxqKAIAIQUgAUEUaigCACEGIAFBEGooAgAhByABQQxqKAIAIQggAUEIaigCACEJIANBCGohBCABKAIAIQogASgCBCgCDCELQQAhAQJAA0AgA0HQAGogCiALEYCAgIAAACADKAJQRQ0BIANB6ABqQRBqIANB0ABqQRBqKQMANwMAIANB6ABqQQhqIANB0ABqQQhqKQMANwMAIAMgAykDUDcDaCADQShqIAggByAGIAUgA0HoAGogCRGBgICAAAAgAykDKEICUQ0BIAFBAWohASADQSBqIANBKGpBIGopAwA3AwAgA0EYaiADQShqQRhqKQMANwMAIANBEGogA0EoakEQaikDADcDACAEIANBKGpBCGopAwA3AwAgAyADKQMoIgw3AwACQAJAIAxCAFINACADKAIMIg1FDQEgAygCCCIORQ0BIA4gDUEBEIOBgIAADAELIAQQl4CAgAALIAIgAUcNAAtBACEEIAIhAQwBC0EBIQQLIAAgATYCBCAAIAQ2AgAgA0GAAWokgICAgAALxwQDCX8BfgJ/I4CAgIAAQYABayIDJICAgIAAAkACQAJAAkAgAg0AIAEoAgAhBCABKAIEKAIMIQUMAQsgAUEcaigCACEGIAFBFGooAgAhByABQRBqKAIAIQggAUEMaigCACEJIAFBCGooAgAhCiADQQhqIQsgASgCACEEIAEoAgQoAgwhBQNAIANB0ABqIAQgBRGAgICAAAAgAygCUEUNAiADQegAakEQaiADQdAAakEQaikDADcDACADQegAakEIaiADQdAAakEIaikDADcDACADIAMpA1A3A2ggA0EoaiAJIAggByAGIANB6ABqIAoRgYCAgAAAIAMpAyhCAlENAiADQSBqIANBKGpBIGopAwA3AwAgA0EYaiADQShqQRhqKQMANwMAIANBEGogA0EoakEQaikDADcDACALIANBKGpBCGopAwA3AwAgAyADKQMoIgw3AwACQAJAIAxCAFINACADKAIMIg1FDQEgAygCCCIORQ0BIA4gDUEBEIOBgIAADAELIAsQl4CAgAALIAJBf2oiAg0ACwsgAyAEIAURgICAgAAAAkAgAygCAA0AIABCAjcDAAwCCyABQRxqKAIAIQIgAUEUaigCACELIAFBEGooAgAhBCABQQxqKAIAIQUgAUEIaigCACEBIANBKGpBEGogA0EQaikDADcDACADQShqQQhqIANBCGopAwA3AwAgAyADKQMANwMoIAAgBSAEIAsgAiADQShqIAERgYCAgAAADAELIABCAjcDAAsgA0GAAWokgICAgAALEgAgACgCACABEPWAgIAAGkEAC/cCAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQAJAIAFBgAFJDQAgAkEANgIMIAFBgBBJDQEgAUGAgARPDQIgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAyEBDAMLAkAgACgCCCIDIABBBGooAgBHDQAgACADEI+AgIAAIAAoAgghAwsgACADQQFqNgIIIAAoAgAgA2ogAToAAAwDCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAiEBDAELIAIgAUE/cUGAAXI6AA8gAiABQRJ2QfABcjoADCACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA1BBCEBCwJAIABBBGooAgAgAEEIaiIEKAIAIgNrIAFPDQAgACADIAEQkICAgAAgBCgCACEDCyAAKAIAIANqIAJBDGogARDAhICAABogBCADIAFqNgIACyACQRBqJICAgIAAQQALdAEBfyOAgICAAEEgayICJICAgIAAIAIgACgCADYCBCACQQhqQRBqIAFBEGopAgA3AwAgAkEIakEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQZSXwIAAIAJBCGoQ/YOAgAAhASACQSBqJICAgIAAIAELWAECfwJAIAAoAgAiA0EEaigCACADQQhqIgQoAgAiAGsgAk8NACADIAAgAhCQgICAACAEKAIAIQALIAMoAgAgAGogASACEMCEgIAAGiAEIAAgAmo2AgBBAAtTAQJ/AkAgAEEEaigCACAAQQhqIgMoAgAiBGsgAk8NACAAIAQgAhCQgICAACADKAIAIQQLIAAoAgAgBGogASACEMCEgIAAGiADIAQgAmo2AgBBAAu1AQECfwJAAkACQAJAAkACQAJAAkACQCACRQ0AQQEhBCABQQBIDQEgAygCACIFRQ0CIAMoAgQiAw0FIAENAyACIQMMBAsgACABNgIEQQEhBAtBACEBDAYLIAENACACIQMMAQsgASACEIKBgIAAIQMLIANFDQEMAgsgBSADIAIgARCEgYCAACIDDQELIAAgATYCBCACIQEMAQsgACADNgIEQQAhBAsgACAENgIAIABBCGogATYCAAvMBAEGfyOAgICAAEHQAGsiAySAgICAACADQSBqIAEQ4IKAgAACQAJAAkAgAy0AIEEBcUUNACADLQAhIQQgA0EoakEEciEFIANBOGpBBHIhBgJAA0ACQAJAAkACQCAEQf8BcSIHQSxGDQAgB0H9AEYNAiACQf8BcQ0BQQkhBAwHCwJAIAJB/wFxRQ0AQRAhBAwHCyABENmCgIAAIANBGGogARDggoCAACADLQAYQQFxRQ0EIAMtABkhBAsCQCAEQf8BcSIIQSJGDQBBECEEIAhB/QBHDQZBEyEEDAYLIANBEGogARDggoCAACADLQAQQQFxRQ0DAkAgAy0AEUH/AXFBIkYNAEEOIQQMBgsgARDZgoCAACADQThqIAEQ34KAgAAgAygCRCECIAMoAkAhByADKAI8IQQCQCADKAI4DQAgBEUNAiACRQ0CIAdFDQIgByACQQEQg4GAgAAMAgsgBEEVRg0BIAMoAkghAQwFCyAAQRU2AgAMBQsgA0E4aiABEN6CgIAAAkACQAJAIAMoAjgiBEEVRg0AIAUgBikCADcCACAFQQhqIAZBCGooAgA2AgAMAQsgA0EoaiABELKAgIAAIAMoAigiBEEVRg0BCyADQTRqKAIAIQEgA0EwaigCACECIAMoAiwhBwwECyADQQhqIAEQ4IKAgABBACECIAMtAAkhBCADLQAIQQFxRQ0CDAALC0EEIQQMAQtBAiEECyAAIAc2AgQgACAENgIAIABBDGogATYCACAAQQhqIAI2AgALIANB0ABqJICAgIAAC9ICAQZ/I4CAgIAAQTBrIgMkgICAgAAgA0EYaiABEOCCgIAAQQEhBAJAAkACQCADLQAYQQFxDQAMAQsgAy0AGSEFA0ACQAJAAkAgBUH/AXEiBEEsRg0AIARB3QBGDQECQCACQf8BcUUNAEEAIQIMAwtBByEEDAQLIAEQ2YKAgAAgA0EQaiABEOCCgIAAAkAgAy0AEEEBcQ0AQQQhBAwECyADLQARIQUMAQsgAEEVNgIADAMLAkAgBUH/AXFB3QBHDQBBEyEEDAILIANBIGogARCygICAAAJAIAMoAiAiBEEVRg0AIANBLGooAgAhBiADQShqKAIAIQcgAygCJCEIDAILIANBCGogARDggoCAAEEBIQQgAy0ACSEFIAMtAAhBAXENAAsLIAAgCDYCBCAAIAQ2AgAgAEEMaiAGNgIAIABBCGogBzYCAAsgA0EwaiSAgICAAAu2AgEBfyOAgICAAEHgAGsiAySAgICAACADIAI2AgwgAyABNgIIIANBEGogASACELGEgIAAAkACQCADLQAQDQAgAEEANgIAIABBCGogAykDGDcDAAwBCyADIAMtABE6ACcgA0E4akEUakECNgIAIANB0ABqQQxqQYeAgIAANgIAIANCAjcCPCADQcSawIAANgI4IANBhoCAgAA2AlQgAyADQdAAajYCSCADIANBJ2o2AlggAyADQQhqNgJQIANBKGogA0E4ahDgg4CAACADQThqQQRyIANBKGoQ4oOAgAAgA0EUNgI4AkAgAygCLCIBRQ0AIAMoAigiAkUNACACIAFBARCDgYCAAAsgACADKQM4NwIEIABBATYCACAAQQxqIANBwABqKQMANwIACyADQeAAaiSAgICAAAuiAgEEfyOAgICAAEEgayICJICAgIAAIAIgARDggoCAAAJAAkACQAJAIAItAABBAXFFDQAgAi0AAUH/AXFBIkcNASABENmCgIAAIAJBCGogARDfgoCAACACQQhqQRBqKAIAIQMgAkEIakEMaigCACEBIAJBCGpBCGooAgAhBCACKAIMIQUgAigCCA0CAkAgBQ0AIAAgBCABEOeAgIAADAQLIAAgBCADEOeAgIAAIAFFDQMgBCABQQEQg4GAgAAMAwsgAEEBOgAAIABBBGpBBDYCAAwCCyAAQQE6AAAgAEEEakEONgIADAELIABBAToAACAAQRBqIAM2AgAgAEEMaiABNgIAIABBCGogBDYCACAAQQRqIAU2AgALIAJBIGokgICAgAALjxUDFn8BfgJ/I4CAgIAAQaABayIFJICAgIAAIARBIGooAgAhBiAEQRxqKAIAIQcgBEEUaigCACEIIARBEGooAgAhCSADQRRqKAIAIQogA0EQaigCACELIAJBLGooAgAhDCACQRRqKAIAIQ0gAUEMaigCACEOIAQoAhghDyAEKAIMIRAgBCgCCCERIAQoAgQhEiAEKAIAIRMgAygCDCEUIAMoAgQhFSADKAIAIRYgAigCKCEXIAIoAhAhAiABKAIIIRggASgCBCEZIAEoAgAhGgJAAkACQAJAAkACQEEUQQEQgoGAgAAiBEUNACAEQRBqQQAoAJmFwIAANgAAIARBCGpBACkAkYXAgAA3AAAgBEEAKQCJhcCAADcAAEEGQQEQgoGAgAAiA0UNASADQQRq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IAEoAgAhCyADQbQCaigCACEMIAIoAgAhDSADQaACakEMaigCACEOIAMoAqgCIQ8gAygCpAIhECADQeADaiADKAKQASIRIAMoApgBENiCgIAAIANBMGogA0HgA2oQ4IKAgAAgAy0AMEEBcQ0BQQQhAgwICyADQeADakEYaiADQcACaikDADcDACADQeADakEQaiADQaACakEYaikDADcDACADQeADakEIaiADQaACakEQaikDADcDACADIAMpA6gCNwPgAyADQQA2AsgBIANCATcDwAEgA0HoAWogA0HAAWpBoI7AgAAQn4SAgAAgA0HgA2ogA0HoAWoQ1oGAgAANASADQcQAaiADQcABakEIaigCADYCACADIAMpA8ABNwI8IANBATYCOCADQeADahCXgICAAAwJCwJAIAMtADFB/wFxQfsARg0AQQ4hAgwHCyADQeADahDZgoCAACADQShqIANB4ANqENaCgIAAIAMtACwhASADQSBqIAMoAigiABDggoCAAEEBIRICQAJAIAMtACBBAXENAEEAIRNBACEUQQAhFQwBCyADLQAhIQIgAUEBcSEBIANBOGpBBHIhFiADQegBakEEciEXIANB8AFqIRhBACEVQQAhFEEAIRMDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkH/AXEiGUEsRg0AIBlB/QBGDQIgAUH/AXENAUEJIQIMGQsCQCABQf8BcUUNAEEQIQIMGQsgABDZgoCAACADQRhqIAAQ4IKAgAAgAy0AGEEBcUUNFyADLQAZIQILAkAgAkH/AXEiAUEiRg0AQRAhAgJAIAFB/QBHDQBBEyECCwwYCyADQRBqIAAQ4IKAgAAgAy0AEEEBcUUNFgJAIAMtABFB/wFxQSJGDQBBDiECDBgLIAAQ2YKAgAAgA0HoAWogABDfgoCAACADKAL4ASEaIAMoAvQBIRkgAygC8AEhASADKALsASECIAMoAugBDRcCQCACDQACQCAZQXxqDgMDEAAQCyABQdKBwIAAQQYQv4SAgABFDQQgAUHhgMCAAEEGEL+EgIAADQ8MEQtBAyECAkACQAJAIBpBfGoOAwACAQILQX9BACABKAAAQe7CtasGRxshAgwBCwJAIAFB0oHAgABBBhC/hICAAA0AQQEhAgwBC0F/QX4gAUHhgMCAAEEGEL+EgIAAGyECCwJAIBlFDQAgAUUNACABIBlBARCDgYCAAAsgAkEDcSICQQNGDQ4gAg4DAgMQAgsgFUUNBgJAAkAgFEUNACATDQcgA0HoAWpBBHJB4YDAgABBBhCvgICAACADQfgBaigCACEaIANB9AFqKAIAIRkgA0HwAWooAgAhASADKALsASECQQAhEiAbRQ0BIBQgG0EBEIOBgIAADAELIANB6AFqQQRyQdKBwIAAQQYQr4CAgAAgA0H4AWooAgAhGiADQfQBaigCACEZIANB8AFqKAIAIQEgAygC7AEhAkEBIRILQQAhAAJAIBwNAEEAIRwgEw0YDBkLIBUgHEEBEIOBgIAAIBMNFwwYCyABKAAAQe7CtasGRw0MCyAVRQ0CIANB6AFqQc6BwIAAQQQQsICAgAAgA0H0AWooAgAhGiADQfABaigCACEZDAELIBRFDQkgA0HoAWpB0oHAgABBBhCwgICAACADQfQBaigCACEaIANB8AFqKAIAIRkLIAMoAuwBIQEgAygC6AEhAgwKCyADQThqIAAQ3oKAgAACQAJAIAMoAjgiAkEVRg0AIBggFikCADcCACAYQQhqIBZBCGooAgA2AgAMAQsgA0HoAWogABCxgICAACADKALoAUUNByADKALsASECCyADQfgBaigCACEaIAMoAvQBIRkgAygC8AEhAQwFCyADQegBaiADQeADahDcgoCAAAJAIAMoAugBIgJBFUYNACADQfQBaigCACEaIANB8AFqKAIAIRkgAygC7AEhAQJAIBxFDQAgFSAcQQEQg4GAgAALAkAgG0UNACAUIBtBARCDgYCAAAsgHUUNFCATIB1BARCDgYCAAAwUCyADQegBaiADQeADahDagoCAAAJAIAMoAugBIgJBFUYNACADQfQBaigCACEaIANB8AFqKAIAIRkgAygC7AEhAQJAIBxFDQAgFSAcQQEQg4GAgAALAkAgG0UNACAUIBtBARCDgYCAAAsgHUUNFCATIB1BARCDgYCAAAwUCyADQaACakEQaiISIBQ2AgAgA0GgAmpBDGoiGSAeNgIAIANBoAJqQRhqIgEgHzYCACADQaACakEUaiICIBs2AgAgA0GgAmpBIGoiACAdNgIAIANBoAJqQRxqIhogEzYCACADQcABakEgaiIUICA2AgAgA0HAAWpBCGoiEyAZKQIANwMAIANBwAFqQRBqIhsgAikCADcDACADQcABakEYaiIdIBopAgA3AwAgAyAcNgKoAiADIBU2AqQCIAMgAykCpAI3A8ABEJWCgIAAEJWCgIAAEJWCgIAAIANB7AJqQeyFwIAANgIAIANB5AJqQcCFwIAANgIAIANB3AJqQaSFwIAANgIAIANBoAJqQQhqIhUgA0GwAWpBCGopAwA3AwAgAiAGNgIAIAEgAykDoAE3AwAgACADQaABakEIaikDADcDACADQYQDaiALNgIAIANBgANqIAw2AgAgA0H8AmogDTYCACADQfgCaiAONgIAIANB9AJqIA82AgAgA0HQAmogCTcDACADQaACakEsaiAINgIAIANB6AJqIANBiARqNgIAIANB4AJqIANBiARqNgIAIAMgAykDsAE3A6ACIAMgBTYCsAIgAyAQNgLwAiADIAc2AsgCIAMgA0GIBGo2AtgCIANBqANqIBQoAgA2AgAgA0GgA2ogHSkDADcDACADQZgDaiAbKQMANwMAIANBkANqIBMpAwA3AwAgAyADKQPAATcDiAMgA0HoAWogA0HYAmogA0GgAmogA0HwAmogA0GIA2oQ/oCAgAAgFSADQegBakEMaikCADcDACASIANB6AFqQRRqKQIANwMAIAEgA0HoAWpBHGopAgA3AwAgACADQegBakEkaikCADcDACADQaACakEoaiADQegBakEsaikCADcDACADIAMpAuwBNwOgAiADKALoAUUNAiADQbADakEYaiAaKQIANwMAIANBsANqQRBqIAIpAgA3AwAgA0GwA2pBCGogGSkCADcDACADIAMpAqQCNwOwAyADQQA2AtgDIANCATcD0AMgA0HgA2ogA0HQA2pBoI7AgAAQn4SAgAAgA0GwA2ogA0HgA2oQ1oGAgAANASADQcQAaiADQdgDaigCADYCACADIAMpA9ADNwI8IANBATYCOCADQbADahCXgICAAAwDCyADQegBakEEckHOgcCAAEEEEK+AgIAAIANB+AFqKAIAIRogA0H0AWooAgAhGSADQfABaigCACEBIAMoAuwBIQIMAwtBuI7AgABBNyADQYgEakGsl8CAAEG8j8CAABCOhICAAAALIANBOGpBLGogA0HoAWpBBHIiAkEoaikCADcCACADQThqQSRqIAJBIGopAgA3AgAgA0E4akEcaiACQRhqKQIANwIAIANBOGpBFGogAkEQaikCADcCACADQThqQQxqIAJBCGopAgA3AgAgA0EANgI4IAMgAikCADcCPAsCQCADKAKUASICRQ0AIBEgAkEBEIOBgIAACwJAIAMoAoQBIgJFDQAgCiACQQEQg4GAgAALIAMoAnQiAkUNEiAEIAJBARCDgYCAAAwSC0EBIRJBACEVQQEhACATDQwMDQsgAygC9AEhHiADKALwASEcIAMoAuwBIRUMBAsgA0E4aiAAEN6CgIAAAkACQAJAIAMoAjgiAkEVRg0AIBggFikCADcCACAYQQhqIBZBCGooAgA2AgAMAQsgA0HoAWogABCxgICAACADKALoAUUNASADKALsASECCyADQfgBaigCACEaIAMoAvQBIRkgAygC8AEhAUEBIRJBACEUQQEhACATDQsMDAsgAygC9AEhHyADKALwASEbIAMoAuwBIRQMAwsgA0HoAWogABDegoCAAAJAAkAgAygC6AEiAkEVRg0AIBYgFykCADcCACAWQQhqIBdBCGooAgA2AgAMAQsgA0E4aiAAELKAgIAAIAMoAjgiAkEVRg0DCyADQcQAaigCACEaIANBwABqKAIAIRkgAygCPCEBC0EBIRJBASEAIBMNCAwJCwJAIBNFDQAgA0HoAWpB4YDAgABBBhCwgICAACADQfQBaigCACEaIANB8AFqKAIAIRkgAygC7AEhASADKALoASECQQEhAEEBIRIMCAsgA0E4aiAAEN6CgIAAAkACQAJAIAMoAjgiAkEVRg0AIBggFikCADcCACAYQQhqIBZBCGooAgA2AgAMAQsgA0HoAWogABCxgICAACADKALoAUUNASADKALsASECCyADQfgBaigCACEaIAMoAvQBIRkgAygC8AEhAUEBIQBBASESDAkLIAMoAvQBISAgAygC8AEhHSADKALsASETCyADQQhqIAAQ4IKAgABBACEBIAMtAAkhAiADLQAIQQFxDQALC0ECIQIMAwtBuI7AgABBNyADQYgEakGsl8CAAEG8j8CAABCOhICAAAALIANB4ANqQRhqIAApAwA3AwAgA0HgA2pBEGogASkDADcDACADQeADakEIaiACKQMANwMAIAMgAykDqAI3A+ADIANBADYCyAEgA0IBNwPAASADQegBaiADQcABakGgjsCAABCfhICAAAJAIANB4ANqIANB6AFqENaBgIAADQAgA0HEAGogA0HIAWooAgA2AgAgAyADKQPAATcCPCADQQE2AjggA0HgA2oQl4CAgAAMBgtBuI7AgABBNyADQYgEakGsl8CAAEG8j8CAABCOhICAAAALQQQhAgtBASEAIBNFDQELIB1FDQAgEyAdQQEQg4GAgAALAkAgFEUNACASRQ0AIBtFDQAgFCAbQQEQg4GAgAALIBVBAEcgAHFBAUcNACAcRQ0AIBUgHEEBEIOBgIAACyADQegBakEMaiAaNgIAIANB6AFqQQhqIBk2AgAgAyABNgLsASADIAI2AugBIANBoAJqQQhqQfSQwIAAQR8gA0HoAWoQs4CAgAAgA0HgA2pBGGogA0HAAmopAwA3AwAgA0HgA2pBEGogA0GgAmpBGGopAwA3AwAgA0HgA2pBCGogA0GgAmpBEGopAwA3AwAgAyADKQOoAjcD4AMgA0EANgK4AyADQgE3A7ADIANB6AFqIANBsANqQaCOwIAAEJ+EgIAAAkAgA0HgA2ogA0HoAWoQ1oGAgABFDQBBuI7AgABBNyADQYgEakGsl8CAAEG8j8CAABCOhICAAAALIANBxABqIANBsANqQQhqKAIANgIAIAMgAykDsAM3AjwgA0EBNgI4IANB4ANqEJeAgIAAAkAgD0UNACAQRQ0AIBAgD0EBEIOBgIAACwJAIAtFDQAgC0EFdCEBIA1BFGohAgNAAkAgAigCACIARQ0AIAJBfGooAgAiGUUNACAZIABBARCDgYCAAAsgAkEgaiECIAFBYGoiAQ0ACwsgDEUNACAMQQV0IgJFDQAgDSACQQgQg4GAgAALAkAgBkUNACAFRQ0AIAUgBkEBEIOBgIAACyAIRQ0AIAdFDQAgByAIQQEQg4GAgAALAkAgAygClAEiAkUNACADKAKQASIBRQ0AIAEgAkEBEIOBgIAACwJAIAMoAoQBIgJFDQAgAygCgAEiAUUNACABIAJBARCDgYCAAAsgAygCdCICRQ0AIAQgAkEBEIOBgIAACyADQaACaiADQThqENSAgIAAAkAgAygCoAINACADQegBakEIaiADQawCaigCACICNgIAIAMgAykCpAIiCTcD6AEgA0GgAmpBCGogAjYCACADIAk3A6ACIANBoAJqELeCgIAAIQICQAJAIAMoAjgNACADQThqQQRyEMOAgIAADAELIANBOGpBCGooAgAiAUUNACADKAI8IgBFDQAgACABQQEQg4GAgAALIANBkARqJICAgIAAIAIPCyADQegBakEYaiADQcACaikDADcDACADQegBakEQaiADQaACakEYaikDADcDACADQegBakEIaiADQaACakEQaikDADcDACADIANBoAJqQQhqKQMANwPoAUG8l8CAAEErIANB6AFqQeiXwIAAQcCHwIAAEI6EgIAAAAuaHgkGfwF+Bn8BfgF/AX4CfwF+EX8jgICAgABB8ANrIgMkgICAgAAgA0EIaiAAELiCgIAAIANBGGogARC4goCAACADQShqIAIQuIKAgAAgA0HQAmogAygCCCIEIAMoAhAQz4CAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAykD0AJCAFINACADQcgAakEIaiADQdACakEQaiICKQMANwMAIANBOGpBCGogA0H4AmopAwA3AwAgAyADKQPYAjcDSCADIANB8AJqIgApAwA3AzggA0HQAmpBGGoiASgCACEFIANB7AJqKAIAIQYgA0GAA2ooAgAhByADQYQDaigCACEIIANBiANqKQMAIQkgA0HQAmogAygCGCADKAIgENKAgIAAIAMoAtACDQUgASgCACEBIANB5AJqKAIAIQogAigCACELIANB3AJqKAIAIQwgAygC2AIhAiADKALUAiEAIANBiAJqIAMoAiggAygCMBDYgoCAACADIANBiAJqEOCCgIAAIAMtAABBAXFFDQMgAy0AAUH/AXEiDUEiRg0BIA1B+wBGDQIgA0EKNgLUAgwECyADQZgCakEYaiADQfACaikDADcDACADQZgCakEQaiADQdACakEYaikDADcDACADQZgCakEIaiADQdACakEQaikDADcDACADIAMpA9gCNwOYAiADQQA2AtgBIANCATcD0AEgA0GQAWogA0HQAWpBoI7AgAAQn4SAgAAgA0GYAmogA0GQAWoQ1oGAgAANBiADQcQDaiADQdABakEIaigCADYCACADIAMpA9ABNwK8AyADQQE2ArgDIANBmAJqEJeAgIAADAwLIANBoANqIANBiAJqENSCgIAAEOmAgIAAAkAgAy0AoAMNACADQQ42AtQCDAMLIANB0AJqQQxqIANBoANqQQxqKQIANwIAIANB0AJqQQhqIANBoANqQQhqKAIANgIAIAMgAy8ApQM7ANUCIAMgAy0ApwM6ANcCIAMgAy0ApAM6ANQCDAILIANBiAJqENmCgIAAIANB0AJqIANBiAJqENSCgIAAEOiAgIAAIAMoAtACDQEgA0G4A2pBMGoiDiADQdACakE4aiIPKQMAIhA3AwAgA0G4A2pBKGogA0HQAmpBMGoiESkDACISNwMAIANBuANqQSBqIhMgA0HQAmpBKGoiFCkDACIVNwMAIANBmAJqQQhqIhYgA0HQAmpBEGoiFykDADcDACADQZgCakEQaiIYIANB0AJqQRhqIhkpAwA3AwAgA0GYAmpBGGoiGiADQdACakEgaiIbKQMANwMAIANBmAJqQSBqIhwgFTcDACADQZgCakEoaiIdIBI3AwAgA0GYAmpBMGoiHiAQNwMAIAMgA0HQAmpBCGoiHykDADcDmAIgA0HQAmogA0GIAmoQ2oKAgAAgAygC0AIiDUEVRg0DIANB0AFqQQhqIANB3AJqKAIANgIAIAMgAykC1AI3A9ABIANBmAJqEOqAgIAADAcLIANBBDYC1AILIANB0AFqQQhqIANB4AJqKAIANgIAIAMgA0HQAmpBCGopAwA3A9ABIAMoAtQCIQ0MBQsgA0GYAmpBGGogACkDADcDACADQZgCakEQaiABKQMANwMAIANBmAJqQQhqIAIpAwA3AwAgAyADKQPYAjcDmAIgA0EANgLYASADQgE3A9ABIANBkAFqIANB0AFqQaCOwIAAEJ+EgIAAIANBmAJqIANBkAFqENaBgIAADQIgA0HEA2ogA0HYAWooAgA2AgAgAyADKQPQATcCvAMgA0EBNgK4AyADQZgCahCXgICAAAwFCyADQdABakEQaiIgIBgpAwAiEDcDACADQdABakEYaiAaKQMAIhI3AwAgA0HQAWpBIGogHCkDACIVNwMAIANBkAFqQRBqIg0gFikDADcDACADQZABakEYaiIEIBA3AwAgA0GQAWpBIGoiFiASNwMAIANBkAFqQShqIhggFTcDACADQZABakEwaiIaIB0pAwA3AwAgA0GQAWpBOGoiHCAeKQMANwMAIAMgAykDmAI3A5gBIANB2ABqQTBqIh0gHCkDADcDACADQdgAakEoaiIcIBopAwA3AwAgA0HYAGpBIGoiHiAYKQMANwMAIANB2ABqQRhqIiEgFikDADcDACADQdgAakEQaiIiIAQpAwA3AwAgA0HYAGpBCGoiIyANKQMANwMAIAMgAykDmAE3A1gQlYKAgAAQlYKAgAAQlYKAgAAgA0GYA2pBBjYCACADQZQDakHRgMCAADYCACADQZADakENNgIAIANBjANqQfiawIAANgIAIA9BDTYCACADQYQDakH4msCAADYCACARQYmAgIAANgIAIANB0AJqQSxqQQY2AgAgFEHRgMCAADYCACADQdACakEkaiIPQQY2AgAgA0HQAmpBHGoiEUEJNgIAIANB0AJqQRRqIiRBCjYCACADQdACakEMaiIlQQY2AgAgA0HRgMCAADYC8AIgA0HdmMCAADYC6AIgA0GmgMCAADYC4AIgA0HhgMCAADYC2AIgA0EINgLUAiADQb2AwIAANgLQAiADQaADakEUakHshcCAADYCACADQaADakEMakHAhcCAADYCACADQaSFwIAANgKkAyADIANBiAJqNgKwAyADIANBiAJqNgKoAyADIANBiAJqNgKgAyADQbgDakEIaiADQcgAakEIaikDADcDACADQbgDakEUaiImIAY2AgAgA0G4A2pBGGogAykDODcDACATIANBOGpBCGopAwA3AwAgDiAJNwMAIANBuANqQSxqIgYgCDYCACADIAMpA0g3A7gDIAMgBTYCyAMgAyAHNgLgAyADQdABakEUaiABNgIAICAgCjYCACADIAs2AtwBIAMgDDYC2AEgAyACNgLUASADIAA2AtABIBogHSkDADcDACAYIBwpAwA3AwAgFiAeKQMANwMAIAQgISkDADcDACANICIpAwA3AwAgA0GQAWpBCGogIykDADcDACADIAMpA1g3A5ABIANBmAJqIANB0AJqIANBoANqIANBuANqIANB0AFqIANBkAFqEMCAgIAAIB8gA0GYAmpBDGopAgA3AwAgFyADQZgCakEUaikCADcDACAZIANBmAJqQRxqKQIANwMAIBsgA0GYAmpBJGopAgA3AwAgFCADQZgCakEsaikCADcDACADIAMpApwCNwPQAgJAAkAgAygCmAINACAGIANBmAJqQQRyIgJBKGopAgA3AgAgA0G4A2pBJGogAkEgaikCADcCACADQbgDakEcaiACQRhqKQIANwIAICYgAkEQaikCADcCACADQbgDakEMaiACQQhqKQIANwIAIANBADYCuAMgAyACKQIANwK8AwwBCyADQbABaiAPKQIANwMAIANBqAFqIBEpAgA3AwAgA0GgAWogJCkCADcDACADQZABakEIaiAlKQIANwMAIAMgAykC1AI3A5ABIANBADYCqAMgA0IBNwOgAyADQdABaiADQaADakGgjsCAABCfhICAACADQZABaiADQdABahCXgYCAAA0DIANBxANqIANBoANqQQhqKAIANgIAIAMgAykDoAM3ArwDIANBATYCuAMCQAJAIAMoApABDgQBAgICAAsgA0GYAWooAgAiAkUNASADKAKUASIBRQ0BIAEgAkEBEIOBgIAADAELIANBmAFqEJeAgIAACwJAIAMoAiwiAkUNACADKAIoIgFFDQAgASACQQEQg4GAgAALAkAgAygCHCICRQ0AIAMoAhgiAUUNACABIAJBARCDgYCAAAsgAygCDCICRQ0HIAMoAggiAUUNByABIAJBARCDgYCAAAwHC0G4jsCAAEE3IANBiAJqQayXwIAAQbyPwIAAEI6EgIAAAAtBuI7AgABBNyADQYgCakGsl8CAAEG8j8CAABCOhICAAAALQbiOwIAAQTcgA0GIAmpBrJfAgABBvI/AgAAQjoSAgAAACyADQdACakEMaiADQdABakEIaiIMKAIANgIAIAMgDTYC0AIgAyADKQPQATcC1AIgA0GQAWpBCGpB/5XAgABB0wAgA0HQAmoQs4CAgAAgA0GYAmpBGGogA0GwAWopAwA3AwAgA0GYAmpBEGogA0GQAWpBGGopAwA3AwAgA0GYAmpBCGogA0GQAWpBEGopAwA3AwAgAyADKQOYATcDmAIgA0EANgLYASADQgE3A9ABIANB0AJqIANB0AFqQaCOwIAAEJ+EgIAAIANBmAJqIANB0AJqENaBgIAADQEgA0G4A2pBDGogDCgCADYCACADIAMpA9ABNwK8AyADQQE2ArgDIANBmAJqEJeAgIAAAkAgAkUNACAARQ0AIAAgAkEBEIOBgIAACwJAIAFFDQAgAUEFdCEBIAtBFGohAgNAAkAgAigCACIARQ0AIAJBfGooAgAiDUUNACANIABBARCDgYCAAAsgAkEgaiECIAFBYGoiAQ0ACwsgCkUNACAKQQV0IgJFDQAgCyACQQgQg4GAgAALAkAgBkUNACAFRQ0AIAUgBkEBEIOBgIAACyAIRQ0BIAdFDQEgByAIQQEQg4GAgAAMAQtBuI7AgABBNyADQYgCakGsl8CAAEG8j8CAABCOhICAAAALAkAgAygCLCICRQ0AIAMoAigiAUUNACABIAJBARCDgYCAAAsCQCADKAIcIgJFDQAgAygCGCIBRQ0AIAEgAkEBEIOBgIAACyADKAIMIgJFDQAgBCACQQEQg4GAgAALIANB0AJqIANBuANqENSAgIAAAkAgAygC0AINACADQZABakEIaiADQdwCaigCACICNgIAIAMgAykC1AIiCTcDkAEgA0HQAmpBCGogAjYCACADIAk3A9ACIANB0AJqELeCgIAAIQICQAJAIAMoArgDDQAgA0G4A2pBBHIQw4CAgAAMAQsgA0G4A2pBCGooAgAiAUUNACADKAK8AyIARQ0AIAAgAUEBEIOBgIAACyADQfADaiSAgICAACACDwsgA0GQAWpBGGogA0HwAmopAwA3AwAgA0GQAWpBEGogA0HQAmpBGGopAwA3AwAgA0GQAWpBCGogA0HQAmpBEGopAwA3AwAgAyADQdACakEIaikDADcDkAFBvJfAgABBKyADQZABakHol8CAAEGwh8CAABCOhICAAAALxRoDBX8Bfgl/I4CAgIAAQYADayICJICAgIAAIAJBCGogABC4goCAACACQRhqIAEQuIKAgAAgAkGoAWogAigCCCIAIAIoAhAQz4CAgAACQAJAAkACQAJAAkACQAJAAkACQAJAIAIpA6gBQgBSDQAgAkE4akEIaiACQbgBaikDADcDACACQShqQQhqIAJB0AFqKQMANwMAIAIgAikDsAE3AzggAiACQcgBaikDADcDKCACQcABaigCACEDIAJBxAFqKAIAIQQgAkHYAWooAgAhBSACQdwBaigCACEGIAJB4AFqKQMAIQcgAkHwAmogAigCGCIBIAIoAiAQ2IKAgAAgAiACQfACahDggoCAAAJAAkACQCACLQAAQQFxRQ0AAkACQCACLQABQf8BcSIIQSJGDQAgCEH7AEYNASACQQo2AqwBDAMLIAJByAJqIAJB8AJqENSCgIAAEOCAgIAAAkAgAi0AyAINACACQQ42AqwBDAMLIAJBqAFqQQxqIAJByAJqQQxqKQIANwIAIAJBqAFqQQhqIAJByAJqQQhqKAIANgIAIAIgAi8AzQI7AK0BIAIgAi0AzwI6AK8BIAIgAi0AzAI6AKwBDAILIAJB8AJqENmCgIAAIAJBqAFqIAJB8AJqENSCgIAAEN+AgIAAIAIoAqgBDQEgAkHwAGpBEGoiCSACQagBakEUaiIKKQIANwMAIAJB8ABqQRhqIAJBqAFqQRxqIgspAgA3AwAgAkHwAGpBIGogAkGoAWpBJGoiDCgCADYCACACQfAAakEMaiINIAJBqAFqQRBqKAIANgIAIAIgAigCrAEiDjYCcCACIAJBqAFqQQhqKQMANwJ0IAJBqAFqIAJB8AJqENqCgIAAIAIoAqgBIghBFUYNBCACQZgBakEIaiACQagBakEMaigCADYCACACIAIpAqwBNwOYASACQfAAahDigICAAAwCCyACQQQ2AqwBCyACQZgBakEIaiACQbgBaigCADYCACACIAJBqAFqQQhqKQMANwOYASACKAKsASEICyACQagBakEMaiACQZgBakEIaigCADYCACACIAg2AqgBIAIgAikDmAE3AqwBIAJBkAJqQQhqQbyQwIAAQRkgAkGoAWoQs4CAgAAgAkHwAGpBGGogAkGwAmopAwA3AwAgAkHwAGpBEGogAkGQAmpBGGopAwA3AwAgAkHwAGpBCGogAkGQAmpBEGopAwA3AwAgAiACKQOYAjcDcCACQQA2AtACIAJCATcDyAIgAkGoAWogAkHIAmpBoI7AgAAQn4SAgAAgAkHwAGogAkGoAWoQ1oGAgABFDQJBuI7AgABBNyACQZgBakGsl8CAAEG8j8CAABCOhICAAAALIAJB8ABqQRhqIAJByAFqKQMANwMAIAJB8ABqQRBqIAJBqAFqQRhqKQMANwMAIAJB8ABqQQhqIAJBqAFqQRBqKQMANwMAIAIgAikDsAE3A3AgAkEANgLQAiACQgE3A8gCIAJBkAJqIAJByAJqQaCOwIAAEJ+EgIAAIAJB8ABqIAJBkAJqENaBgIAADQIgAkGEAmogAkHIAmpBCGooAgA2AgAgAiACKQPIAjcC/AEgAkEBNgL4ASACQfAAahCXgICAACACKAIYIQEMBgsgAkGQAmpBEGoiACACQfAAakEEciIBQQhqKAIANgIAIAJByABqQRBqIgggCSkCADcDACACQcgAakEgaiIPIAlBEGooAgA2AgAgAkHIAGpBGGoiECAJQQhqKQIANwMAIAIgASkCADcDmAIgAkHIAGpBCGoiCSACQZACakEMaikCADcDACACIA42ApQCIAIgAikClAI3A0gQlYKAgAAQlYKAgAAQlYKAgAAgAkHwAWpBBjYCACACQewBakHRgMCAADYCACACQegBakENNgIAIAJB5AFqQfiawIAANgIAIAJB4AFqQQ02AgAgAkHcAWpB+JrAgAA2AgAgAkGoAWpBMGpBiYCAgAA2AgAgAkGoAWpBLGpBBjYCACACQdABakHRgMCAADYCACAMQQY2AgAgC0EJNgIAIApBCjYCACACQagBakEMakEGNgIAIAJB0YDAgAA2AsgBIAJB3ZjAgAA2AsABIAJBpoDAgAA2ArgBIAJB4YDAgAA2ArABIAJBCDYCrAEgAkG9gMCAADYCqAEgAkH4AWpBFGpB7IXAgAA2AgAgAkH4AWpBDGpBwIXAgAA2AgAgAkGkhcCAADYC/AEgAiACQZgBajYCiAIgAiACQZgBajYCgAIgAiACQZgBajYC+AEgAkGQAmpBCGoiCiACQThqQQhqKQMANwMAIAJBkAJqQRRqIAQ2AgAgAkGQAmpBGGoiBCACKQMoNwMAIAJBkAJqQSBqIgsgAkEoakEIaikDADcDACACQZACakEwaiAHNwMAIAJBkAJqQSxqIAY2AgAgAiACKQM4NwOQAiACIAM2AqACIAIgBTYCuAIgAkHIAmpBIGogDygCADYCACACQcgCakEYaiAQKQMANwMAIAJByAJqQRBqIAgpAwA3AwAgAkHIAmpBCGogCSkDADcDACACIAIpA0g3A8gCIAJB8ABqIAJBqAFqIAJB+AFqIAJBkAJqIAJByAJqEJ2AgIAAIAogDSkCADcDACAAIAJB8ABqQRRqKQIANwMAIAQgAkHwAGpBHGopAgA3AwAgCyACQfAAakEkaigCADYCACACIAIpAnQ3A5ACIAIoAnAiAEUNAyACQeACaiACQawCaikCADcDACACQdgCaiACQaQCaikCADcDACACQcgCakEIaiACQZACakEMaikCADcDACACIAIpApQCNwPIAiACQQA2AvgCIAJCATcD8AIgAkGoAWogAkHwAmpBoI7AgAAQn4SAgAAgAkHIAmogAkGoAWoQ1oGAgAANAiACQfgBakEMaiACQfACakEIaigCADYCACACIAIpA/ACNwL8ASACQQE2AvgBIAJByAJqEJeAgIAADAQLIAJB+AFqQQxqIAJByAJqQQhqKAIANgIAIAIgAikDyAI3AvwBIAJBATYC+AEgAkHwAGoQl4CAgAACQCAERQ0AIANFDQAgAyAEQQEQg4GAgAALIAZFDQQgBUUNBCAFIAZBARCDgYCAAAwEC0G4jsCAAEE3IAJBmAFqQayXwIAAQbyPwIAAEI6EgIAAAAtBuI7AgABBNyACQZgBakGsl8CAAEG8j8CAABCOhICAAAALIAJBhAJqIAFBCGooAgA2AgAgAkEANgL4ASACIAEpAgA3AvwBCwJAIAIoAhwiAUUNACACKAIYIgRFDQAgBCABQQEQg4GAgAALAkAgAigCDCIBRQ0AIAIoAggiBEUNACAEIAFBARCDgYCAAAsgAkHIAGoQy4KAgAAgAkH4AWpBBHIhASAADQECQCACKAJQIgAgAigCTEcNACACQcgAaiAAEI+AgIAAIAIoAlAhAAsgAigCSCAAakH7ADoAACACIABBAWo2AlAgAkGQAmogAkHIAGpBlYnAgABBAhDOgoCAAAJAIAIoApACDQACQCACKAJQIgAgAigCTEcNACACQcgAaiAAEI+AgIAAIAIoAlAhAAsgAigCSCAAakE6OgAAIAIgAEEBajYCUCACQcgCaiABEK+CgIAAIAJBkAJqIAJByABqIAIoAsgCIgAgAigC0AIQzoKAgAACQCACKALMAiIERQ0AIAAgBEEBEIOBgIAACwJAIAIoApACDQACQCACKAJQIgAgAigCTEcNACACQcgAaiAAEI+AgIAAIAIoAlAhAAsgAigCSCAAakH9ADoAACACIABBAWo2AlAMBAsgAkHwAGpBDGogAkGQAmpBDGooAgA2AgAgAiACKQKUAjcCdAwECyACQfAAakEMaiACQZACakEMaigCADYCACACIAIpApQCNwJ0DAMLAkAgAigCHCIERQ0AIAFFDQAgASAEQQEQg4GAgAALAkAgAigCDCIBRQ0AIAAgAUEBEIOBgIAACyACQcgAahDLgoCAACACQfgBakEEciEBCyACQfAAaiACQcgAaiABENWAgIAAIAIoAnANAQsgAkEoakEIaiACQcgAakEIaigCACIANgIAIAIgAikDSCIHNwMoIAJBqAFqQQhqIAA2AgAgAiAHNwOoASACQagBahC3goCAACEAAkAgAkH4AWpBCGooAgAiBEUNACABKAIAIgFFDQAgASAEQQEQg4GAgAALIAJBgANqJICAgIAAIAAPCyACQThqQQhqIgEgAkH8AGooAgA2AgAgAiACKQJ0NwM4AkAgAigCTCIARQ0AIAIoAkgiBEUNACAEIABBARCDgYCAAAsgAkGQAmpBCGoiACABKAIANgIAIAIgAikDODcDkAIgAkGoAWpBCGoiAUHMkcCAAEHUACACQZACahCggICAACACQZACakEYaiACQcgBaikDADcDACACQZACakEQaiACQagBakEYaikDADcDACAAIAJBqAFqQRBqKQMANwMAIAIgASkDADcDkAJBvJfAgABBKyACQZACakHol8CAAEHQh8CAABCOhICAAAALEwEBfyAAIAEQn4OAgAAhAiACDwsPACAAIAEgAhCgg4CAAA8LFwEBfyAAIAEgAiADEKGDgIAAIQQgBA8LEwEBfyAAIAEQooOAgAAhAiACDwsNACAAIAEQ34OAgAAPC9sBAQN/I4CAgIAAQSBrIgIkgICAgAACQCABQQFqIgMgAUkNACAAQQRqKAIAIgRBAXQiASADIAEgA0sbIgFBCCABQQhLGyEBAkACQCAERQ0AIAJBEGpBCGpBATYCACACIAQ2AhQgAiAAKAIANgIQDAELIAJBADYCEAsgAiABQQEgAkEQahCTgYCAAAJAIAIoAgBFDQAgAkEIaigCACIARQ0BIAIoAgQgABDcg4CAAAALIAIoAgQhAyAAQQRqIAE2AgAgACADNgIAIAJBIGokgICAgAAPCxDdg4CAAAAL2wEBAn8jgICAgABBIGsiAySAgICAAAJAIAEgAmoiAiABSQ0AIABBBGooAgAiBEEBdCIBIAIgASACSxsiAUEIIAFBCEsbIQECQAJAIARFDQAgA0EQakEIakEBNgIAIAMgBDYCFCADIAAoAgA2AhAMAQsgA0EANgIQCyADIAFBASADQRBqEJOBgIAAAkAgAygCAEUNACADQQhqKAIAIgBFDQEgAygCBCAAENyDgIAAAAsgAygCBCECIABBBGogATYCACAAIAI2AgAgA0EgaiSAgICAAA8LEN2DgIAAAAsPACAAKAIAIAEQ1oGAgAALHAAgACgCACIAKAIAIABBCGooAgAgARCphICAAAtxAQF/I4CAgIAAQSBrIgIkgICAgAAgAiAANgIEIAJBCGpBEGogAUEQaikCADcDACACQQhqQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB1JzAgAAgAkEIahD9g4CAACEBIAJBIGokgICAgAAgAQsCAAsqAQF/AkAgAEEEaigCACIBRQ0AIAAoAgAiAEUNACAAIAFBARCDgYCAAAsLEgAgACgCACABEI+BgIAAGkEAC/cCAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQAJAIAFBgAFJDQAgAkEANgIMIAFBgBBJDQEgAUGAgARPDQIgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAyEBDAMLAkAgACgCCCIDIABBBGooAgBHDQAgACADEIeBgIAAIAAoAgghAwsgACADQQFqNgIIIAAoAgAgA2ogAToAAAwDCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAiEBDAELIAIgAUE/cUGAAXI6AA8gAiABQRJ2QfABcjoADCACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA1BBCEBCwJAIABBBGooAgAgAEEIaiIEKAIAIgNrIAFPDQAgACADIAEQiIGAgAAgBCgCACEDCyAAKAIAIANqIAJBDGogARDAhICAABogBCADIAFqNgIACyACQRBqJICAgIAAQQALdAEBfyOAgICAAEEgayICJICAgIAAIAIgACgCADYCBCACQQhqQRBqIAFBEGopAgA3AwAgAkEIakEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdScwIAAIAJBCGoQ/YOAgAAhASACQSBqJICAgIAAIAELWAECfwJAIAAoAgAiA0EEaigCACADQQhqIgQoAgAiAGsgAk8NACADIAAgAhCIgYCAACAEKAIAIQALIAMoAgAgAGogASACEMCEgIAAGiAEIAAgAmo2AgBBAAtTAQJ/AkAgAEEEaigCACAAQQhqIgMoAgAiBGsgAk8NACAAIAQgAhCIgYCAACADKAIAIQQLIAAoAgAgBGogASACEMCEgIAAGiADIAQgAmo2AgBBAAu1AQECfwJAAkACQAJAAkACQAJAAkACQCACRQ0AQQEhBCABQQBIDQEgAygCACIFRQ0CIAMoAgQiAw0FIAENAyACIQMMBAsgACABNgIEQQEhBAtBACEBDAYLIAENACACIQMMAQsgASACEIKBgIAAIQMLIANFDQEMAgsgBSADIAIgARCEgYCAACIDDQELIAAgATYCBCACIQEMAQsgACADNgIEQQAhBAsgACAENgIAIABBCGogATYCAAv2AgMCfwJ+AX8jgICAgABB4ABrIgIkgICAgAAgAUEIaiEDIAFBIGopAwAhBCABQRhqKQMAIQUCQAJAAkAgASkDAEIAUg0AIAJBGGpBCGogA0EIaigCADYCACACIAMpAgA3AxggAkEANgIwIAJCATcDKCACQThqIAJBKGpBqJvAgAAQn4SAgAAgAkEYaiACQThqEMeCgIAADQIgAkEIakEIaiIBIAJBKGpBCGooAgA2AgAgAiACKQMoNwMIAkAgAigCHCIDRQ0AIAIoAhgiBkUNACAGIANBARCDgYCAAAsgACAFNwMIIABCADcDACAAQRBqIAQ3AwAgAEEYaiACKQMINwMAIABBIGogASgCADYCAAwBCyAAQgE3AwAgACADKQMANwMIIABBIGogBDcDACAAQRhqIAU3AwAgAEEQaiADQQhqKQMANwMACyACQeAAaiSAgICAAA8LQcCbwIAAQTcgAkEIakHsnMCAAEHEnMCAABCOhICAAAALpwEBAX8jgICAgABBwABrIgIkgICAgAAgAkEANgIIIAJCATcDACACQRBqIAJBqJvAgAAQn4SAgAACQCABQRBqIAJBEGoQx4KAgABFDQBBwJvAgABBNyACQThqQeycwIAAQcScwIAAEI6EgIAAAAsgACACKQMANwIQIABBGGogAkEIaigCADYCACAAIAEpAwg3AwggACABKQMANwMAIAJBwABqJICAgIAACwwAIAAgARCtgYCAAAuTAwEBfyOAgICAAEEwayICJICAgIAAAkACQAJAAkACQAJAIAAoAgAOBQABAgMEAAsgAkEcakEBNgIAIAJCATcCDCACQYSewIAANgIIIAJBqYCAgAA2AiQgAiAAQQhqNgIsIAIgAkEgajYCGCACIAJBLGo2AiAgASACQQhqEKOEgIAAIQAMBAsgAkEcakEANgIAIAJB7JzAgAA2AhggAkIBNwIMIAJB/J3AgAA2AgggASACQQhqEKOEgIAAIQAMAwsgAkEcakEANgIAIAJB7JzAgAA2AhggAkIBNwIMIAJB6J3AgAA2AgggASACQQhqEKOEgIAAIQAMAgsgAkEcakEANgIAIAJB7JzAgAA2AhggAkIBNwIMIAJByJ3AgAA2AgggASACQQhqEKOEgIAAIQAMAQsgAkEcakEBNgIAIAJCATcCDCACQZSdwIAANgIIIAJBqoCAgAA2AiQgAiAAQQRqNgIsIAIgAkEgajYCGCACIAJBLGo2AiAgASACQQhqEKOEgIAAIQALIAJBMGokgICAgAAgAAtGACAAQQA2AgAgAEEIaiABKQMANwMAIABBIGogAUEYaikDADcDACAAQRhqIAFBEGopAwA3AwAgAEEQaiABQQhqKQMANwMAC94CAQJ/I4CAgIAAQRBrIggkgICAgAACQCABKAIIIgkgAUEEaigCAEcNACABIAkQqYGAgAAgASgCCCEJCyABKAIAIAlqQfsAOgAAQQEhCSABIAEoAghBAWo2AgggCCABIAUgBhDOgoCAAAJAAkACQCAIKAIADQACQCABKAIIIgkgAUEEaigCAEcNACABIAkQqYGAgAAgASgCCCEJCyABKAIAIAlqQTo6AABBASEJIAEgASgCCEEBajYCCCAIIAcgARCngYCAACAIKAIADQECQCABKAIIIgkgAUEEaigCAEcNACABIAkQqYGAgAAgASgCCCEJCyABKAIAIAlqQf0AOgAAIAEgASgCCEEBajYCCEEAIQkMAgsgACAIKQIENwIEIABBDGogCEEMaigCADYCAAwBCyAAIAgpAgQ3AgQgAEEMaiAIQQxqKAIANgIACyAAIAk2AgAgCEEQaiSAgICAAAunAgECfyOAgICAAEHAAGsiBCSAgICAAAJAAkACQAJAAkAgAkEASA0AIAINAUEBIQUMAgsQ3YOAgAAACyACQQEQgoGAgAAiBUUNAQsgBSABIAIQwISAgAAhASAEQQA2AgggBEIBNwMAIARBEGogBEGMnsCAABCfhICAACADIARBEGoQyoKAgAANASAAQQxqIAI2AgAgAEEIaiACNgIAIAAgATYCBCAAQRBqIAQpAwA3AgAgAEEINgIAIABBGGogBEEIaigCADYCAAJAIAMoAgAiAEUNACADQQRqKAIAIgJFDQAgACACQQEQg4GAgAALIARBwABqJICAgIAADwsgAkEBENyDgIAAAAtBpJ7AgABBNyAEQThqQdCfwIAAQaifwIAAEI6EgIAAAAtxAQF/I4CAgIAAQSBrIgIkgICAgAAgAiAANgIEIAJBCGpBEGogAUEQaikCADcDACACQQhqQQhqIAFBCGop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IAYgB0ECEKqBgIAAIAYoAgghBwsgBigCACAHakGi9AA7AAAgBiAHQQJqNgIIIAVBEGogBBCvgoCAACAFIAYgBSgCECIHIAUoAhgQzoKAgAACQCAFKAIUIgZFDQAgByAGQQEQg4GAgAALAkACQCAFKAIADQBBACEGDAELIAAgBSkCBDcCBCAAQQxqIAVBDGooAgA2AgBBASEGCyAAIAY2AgAgBUEgaiSAgICAAAvjAgICfwF+I4CAgIAAQeAAayICJICAgIAAIAJBwABqEMuCgIAAQQAhAyACQdAAaiACQcAAakGjoMCAAEESQQBBtaDAgABBCyABEJmBgIAAAkACQCACKAJQRQ0AIAJBMGpBCGoiAyACQdwAaigCADYCACACIAIpAlQ3AzACQCACKAJEIgFFDQAgAigCQCABQQEQg4GAgAALIAJB0ABqQQhqIAMoAgA2AgAgAiACKQMwNwNQIAJBCGpBCGoiA0Hgn8CAAEEjIAJB0ABqEJqBgIAAIABBIGogAkEIakEgaikDADcDACAAQRhqIAJBCGpBGGopAwA3AwAgAEEQaiACQQhqQRBqKQMANwMAIABBCGogAykDADcDAEEBIQMMAQsgAkEIakEMaiACQcgAaigCACIBNgIAIAIgAikDQCIENwIMIABBDGogATYCACAAIAQ3AgQLIAAgAzYCACACQeAAaiSAgICAAAvcAQECfyOAgICAAEEwayICJICAgIAAIAJBCGpBIGogAUEgaigCADYCACACQQhqQRhqIAFBGGopAgA3AwAgAkEIakEQaiIDIAFBEGopAgA3AwAgAkEIakEIaiABQQhqKQIANwMAIAIgASkCADcDCCAAIAJBCGoQpYGAgAACQCACKAIMIgFFDQAgAigCCCABQQEQg4GAgAALAkAgAygCACIBRQ0AIAIoAhQgAUEBEIOBgIAACwJAIAJBJGooAgAiAUUNACACKAIgIAFBARCDgYCAAAsgAkEwaiSAgICAAAv/AgEBfyOAgICAAEEgayIDJICAgIAAIANBEGogAkGDoMCAAEEPQQMQ0oKAgAACQAJAAkACQCADKAIQDQAgAyADKAIUNgIIIAMgA0EQakEIai0AADoADCADQRBqIANBCGpBkqDAgABBBiABEKOBgIAAIAMoAhANASADQRBqIANBCGpBmKDAgABBCCABQQxqEKOBgIAAIAMoAhANAiADQRBqIANBCGpBoKDAgABBAyABQRhqEKSBgIAAAkAgAygCEA0AIAAgAygCCCADLQAMEPCCgIAADAQLIAAgAykCFDcCBCAAQQE2AgAgAEEMaiADQRBqQQxqKAIANgIADAMLIABBATYCACAAIANBEGpBBHIiAikCADcCBCAAQQxqIAJBCGooAgA2AgAMAgsgACADKQIUNwIEIABBATYCACAAQQxqIANBEGpBDGooAgA2AgAMAQsgACADKQIUNwIEIABBATYCACAAQQxqIANBEGpBDGooAgA2AgALIANBIGokgICAgAALrgEBAn8CQAJAAkACQAJAAkACQAJAAkAgAkUNAEEBIQQgAUEASA0BIAMoAgAiBUUNAyADKAIEIgMNAiABDQQMBgsgACABNgIEQQEhBAtBACEBDAYLIAUgAyACIAEQhIGAgAAiA0UNAgwECyABRQ0CCyABIAIQgoGAgAAiAw0CCyAAIAE2AgQgAiEBDAILIAIhAwsgACADNgIEQQAhBAsgACAENgIAIABBCGogATYCAAvbAQEDfyOAgICAAEEgayICJICAgIAAAkAgAUEBaiIDIAFJDQAgAEEEaigCACIEQQF0IgEgAyABIANLGyIBQQggAUEISxshAQJAAkAgBEUNACACQRBqQQhqQQE2AgAgAiAENgIUIAIgACgCADYCEAwBCyACQQA2AhALIAIgAUEBIAJBEGoQqIGAgAACQCACKAIARQ0AIAJBCGooAgAiAEUNASACKAIEIAAQ3IOAgAAACyACKAIEIQMgAEEEaiABNgIAIAAgAzYCACACQSBqJICAgIAADwsQ3YOAgAAAC9sBAQJ/I4CAgIAAQSBrIgMkgICAgAACQCABIAJqIgIgAUkNACAAQQRqKAIAIgRBAXQiASACIAEgAksbIgFBCCABQQhLGyEBAkACQCAERQ0AIANBEGpBCGpBATYCACADIAQ2AhQgAyAAKAIANgIQDAELIANBADYCEAsgAyABQQEgA0EQahCogYCAAAJAIAMoAgBFDQAgA0EIaigCACIARQ0BIAMoAgQgABDcg4CAAAALIAMoAgQhAiAAQQRqIAE2AgAgACACNgIAIANBIGokgICAgAAPCxDdg4CAAAALgQICAn8BfiOAgICAAEEwayIEJICAgIAAAkACQAJAAkAgAygCACIFRQ0AIARB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IAIgAEEIajYCDCACQZuqwIAAQQsgAkEMakHQrMCAABCEhICAABogAiAAQRBqNgIMIAJB4KzAgABBBSACQQxqQYCqwIAAEISEgIAAGiACEJGEgIAAIQAgAkEQaiSAgICAACAAC7QBAQF/I4CAgIAAQRBrIgIkgICAgAAgACgCACEAIAIgAUGArMCAAEENEKaEgIAAIAIgAEEYajYCDCACQY2swIAAQQkgAkEMakGYrMCAABCEhICAABogAiAANgIMIAJBqKzAgABBCCACQQxqQYCqwIAAEISEgIAAGiACIABBDGo2AgwgAkGwrMCAAEEIIAJBDGpBgKrAgAAQhISAgAAaIAIQkYSAgAAhACACQRBqJICAgIAAIAALIQAgASAAKAIALQAAQQJ0QaStwIAAaigCAEEDEKKEgIAAC3oBAX8jgICAgABBMGsiAiSAgICAACAAKAIAIQAgAkEcakEBNgIAIAJCAjcCDCACQfyswIAANgIIIAJByICAgAA2AiQgAiAANgIsIAIgAkEgajYCGCACIAJBLGo2AiAgASACQQhqEKOEgIAAIQEgAkEwaiSAgICAACABC3YBAX8jgICAgABBMGsiAiSAgICAACACIAAoAgA2AgwgAkEkakEBNgIAIAJCATcCFCACQfSlwIAANgIQIAJByYCAgAA2AiwgAiACQShqNgIgIAIgAkEMajYCKCABIAJBEGoQo4SAgAAhASACQTBqJICAgIAAIAELwwEBAX8jgICAgABBwABrIgIkgICAgAAgACgCACEAIAJBFGpBAzYCACACQRhqQRRqQciAgIAANgIAIAJBGGpBDGpByICAgAA2AgAgAiAAQRhqNgI0IAIgADYCOCACQgM3AgQgAkHoq8CAADYCACACQcqAgIAANgIcIAIgAEEMajYCPCACIAJBGGo2AhAgAiACQTxqNgIoIAIgAkE4ajYCICACIAJBNGo2AhggASACEKOEgIAAIQAgAkHAAGokgICAgAAgAAsCAAsjAQF/AkAgAEEEaigCACIBRQ0AIAAoAgAgAUEBEIOBgIAACwv6AgEDfyOAgICAAEEQayICJICAgIAAAkACQAJAAkACQCABQYABSQ0AIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMhAQwDCwJAIAAoAggiAyAAQQRqKAIARw0AIAAgAxC/goCAACAAKAIIIQMLIAAoAgAgA2ogAToAACAAIAAoAghBAWo2AggMAwsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQIhAQwBCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQhAQsCQCAAQQRqKAIAIABBCGoiBCgCACIDayABTw0AIAAgAyABEMCCgIAAIAQoAgAhAwsgACgCACADaiACQQxqIAEQwISAgAAaIAQgAyABajYCAAsgAkEQaiSAgICAAEEAC1MBAn8CQCAAQQRqKAIAIABBCGoiAygCACIEayACTw0AIAAgBCACEMCCgIAAIAMoAgAhBAsgACgCACAEaiABIAIQwISAgAAaIAMgBCACajYCAEEAC6oCAQJ/I4CAgIAAQcAAayIEJICAgIAAAkACQAJAAkACQCACQQBIDQAgAg0BQQEhBQwCCxDdg4CAAAALIAJBARCCgYCAACIFRQ0BCyAFIAEgAhDAhICAACEBIARBADYCCCAEQgE3AwAgBEEQaiAEQbikwIAAEJ+EgIAAIAMgBEEQahDlgoCAAA0BIABBDGogAjYCACAAQQhqIAI2AgAgACABNgIEIABBEGogBCkDADcCACAAQQc2AgAgAEEYaiAEQQhqKAIANgIAAkAgAygCAEEUSQ0AIANBCGooAgAiAEUNACADKAIEIABBARCDgYCAAAsgBEHAAGokgICAgAAPCyACQQEQ3IOAgAAAC0HQpMCAAEE3IARBOGpB5KXAgABB1KXAgAAQjoSAgAAAC4oJAQF/I4CAgIAAQTBrIgIkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgwAAQIDBAUGBwgJCgsACyACQSxqQQE2AgAgAkIBNwIcIAJBhKnAgAA2AhggAkHLgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwLCyACQSxqQQE2AgAgAkIBNwIcIAJB6KjAgAA2AhggAkHMgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwKCyACQSxqQQE2AgAgAkIBNwIcIAJByKjAgAA2AhggAkHIgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwJCyACQSxqQQE2AgAgAkIBNwIcIAJBsKjAgAA2AhggAkHIgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwICyACQQxqQc2AgIAANgIAIAJBLGpBAjYCACACIABBCGo2AhAgAkICNwIcIAJBiKjAgAA2AhggAkHNgICAADYCBCACIABBEGo2AhQgAiACNgIoIAIgAkEUajYCCCACIAJBEGo2AgAgASACQRhqEKOEgIAAIQAMBwsgAkEsakEBNgIAIAJCATcCHCACQdynwIAANgIYIAJByICAgAA2AgQgAiAAQQRqNgIUIAIgAjYCKCACIAJBFGo2AgAgASACQRhqEKOEgIAAIQAMBgsgAkEsakEBNgIAIAJCAjcCHCACQaSnwIAANgIYIAJByICAgAA2AgQgAiAAQQRqNgIUIAIgAjYCKCACIAJBFGo2AgAgASACQRhqEKOEgIAAIQAMBQsgAkEMakHIgICAADYCACACQSxqQQI2AgAgAiAAQQRqNgIQIAJCAjcCHCACQYinwIAANgIYIAJByICAgAA2AgQgAiAAQRBqNgIUIAIgAjYCKCACIAJBFGo2AgggAiACQRBqNgIAIAEgAkEYahCjhICAACEADAQLIAJBDGpByICAgAA2AgAgAkEsakECNgIAIAIgAEEEajYCECACQgI3AhwgAkHgpsCAADYCGCACQciAgIAANgIEIAIgAEEQajYCFCACIAI2AiggAiACQRRqNgIIIAIgAkEQajYCACABIAJBGGoQo4SAgAAhAAwDCyACQSxqQQE2AgAgAkIBNwIcIAJBvKbAgAA2AhggAkHOgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwCCyACQSxqQQE2AgAgAkIBNwIcIAJBqKbAgAA2AhggAkHPgICAADYCBCACIABBBGo2AhQgAiACNgIoIAIgAkEUajYCACABIAJBGGoQo4SAgAAhAAwBCyACQSxqQQA2AgAgAkHkpcCAADYCKCACQgE3AhwgAkGQpsCAADYCGCABIAJBGGoQ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ADYCACACQYSvwIAANgIYIAJCATcCDCACQaCwwIAANgIIIAEgAkEIahCjhICAACEADAMLIAJBHGpBADYCACACQYSvwIAANgIYIAJCATcCDCACQYSwwIAANgIIIAEgAkEIahCjhICAACEADAILIAJBHGpBADYCACACQYSvwIAANgIYIAJCATcCDCACQeSvwIAANgIIIAEgAkEIahCjhICAACEADAELIAJBHGpBATYCACACQgE3AgwgAkGkr8CAADYCCCACQd+AgIAANgIkIAIgAEEEajYCLCACIAJBIGo2AhggAiACQSxqNgIgIAEgAkEIahCjhICAACEACyACQTBqJICAgIAAIAALAgALAgAL1AIBBH8jgICAgABBIGsiAiSAgICAACACQQhqIAEoAgAiAxDggoCAAEEBIQQCQAJAAkACQCACLQAIQQFxRQ0AAkAgAi0ACSIFQf8BcSIEQSxGDQACQAJAIARB3QBGDQAgAS0ABA0BIABBBGpBBzYCAAwFC0EAIQQgAEEAOgABDAULIAFBADoABAwCCyADENmCgIAAIAIgAxDggoCAAEEBIQQCQCACLQAAQQFxRQ0AIAItAAEhBQwCCyAAQQRqQQQ2AgAMAwsgAEEEakEBNgIADAILAkAgBUH/AXFB3QBHDQAgAEEEakETNgIADAELIAJBEGogAxD6gYCAAAJAIAIoAhAiBEEVRw0AIABBAToAAUEAIQQMAgsgAEEIaiACKQIUNwIAIABBEGogAkEcaigCADYCACAAQQRqIAQ2AgALQQEhBAsgACAEOgAAIAJBIGokgICAgAALJQACQCABKAIADQAQmoOAgAAACyAAQYSvwIAANgIEIAAgATYCAAtmAQJ/IAEoAgAhAiABQQA2AgACQAJAIAJFDQAgASgCBCEDQQhBBBCCgYCAACIBRQ0BIAEgAzYCBCABIAI2AgAgAEGEr8CAADYCBCAAIAE2AgAPCxCag4CAAAALQQhBBBDcg4CAAAALdwECfwJAAkACQAJAAkAgAEEASA0AIAANAUEBIQEMAgsQ3YOAgAAACyAAQQEQgoGAgAAiAUUNAQtBDEEEEIKBgIAAIgJFDQEgAkEANgIIIAIgADYCBCACIAE2AgAgAg8LIABBARDcg4CAAAALQQxBBBDcg4CAAAALawECfwJAAkAgAEUNACAAKAIAIgFFDQEgACgC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gAAMDAsgAkEgaiABEOCCgIAAIAItACBBAXFFDQYCQAJAAkAgAi0AIUH/AXFB2wBHDQAgARDZgoCAACACQRhqIAEQ1oKAgAAgAigCGCEDIAIgAi0AHEEBcToAbCACIAM2AmgDQCACQfgAaiACQegAahDngYCAACACLQB4DQIgAi0AeQ0ADAMLCyAAQQ42AgAMDQsgAkGQAWpBCGoiAyACQYgBaigCADYCACACIAJB+ABqQQhqKQMANwOQASACKAJ8IgRBFUcNCAsgAkH4AGogARDbgoCAAAJAIAIoAngiAUEVRw0AIABBFTYCAAwMCyAAIAIpAnw3AgQgAEEMaiACQfgAakEMaigCADYCACAAIAE2AgAMCwsgAkEwaiABEOCCgIAAIAItADBBAXFFDQcgAi0AMUH/AXFB+wBHDQggARDZgoCAACACQShqIAEQ1oKAgAAgAigCKCEDIAIgAi0ALEEBcToAVCACIAM2AlAgAkH4AGogAkHQAGoQooKAgAACQAJAIAItAHgNACACQegAakEEciEFIAJBkAFqQQRyIQYDQCACLQB5RQ0CIAJBkAFqIAIoAlAiBBDegoCAAAJAAkACQCACKAKQASIDQRVGDQAgBSAGKQIANwIAIAVBCGogBkEIaigCADYCAAwBCyACQegAaiAEEPqBgIAAIAIoAmgiA0EVRg0BCyACQcAAakEIaiAFQQhqKAIANgIAIAIgBSkCADcDQAwNCyACQfgAaiACQdAAahCigoCAACACLQB4RQ0ACwsgAkHAAGpBCGogAkGIAWooAgA2AgAgAiACQfgAakEIaikDADcDQCACKAJ8IgNBFUcNCgsgAkH4AGogARDcgoCAAAJAIAIoAngiAUEVRw0AIABBFTYCAAwLCyAAIAIpAnw3AgQgAEEMaiACQfgAakEMaigCADYCACAAIAE2AgAMCgsgAEELNgIADAkLIABBFTYCAAwICyAAQQQ2AgAMBwsgAEEONgIADAYLIAJBiAFqKAIAIQUgACAENgIEIAAgATYCACAAQQxqIAU2AgAgAEEIaiADNgIADAULIABBBDYCAAwECyAAIAIpA5ABNwIEIABBDGogAygCADYCACAAIAQ2AgAMAwsgAEEENgIADAILIABBDjYCAAwBCyAAIAIpA0A3AgQgAEEMaiACQcgAaigCADYCACAAIAM2AgALIAJB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ADoAAAwECyAAQQRqIAIpAhw3AgAgAEEMaiACQRhqQQxqKQIANwIAIABBAToAAAwDCyAAQQE6AAAgAEEEakETNgIADAILIABBAToAACAAQQRqQQI2AgAMAQsgAEEBOgAAIABBBGpBBDYCAAsgAkEwaiSAgICAAAv/AgEEfyOAgICAAEEwayICJICAgIAAIAJBEGogASgCACIDEOCCgIAAAkACQAJAIAItABBBAXFFDQACQAJAAkAgAi0AESIEQf8BcSIFQSxGDQACQCAFQf0ARg0AIAEtAAQNAiAAQQE6AAAgAEEEakEJNgIADAYLIABBgAY7AQAMBQsgAS0ABA0AIAMQ2YKAgAAgAkEIaiADEOCCgIAAIAItAAhBAXFFDQMgAi0ACSEEDAELIAFBADoABAsCQAJAIARB/wFxIgFBIkYNACABQf0ARg0BIABBAToAACAAQQRqQRA2AgAMBAsgAkEYaiADEPKBgIAAAkAgAi0AGA0AIAAgAi0AGToAASAAQQA6AAAMBAsgAEEEaiACKQIcNwIAIABBDGogAkEYakEMaikCADcCACAAQQE6AAAMAwsgAEEBOgAAIABBBGpBEzYCAAwCCyAAQQE6AAAgAEEEakECNgIADAELIABBAToAACAAQQRqQQQ2AgALIAJBMGokgICAgAALGQAgACgCACIAKAIAIAAoAgggARCohICAAAsZACAAKAIAIgAoAgAgACgCCCABEKmEgIAAC3EBAX8jgICAgABBIGsiAiSAgICAACACIAA2AgQgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGkv8CAACACQQhqEP2DgIAAIQEgAkEgaiSAgICAACABCwIAC4EDAQN/I4CAgIAAQRBrIgIkgICAgAAgACgCACEAAkACQAJAAkACQCABQYABSQ0AIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMhAQwDCwJAIAAoAggiAyAAQQRqKAIARw0AIAAgAxC/goCAACAAKAIIIQMLIAAoAgAgA2ogAToAACAAIAAoAghBAWo2AggMAwsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQIhAQwBCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQhAQsCQCAAQQRqKAIAIABBCGoiBCgCACIDayABTw0AIAAgAyABEMCCgIAAIAQoAgAhAwsgACgCACADaiACQQxqIAEQwISAgAAaIAQgAyABajYCAAsgAkEQaiSAgICAAEEAC3QBAX8jgICAgABBIGsiAiSAgICAACACIAAoAgA2AgQgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGkv8CAACACQQhqEP2DgIAAIQEgAkEgaiSAgICAACABC1gBAn8CQCAAKAIAIgNBBGooAgAgA0EIaiIEKAIAIgBrIAJPDQAgAyAAIAIQwIKAgAAgBCgCACEACyADKAIAIABqIAEgAhDAhICAABogBCAAIAJqNgIAQQALHAAgACABKQIANwIAIABBCGogAUEIaigCADYCAAuLAgIBfwF+I4CAgIAAQeAAayIDJICAgIAAIAMgAjYCBCADIAE2AgAgA0EIaiADEMaCgIAAAkACQAJAIAMoAggNACADKQIMIQQgAEEMaiADQQhqQQxqKAIANgIAIAAgBDcCBEEAIQEMAQsgAyADKQIMNwMYIANBADYCKCADQgE3AyAgA0EwaiADQSBqQbikwIAAEJ+EgIAAIANBGGogA0EwahDygoCAAA0BIAMoAiAhASAAQRBqIAMpAiQ3AwAgAEEMaiABNgIAIABBCGpBAzYCAEEBIQELIAAgATYCACADQeAAaiSAgICAAA8LQdCkwIAAQTcgA0HYAGpB5KXAgABB1KXAgAAQjoSAgAAACwwAIAAgARDfgYCAAAvcAwIBfwF+I4CAgIAAQZABayIDJICAgIAAIAMgAjYCDCADIAE2AgggAyACNgI8IAMgATYCOCADQcAAaiADQThqEMaCgIAAAkACQCADKAJADQAgA0EQakEMaiADQcAAakEMaigCACIBNgIAIAMgAykCRCIENwIUIABBDGogATYCACAAIAQ3AgQgAEEANgIADAELIAMgAykCRDcDUCADQQA2AmAgA0IBNwNYIANB6ABqIANB2ABqQbikwIAAEJ+EgIAAAkAgA0HQAGogA0HoAGoQ8oKAgAANACADQSBqIgEgAykCXDcDACADQRxqIAMoAlg2AgAgA0EQakEIakEDNgIAIANBATYCECADQegAakEUakEBNgIAIANCATcCbCADQcy/wIAANgJoIANB7ICAgAA2AlwgAyADQdgAajYCeCADIANBCGo2AlggA0HAAGogA0HoAGoQ4IOAgAAgAEEIaiADQcAAahDig4CAACAAQRQ2AgQCQCADKAJEIgJFDQAgAygCQCACQQEQg4GAgAALIABBATYCACABKAIAIgBFDQEgAygCHCAAQQEQg4GAgAAMAQtB0KTAgABBNyADQRBqQeSlwIAAQdSlwIAAEI6EgIAAAAsgA0GQAWokgICAgAALDAAgACABEJeEgIAACw8AIAAoAgAgARCzgoCAAAuDAgEBfyOAgICAAEEQayICJICAgIAAAkACQAJAAkACQAJAAkACQCAAKAIADgcAAQIDBAUGAAsgAUG8xcCAAEEIEKKEgIAAIQAMBgsgAUGyxcCAAEEKEKKEgIAAIQAMBQsgAUGhxcCAAEEREKKEgIAAIQAMBAsgAUGLxcCAAEEWEKKEgIAAIQAMAwsgAUH4xMCAAEETEKKEgIAAIQAMAgsgAUHkxMCAAEEUEKKEgIAAIQAMAQsgAiABQcDEwIAAQQoQpoSAgAAgAiAAQQRqNgIMIAJBysTAgABBCiACQQxqQdTEwIAAEISEgIAAGiACEJGEgIAAIQALIAJBEGokgICAgAAgAAsPACAAKAIAIAEQtYKAgAAL7QMBAX8jgICAgABBMGsiAiSAgICAAAJAAkACQAJAAkACQAJAAkAgACgCAA4HAAECAwQFBgALIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQbjEwIAANgIIIAEgAkEIahCjhICAACEADAYLIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQaTEwIAANgIIIAEgAkEIahCjhICAACEADAULIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQYzEwIAANgIIIAEgAkEIahCjhICAACEADAQLIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQfDDwIAANgIIIAEgAkEIahCjhICAACEADAMLIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQdDDwIAANgIIIAEgAkEIahCjhICAACEADAILIAJBHGpBADYCACACQdS/wIAANgIYIAJCATcCDCACQazDwIAANgIIIAEgAkEIahCjhICAACEADAELIAJBHGpBATYCACACQgE3AgwgAkHswsCAADYCCCACQd+AgIAANgIkIAIgAEEEajYCLCACIAJBIGo2AhggAiACQSxqNgIgIAEgAkEIahCjhICAACEACyACQTBqJICAgIAAIAALAgALRQECfyAAKAIIIQEgACgCACECAkBBDEEEEIKBgIAAIgANAEEMQQQQ3IOAgAAACyAAIAE2AgggACABNgIEIAAgAjYCACAAC18BAX8CQAJAIAFFDQAgASgCACICDQFB4MDAgABBHUGAwcCAABDggYCAAAALQbrAwIAAQRZB0MDAgAAQ4IGAgAAACyAAIAI2AgAgACABKQIENwIEIAFBDEEEEIOBgIAAC/MBAAJAAkACQAJAAkACQCACQXlqDg0BBAQEBAQEBAIABAQDBAsCQCABQarBwIAAQRAQv4SAgABFDQAgAUG6wcCAAEEQEL+EgIAADQQgAEECOgABIABBADoAAA8LIABBAToAASAAQQA6AAAPCyABQcrBwIAAQQcQv4SAgAANAiAAQQM6AAEgAEEAOgAADwsgAUGbwcCAAEEPEL+EgIAARQ0CDAELIAFB0cHAgABBExC/hICAAA0AIABBBDoAASAAQQA6AAAPCyAAQQRqIAEgAkHkwcCAAEEFEMWCgIAAIABBAToAAA8LIABBADoAASAAQQA6AAALwAICA38BfiOAgICAAEEgayICJICAgIAAIAJBCGogARD3gYCAAAJAAkACQAJAAkACQAJAAkAgAi0ACA0AIAItAAkhAyACQQhqIAEQ3oKAgAACQCACKAIIIgRBFUYNACACQRBqKQMAIQUgAigCDCEBQQAhAwwCCyADDgUCAwQFBgILIAIoAgwiBEGAfnEhAyACQRRqKQIAIQUgAkEQaigCACEBCyAAQQE2AgAgAEEMaiAFNwIAIABBCGogATYCACAAIARB/wFxIANyNgIEDAULIAAgAUHMwsCAAEECEIuCgIAADAQLIAAgAUG0wsCAAEECEIqCgIAADAMLIAAgAUGcwsCAAEEBEI6CgIAADAILIAAgAUHUv8CAAEEAEIyCgIAADAELIAAgAUGQwsCAAEEBEI2CgIAACyACQSBqJICAgIAACwIACyMBAX8CQCAAQQRqKAIAIgFFDQAgACgCACABQQEQg4GAgAALC2ABAX8jgICAgABBIGsiACSAgICAACAAQRRqQQE2AgAgAEIBNwIEIABB3MjAgAA2AgAgAEHsgICAADYCHCAAQYjRwIAANgIYIAAgAEEYajYCECAAQZDRwIAAEPiDgIAAAAv3AgEDfyOAgICAAEEQayICJICAgIAAAkACQAJAAkACQCABQYABSQ0AIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMhAQwDCwJAIAAoAggiAyAAQQRqKAIARw0AIAAgAxC/goCAACAAKAIIIQMLIAAgA0EBajYCCCAAKAIAIANqIAE6AAAMAwsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQIhAQwBCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQhAQsCQCAAQQRqKAIAIABBCGoiBCgCACIDayABTw0AIAAgAyABEMCCgIAAIAQoAgAhAwsgACgCACADaiACQQxqIAEQwISAgAAaIAQgAyABajYCAAsgAkEQaiSAgICAAEEAC9sBAQN/I4CAgIAAQSBrIgIkgICAgAACQCABQQFqIgMgAUkNACAAQQRqKAIAIgRBAXQiASADIAEgA0sbIgFBCCABQQhLGyEBAkACQCAERQ0AIAJBEGpBCGpBATYCACACIAQ2AhQgAiAAKAIANgIQDAELIAJBADYCEAsgAiABQQEgAkEQahDCgoCAAAJAIAIoAgBFDQAgAkEIaigCACIARQ0BIAIoAgQgABDcg4CAAAALIAIoAgQhAyAAQQRqIAE2AgAgACADNgIAIAJBIGokgICAgAAPCxDdg4CAAAAL2wEBAn8jgICAgABBIGsiAySAgICAAAJAIAEgAmoiAiABSQ0AIABBBGooAgAiBEEBdCIBIAIgASACSxsiAUEIIAFBCEsbIQECQAJAIARFDQAgA0EQakEIakEBNgIAIAMgBDYCFCADIAAoAgA2AhAMAQsgA0EANgIQCyADIAFBASADQRBqEMKCgIAAAkAgAygCAEUNACADQQhqKAIAIgBFDQEgAygCBCAAENyDgIAAAAsgAygCBCECIABBBGogATYCACAAIAI2AgAgA0EgaiSAgICAAA8LEN2DgIAAAAtTAQJ/AkAgAEEEaigCACAAQQhqIgMoAgAiBGsgAk8NACAAIAQgAhDAgoCAACADKAIAIQQLIAAoAgAgBGogASACEMCEgIAAGiADIAQgAmo2AgBBAAuuAQECfwJAAkACQAJAAkACQAJAAkACQCACRQ0AQQEhBCABQQBIDQEgAygCACIFRQ0DIAMoAgQiAw0CIAENBAwGCyAAIAE2AgRBASEEC0EAIQEMBgsgBSADIAIgARCEgYCAACIDRQ0CDAQLIAFFDQILIAEgAhCCgYCAACIDDQILIAAgATYCBCACIQEMAgsgAiEDCyAAIAM2AgRBACEECyAAIAQ2AgAgAEEIaiABNgIAC+wBAQF/I4CAgIAAQfAAayIDJICAgIAAIAMgAjYCDCADIAE2AgggA0EQakEUakEBNgIAIANCAjcCFCADQdzJwIAANgIQIANB7ICAgAA2AiwgAyADQShqNgIgIAMgA0EIajYCKCADQQA2AjggA0IBNwMwIANBwABqIANBMGpB9MbAgAAQn4SAgAACQCADQRBqIANBwABqEI2EgIAARQ0AQYzHwIAAQTcgA0HoAGpBoMjAgABBkMjAgAAQjoSAgAAACyAAIAMpAzA3AgQgAEEUNgIAIABBDGogA0E4aigCADYCACADQfAAaiSAgICAAAvsAQEBfyOAgICAAEHwAGsiAySAgICAACADIAI2AgwgAyABNgIIIANBEGpBFGpBATYCACADQgI3AhQgA0GAysCAADYCECADQeyAgIAANgIsIAMgA0EoajYCICADIANBCGo2AiggA0EANgI4IANCATcDMCADQcAAaiADQTBqQfTGwIAAEJ+EgIAAAkAgA0EQaiADQcAAahCNhICAAEUNAEGMx8CAAEE3IANB6ABqQaDIwIAAQZDIwIAAEI6EgIAAAAsgACADKQMwNwIEIABBFDYCACAAQQxqIANBOGooAgA2AgAgA0HwAGokgICAgAAL4AMBAX8jgICAgABBgAFrIgUkgICAgAAgBSACNgIMIAUgATYCCAJAAkACQAJAIARFDQAgBUEoakEMakGIgICAADYCACAFQRBqQRRqQQI2AgAgBUICNwIUIAVB2MrAgAA2AhAgBUHsgICAADYCLCAFIAQ2Ajwg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AkACQAJAIAEoAggiAiABKAIEIgNJDQAMAQsgASgCACEEQQEhBQNAIAQgAmotAAAiBkF3aiIHQRdLDQJBASAHdEGTgIAEcUUNAiABIAJBAWoiAjYCCCADIAJHDQALC0EAIQULIAAgBjoAASAAIAU6AAALNgEDfwJAIAEoAggiAiABKAIEIgNPDQAgASgCACACai0AACEECyAAIAQ6AAEgACACIANJOgAAC64BAQJ/AkACQAJAAkACQAJAAkACQAJAIAJFDQBBASEEIAFBAEgNASADKAIAIgVFDQMgAygCBCIDDQIgAQ0EDAYLIAAgATYCBEEBIQQLQQAhAQwGCyAFIAMgAiABEISBgIAAIgNFDQIMBAsgAUUNAgsgASACEIKBgIAAIgMNAgsgACABNgIEIAIhAQwCCyACIQMLIAAgAzYCBEEAIQQLIAAgBDYCACAAQQhqIAE2AgAL2wEBA38jgICAgABBIGsiAiSAgICAAAJAIAFBAWoiAyABSQ0AIABBBGooAgAiBEEBdCIBIAMgASADSxsiAUEIIAFBCEsbIQECQAJAIARFDQAgAkEQakEIakEBNgIAIAIgBDYCFCACIAAoAgA2AhAMAQsgAkEANgIQCyACIAFBASACQRBqEOKCgIAAAkAgAigCAEUNACACQQhqKAIAIgBFDQEgAigCBCAAENyDgIAAAAsgAigCBCEDIABBBGogATYCACAAIAM2AgAgAkEgaiSAgICAAA8LEN2DgIAAAAvbAQECfyOAgICAAEEgayIDJICAgIAAAkAgASACaiICIAFJDQAgAEEEaigCACIEQQF0IgEgAiABIAJLGyIBQQggAUEISxshAQJAAkAgBEUNACADQRBqQQhqQQE2AgAgAyAENgIUIAMgACgCADYCEAwBCyADQQA2AhALIAMgAUEBIANBEGoQ4oKAgAACQCADKAIARQ0AIANBCGooAgAiAEUNASADKAIEIAAQ3IOAgAAACyADKAIEIQIgAEEEaiABNgIAIAAgAjYCACADQSBqJICAgIAADwsQ3YOAgAAAC7sEAQF/I4CAgIAAQTBrIgIkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADhUAAQIDBAUGBwgJCgsMDQ4PEBESExQACyACQcrcwIAANgIoQSIhAAwUCyACQbHcwIAANgIoQRkhAAwTCyACQZXcwIAANgIoQRwhAAwSCyACQfrbwIAANgIoQRshAAwRCyACQdvbwIAANgIoQR8hAAwQCyACQbXbwIAANgIoQSYhAAwPCyACQY3bwIAANgIoQSghAAwOCyACQdbawIAANgIoQTchAAwNCyACQa/awIAANgIoQSchAAwMCyACQffZwIAANgIoQTghAAwLCyACQb/ZwIAANgIoQTghAAwKCyACQZHZwIAANgIoQS4hAAwJCyACQfnYwIAANgIoQRghAAwICyACQerYwIAANgIoQQ8hAAwHCyACQd7YwIAANgIoQQwhAAwGCyACQcPYwIAANgIoQRshAAwFCyACQajYwIAANgIoQRshAAwECyACQdnXwIAANgIoQc8AIQAMAwsgAkGd18CAADYCKEE8IQAMAgsgAkHk1sCAADYCKEE5IQAMAQsgAiAAKAIENgIoIABBDGooAgAhAAsgAkEcakEBNgIAIAJB94CAgAA2AiQgAiAANgIsIAJCATcCDCACQdzWwIAANgIIIAIgAkEoajYCICACIAJBIGo2AhggASACQQhqEKOEgIAAIQAgAkEwaiSAgICAACAACxgAIAAoAgAgACgCBCAAKAIIEOeCgIAAAAs7AQF/I4CAgIAAQRBrIgMkgICAgAAgAyABNgIMIAMgADYCCCADQQhqQezcwIAAQQAgAkEBEKiDgIAAAAsCAAsNAEKL5OeV8riP17h/CzMBAX8jgICAgABBEGsiAySAgICAACADIAI2AgggAyABNgIEIAMgADYCACADEOaCgIAAAAsCAAslAAJAIAEoAgANABCag4CAAAALIABBgN3AgAA2AgQgACABNgIAC2YBAn8gASgCACECIAFBADYCAAJAAkAgAkUNACABKAIEIQNBCEEEEIKBgIAAIgFFDQEgASADNgIEIAEgAjYCACAAQYDdwIAANgIEIAAgATYCAA8LEJqDgIAAAAtBCEEEENyDgIAAAAscACAAKAIAKAIAIgAoAgAgACgCCCABEKmEgIAAC0wBAX8CQCABKAIIIgMgAUEEaigCAEcNACABIAMQ44KAgAAgASgCCCEDCyABKAIAIANqQd0AOgAAIABBADYCACABIAEoAghBAWo2AggLTAEBfwJAIAEoAggiAyABQQRqKAIARw0AIAEgAxDjgoCAACAB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IAI2AiggASACQRhqEKOEgIAAIQQLIAJBMGokgICAgAAgBAsUACAAKAIAIAAoAgQgARCphICAAAsZACAAKAIAIgAoAgAgACgCBCABEKmEgIAACxgAIAAoAgAgACgCBCAAKAIIEP2CgIAAAAs7AQF/I4CAgIAAQRBrIgMkgICAgAAgAyABNgIMIAMgADYCCCADQQhqQaD1wIAAQQAgAkEBEKiDgIAAAAsCAAsNAEKL5OeV8riP17h/CzMBAX8jgICAgABBEGsiAySAgICAACADIAI2AgggAyABNgIEIAMgADYCACADEPyCgIAAAAsCAAslAAJAIAEoAgANABCag4CAAAALIABBtPXAgAA2AgQgACABNgIAC2YBAn8gASgCACECIAFBADYCAAJAAkAgAkUNACABKAIEIQNBCEEEEIKBgIAAIgFFDQEgASADNgIEIAEgAjYCACAAQbT1wIAANgIEIAAgATYCAA8LEJqDgIAAAAtBCEEEENyDgIAAAAsNAELSgZzewcX876h/Cw0AQovk55XyuI/XuH8L2wEBAn8jgICAgABBIGsiAySAgICAAAJAIAEgAmoiAiABSQ0AIABBBGooAgAiBEEBdCIBIAIgASACSxsiAUEIIAFBCEsbIQECQAJAIARFDQAgA0EQakEIakEBNgIAIAMgBDYCFCADIAAoAgA2AhAMAQsgA0EANgIQCyADIAFBASADQRBqEJGDgIAAAkAgAygCAEUNACADQQhqKAIAIgBFDQEgAygCBCAAENyDgIAAAAsgAygCBCECIABBBGogATYCACAAIAI2AgAgA0EgaiSAgICAAA8LEN2DgIAAAAsCAAsqAQF/AkAgAEEEaigCACIBRQ0AIAAoAgAiAEUNACAAIAFBARCDgYCAAAsLKgEBfwJAIAAoAgQiAUUNACAAQQhqKAIAIgBFDQAgASAAQQEQg4GAgAALCxwAAkAgAA0AQdz1wIAAQSsgARD0g4CAAAALIAALIAACQCAADQBB3PXAgABBK0GQ98CAABD0g4CAAAALIAALEgAgACgCACABEI2DgIAAGkEAC/cCAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCABQYABSQ0AIAJBADYCDCABQYAQTw0BIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECIQEMAgsCQCAAKAIIIgMgAEEE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AwvUBQEEfyAAIAEQu4OAgAAhAgJAAkACQCAAELKDgIAADQAgACgCACEDAkACQCAAELWDgIAADQAgAyABaiEBIAAgAxC8g4CAACIAQQAoArSewYAARw0BIAIoAgRBA3FBA0cNAkEAIAE2AqyewYAAIAAgASACELqDgIAADwtBnJvBgAAgACADayADIAFqQRBqIgAQy4OAgABFDQJBAEEAKAK8nsGAACAAazYCvJ7BgAAPCwJAIANBgAJJDQAgABCVg4CAAAwBCwJAIABBDGooAgAiBCAAQQhqKAIAIgVGDQAgBSAENgIMIAQgBTYCCAwBC0EAQQAoApybwYAAQX4gA0EDdndxNgKcm8GAAAsCQCACELGDgIAARQ0AIAAgASACELqDgIAADAILAkACQCACQQAoAriewYAARg0AIAJBACgCtJ7BgABHDQFBACAANgK0nsGAAEEAQQAoAqyewYAAIAFqIgE2AqyewYAAIAAgARC5g4CAAA8LQQAgADYCuJ7BgABBAEEAKAKwnsGAACABaiIBNgKwnsGAACAAIAFBAXI2AgQgAEEAKAK0nsGAAEcNAUEAQQA2AqyewYAAQQBBADYCtJ7BgAAPCyACELCDgIAAIgMgAWohAQJAAkAgA0GAAkkNACACEJWDgIAADAELAkAgAkEMaigCACIEIAJBCGooAgAiAkYNACACIAQ2AgwgBCACNgIIDAELQQBBACgCnJvBgABBfiADQQN2d3E2ApybwYAACyAAIAEQuYOAgAAgAEEAKAK0nsGAAEcNAUEAIAE2AqyewYAACw8LAkAgAUGAAkkNACAAIAEQloOAgAAPCyABQQN2IgJBA3RBpJvBgABqIQECQAJAQQAoApybwYAAIgNBASACdCICcUUNACABKAIIIQIMAQtBACADIAJyNgKcm8GAACABIQILIAEgADYCCCACIAA2AgwgACABNgIMIAAgAjYCCAvXAgEFfyAAKAIYIQECQAJAAkAgABDCg4CAACAARw0AIABBFEEQIABBFGoiAigCACIDG2ooAgAiBA0BQQAhAwwCCyAAEMODgIAAIgQgABDCg4CAACIDEMGDgIAANgIMIAMgBBDBg4CAADYCCAwBCyACIABBEGogAxshAgNAIAIhBQJAIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECEECyAEDQALIAVBADYCAAsCQCABRQ0AAkACQCAAKAIcQQJ0QaydwYAAaiIEKAIAIABGDQAgAUEQQRQgASgCECAARhtqIAM2AgAgAw0BDAILIAQgAzYCACADDQBBAEEAKAKgm8GAAEF+IAAoAhx3cTYCoJvBgAAPCyADIAE2AhgCQCAAKAIQIgRFDQAgAyAENgIQIAQgAzYCGAsgAEEUaigCACIERQ0AIANBFGogBDYCACAEIAM2AhgPCwvdAgEFf0EAIQICQCABQYACSQ0AQR8hAiABQf///wdLDQAgAUEGIAFBCHZnIgJrdkEBcSACQQF0a0E+aiECCyAAQgA3AhAgACACNgIcIAJBAnRBrJ3BgABqIQMgABDBg4CAACEEAkACQAJAAkACQEEAKAKgm8GAACIFQQEgAnQiBnFFDQAgAygCACEFIAIQroOAgAAhAiAFEMGDgIAAELCDgIAAIAFHDQEgBSECDAILQQAgBSAGcjYCoJvBgAAgAyAANgIAIAAgAzYCGAwDCyABIAJ0IQMDQCAFIANBHXZBBHFqQRBqIgYoAgAiAkUNAiADQQF0IQMgAiEFIAIQwYOAgAAQsIOAgAAgAUcNAAsLIAIQwYOAgAAiAigCCCIDIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAM2AgggAEEANgIYDwsgBiAANgIAIAAgBTYCGAsgBCAENgIIIAQgBDYCDAuGAwENfwJAQQAoAsyewYAAIgANAEEAQf8fNgLcnsGAAEEADwtBxJ7BgAAhAUEAIQJBACEDA0AgACIEKAIIIQAgBCgCBCEFIAQoAgAhBgJAAkBBnJvBgAAgBEEMaigCAEEBdhDMg4CAAEUNACAEEMSDgIAADQAgBiAGEL2DgIAAIgdBCBCrg4CAACAHa2oiBxCwg4CAACEIEL6DgIAAIglBCBCrg4CAACEKQRRBCBCrg4CAACELQRBBCBCrg4CAACEMIAcQtIOAgAANACAHIAhqIAYgCSAFaiAKIAtqIAxqa2pJDQACQAJAQQAoArSewYAAIAdGDQAgBxCVg4CAAAwBC0EAQQA2AqyewYAAQQBBADYCtJ7BgAALAkBBnJvBgAAgBiAFEMuDgIAADQAgByAIEJaDgIAADAELQQBBACgCvJ7BgAAgBWs2AryewYAAIAEgADYCCCAFIAJqIQIMAQsgBCEBCyADQQFqIQMgAA0AC0EAIANB/x8gA0H/H0sbNgLcnsGAACACC5ILAQZ/IAAQv4OAgAAhACAAIAAQsIOAgAAiARC7g4CAACECAkACQAJAIAAQsoOAgAANACAAKAIAIQMCQAJAIAAQtYOAgAANACADIAFqIQEgACADELyDgIAAIgBBACgCtJ7BgABHDQEgAigCBEEDcUEDRw0CQQAgATYCrJ7BgAAgACABIAIQuoOAgAAPC0Gcm8GAACAAIANrIAMgAWpBEGoiABDLg4CAAEUNAkEAQQAoAryewYAAIABrNgK8nsGAAA8LAkAgA0GAAkkNACAAEJWDgIAADAELAkAgAEEMaigCACIEIABBCGooAgAiBUYNACAFIAQ2AgwgBCAFNgIIDAELQQBBACgCnJvBgABBfiADQQN2d3E2ApybwYAACwJAAkAgAhCxg4CAAEUNACAAIAEgAhC6g4CAAAwBCwJAAkACQAJAIAJBACgCuJ7BgABGDQAgAkEAKAK0nsGAAEcNAUEAIAA2ArSewYAAQQBBACgCrJ7BgAAgAWoiATYCrJ7BgAAgACABELmDgIAADwtBACAANgK4nsGAAEEAQQAoArCewYAAIAFqIgE2ArCewYAAIAAgAUEBcjYCBCAAQQAoArSewYAARg0BDAILIAIQsIOAgAAiAyABaiEBAkACQCADQYACSQ0AIAIQlYOAgAAMAQsCQCACQQxqKAIAIgQgAkEIaigCACICRg0AIAIgBDYCDCAEIAI2AggMAQtBAEEAKAKcm8GAAEF+IANBA3Z3cTYCnJvBgAALIAAgARC5g4CAACAAQQAoArSewYAARw0CQQAgATYCrJ7BgAAMAwtBAEEANgKsnsGAAEEAQQA2ArSewYAAC0EAKALUnsGAACABTw0BEL6DgIAAIQAgACAAQQgQq4OAgABBFEEIEKuDgIAAakEQQQgQq4OAgABqa0H4/3tqQXdxQX1qIgBBAEEQQQgQq4OAgABBAnRrIgEgASAASxtFDQFBACgCuJ7BgABFDQEQvoOAgAAiAEEIEKuDgIAAIQFBFEEIEKuDgIAAIQNBEEEIEKuDgIAAIQRBACECAkBBACgCsJ7BgAAiBSAEIAMgASAAa2pqIgBNDQAgBSAAQX9zakGAgHxxIQNBACgCuJ7BgAAhAUHEnsGAACEAAkADQAJAIAAoAgAgAUsNACAAEMeDgIAAIAFLDQILIAAoAggiAA0AC0EAIQALQQAhAiAAEMSDgIAADQBBnJvBgAAgAEEMaigCAEEBdhDMg4CAAEUNACAAKAIEIANJDQBBxJ7BgAAhAQNAIAAgARDGg4CAAA0BIAEoAggiAQ0AC0Gcm8GAACAAKAIAIAAoAgQiASABIANrEMqDgIAARQ0AIANFDQAgACAAKAIEIANrNgIEQQBBACgCvJ7BgAAgA2s2AryewYAAQQAoArCewYAAIQFBACgCuJ7BgAAhAEEAIAAgABC9g4CAACICQQgQq4OAgAAgAmsiAhC7g4CAACIANgK4nsGAAEEAIAEgAyACamsiATYCsJ7BgAAgACABQQFyNgIEEL6DgIAAIgJBCBCrg4CAACEEQRRBCBCrg4CAACEFQRBBCBCrg4CAACEGIAAgARC7g4CAACAGIAUgBCACa2pqNgIEQQBBgICAATYC1J7BgAAgAyECCyACQQAQl4OAgABrRw0BQQAoArCewYAAQQAoAtSewYAATQ0BQQBBfzYC1J7BgAAPCyABQYACSQ0BIAAgARCWg4CAAEEAQQAoAtyewYAAQX9qIgA2AtyewYAAIAANABCXg4CAABoPCw8LIAFBA3YiAkEDdEGkm8GAAGohAQJAAkBBACgCnJvBgAAiA0EBIAJ0IgJxRQ0AIAEoAgghAgwBC0EAIAMgAnI2ApybwYAAIAEhAgsgASAANgIIIAIgADYCDCAAIAE2AgwgACACNgIIC5oBAQR/IAAgABC9g4CAACICQQgQq4OAgAAgAmsiAhC7g4CAACEAQQAgASACayIBNgKwnsGAAEEAIAA2AriewYAAIAAgAUEBcjYCBBC+g4CAACICQQgQq4OAgAAhA0EUQQgQq4OAgAAhBEEQQQgQq4OAgAAhBSAAIAEQu4OAgAAgBSAEIAMgAmtqajYCBEEAQYCAgAE2AtSewYAACwQAAAALGAAgACgCACAAKAIEIAAoAggQnIOAgAAAC78BAQJ/I4CAgIAAQRBrIgMkgICAgAAgAEEUaigCACEEAkACQAJAAkAgAEEEaigCAA4CAAEDCyAEDQJB3PXAgAAhAEEAIQQMAQsgBA0BIAAoAgAiACgCBCEEIAAoAgAhAAsgAyAENgIEIAMgADYCACADQdT3wIAAIAEQiISAgAAgAiABEIqEgIAAEKiDgIAAAAsgA0EANgIEIAMgADYCACADQcD3wIAAIAEQiISAgAAgAiABEIqEgIAAEKiDgIAAAAuDAQEBfyOAgICAAEEwayICJICAgIAAAkBBAC0AhJvBgABFDQAgAkEcakEBNgIAIAJCAjcCDCACQaz2wIAANgIIIAJB/YCAgAA2AiQgAiAANgIsIAIgAkEgajYCGCACIAJBLGo2AiAgAkEIakHU9sCAABD4g4CAAAALIAJBMGokgICAgAALJQEBfyAAIAFBACgCiJvBgAAiAkGHgYCAACACGxGAgICAAAAAAAsMACAAIAEQkoOAgAALCgAgABCYg4CAAAvcCAEGfwJAAkACQAJAIAJBCUkNACADIAIQkoOAgAAiAg0BQQAPCxC+g4CAACEBQQAhAiABIAFBCBCrg4CAAEEUQQgQq4OAgABqQRBBCBCrg4CAAGprQfj/e2pBd3FBfWoiAUEAQRBBCBCrg4CAAEECdGsiBCAEIAFLGyADTQ0BQRAgA0EEakEQQQgQq4OAgABBe2ogA0sbQQgQq4OAgAAhBCAAEL+DgIAAIQEgASABELCDgIAAIgUQu4OAgAAhBgJAAkACQAJAAkACQAJAAkAgARC1g4CAAA0AIAUgBE8NASAGQQAoAriewYAARg0CIAZBACgCtJ7BgABGDQMgBhCxg4CAAA0HIAYQsIOAgAAiByAFaiIFIARJDQcgBSAEayEIIAdBgAJJDQQgBhCVg4CAAAwFCyABELCDgIAAIQUgBEGAAkkNBgJAIAUgBEEEakkNACAFIARrQYGACEkNBgtBnJvBgAAgASABKAIAIgZrIAUgBmpBEGoiByAEQR9qQZybwYAAEM6DgIAAEKuDgIAAIgVBARDJg4CAACIERQ0GIAQgBmoiASAFIAZrIgNBcGoiAjYCBBCvg4CAACEAIAEgAhC7g4CAACAANgIEIAEgA0F0ahC7g4CAAEEANgIEQQBBACgCvJ7BgAAgBSAHa2oiAzYCvJ7BgABBAEEAKALYnsGAACICIAQgBCACSxs2AtiewYAAQQBBACgCwJ7BgAAiAiADIAIgA0sbNgLAnsGAAAwJCyAFIARrIgVBEEEIEKuDgIAASQ0EIAEgBBC7g4CAACEGIAEgBBC2g4CAACAGIAUQtoOAgAAgBiAFEJSDgIAADAQLQQAoArCewYAAIAVqIgUgBE0NBCABIAQQu4OAgAAhBiABIAQQtoOAgAAgBiAFIARrIgRBAXI2AgRBACAENgKwnsGAAEEAIAY2AriewYAADAMLQQAoAqyewYAAIAVqIgUgBEkNAwJAAkAgBSAEayIGQRBBCBCrg4CAAE8NACABIAUQtoOAgABBACEGQQAhBQwBCyABIAQQu4OAgAAiBSAGELuDgIAAIQcgASAEELaDgIAAIAUgBhC5g4CAACAHELODgIAAC0EAIAU2ArSewYAAQQAgBjYCrJ7BgAAMAgsCQCAGQQxqKAIAIgkgBkEIaigCACIGRg0AIAYgCTYCDCAJIAY2AggMAQtBAEEAKAKcm8GAAEF+IAdBA3Z3cTYCnJvBgAALAkAgCEEQQQgQq4OAgABJDQAgASAEELuDgIAAIQUgASAEELaDgIAAIAUgCBC2g4CAACAFIAgQlIOAgAAMAQsgASAFELaDgIAACyABDQMLIAMQk4OAgAAiBEUNASAEIAAgAyABELCDgIAAQXhBfCABELWDgIAAG2oiAiACIANLGxDAhICAACEDIAAQmIOAgAAgAw8LIAIgACADIAEgASADSxsQwISAgAAaIAAQmIOAgAALIAIPCyABELWDgIAAGiABEL2DgIAAC0UAAkAgACABEJKDgIAAIgFFDQACQEGcm8GAABDNg4CAAEUNACABEL+DgIAAELWDgIAADQELIAFBACAAEL6EgIAAGgsgAQtZAQN/I4CAgIAAQRBrIgEkgICAgAAgABCJhICAAEGA98CAABCKg4CAACECIAAQiISAgAAQi4OAgAAhAyABIAI2AgggASAANgIEIAEgAzYCACABEJuDgIAAAAuxAgIEfwF+I4CAgIAAQTBrIgIkgICAgAAgAUEEaiEDAkAgASgCBA0AIAEoAgAhBCACQQhqQQhqIgVBADYCACACQgE3AwggAiACQQhqNgIUIAJBGGpBEGogBEEQaikCADcDACACQRhqQQhqIARBCGopAgA3AwAgAiAEKQIANwMYIAJBFGpBxPXAgAAgAkEYahD9g4CAABogA0EIaiAFKAIANgIAIAMgAikDCDcCAAsgAkEYakEIaiIEIANBCGooAgA2AgAgAUEMakEANgIAIAMpAgAhBiABQgE3AgQgAiAGNwMYAkBBDEEEEIKBgIAAIgENAEEMQQQQ3IOAgAAACyABIAIpAxg3AgAgAUEIaiAEKAIANgIAIABBoPfAgAA2AgQgACABNgIAIAJBMGokgICAgAALyAEBA38jgICAgABBMGsiAiSAgICAACABQQRqIQMCQCABKAIEDQAgASgCACEBIAJBCGpBCGoiBEEANgIAIAJCATcDCCACIAJBCGo2AhQgAkEYakEQaiABQRBqKQIANwMAIAJBGGpBCGogAUEIaikCADcDACACIAEpAgA3AxggAkEUakHE9cCAACACQRhqEP2DgIAAGiADQQhqIAQoAgA2AgAgAyACKQMINwIACyAAQaD3wIAANgIEIAAgAzYCACACQTBqJICAgIAAC04BAn8gASgCBCECIAEoAgAhAwJAQQhBBBCCgYCAACIBDQBBCEEEENyDgIAAAAsgASACNgIEIAEgAzYCACAAQbD3wIAANgIEIAAgATYCAAsUACAAQbD3wIAANgIEIAAgATYCAAurAgEDfyOAgICAAEEgayIFJICAgIAAQQEhBkEAQQAoApibwYAAIgdBAWo2ApibwYAAAkACQEEALQDgnsGAAEUNAEEAKALknsGAAEEBaiEGDAELQQBBAToA4J7BgAALQQAgBjYC5J7BgAACQAJAIAdBAEgNACAGQQJLDQAgBSAEOgAYIAUgAzYCFCAFIAI2AhBBACgCjJvBgAAiB0F/TA0AQQAgB0EBaiIHNgKMm8GAAAJAQQAoApSbwYAAIgJFDQBBACgCkJvBgAAhByAFIAAgASgCEBGAgICAAAAgBSAFKQMANwMIIAcgBUEIaiACKAIUEYCAgIAAAEEAKAKMm8GAACEHC0EAIAdBf2o2AoybwYAAIAZBAUsNACAEDQELAAALIAAgARCpg4CAAAALMQEBfyOAgICAAEEQayICJICAgIAAIAIgATYCDCACIAA2AgggAkEIahCqg4CAABoAAAsEAAAACxAAIAAgAWpBf2pBACABa3ELDwAgAEEBdCIAQQAgAGtyCwoAQQAgAGsgAHELEgBBAEEZIABBAXZrIABBH0YbCwQAQQcLCgAgACgCBEF4cQsNACAALQAEQQJxQQF2CwoAIAAoAgRBAXELDwAgACAAKAIEQX5xNgIECw0AIAAoAgRBA3FBAUcLCwAgAC0ABEEDcUULJwAgACAAKAIEQQFxIAFyQQJyNgIEIAAgAWoiACAAKAIEQQFyNgIECx4AIAAgAUEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAsMACAAIAFBA3I2AgQLFgAgACABQQFyNgIEIAAgAWogATYCAAsjACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsHACAAIAFqCwcAIAAgAWsLBwAgAEEIagsEAEEICwcAIABBeGoLHAEBfwJAIAAoAhAiAQ0AIABBFGooAgAhAQsgAQsEACAACwcAIAAoAgwLBwAgACgCCAsKACAAKAIMQQFxCwoAIAAoAgxBAXYLJgECf0EAIQICQCAAKAIAIgMgAUsNACADIAAoAgRqIAFLIQILIAILDQAgACgCACAAKAIEags5AQF/IAJBEHZAACEDIABBADYCCCAAQQAgAkGAgHxxIANBf0YiAhs2AgQgAEEAIANBEHQgAhs2AgALBABBAAsEAEEACwQAQQALBABBAAsEAEEBCwYAQYCABAsPACAAKAIAIAEQvYSAgAALQwAgACgCACEAAkAgARCkhICAAA0AAkAgARClhICAAA0AIAAgARCthICAAA8LIAAgARC1hICAAA8LIAAgARCuhICAAAuCAQECfyOAgICAAEEQayICJICAgIAAIAAoAgAiAEEIaigCACEDIAAoAgAhACACIAEQp4SAgAACQCADRQ0AA0AgAiAANgIMIAIgAkEMakGA+MCAABCUhICAABogAEEBaiEAIANBf2oiAw0ACwsgAhCVhICAACEAIAJBEGokgICAgAAgAAsNACAAIAEQ04OAgAAACw0AIAAgARDUg4CAAAALDQAgACABEIaBgIAAAAsCAAsRACAAKAIAIAEQ14OAgABBAAv1AgEDfyOAgICAAEEQayICJICAgIAAAkACQAJAAkACQCABQYABSQ0AIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMhAQwDCwJAIAAoAggiAyAAQQRqKAIARw0AIAAgAxDeg4CAACAAKAIIIQMLIAAgA0EBajYCCCAAKAIAIANqIAE6AAAMAwsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQIhAQwBCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQhAQsCQCAAQQRqKAIAIABBCGoiBCgCACIDayABTw0AIAAgAyABENqD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QCACDQBBACEIDAELIAJBA3EhBwJAAkAgAkF/akEDTw0AQQAhCCABIQMMAQsgAkF8cSEGQQAhCCABIQMDQCAIIAMsAABBv39KaiADQQFqLAAAQb9/SmogA0ECaiwAAEG/f0pqIANBA2osAABBv39KaiEIIANBBGohAyAGQXxqIgYNAAsLIAdFDQADQCAIIAMsAABBv39KaiEIIANBAWohAyAHQX9qIgcNAAsLAkAgBSAITQ0AQQAhAyAFIAhrIgchBgJAAkACQEEAIAAtACAiCCAIQQNGG0EDcQ4DAgABAgtBACEGIAchAwwBCyAHQQF2IQMgB0EBakEBdiEGCyADQQFqIQMgAEEcaigCACEHIAAoAgQhCCAAKAIYIQACQANAIANBf2oiA0UNASAAIAggBygCEBGIgICAAABFDQALQQEPC0EBIQMgCEGAgMQARg0BIAAgASACIAcoAgwRh4CAgAAADQFBACEDA0ACQCAGIANHDQAgBiAGSQ8LIANBAWohAyAAIAggBygCEBGIgICAAABFDQALIANBf2ogBkkPCyAAKAIYIAEgAiAAQRxqKAIAKAIMEYeAgIAAAA8LIAMLVAEBfyOAgICAAEEgayIDJICAgIAAIANBFGpBADYCACADQfT6wIAANgIQIANCATcCBCADIAE2AhwgAyAANgIYIAMgA0EYajYCACADIAIQ+IOAgAAACw0AIAAgARD6g4CAAAALKgAgASAALQAAQQJ0IgBB8JrBgABqKAIAIABB3JrBgABqKAIAEPODgIAACxEAIAA1AgBBASABELSEgIAAC0wBAX8jgICAgABBIGsiAiSAgICAACACQQE6ABggAiABNgIUIAIgADYCECACQeD8wIAANgIMIAJB9PrAgAA2AgggAkEIahCjg4CAAAALHQAgACgCACAAKAIEIAAoAgggACgCDBDmg4CAAAALDQAgACABEOmDgIAAAAsNACAAIAEQ64OAgAAACw0AIAAgARDtg4CAAAALvQUBCn8jgICAgABBMGsiAySAgICAACADQSRqIAE2AgAgA0EDOgAoIANCgICAgIAENwMIIAMgADYCIEEAIQQgA0EANgIYIANBADYCEAJAAkACQAJAIAIoAggiBQ0AIAJBFGooAgAiBkUNASACKAIAIQEgAigCECEAIAZBf2pB/////wFxQQFqIgQhBgNAAkAg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amohAiAAQRBqIgAgB0cNAAsLIAYgCWohACADIARrIQMgAkEIdkH/gfwHcSACQf+B/AdxakGBgARsQRB2IAhqIQggBUUNAAsgBiAKQQJ0aiEAIAVB/////wNqIgRB/////wNxIgJBAWoiAUEDcSEDAkACQCACQQNPDQBBACECDAELIAFB/P///wdxIQFBACECA0AgAEEMaigCACIHQX9zQQd2IAdBBnZyQYGChAhxIABBCGooAgAiB0F/c0EHdiAHQQZ2ckGBgoQIcSAAQQRqKAIAIgdBf3NBB3YgB0EGdnJBgYKECHEgACgCACIHQX9zQQd2IAdBBnZyQYGChAhxIAJqampqIQIgAEEQaiEAIAFBfGoiAQ0ACwsCQCADRQ0AIARBgYCAgHxqIQEDQCAAKAIAIgdBf3NBB3YgB0EGdnJBgYKECHEgAmohAiAAQQRqIQAgAUF/aiIBDQALCyACQQh2Qf+B/AdxIAJB/4H8B3FqQYGABGxBEHYgCGoPCwJAIAENAEEADwsgAUEDcSECAkACQCABQX9qQQNPDQBBACEIDAELIAFBfHEhAUEAIQgDQCAIIAAsAABBv39KaiAAQQFqLAAAQb9/SmogAEECaiwAAEG/f0pqIABBA2osAABBv39KaiEIIABBBGohACABQXxqIgENAAsLIAJFDQADQCAIIAAsAABBv39KaiEIIABBAWohACACQX9qIgINAAsLIAgLXAEBfwJAAkACQCABQYCAxABGDQBBASEEIAAoAhggASAAQRxqKAIAKAIQEYiAgIAAAA0BCyACDQFBACEECyAEDwsgACgCGCACIAMgAEEcaigCACgCDBGHgICAAAALHQAgACgCGCABIAIgAEEcaigCACgCDBGHgICAAAALdAECfyOAgICAAEEgayICJICAgIAAIABBHGooAgAhAyAAKAIYIQAgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggACADIAJBCGoQ/YOAgAAhASACQSBqJICAgIAAIAELDQAgAC0AAEEQcUEEdgsNACAALQAAQSBxQQV2CzQAIAEoAhggAiADIAFBHGooAgAoAgwRh4CAgAAAIQIgAEEAOgAFIAAgAjoABCAAIAE2AgALOgEBfyABKAIYQY/+wIAAQQEgAUEcaigCACgCDBGHgICA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IHRvIHN1YnRyYWN0IHdpdGggb3ZlcmZsb3cAAACpARAAVAAAAE8AAAATAAAAAAAAAAAAAAAAAAAAYXR0ZW1wdCB0byBhZGQgd2l0aCBvdmVyZmxvd2FjdGlvbnNlbmRlcm9wZXJhdG9ycmVjaXBpZW50Y3JhdGVzLmlvOmN3NzIxLWJhc2UwLjEzLjIACgAAAAAAAAABAAAACwAAAAwAAAANAAAADgAAAAoAAAAAAAAAAQAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAACgAAAAAAAAABAAAAFwAAAENvaW5kZW5vbWFtb3VudGJsb2NrdHJhbnNhY3Rpb25jb250cmFjdGhlaWdodHRpbWVjaGFpbl9pZGZ1bmRzYWRkcmVzc2luZGV4L2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Nvc213YXNtLXN0ZC0xLjAuMC1iZXRhOC9zcmMvZXhwb3J0cy5ycwAAAEYDEABnAAAAggAAABoAAABGAxAAZwAAAGYAAAAaAAAARgMQAGcAAADXAAAAGgAAAHdhc21jdXN0b21iYW5rQmFua01zZ3NlbmR0b19hZGRyZXNzV2FzbU1zZ2NsZWFyX2FkbWluY29udHJhY3RfYWRkcnVwZGF0ZV9hZG1pbmFkbWlubWlncmF0ZW5ld19jb2RlX2lkbXNnaW5zdGFudGlhdGVjb2RlX2lkbGFiZWxleGVjdXRlU3ViTXNnaWRnYXNfbGltaXRSZXBseU9ubmV2ZXJzdWNjZXNzZXJyb3JhbHdheXNva0VtcHR5RXZlbnR0eXBlYXR0cmlidXRlc0F0dHJpYnV0ZWtleXZhbHVlUmVzcG9uc2VldmVudHMAAAoAAAAcAAAABAAAABgAAAAZAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2N3LXN0b3JhZ2UtcGx1cy0wLjEzLjIvc3JjL2tleXMucnMAAOQEEABiAAAASQAAABYAAADkBBAAYgAAAEkAAAAOAAAA5AQQAGIAAABKAAAADQAAAC9ob21lL3R3b2Jsb2Nrcy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9jdy1zdG9yYWdlLXBsdXMtMC4xMy4yL3NyYy9wYXRoLnJzAAB4BRAAYgAAACkAAAAWAAAAeAUQAGIAAAApAAAADgAAAHgFEABiAAAALQAAAA0AAAAaAAAAIAAAAAQAAAAbAAAAHAAAAB0AAAAeAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2N3LXN0b3JhZ2UtcGx1cy0wLjEzLjIvc3JjL2luZGV4ZXMvbXVsdGkucnNwayBub3QgZm91bmQAKAYQAGsAAAByAAAAEgAAACgGEABrAAAAcwAAAA8AAABzdGFydF9hZnRlcmxpbWl0aW5jbHVkZV9leHBpcmVkYXRfaGVpZ2h0YXRfdGltZQDfBhAACQAAAOgGEAAHAAAAfgQQAAUAAABDb250cmFjdFZlcnNpb252ZXJzaW9uAAAfAAAADAAAAAQAAAAgAAAAIQAAACIAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjL2ZlNWIxM2Q2ODFmMjVlZTY0NzRiZTI5ZDc0OGM2NWFkY2Q5MWY2OWUvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAABvBxAASwAAAGYJAAAOAAAAY3c3MjFfYmFzZTo6c3RhdGU6OlRva2VuSW5mbzxjb3JlOjpvcHRpb246Ok9wdGlvbjxjdzcyMV9tZXRhZGF0YV9vbmNoYWluOjpNZXRhZGF0YT4+Y3c3MjE6OnF1ZXJ5OjpUb2tlbnNSZXNwb25zZWN3NzIxX2Jhc2U6Om1zZzo6UXVlcnlNc2djdzcyMTo6cXVlcnk6Ok51bVRva2Vuc1Jlc3BvbnNlY3c3MjFfYmFzZTo6bXNnOjpJbnN0YW50aWF0ZU1zZ2N3NzIxOjpxdWVyeTo6QXBwcm92YWxSZXNwb25zZXU2NGNvc213YXNtX3N0ZDo6dHlwZXM6OkVudmNvc213YXNtX3N0ZDo6cmVzdWx0czo6Y29udHJhY3RfcmVzdWx0OjpDb250cmFjdFJlc3VsdDxjb3Ntd2FzbV9zdGQ6OmJpbmFyeTo6QmluYXJ5PmN3NzIxOjpxdWVyeTo6QWxsTmZ0SW5mb1Jlc3BvbnNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGN3NzIxX21ldGFkYXRhX29uY2hhaW46Ok1ldGFkYXRhPj5jdzcyMTo6cXVlcnk6Ok93bmVyT2ZSZXNwb25zZWNvc213YXNtX3N0ZDo6cmVzdWx0czo6Y29udHJhY3RfcmVzdWx0OjpDb250cmFjdFJlc3VsdDxjb3Ntd2FzbV9zdGQ6OnJlc3VsdHM6OnJlc3BvbnNlOjpSZXNwb25zZT51MzJjdzcyMTo6cXVlcnk6Ok9wZXJhdG9yc1Jlc3BvbnNlY3c3MjFfYmFzZTo6bXNnOjpNaW50ZXJSZXNwb25zZWN3NzIxOjpxdWVyeTo6Q29udHJhY3RJbmZvUmVzcG9uc2Vjb3Ntd2FzbV9zdGQ6OmFkZHJlc3Nlczo6QWRkcmN3NzIxOjpxdWVyeTo6TmZ0SW5mb1Jlc3BvbnNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGN3NzIxX21ldGFkYXRhX29uY2hhaW46Ok1ldGFkYXRhPj5jd191dGlsczo6ZXhwaXJhdGlvbjo6RXhwaXJhdGlvbmN3Mjo6Q29udHJhY3RWZXJzaW9uY3c3MjFfYmFzZTo6bXNnOjpFeGVjdXRlTXNnPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGN3NzIxX21ldGFkYXRhX29uY2hhaW46Ok1ldGFkYXRhPj5jdzcyMTo6cXVlcnk6OkFwcHJvdmFsc1Jlc3BvbnNlY29zbXdhc21fc3RkOjp0eXBlczo6TWVzc2FnZUluZm8AAAAKAAAABAAAAAQAAAAjAAAAJAAAACUAAAAKAAAAAAAAAAEAAAAmAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQAnAAAAIAAAAAgAAAAoAAAAVG9rZW5zUmVzcG9uc2VPd25lck9mUmVzcG9uc2VBcHByb3ZhbFJlc3BvbnNlQXBwcm92YWxzUmVzcG9uc2VOdW1Ub2tlbnNSZXNwb25zZWNvdW50T3BlcmF0b3JzUmVzcG9uc2VvcGVyYXRvcnNDb250cmFjdEluZm9SZXNwb25zZU5mdEluZm9SZXNwb25zZUFsbE5mdEluZm9SZXNwb25zZWFjY2Vzc21pc3NpbmcgZmllbGQgYGAAAAChDBAADwAAALAMEAABAAAAZHVwbGljYXRlIGZpZWxkIGAAAADEDBAAEQAAALAMEAABAAAAdW5rbm93biB2YXJpYW50IGBgLCBleHBlY3RlZCAAAADoDBAAEQAAAPkMEAAMAAAAaW52YWxpZCBiYXNlNjQ6IBgNEAAQAAAAaW52YWxpZCBVaW50NjQgJycgLSAwDRAAEAAAAEANEAAEAAAAaW52YWxpZCBVaW50MTI4ICcAAABUDRAAEQAAAEANEAAEAAAAdG9rZW5zX19vd25lcmFsc2VydWV1bGxFeHBpcmF0aW9uTWV0YWRhdGFtZXRhAAAAKwAAAAwAAAAEAAAALAAAAC0AAAAuAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy9mZTViMTNkNjgxZjI1ZWU2NDc0YmUyOWQ3NDhjNjVhZGNkOTFmNjllL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAA9w0QAEsAAABmCQAADgAAAC8AAAAEAAAABAAAADAAAAAxAAAAMgAAAC8AAAAAAAAAAQAAACYAAABBcHByb3ZhbCBub3QgZm91bmQgZm9yOiB8DhAAGAAAAENhbm5vdCBzZXQgYXBwcm92YWwgdGhhdCBpcyBhbHJlYWR5IGV4cGlyZWQAnA4QACsAAAB0b2tlbl9pZCBhbHJlYWR5IGNsYWltZWTQDhAAGAAAAFVuYXV0aG9yaXplZPAOEAAMAAAAbA4QAAAAAAAzAAAADAAAAAQAAAA0AAAANQAAADYAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjL2ZlNWIxM2Q2ODFmMjVlZTY0NzRiZTI5ZDc0OGM2NWFkY2Q5MWY2OWUvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAABbDxAASwAAAGYJAAAOAAAANwAAAAQAAAAEAAAAOAAAADkAAAA6AAAANwAAAAAAAAABAAAAJgAAAGN3NzIxOjpyZWNlaXZlcjo6UmVjZWl2ZXJFeGVjdXRlTXNnQ3c3MjFSZWNlaXZlTXNnc2VuZGVydG9rZW5faWRtc2dSZWNlaXZlckV4ZWN1dGVNc2dyZWNlaXZlX25mdDsAAAAIAAAABAAAADwAAAAvaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY3ctc3RvcmFnZS1wbHVzLTAuMTMuMi9zcmMvaGVscGVycy5ycwAAAFAQEABlAAAAKwAAABEAAAAAAAAAAAAAAGF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3dQEBAAZQAAACsAAAAJAAAAUBAQAGUAAABAAAAAEQAAAFAQEABlAAAAQAAAAAkAAABQEBAAZQAAAEMAAAARAAAAUBAQAGUAAABDAAAACQAAAG9ubHkgc3VwcG9ydHMgbmFtZXNwYWNlcyB1cCB0byBsZW5ndGggMHhGRkZGUBAQAGUAAABWAAAACQAAAC9ob21lL3R3b2Jsb2Nrcy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9jdy1zdG9yYWdlLXBsdXMtMC4xMy4yL3NyYy9pdGVyX2hlbHBlcnMucnMAAHgREABqAAAAKAAAAAUAAAA9AAAAFAAAAAQAAAA+AAAAPwAAAEAAAABBAAAAQgAAAAgAAAAEAAAAQwAAAEQAAABFAAAACAAAAAQAAABGAAAARwAAAFAAAAAMAAAABAAAAFEAAABSAAAAUwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvZmU1YjEzZDY4MWYyNWVlNjQ3NGJlMjlkNzQ4YzY1YWRjZDkxZjY5ZS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAIcSEABLAAAAZgkAAA4AAABUAAAAAAAAAAEAAAAmAAAA5BIQAAAAAABDb252ZXJzaW9uIGVycm9yOiAAAPwSEAASAAAARGl2aWRlIGJ5IHplcm86IBgTEAAQAAAAT3ZlcmZsb3c6IAAAMBMQAAoAAABFcnJvciBzZXJpYWxpemluZyB0eXBlIDogAAAARBMQABcAAABbExAAAgAAAEVycm9yIHBhcnNpbmcgaW50byB0eXBlIHATEAAYAAAAWxMQAAIAAAAgbm90IGZvdW5kAADkEhAAAAAAAJgTEAAKAAAAQ2Fubm90IGRlY29kZSBVVEY4IGJ5dGVzIGludG8gc3RyaW5nOiAAALQTEAAmAAAASW52YWxpZCBkYXRhIHNpemU6IGV4cGVjdGVkPSBhY3R1YWw95BMQABwAAAAAFBAACAAAAEludmFsaWQgQmFzZTY0IHN0cmluZzogABgUEAAXAAAAR2VuZXJpYyBlcnJvcjogADgUEAAPAAAAUmVjb3ZlciBwdWJrZXkgZXJyb3I6IAAAUBQQABYAAABWZXJpZmljYXRpb24gZXJyb3I6IHAUEAAUAAAAQ29udmVyc2lvbk92ZXJmbG93c291cmNlVAAAAAQAAAAEAAAAVQAAAERpdmlkZUJ5WmVyb1QAAAAEAAAABAAAAFYAAABPdmVyZmxvd1QAAAAEAAAABAAAAFcAAABTZXJpYWxpemVFcnJzb3VyY2VfdHlwZQBUAAAABAAAAAQAAABYAAAAbXNnUGFyc2VFcnJ0YXJnZXRfdHlwZU5vdEZvdW5ka2luZEludmFsaWRVdGY4SW52YWxpZERhdGFTaXplZXhwZWN0ZWRUAAAABAAAAAQAAABZAAAAYWN0dWFsSW52YWxpZEJhc2U2NEdlbmVyaWNFcnJSZWNvdmVyUHVia2V5RXJyAAAAVAAAAAQAAAAEAAAAWgAAAFZlcmlmaWNhdGlvbkVycgBUAAAABAAAAAQAAABbAAAAU2hsU2hyUG93TXVsU3ViQWRkQ2Fubm90ICB3aXRoICBhbmQg1hUQAAcAAADdFRAABgAAAOMVEAAFAAAAT3ZlcmZsb3dFcnJvcm9wZXJhdGlvbgAAVAAAAAQAAAAEAAAASQAAAG9wZXJhbmQxb3BlcmFuZDJDb252ZXJzaW9uT3ZlcmZsb3dFcnJvcgBUAAAABAAAAAQAAABcAAAAdmFsdWVDYW5ub3QgZGV2aWRlICBieSB6ZXJvAGUWEAAOAAAAcxYQAAgAAABEaXZpZGVCeVplcm9FcnJvcm9wZXJhbmTTFRAA0BUQAM0VEADKFRAAxxUQAMQVEABdAAAAFAAAAAQAAABeAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jhc2U2NC0wLjEzLjAvc3JjL2VuY29kZS5yc0ludmFsaWQgVVRGOADMFhAAWwAAADQAAAAcAAAAaW50ZWdlciBvdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIGJ1ZmZlciBzaXplAAAAzBYQAFsAAAAvAAAAEQAAAGAAAAAIAAAABAAAAGEAAABVbmtub3duIGVycm9yOiAAlBcQAA8AAABJbnZhbGlkIHJlY292ZXJ5IHBhcmFtZXRlci4gU3VwcG9ydGVkIHZhbHVlczogMCBhbmQgMS4AAKwXEAA2AAAASW52YWxpZCBzaWduYXR1cmUgZm9ybWF07BcQABgAAABJbnZhbGlkIGhhc2ggZm9ybWF0AAwYEAATAAAAVW5rbm93bkVycmVycm9yX2NvZGVgAAAABAAAAAQAAABiAAAASW52YWxpZFJlY292ZXJ5UGFyYW1JbnZhbGlkU2lnbmF0dXJlRm9ybWF0SW52YWxpZEhhc2hGb3JtYXRlcnJvcnJlcXVlc3RyZXNwb25zZWFkZHJraW5kAGQAAAAMAAAABAAAAGUAAABmAAAAUwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvZmU1YjEzZDY4MWYyNWVlNjQ3NGJlMjlkNzQ4YzY1YWRjZDkxZjY5ZS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAPMYEABLAAAAZgkAAA4AAABjb3Ntd2FzbV9zdGQ6OnJlc3VsdHM6OnN5c3RlbV9yZXN1bHQ6OlN5c3RlbVJlc3VsdDxjb3Ntd2FzbV9zdGQ6OnJlc3VsdHM6OmNvbnRyYWN0X3Jlc3VsdDo6Q29udHJhY3RSZXN1bHQ8Y29zbXdhc21fc3RkOjpiaW5hcnk6OkJpbmFyeT4+ZwAAAAAAAAABAAAAJgAAAC9ob21lL3R3b2Jsb2Nrcy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9jb3Ntd2FzbS1zdGQtMS4wLjAtYmV0YTgvc3JjL3NlY3Rpb25zLnJz6BkQAGgAAAAaAAAAEAAAAGF0dGVtcHQgdG8gbXVsdGlwbHkgd2l0aCBvdmVyZmxvdwAAAOgZEABoAAAAGgAAAAUAAAAAAAAAAAAAAAAAAABhdHRlbXB0IHRvIGFkZCB3aXRoIG92ZXJmbG93AAAAAGF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvdwAAAOgZEABoAAAAOQAAABgAAABDYW5ub3QgcmVhZCBzZWN0aW9uIGxlbmd0aAAA6BkQAGgAAAA3AAAACQAAAFRMO0RSOiBWYWx1ZSBtdXN0IG5vdCBiZSBlbXB0eSBpbiBTdG9yYWdlOjpzZXQgYnV0IGluIG1vc3QgY2FzZXMgeW91IGNhbiB1c2UgU3RvcmFnZTo6cmVtb3ZlIGluc3RlYWQuIExvbmcgc3Rvcnk6IEdldHRpbmcgZW1wdHkgdmFsdWVzIGZyb20gc3RvcmFnZSBpcyBub3Qgd2VsbCBzdXBwb3J0ZWQgYXQgdGhlIG1vbWVudC4gU29tZSBvZiBvdXIgaW50ZXJuYWwgaW50ZXJmYWNlcyBjYW5ub3QgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGEgbm9uLWV4aXN0ZW50IGtleSBhbmQgYW4gZW1wdHkgdmFsdWUuIFJpZ2h0IG5vdywgeW91IGNhbm5vdCByZWx5IG9uIHRoZSBiZWhhdmlvdXIgb2YgZW1wdHkgdmFsdWVzLiBUbyBwcm90ZWN0IHlvdSBmcm9tIHRyb3VibGUgbGF0ZXIgb24sIHdlIHN0b3AgaGVyZS4gU29ycnkgZm9yIHRoZSBpbmNvbnZlbmllbmNlISBXZSBoaWdobHkgd2VsY29tZSB5b3UgdG8gY29udHJpYnV0ZSB0byBDb3NtV2FzbSwgbWFraW5nIHRoaXMgbW9yZSBzb2xpZCBvbmUgd2F5IG9yIHRoZSBvdGhlci4vaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY29zbXdhc20tc3RkLTEuMC4wLWJldGE4L3NyYy9pbXBvcnRzLnJzACgdEABnAAAAaQAAAA0AAABnAAAABAAAAAQAAABoAAAAaQAAAGoAAABrAAAAaW5wdXQgdG9vIGxvbmcgZm9yIGFkZHJfdmFsaWRhdGVhZGRyX3ZhbGlkYXRlIGVycm9yZWQ6IADcHRAAFwAAAGlucHV0IHRvbyBsb25nIGZvciBhZGRyX2Nhbm9uaWNhbGl6ZWFkZHJfY2Fub25pY2FsaXplIGVycm9yZWQ6IAAgHhAAGwAAAGFkZHJfaHVtYW5pemUgZXJyb3JlZDogAEQeEAAXAAAATWVzc2FnZVRvb0xvbmcgbXVzdCBub3QgaGFwcGVuLiBUaGlzIGlzIGEgYnVnIGluIHRoZSBWTS4oHRAAZwAAAAYBAAASAAAAKB0QAGcAAAAjAQAAEgAAAEludmFsaWRIYXNoRm9ybWF0IG11c3Qgbm90IGhhcHBlbi4gVGhpcyBpcyBhIGJ1ZyBpbiB0aGUgVk0uACgdEABnAAAAPQEAABIAAABFcnJvciBjb2RlIDIgdW51c2VkIHNpbmNlIENvc21XYXNtIDAuMTUuIFRoaXMgaXMgYSBidWcgaW4gdGhlIFZNLgAAACgdEABnAAAAPAEAABIAAAAoHRAAZwAAAF0BAAASAAAAKB0QAGcAAABcAQAAEgAAAENvbnRyYWN0UmVzdWx0b2tlcnJvcgAAAIofEAACAAAAjB8QAAUAAABtAAAABAAAAAQAAABuAAAAbwAAAHAAAABpbnZhbGlkIGJhc2U2NDogvB8QABAAAAAvaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY29zbXdhc20tc3RkLTEuMC4wLWJldGE4L3NyYy9tZW1vcnkucnNSZWdpb24gcG9pbnRlciBpcyBudWxs1B8QAGYAAAA6AAAABQAAAFJlZ2lvbiBzdGFydHMgYXQgbnVsbCBwb2ludGVyAAAA1B8QAGYAAABAAAAABQAAAFN5c3RlbUVycm9yaW52YWxpZF9yZXF1ZXN0aW52YWxpZF9yZXNwb25zZW5vX3N1Y2hfY29udHJhY3R1bmtub3dudW5zdXBwb3J0ZWRfcmVxdWVzdJsgEAAPAAAAqiAQABAAAAC6IBAAEAAAAMogEAAHAAAA0SAQABMAAABraW5kDCEQAAQAAABhZGRyGCEQAAQAAABlcnJvcnJlc3BvbnNlAAAAJCEQAAUAAAApIRAACAAAAHJlcXVlc3QAJCEQAAUAAABEIRAABwAAAFVua25vd24gZXJyb3I6IABcIRAADwAAAEludmFsaWQgcmVjb3ZlcnkgcGFyYW1ldGVyLiBTdXBwb3J0ZWQgdmFsdWVzOiAwIGFuZCAxLgAAdCEQADYAAABJbnZhbGlkIHB1YmxpYyBrZXkgZm9ybWF0AAAAtCEQABkAAABJbnZhbGlkIHNpZ25hdHVyZSBmb3JtYXTYIRAAGAAAAEludmFsaWQgaGFzaCBmb3JtYXQA+CEQABMAAABHZW5lcmljIGVycm9yAAAAFCIQAA0AAABCYXRjaCBlcnJvcgAsIhAACwAAAFVua25vd25FcnJlcnJvcl9jb2RlcQAAAAQAAAAEAAAAYgAAAEludmFsaWRSZWNvdmVyeVBhcmFtSW52YWxpZFB1YmtleUZvcm1hdEludmFsaWRTaWduYXR1cmVGb3JtYXRJbnZhbGlkSGFzaEZvcm1hdEdlbmVyaWNFcnJCYXRjaEVyci9ydXN0Yy9mZTViMTNkNjgxZjI1ZWU2NDc0YmUyOWQ3NDhjNjVhZGNkOTFmNjllL2xpYnJhcnkvY29yZS9zcmMvaXRlci9hZGFwdGVycy9lbnVtZXJhdGUucnMAxCIQAFsAAAAwAAAACQAAAGF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3cAAAAAYXR0ZW1wdCB0byBtdWx0aXBseSB3aXRoIG92ZXJmbG93AAAAcgAAAAwAAAAEAAAAcwAAAHQAAABTAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy9mZTViMTNkNjgxZjI1ZWU2NDc0YmUyOWQ3NDhjNjVhZGNkOTFmNjllL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAAwyMQAEsAAABmCQAADgAAAHUAAAAAAAAAAQAAACYAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiAAADAkEAAqAAAAL3J1c3RjL2ZlNWIxM2Q2ODFmMjVlZTY0NzRiZTI5ZDc0OGM2NWFkY2Q5MWY2OWUvbGlicmFyeS9jb3JlL3NyYy9pdGVyL3RyYWl0cy9hY2N1bS5ycwAAAGQkEABVAAAAjQAAAAEAAABtaXNzaW5nIGZpZWxkIGBgzCQQAA8AAADbJBAAAQAAAGR1cGxpY2F0ZSBmaWVsZCBgAAAA7CQQABEAAADbJBAAAQAAAHVua25vd24gdmFyaWFudCBgYCwgdGhlcmUgYXJlIG5vIHZhcmlhbnRzAAAAECUQABEAAAAhJRAAGAAAAGAsIGV4cGVjdGVkIBAlEAARAAAATCUQAAwAAAAvaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMC9zcmMvZGVjb2RlLnJzAGglEABbAAAA0gEAAB8AAABoJRAAWwAAANgBAAAfAAAAaCUQAFsAAADbAQAADQAAAGglEABbAAAA4QEAAB8AAABoJRAAWwAAAOQBAAANAAAAaCUQAFsAAADqAQAAHwAAAGglEABbAAAA7QEAAA0AAABoJRAAWwAAAPMBAAAfAAAAaCUQAFsAAAD2AQAADQAAAGglEABbAAAA/AEAAB8AAABoJRAAWwAAAP8BAAANAAAAaCUQAFsAAAAFAgAAHwAAAGglEABbAAAACAIAAA0AAABoJRAAWwAAAA4CAAAfAAAAaCUQAFsAAAARAgAADQAAAGglEABbAAAAbgAAAC8AAAAAAAAAAAAAAAAAAABhdHRlbXB0IHRvIHN1YnRyYWN0IHdpdGggb3ZlcmZsb3cAAABoJRAAWwAAAAMBAAA3AAAAaCUQAFsAAAADAQAAJAAAAGglEABbAAAABAEAACkAAABoJRAAWwAAACEBAAARAAAAaCUQAFsAAAAqAQAAKQAAAGglEABbAAAAKgEAABYAAABoJRAAWwAAAC4BAAApAAAAaCUQAFsAAAAuAQAAKAAAAGglEABbAAAALQEAABoAAABoJRAAWwAAADMBAAARAAAAaCUQAFsAAABBAQAADgAAAGglEABbAAAARAEAACcAAABoJRAAWwAAAEQBAAASAAAAaCUQAFsAAABHAQAACQAAAGglEABbAAAAWAEAABMAAABoJRAAWwAAAGYBAAApAAAAaCUQAFsAAAB4AQAADQAAAGglEABbAAAAggEAABEAAABoJRAAWwAAAIoBAAAVAAAAaCUQAFsAAACOAQAAMQAAAEltcG9zc2libGU6IG11c3Qgb25seSBoYXZlIDAgdG8gOCBpbnB1dCBieXRlcyBpbiBsYXN0IGNodW5rLCB3aXRoIG5vIGludmFsaWQgbGVuZ3RoczQoEABUAAAAaCUQAFsAAACdAQAADgAAAGglEABbAAAAqAEAAA0AAABoJRAAWwAAALEBAAAJAAAAT3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBvdXRwdXQgYnVmZmVyIGxlbmd0aAAAaCUQAFsAAACWAAAACgAAACAkEAAAAAAACCkQAAAAAABCdWZmZXIgaXMgZnVsbAAAECkQAA4AAAAvaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2VyZGUtanNvbi13YXNtLTAuMy4yL3NyYy9zZXIvbW9kLnJzAAAAAGF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvdwAAACgpEABkAAAA1wAAAAkAAAAvaG9tZS90d29ibG9ja3MvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2VyZGUtanNvbi13YXNtLTAuMy4yL3NyYy9kZS91bmVzY2FwZS5yc8QpEABoAAAAJQAAABUAAADEKRAAaAAAADMAAAApAAAAAAAAAGF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvd05vbi1oZXggQVNDSUkgY2hhcmFjdGVyIGZvdW5kAADEKRAAaAAAAJkAAAAOAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3NlcmRlLWpzb24td2FzbS0wLjMuMi9zcmMvZGUvbW9kLnJzAKAqEABjAAAAJAAAAAkAAAAAAAAAAAAAAAAAAABhdHRlbXB0IHRvIGFkZCB3aXRoIG92ZXJmbG93oCoQAGMAAAB9AAAAIgAAAKAqEABjAAAAgQAAACwAAABcKxAAAAAAAEpTT04gaGFzIGEgY29tbWEgYWZ0ZXIgdGhlIGxhc3QgdmFsdWUgaW4gYW4gYXJyYXkgb3IgbWFwLkpTT04gaGFzIG5vbi13aGl0ZXNwYWNlIHRyYWlsaW5nIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIHZhbHVlLkZvdW5kIGEgbG9uZSBzdXJyb2dhdGUsIHdoaWNoIGNhbiBleGlzdCBpbiBKU09OIGJ1dCBjYW5ub3QgYmUgZW5jb2RlZCB0byBVVEYtOC5PYmplY3Qga2V5IGlzIG5vdCBhIHN0cmluZy5JbnZhbGlkIHVuaWNvZGUgY29kZSBwb2ludC5JbnZhbGlkIHR5cGVJbnZhbGlkIG51bWJlci5JbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZS5FeHBlY3RlZCB0aGlzIGNoYXJhY3RlciB0byBzdGFydCBhIEpTT04gdmFsdWUuRXhwZWN0ZWQgdG8gcGFyc2UgZWl0aGVyIGEgYHRydWVgLCBgZmFsc2VgLCBvciBhIGBudWxsYC5FeHBlY3RlZCB0aGlzIGNoYXJhY3RlciB0byBiZSBlaXRoZXIgYSBgJywnYCBvciBhIGAnfSdgLkV4cGVjdGVkIGEgbG93IHN1cnJvZ2F0ZSAoREMwMOKAk0RGRkYpLkV4cGVjdGVkIHRoaXMgY2hhcmFjdGVyIHRvIGJlIGVpdGhlciBhIGAnLCdgIG9yYSBgJ10nYC5FeHBlY3RlZCBhIGhpZ2ggc3Vycm9nYXRlIChEODAw4oCTREJGRikuRXhwZWN0ZWQgdGhpcyBjaGFyYWN0ZXIgdG8gYmUgYSBgJzonYC5FT0Ygd2hpbGUgcGFyc2luZyBhIEpTT04gdmFsdWUuRU9GIHdoaWxlIHBhcnNpbmcgYSBzdHJpbmcuRU9GIHdoaWxlIHBhcnNpbmcgYW4gb2JqZWN0LkVPRiB3aGlsZSBwYXJzaW5nIGEgbGlzdC5Db250cm9sIGNoYXJhY3RlciBmb3VuZCBpbiBzdHJpbmcueAAAAAgAAAAEAAAAeQAAAHoAAAB7AAAACAAAAAQAAAB8AAAASW52YWxpZCBsYXN0IHN5bWJvbCAsIG9mZnNldCAuAACQLhAAFAAAAKQuEAAJAAAArS4QAAEAAABFbmNvZGVkIHRleHQgY2Fubm90IGhhdmUgYSA2LWJpdCByZW1haW5kZXIuAMguEAArAAAASW52YWxpZCBieXRlIAAAAPwuEAANAAAApC4QAAkAAACtLhAAAQAAAE92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgbnVtYmVyIG9mIGNodW5rcyBpbiBpbnB1dC9ob21lL3R3b2Jsb2Nrcy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9iYXNlNjQtMC4xMy4wL3NyYy9kZWNvZGUucnMAAFcvEABbAAAAvAAAAAoAAAAhIiMkJSYnKCkqKywtMDEyMzQ1Njc4OUBBQkNERUZHSElKS0xNTlBRUlNUVVZYWVpbYGFiY2RlaGlqa2xtcHFyQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLC4vQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkuLzAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktX0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky////////////////////////////////////////////8AAQIDBAUGBwgJCgsM//8NDg8QERITFBUW////////FxgZGhscHR4fICEiIyQl/yYnKCkqKyz/LS4vMP////8xMjM0NTb//zc4OTo7PP//PT4//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z4/////NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AATY3ODk6Ozw9Pj//////////AgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhv///////8cHR4fICEiIyQlJicoKSorLC0uLzAxMjM0Nf//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECAwQFBgcICQoL/////////wwNDg8QERITFBUWFxgZGhscHR4fICEiIyQl////////JicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pv//NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf////8//xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+////PzQ1Njc4OTo7PD3/////////AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBn///////8aGxwdHh8gISIjJCUmJygpKissLS4vMDEyM/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ENhAARDUQAEQ0EABEMxAARDIQAEQxEABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiAAAFw3EAAqAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jhc2U2NC0wLjEzLjAvc3JjL2VuY29kZS5ycwCQNxAAWwAAAJIAAAAnAAAAdXNpemUgb3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBiNjQgbGVuZ3RoAACQNxAAWwAAAJkAAAAKAAAAAAAAAAAAAABhdHRlbXB0IHRvIGFkZCB3aXRoIG92ZXJmbG93kDcQAFsAAAC2AAAAIAAAAJA3EABbAAAAtwAAADoAAACQNxAAWwAAALcAAAAlAAAAkDcQAFsAAAD3AAAAGAAAAAAAAABhdHRlbXB0IHRvIHN1YnRyYWN0IHdpdGggb3ZlcmZsb3cAAACQNxAAWwAAAPwAAAAvAAAAkDcQAFsAAAD8AAAAHAAAAJA3EABbAAAA/QAAADYAAACQNxAAWwAAAP0AAAAhAAAAkDcQAFsAAAATAQAALgAAAJA3EABbAAAAEwEAAAkAAACQNxAAWwAAABQBAAAJAAAAkDcQAFsAAAALAQAALgAAAJA3EABbAAAACwEAAAkAAACQNxAAWwAAAA0BAAAPAAAAkDcQAFsAAAAMAQAACQAAAJA3EABbAAAADwEAAAkAAABJbXBvc3NpYmxlIHJlbWFpbmRlcoQ5EAAUAAAAkDcQAFsAAAAqAQAAFgAAAJA3EABbAAAAOwEAAAkAAAAEMRAAxDAQAIQwEABEMBAABDAQAMQvEABgb25lIG9mINk5EAAHAAAALCAAAOg5EAACAAAA2DkQAAEAAADYORAAAQAAAGAgb3IgYAAA2DkQAAEAAAAEOhAABgAAANg5EAABAAAAL2hvbWUvdHdvYmxvY2tzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3NlcmRlLTEuMC4xMzMvc3JjL2RlL21vZC5yc2V4cGxpY2l0IHBhbmljAAAAJDoQAFsAAADiCAAAEgAAAIIAAAAIAAAABAAAAIMAAACEAAAAhQAAAAgAAAAEAAAAhgAAAIgAAAAEAAAABAAAAIkAAACKAAAAiwAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkCgAABzsQABUAAAAcOxAADgAAAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5yczw7EAAYAAAASQEAAAkAAABsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzZDsQABwAAABGAgAAHwAAAGQ7EAAcAAAARwIAAB4AAACMAAAADAAAAAQAAACNAAAAiAAAAAgAAAAEAAAAjgAAAI8AAAAQAAAABAAAAJAAAACRAAAAiAAAAAgAAAAEAAAAkgAAAJMAAACUAAAABAAAAAQAAACVAAAAlgAAAJcAAACUAAAABAAAAAQAAACYAAAAlAAAAAAAAAABAAAAJgAAAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnNjYXBhY2l0eSBvdmVyZmxvdwAAADw8EAARAAAAIDwQABwAAAAFAgAABQAAAGEgZm9ybWF0dGluZyB0cmFpdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvcmxpYnJhcnkvYWxsb2Mvc3JjL2ZtdC5ycwCbPBAAGAAAAFUCAAAcAAAAKWxpYnJhcnkvYWxsb2Mvc3JjL3ZlYy9tb2QucnMpIHNob3VsZCBiZSA8PSBsZW4gKGlzIGBhdGAgc3BsaXQgaW5kZXggKGlzIAAAAPg8EAAVAAAA4TwQABcAAADEPBAAAQAAAMU8EAAcAAAAmwcAAA0AAABGcm9tVXRmOEVycm9yYnl0ZXMAAJQAAAAEAAAABAAAAJkAAABlcnJvcgAAAJQAAAAEAAAABAAAAJoAAABudW1iZXIgd291bGQgYmUgemVybyBmb3Igbm9uLXplcm8gdHlwZW51bWJlciB0b28gc21hbGwgdG8gZml0IGluIHRhcmdldCB0eXBlbnVtYmVyIHRvbyBsYXJnZSB0byBmaXQgaW4gdGFyZ2V0IHR5cGVpbnZhbGlkIGRpZ2l0IGZvdW5kIGluIHN0cmluZ2Nhbm5vdCBwYXJzZSBpbnRlZ2VyIGZyb20gZW1wdHkgc3RyaW5nLi4AKT4QAAIAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlAKAAAAAAAAAAAQAAAKEAAAB0PRAAAAAAAGluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgIGJ1dCB0aGUgaW5kZXggaXMgAAB4PhAAIAAAAJg+EAASAAAAoAAAAAQAAAAEAAAAogAAAGA6IAB0PRAAAAAAAM0+EAACAAAAoAAAAAwAAAAEAAAAowAAAKQAAAClAAAAICAgICB7CiwKLCAgeyB9IH0oCigsKQpboAAAAAQAAAAEAAAApgAAAF1saWJyYXJ5L2NvcmUvc3JjL2ZtdC9udW0ucnMweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXNzZXJ0aW9uIGZhaWxlZDogKmN1cnIgPiAxOQAAIT8QABsAAADlAQAABQAAAKAAAAAEAAAABAAAAKcAAACoAAAAqQAAAHJhbmdlIHN0YXJ0IGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCBMQBAAEgAAAF5AEAAiAAAAbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pbmRleC5ycwCQQBAAHwAAADQAAAAFAAAAcmFuZ2UgZW5kIGluZGV4IMBAEAAQAAAAXkAQACIAAACQQBAAHwAAAEkAAAAFAAAAc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBidXQgZW5kcyBhdCAA8EAQABYAAAAGQRAADQAAAJBAEAAfAAAAXAAAAAUAAABpbmNvbXBsZXRlIHV0Zi04IGJ5dGUgc2VxdWVuY2UgZnJvbSBpbmRleCAAADRBEAAqAAAAaW52YWxpZCB1dGYtOCBzZXF1ZW5jZSBvZiAgYnl0ZXMgZnJvbSBpbmRleCBoQRAAGgAAAIJBEAASAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDBAQEBAQAAAAAAAAAAAAAAGxpYnJhcnkvY29yZS9zcmMvc3RyL21vZC5yc1suLi5dYnl0ZSBpbmRleCAgaXMgb3V0IG9mIGJvdW5kcyBvZiBgAAAAxEIQAAsAAADPQhAAFgAAAMw+EAABAAAApEIQABsAAABrAAAACQAAAGJlZ2luIDw9IGVuZCAoIDw9ICkgd2hlbiBzbGljaW5nIGAAABBDEAAOAAAAHkMQAAQAAAAiQxAAEAAAAMw+EAABAAAApEIQABsAAABvAAAABQAAAKRCEAAbAAAAfQAAAC0AAAAgaXMgbm90IGEgY2hhciBib3VuZGFyeTsgaXQgaXMgaW5zaWRlICAoYnl0ZXMgKSBvZiBgxEIQAAsAAAB0QxAAJgAAAJpDEAAIAAAAokMQAAYAAADMPhAAAQAAAKRCEAAbAAAAfwAAAAUAAABsaWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAAAA4EMQACUAAAAaAAAANgAAAAABAwUFBgYCBwYIBwkRChwLGQwaDRAODQ8EEAMSEhMJFgEXBBgBGQMaBxsBHAIfFiADKwMtCy4BMAMxAjIBpwKpAqoEqwj6AvsF/QL+A/8JrXh5i42iMFdYi4yQHN0OD0tM+/wuLz9cXV/ihI2OkZKpsbq7xcbJyt7k5f8ABBESKTE0Nzo7PUlKXYSOkqmxtLq7xsrOz+TlAAQNDhESKTE0OjtFRklKXmRlhJGbncnOzw0RKTo7RUlXW1xeX2RljZGptLq7xcnf5OXwDRFFSWRlgISyvL6/1dfw8YOFi6Smvr/Fx87P2ttImL3Nxs7PSU5PV1leX4mOj7G2t7/BxsfXERYXW1z29/7/gG1x3t8OH25vHB1ffX6ur3+7vBYXHh9GR05PWFpcXn5/tcXU1dzw8fVyc490dZYmLi+nr7e/x8/X35pAl5gwjx/S1M7/Tk9aWwcIDxAnL+7vbm83PT9CRZCRU2d1yMnQ0djZ5/7/ACBfIoLfBIJECBsEBhGBrA6AqwUfCYEbAxkIAQQvBDQEBwMBBwYHEQpQDxIHVQcDBBwKCQMIAwcDAgMDAwwEBQMLBgEOFQVOBxsHVwcCBhYNUARDAy0DAQQRBg8MOgQdJV8gbQRqJYDIBYKwAxoGgv0DWQcWCRgJFAwUDGoGCgYaBlkHKwVGCiwEDAQBAzELLAQaBgsDgKwGCgYvMU0DgKQIPAMPAzwHOAgrBYL/ERgILxEtAyEPIQ+AjASClxkLFYiUBS8FOwcCDhgJgL4idAyA1hoMBYD/BYDfDPKdAzcJgVwUgLgIgMsFChg7AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWAphCB9QcBICoGTASAjQSAvgMbAw8NAAYBAQMBBAIFBwcCCAgJAgoFCwIOBBABEQISBRMRFAEVAhcCGQ0cBR0IJAFqBGsCrwO8As8C0QLUDNUJ1gLXAtoB4AXhAucE6ALuIPAE+AL6AvsBDCc7Pk5Pj56en3uLk5aisrqGsQYHCTY9Plbz0NEEFBg2N1ZXf6qur7014BKHiY6eBA0OERIpMTQ6RUZJSk5PZGVctrcbHAcICgsUFzY5Oqip2NkJN5CRqAcKOz5maY+Sb1+/7u9aYvT8/5qbLi8nKFWdoKGjpKeorbq8xAYLDBUdOj9FUaanzM2gBxkaIiU+P+fs7//FxgQgIyUmKDM4OkhKTFBTVVZYWlxeYGNlZmtzeH1/iqSqr7DA0K6vbm+TXiJ7BQMELQNmAwEvLoCCHQMxDxwEJAkeBSsFRAQOKoCqBiQEJAQoCDQLTkOBNwkWCggYO0U5A2MICTAWBSEDGwUBQDgESwUvBAoHCQdAICcEDAk2AzoFGgcEDAdQSTczDTMHLggKgSZSTigIKhYaJhwUFwlOBCQJRA0ZBwoGSAgnCXULP0EqBjsFCgZRBgEFEAMFgItiHkgICoCmXiJFCwoGDRM6Bgo2LAQXgLk8ZFMMSAkKRkUbSAhTDUmBB0YKHQNHSTcDDggKBjkHCoE2GYC3AQ8yDYObZnULgMSKTGMNhC+P0YJHobmCOQcqBFwGJgpGCigFE4KwW2VLBDkHEUAFCwIOl/gIhNYqCaLngTMtAxEECIGMiQRrBQ0DCQcQkmBHCXQ8gPYKcwhwFUaAmhQMVwkZgIeBRwOFQg8VhFAfgOErgNUtAxoEAoFAHxE6BQGE4ID3KUwECgQCgxFETD2AwjwGAQRVBRs0AoEOLARkDFYKgK44HQ0sBAkHAg4GgJqD2AUQAw0DdAxZBwwEAQ8MBDgICgYoCCJOgVQMFQMFAwcJHQMLBQYKCgYICAcJgMslCoQGbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3VuaWNvZGVfZGF0YS5ycwAAAIFJEAAoAAAASwAAACgAAACBSRAAKAAAAFcAAAAWAAAAgUkQACgAAABSAAAAPgAAAFNvbWVOb25lRXJyb3JVdGY4RXJyb3J2YWxpZF91cF90b2Vycm9yX2xlbgAAoAAAAAQAAAAEAAAAqgAAAAADAACDBCAAkQVgAF0ToAASFyAfDCBgH+8soCsqMCAsb6bgLAKoYC0e+2AuAP4gNp7/YDb9AeE2AQohNyQN4TerDmE5LxihOTAc4UfzHiFM8GrhT09vIVCdvKFQAM9hUWXRoVEA2iFSAODhUzDhYVWu4qFW0OjhViAAblfwAf9XAHAABwAtAQEBAgECAQFICzAVEAFlBwIGAgIBBCMBHhtbCzoJCQEYBAEJAQMBBSsDPAgqGAEgNwEBAQQIBAEDBwoCHQE6AQEBAgQIAQkBCgIaAQICOQEEAgQCAgMDAR4CAwELAjkBBAUBAgQBFAIWBgEBOgEBAgEECAEHAwoCHgE7AQEBDAEJASgBAwE3AQEDBQMBBAcCCwIdAToBAgECAQMBBQIHAgsCHAI5AgEBAgQIAQkBCgIdAUgBBAECAwEBCAFRAQIHDAhiAQIJCwZKAhsBAQEBATcOAQUBAgULASQJAWYEAQYBAgICGQIEAxAEDQECAgYBDwEAAwADHQIeAh4CQAIBBwgBAgsJAS0DAQF1AiIBdgMEAgkBBgPbAgIBOgEBBwEBAQECCAYKAgEwHzEEMAcBAQUBKAkMAiAEAgIBAzgBAQIDAQEDOggCApgDAQ0BBwQBBgEDAsZAAAHDIQADjQFgIAAGaQIABAEKIAJQAgABAwEEARkCBQGXAhoSDQEmCBkLLgMwAQIEAgInAUMGAgICAgwBCAEvATMBAQMCAgUCAQEqAggB7gECAQQBAAEAEBAQAAIAAeIBlQUAAwECBQQoAwQBpQIABAACmQsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQwCNAkKBAIBXwMCAQECBgGgAQMIFQI5AgEBAQEWAQ4HAwXDCAIDAQEXAVEBAgYBAQIBAQIBAusBAgQGAgECGwJVCAIBAQJqAQEBAgYBAWUDAgQBBQAJAQL1AQoCAQEEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQIABwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgAFOwcAAT8EUQEAAgAuAhcAAQEDBAUICAIHHgSUAwA3BDIIAQ4BFgUBDwAHARECBwECAQUABwABPQQAB20HAGCA8AAAJgAAAB0AAAAmAAAAJgAAACYAAAADPhAA5j0QAMA9EACaPRAAdD0QAA==", - "code_id": "1", - "code_info": { - "code_hash": "z4qhRB7F9Ol6DFABciooRpa+cEZX0/pCgWKTlk4Fb5I=", - "creator": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "instantiate_config": { "address": "", "addresses": [], "permission": "Everybody" } - }, - "pinned": true - }, - { - "code_bytes": "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KQIUIgc3AwAgAEEMaiABNgIAIAAgBzcCBEEBBUEACzYCACAFQTBqJAAL5AIBBH8jAEEgayIHJAAgASgCACEFAkAgAS0ABARAIAUoAgghBgwBCyAFKAIIIgggBUEEaigCAEYEQCAFIAgQECAFKAIIIQgLIAUgCEEBaiIGNgIIIAUoAgAgCGpBLDoAAAsgAUEAOgAEIAVBBGoiASgCACAGRgRAIAUgBhAQIAUoAgghBgsgBSgCACAGakEiOgAAIAUgBkEBaiIGNgIIIAMgASgCACAGa0sEQCAFIAYgAxARIAUoAgghBgsgBSgCACAGaiACIAMQ7gIaIAUgAyAGaiIGNgIIIAVBBGooAgAgBmtBAU0EQCAFIAZBAhARIAUoAgghBgsgBSgCACAGakGi9AA7AAAgBSAGQQJqNgIIIAdBEGogBSAEEOYBIAAgBygCEAR/IAdBCGogB0EcaigCACIBNgIAIAcgBykCFCIENwMAIABBDGogATYCACAAIAQ3AgRBAQVBAAs2AgAgB0EgaiQAC/ACAQZ/IwBB8ABrIgIkACACQQhqIAEoAgAgASgCBCgCDBEAAAJAIAIoAghFBEAgAEECNgIADAELIAFBHGooAgAhAyABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgAkEwaiACQRhqKQMANwMAIAJBKGoiByACQRBqKQMANwMAIAIgAikDCDcDICACQcgAaiAGIAUgBCADIAJBIGogAREHACACQdAAaiEBIAACfyACKQNIUARAIAcgAUEIaigCADYCACACIAEpAgA3AyBBAAwBCyACQTxqIAFBGGopAgA3AgAgAkE0aiABQRBqKQIANwIAIAJBLGogAUEIaikCADcCACACIAEpAgA3AiRBAQs2AgAgACACKQMgNwIEIABBDGogAkEoaikDADcCACAAQRRqIAJBMGopAwA3AgAgAEEcaiACQThqKQMANwIAIABBJGogAkFAaygCADYCAAsgAkHwAGokAAurAQEFfyMAQTBrIgIkACACIAEoAgAgASgCBCgCDBEAAAJAIAIoAgBFBEAgAEICNwMADAELIAFBHGooAgAhAyABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgAkEoaiACQRBqKQMANwMAIAJBIGogAkEIaikDADcDACACIAIpAwA3AxggACAGIAUgBCADIAJBGGogAREHAAsgAkEwaiQAC4kDAQV/IwBB8ABrIgIkACACQQhqIAEoAgAgASgCBCgCDBEAAAJAIAIoAghFBEAgAEECNgIADAELIAFBHGooAgAhAyABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgAkEwaiACQRhqKQMANwMAIAJBKGogAkEQaikDADcDACACIAIpAwg3AyAgAkHIAGogBiAFIAQgAyACQSBqIAERBwAgAAJ/IAIoAkhFBEAgAkHcAGooAgAEQCACQdgAaigCABCOAgsgAkEoaiACQdQAaigCADYCACACIAIpAkw3AyBBAAwBCyACQTxqIAJB6ABqKQMANwIAIAJBNGogAkHgAGopAwA3AgAgAkEsaiACQdgAaikDADcCACACIAJB0ABqKQMANwIkQQELNgIAIAAgAikDIDcCBCAAQQxqIAJBKGopAwA3AgAgAEEUaiACQTBqKQMANwIAIABBHGogAkE4aikDADcCACAAQSRqIAJBQGsoAgA2AgALIAJB8ABqJAALFAAgACABKAIAIAEoAgQoAhARAAAL9wICB38EfiMAQdAAayICJAACQCABKAIIIgMgASgCDEYNACABKAIYIQQgASADQQxqNgIIIAMoAgAiBkUNACADKAIEIQcgAUEUaigCACEFIAEoAhAiASgCBCEIIAEoAgAhASACQQhqIAMoAgg2AgAgAiAGNgIEIAIgBTYCACACQUBrIgMgAhAbIAJBGGogAyABIAgQHCACKAJEBEAgAigCQBCOAgsgAkEwaikDACEJIAJBKGopAwAhCiACKQMgIQsgAikDGFAEQEIAIAkgC1AiARshCUIAIAogARshC0EBIQUgB0UEQCAJIQoMAgsgBhCOAiAJIQoMAQsgAkEQaiAJNwMAIAJBCGogCjcDACACIAs3AwAgAkE4aikDACEMIAcEQCAGEI4CCyAEKAIAQQxHBEAgBBAdCyAEIAs3AwAgBCAMNwMYIAQgCTcDECAEIAo3AwhBACEFCyAAIAs3AwggAEEQaiAKNwMAIAAgBa03AwAgAkHQAGokAAvXBgIMfwF+IwBBMGsiAyQAIANBCGogARCaASADQRhqIAFBBGoQjgEgAygCICICQRRsIQQgAygCHCEFIAMoAhgh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3IDAAEEFEO0CGyEFDAELQX5BASARQeGAwABBBhDtAhshBQsgAgRAIBEQjgILIAVBHnRBHnVBAEgNDCAFQQNxQQFrDQIMBAsgD0UNCCAdUEUNByADQagBakEEckHhgMAAQQYQICADQbgBaigCACEIIANBtAFqKAIAIRAgAygCsAEhBiADKAKsASEFIBVFDRUgDxCOAgwVCyARQdyAwABBBRDtAg0KCyAPRQ0EIANBqAFqQdyAwABBBRAhIANBtAFqKAIAIQggA0GwAWooAgAMAgsgEUHhgMAAQQYQ7QINCAsgHUIBUg0BIANBqAFqQeGAwABBBhAhIANBtAFqKAIAIQggA0GwAWooAgALIRAgAygCrAEhBiADKAKoASEFDA8LIANBwAFqIAsQ9AECQCADKALAASIFQRVHBEAgFCADKQLEATcCACAUQQhqIANBzAFqKAIANgIADAELIANBqAFqIAsQIiADKAKoAUUNBSADKAKsASEFCyADKAK4ASEIIAMoArQBIRAgAygCsAEhBgwOCyADQcABaiALEPQBAkAgAygCwAEiBUEVRwRAIBQgAykCxAE3AgAgFEEIaiADQcwBaigCADYCAAwBCyADQagBaiALECMgAygCqAFFDQMgAygCrAEhBQsgA0G4AWooAgAhCCADKAK0ASEQIAMoArABIQYMDgsgA0GoAWogEhDyASADKAKoASIFQRVHBEAgA0G0AWooAgAhCCADQbABaigCACEQIAMoAqwBIQYgFUUNDiAPEI4CDA4LIBytIR0MBgsgA0GoAWpBBHJB3IDAAEEFECAgA0G4AWooAgAhCCADQbQBaigCACEQIANBsAFqKAIAIQYgAygCrAEhBQwMCyADKAK0ASEcIAMoArABIRUgAygCrAEhDwwCCyADKQOwASIeQiCIpyEQIBspAwAiHUIgiKchGiAepyEGIB2nIQhCASEdDAELIANBqAFqIAsQ9AECQCADKAKoASIFQRVHBEAgA0HMAWogA0G0AWooAgA2AgAgAyADKQKsATcCxAEMAQsgA0HAAWogCxAkIAMoAsABIgVBFUYNAQsgA0HMAWooAgAhCCADQcgBaigCACEQIAMoAsQBIQYMCAsgA0EIaiALEPYBQQAhBSADLQAJIQQgAy0ACEEBcQ0AC0ECIQUMBgsgDwRAIAMoApwBIAlGBEAgA0GYAWohCyMAQSBrIgQkAAJAAkAgCSAJQQFqIgJLDQAgC0EEaigCACIRQQF0IgEgAiABIAJLGyIBQQQgAUEESxsiCkH///8/cSAKRkEDdCECIApBBXQhASAEIBEEfyAEIBFBBXQ2AhQgBCALKAIANgIQQQgFQQALNgIYIAQgASACIARBEGoQaiAEKAIABEAgBEEIaigCACIARQ0BIAQoAgQgABCwAgALIAQoAgQhASALQQRqIAo2AgAgCyABNgIAIARBIGokAAwBCxCxAgALIAMoAqABIQkgAygCmAEhCgsgCiAJQQV0aiIBIA82AhAgAUEYaiAdNwMAIAFBFGogFTYCACABIAitIBqtQiCGhDcDCCABIAatIBCtQiCGhDcDAEEBIQUgAyAJQQFqIgk2AqABIANBGGogEhD2ASADLQAZIQIgAy0AGEEBcQ0BDAcLCyADKAKcASEKIAMoApgBIQQgA0GoAWogDBDxASADKAKoASIRQRVGDQogA0G0AWooAgAhCCADQbABaigCACENIAMoAqwBIQYgCQRAIAlBBXQhAiAEQRRqIQEDQCABKAIABEAgAUEEaygCABCOAgsgAUEgaiEBIAJBIGsiAg0ACwsgCkUgCkEFdEVyRQRAIAQQjgILIBEhBwwQCyADQagBaiADQYgBahDyASADKAKoASIHQRVHBEAgA0G0AWooAgAhCCADQbABaigCACENIAMoAqwBIQYgEwRAIA4QjgILIAkEQCAJQQV0IQIgBEEUaiEBA0AgASgCAARAIAFBBGsoAgAQjgILIAFBIGohASACQSBrIgINAAsLIApFIApBBXRFcg0RIAQQjgIMEQsgA0GoAWogA0GIAWoQ8AEgAygCqAEiB0EVRwRAIANBtAFqKAIAIQggA0GwAWooAgAhDSADKAKsASEGIBMEQCAOEI4CCyAJBEAgCUEFdCECIARBFGohAQNAIAEoAgAEQCABQQRrKAIAEI4CCyABQSBqIQEgAkEgayICDQALCyAKRSAKQQV0RXINESAEEI4CDBELIABBGGogCTYCACAAQRRqIAo2AgAgAEEQaiAENgIAIABBDGogDTYCACAAQQhqIBM2AgAgACAONgIEQQAhFgwRCyADQagBaiAMEPQBIAMoAqgBIgFBFUYEQCADQagBaiAMECMgAygCtAEhDSADKAKwASEGIAMoAqwBIQ4gAygC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AWoiBTYCCCACQQA6ADQgAygCACAFRgRAIAQgBRAQIAQoAgghBQsgBCgCACAFakEiOgAAIAQgBUEBaiIFNgIIIAFBKGohAyAEQQRqIgYoAgAgBWtBA00EQCAEIAVBBBARIAQoAgghBQsgBCgCACAFakHkwtGLBjYAACAEIAVBBGoiATYCCCAGKAIAIAFrQQFNBEAgBCABQQIQESAEKAIIIQELIAQoAgAgAWpBovQAOwAAIAQgAUECajYCCCADKAIADQEgAkGAAWogBBDoAQwCCyACQfwAaiAHQQhqKAIANgIAIAIgBykCADcCdAwFCyACQfAAaiADENoBIAJBgAFqIAQgAigCcCIBIAIoAngQ5wEgAigCdEUNACABEI4CCyACKAKAAQRAIAJBLGogAkGMAWooAgA2AgAgAiACKQKEATcCJAwJCyACQSBqIARBABD9ASACKAIgDQggAigCCCIDIAIoAgRGBEAgAiADEBAgAigCCCEDCyACKAIAIANqQf0AOgAAIAIgA0EBajYCCAsgAkH4AGogAkEIaigCACIBNgIAIAIgAikDACIRNwNwIABBDGogATYCACAAIBE3AgRBAAwJCyACQfwAaiACQYwBaigCADYCACACIAIpAoQBNwJ0DAELIAJB7ABqIAJBgAFqQQRyIgFBCGooAgA2AgAgAiABKQIANwJkDAELIAJB7ABqIAJB/ABqKAIANgIAIAIgAikCdDcCZAsgAkEsaiACQewAaigCADYCACACIAIpAmQ3AiQMAwsgAkHEAGogAkGAAWpBBHIiAUEIaigCADYCACACIAEpAgA3AjwMAQsgAkHEAGogAkHsAGooAgA2AgAgAiACKQJkNwI8CyACQSxqIAJBxABqKAIANgIAIAIgAikCPDcCJAsgAkEcaiACQSxqKAIANgIAIAIgAikCJDcCFAsgAkH4AGoiASACQRxqKAIANgIAIAIgAikCFDcDcCACKAIEBEAgAigCABCOAgsgAkGIAWogASgCADYCACACIAIpA3A3A4ABIABBCGpB0pDAAEHhACACQYABahAuQQELNgIAIAJBkAFqJAAL8gICAn8BfiMAQSBrIgQkACABKAIIIgMgAUEEaigCAEYEQCABIAMQECABKAIIIQMLIAEgA0EBajYCCCABKAIAIANqQfsAOgAAIARBEGogAUHgg8AAQQUQ5wECQAJAIAQoAhBFBEAgASgCCCIDIAFBBGooAgBGBEAgASADEBAgASgCCCEDCyABIANBAWo2AgggASgCACADakE6OgAAIARBEGogASACKAIAIAJBCGooAgAQ5wEgBCgCEA0BIAEoAggiAyABQQRqKAIARgRAIAEgAxAQIAEoAgghAwsgAEEANgIAIAEgA0EBajYCCCABKAIAIANqQf0AOgAADAILIARBCGogBEEcaigCACIBNgIAIAQgBCkCFCIFNwMAIABBDGogATYCACAAIAU3AgQgAEEBNgIADAELIARBCGogBEEcaigCACIBNgIAIAQgBCkCFCIFNwMAIABBDGogATYCACAAIAU3AgQgAEEBNgIACyAEQSBqJAAL1AYCBX8BfiMAQdAAayIDJAAgASgCACEFAkAgAS0ABARAIAUoAgghBAwBCyAFKAIIIgYgBUEEaigCAEYEQCAFIAYQECAFKAIIIQYLIAUgBkEBaiIENgIIIAUoAgAgBmpBLDoAAAsgAUEAOgAEIAVBBGoiASgCACAERgRAIAUgBBAQIAUoAgghBAsgBSgCACAEakEiOgAAIAUgBEEBaiIENgIIIAEoAgAgBGtBCU0EQCAFIARBChARIAUoAgghBAsgBSgCACAEaiIBQfuDwAApAAA3AAAgAUEIakGDhMAALwAAOwAAIAUgBEEKaiIENgIIIAVBBGooAgAgBGtBAU0EQCAFIARBAhARIAUoAgghBAsgBSgCACAEakGi9AA7AAAgBSAEQQJqNgIIIAIoAgAhBCADQUBrIAUgAigCCCIBEOoBAkACQAJAIAMoAkBFBEAgA0HIAGotAAAhBiADKAJEIQICQAJAIAEEQCAEIAFBGGxqIQcgBkH/AXFFIQEgA0FAa0EEciEFA0AgAUEBcQRAIAIoAggiASACQQRqKAIARgRAIAIgARAQIAIoAgghAQsgAiABQQFqNgIIIAIoAgAgAWpBLDoAAAsgA0FAayACEOsBIAMoAkANAiADIAMtAEg6ADwgAyADKAJENgI4IANBQGsgA0E4akGOhMAAQQMgBBASIAMoAkANAyADQUBrIANBOGpBkYTAAEEFIARBDGoiBBASIAMoAkAEQCADQTRqIANBzABqKAIANgIAIAMgAykCRDcCLAwGCyADQShqIAMoAjggAy0APBD9ASADKAIoDQVBASEBIARBDGoiBCAHRw0AC0EAIQYLQQAhBCADQRhqIAIgBkH/AXFBAEcQ+wEgAygCGA0EDAULIANBNGogBUEIaigCADYCACADIAUpAgA3AiwMAgsgA0E0aiADQcwAaigCADYCACADIAMpAkQ3AiwMAQsgA0EkaiADQUBrQQRyIgFBCGooAgA2AgAgAyABKQIANwIcDAELIANBJGogA0E0aigCADYCACADIAMpAiw3AhwLIANBEGogA0EkaigCACIBNgIAIAMgAykCHCIINwMIIABBDGogATYCACAAIAg3AgRBASEECyAAIAQ2AgAgA0HQAGokAAv0AQECfyMAQUBqIgQkAAJAAkACQAJAIAJFBEBBASEFDAELIAJBAEgNASACQQEQdiIFRQ0CCyAFIAEgAhDuAiEBIARBADYCCCAEQgE3AwAgBEEQaiIFIARBhI3AABDXAiADIAUQ5AENAiAAQQxqIAI2AgAgAEEIaiACNgIAIAAgATYCBCAAQRBqIAQpAwA3AgAgAEEINgIAIABBGGogBEEIaigCADYCAAJAIAMoAgAiAEUNACADQQRqKAIARQ0AIAAQjgILIARBQGskAA8LELECAAsgAkEBELACAAtBnI3AAEE3IARBOGpB5JPAAEGgjsAAEMsCAAuRBwIGfwF+IwBB8ABrIgIkACACQUBrIgMQ5QEgAkEIaiADEOsBIAACfwJAAkAgAigCCEUEQCACKAIMIQQgAkEQai0AAARAIAQoAgghAwwCCyAEKAIIIgUgBEEEaigCAEYEQCAEIAUQECAEKAIIIQULIAQgBUEBaiIDNgIIIAQoAgAgBWpBLDoAAAwBCyACQdwAaiACQQhqQQRyIgFBCGooAgA2AgAgAiABKQIANwJUDAELIARBBGoiBSgCACADRgRAIAQgAxAQIAQoAgghAwsgBCgCACADakEiOgAAIAQgA0EBaiIDNgIIIAUoAgAgA2tBBU0EQCAEIANBBhARIAQoAgghAwsgBCgCACADaiIFQcGLwAAoAAA2AAAgBUEEakHFi8AALwAAOwAAIAQgA0EGaiIDNgIIIARBBGooAgAgA2tBAU0EQCAEIANBAhARIAQoAgghAwsgBCgCACADakGi9AA7AAAgBCADQQJqNgIIIAEoAgAhAyACQQhqIAQgASgCCCIFEOoBAkAgAigCCEUEQCACQRBqLQAAIQYCQCACQeAAaiACKAIMIgEgBQR/IAMgBUEMbGohByAGRSEFIAFBBGohBgNAIAVBAXEEQCABKAIIIgUgBigCAEYEQCABIAUQECABKAIIIQULIAEgBUEBajYCCCABKAIAIAVqQSw6AAALIAJBCGogASADKAIAIANBCGooAgAQ5wEgAigCCA0CQQEhBSADQQxqIgMgB0cNAAtBAAUgBgtBAEcQ+wEgAigCYA0CIAJB0ABqIARBABD9ASACKAJQDQMgAkEUaiACQcgAaigCACIBNgIAIAIgAikDQCIINwIMIABBDGogATYCACAAIAg3AgRBAAwECyACQewAaiACQRRqKAIANgIAIAIgAikCDDcCZAwBCyACQewAaiACQQhqQQRyIgFBCGooAgA2AgAgAiABKQIANwJkCyACQdwAaiACQewAaigCADYCACACIAIpAmQ3AlQLIAJBOGoiASACQdwAaigCADYCACACIAIpAlQ3AzAgAigCRARAIAIoAkAQjgILIAJB6ABqIAEoAgA2AgAgAiACKQMwNwNgIAJBEGoiAUGZksAAQR0gAkHgAGoQLiAAQSBqIAJBKGopAwA3AwAgAEEYaiACQSBqKQMANwMAIABBEGogAkEYaikDADcDACAAQQhqIAEpAwA3AwBBAQs2AgAgAkHwAGokAAuEBgILfwF+IwBBQGoiAyQAIAMgAjYCFCADIAE2AhAgA0EYaiADQRBqEI4BIAMoAhghCgJAAkACQAJAAkACQAJAIAMoAiAiCEUEQEEEIQUMAQsgCEEDdCIBQQQQdiIFRQ0BCyAKIAhBFGxqIApGBH9BAAUgCEEUbCEJIAhBAWtB/////wNxIAUhASAKIQIDQCADQQhqIAIQjQEgASADKQMINwIAIAFBCGohASACQRRqIQIgCUEUayIJDQALQQFqCyEGIANBBjYCPCADQcGLwAA2AjggBkEBayIEIAZLDQQgBCAGSw0BAkAgBEUEQEEEIQcMAQsgBK1CFH4iDkIgiKciAQ0DIA6nIgJBAEgNAyABRUECdCEBIAIEfyACIAEQdgUgAQsiB0UNBAsgBSAFIARBA3RqIgtGBH9BAAUgBkH+////AWoiDEH/////AXECQCAGQQFrQQNxIglFBEAgByEBIAUhAgwBCyAHIQEgBSECA0AgAUEEaiACKQIANwIAIAFBADoAACABQRRqIQEgAkEIaiECIAlBAWsiCQ0ACwtBA08EQANAIAFBBGogAikCADcCACABQQA6AAAgAkEIaikCACEOIAFBFGpBADoAACABQRhqIA43AgAgAkEQaikCACEOIAFBKGpBADoAACABQSxqIA43AgAgAkEYaikCACEOIAFBPGpBADoAACABQUBrIA43AgAgAUHQAGohASACQSBqIgIgC0cNAAsLIAxB/////wFxQQFqCyEBIAQgBk8NBSADQShqIANBOGogByABIAUgBEEDdGoiASgCACABKAIEEJQBIARFIAStQhR+p0VyRQRAIAcQjgILIAAgAykDKDcCACAAQQhqIANBMGooAgA2AgAgCEUgCEEDdEVyRQRAIAUQjgILIAMoAhwiAEUgAK1CFH6nRXJFBEAgChCOAgsgA0FAayQADwsgAUEEELACAAsgBCAGELoCAAsQsQIACyACIAEQsAIAC0HghMAAQSFBzIXAABC8AgALIAQgBkHshcAAELgCAAvtBgILfwF+IwBBQGoiAyQAIAMgAjYCFCADIAE2AhAgA0EYaiADQRBqIgEQmgEgA0EoaiABQQRyEJoBIAMoAjAiAkEUbCEEIAMoAiwhBSADKAIoIQYgAiADKAIcIAMoAiAiAWtLBEAgA0EYaiABIAIQMiADKAIgIQELIAMoAhgiCiABQRRsaiAGIAQQ7gIaIAMgASACaiIINgIgIAVFIAWtQhR+p0VyRQRAIAYQjgILAkACQAJAAkACQAJAAn8gCEUEQEEEIQVBAAwBCyAIQQN0IgFBBBB2IgVFDQEgCEEUbCEJIAhBAWtB/////wNxIAUhASAKIQIDQCADQQhqIAIQjQEgASADKQMINwIAIAFBCGohASACQRRqIQIgCUEUayIJDQALQQFqCyEHIANBCDYCPCADQdiYwAA2AjggB0EBayIEIAdLDQQgBCAHSw0BAkAgBEUEQEEEIQYMAQsgBK1CFH4iDkIgiKciAQ0DIA6nIgJBAEgNAyABRUECdCEBIAIEfyACIAEQdgUgAQsiBkUNBAsgBSAFIARBA3RqIgtGBH9BAAUgB0H+////AWoiDEH/////AXECQCAHQQFrQQNxIglFBEAgBiEBIAUhAgwBCyAGIQEgBSECA0AgAUEEaiACKQIANwIAIAFBADoAACABQRRqIQEgAkEIaiECIAlBAWsiCQ0ACwtBA08EQANAIAFBBGogAikCADcCACABQQA6AAAgAkEIaikCACEOIAFBFGpBADoAACABQRhqIA43AgAgAkEQaikCACEOIAFBKGpBADoAACABQSxqIA43AgAgAkEYaikCACEOIAFBPGpBADoAACABQUBrIA43AgAgAUHQAGohASACQSBqIgIgC0cNAAsLIAxB/////wFxQQFqCyEBIAQgB08NBSADQShqIANBOGogBiABIAUgBEEDdGoiASgCACABKAIEEJQBIARFIAStQhR+p0VyRQRAIAYQjgILIAAgAykDKDcCACAAQQhqIANBMGooAgA2AgAgCEUgCEEDdEVyRQRAIAUQjgILIAMoAhwiAEUgAK1CFH6nRXJFBEAgChCOAgsgA0FAayQADwsgAUEEELACAAsgBCAHELoCAAsQsQIACyACIAEQsAIAC0HghMAAQSFBzIXAABC8AgALIAQgB0HshcAAELgCAAvVAQIEfwF+IwBBIGsiAyQAAkAgASABIAJqIgFLDQBBBCECIABBBGooAgAiBUEBdCIEIAEgASAESRsiAUEEIAFBBEsbIgGtQhR+IgdCIIhQQQJ0IQQgB6chBgJAIAVFBEBBACECDAELIAMgACgCADYCECADIAWtQhR+PgIUCyADIAI2AhggAyAGIAQgA0EQahBqIAMoAgAEQCADQQhqKAIAIgBFDQEgAygCBCAAELACAAsgAygCBCECIABBBGogATYCACAAIAI2AgAgA0EgaiQADwsQsQIAC8UCAgJ/AX4jAEHwAGsiBiQAIAZBCGogAyAEEDAgBigCECEEIAYoAgghAyAGQdAAaiIHEOUBIAZB4ABqIAcgBSgCACAFQQhqKAIAEOcBAkAgBigCYARAIAZByABqIAZB7ABqKAIANgIAIAYgBikCZDcDQCAGKAJUBEAgBigCUBCOAgsgBkHoAGogBkHIAGooAgA2AgAgBiAGKQNANwNgIAZBIGoiAUHJj8AAQRUgBkHgAGoQLiAAQQhqIAZBKGopAwA3AgAgAEEQaiAGQTBqKQMANwIAIABBGGogBkE4aikDADcCACAAIAEpAwA3AwAMAQsgBiAGKQNQIgg3AhwgBkEgaigCACABIAMgBCAIpyIBIAZB2ABqKAIAIAIoAhQRCAAEQCABEI4CCyAAQQw2AgALIAYoAgwEQCADEI4CCyAGQfAAaiQAC74DAQZ/IwBBQGoiAyQAIANBCGogAUHImMAAQQYgAigCDBEEAAJAIAACfwJAAkACQCADKAIIIgVFBEBBHUEBEHYiAUUNASAAQQE2AgAgAUEVakGhj8AAKQAANwAAIAFBEGpBnI/AACkAADcAACABQQhqQZSPwAApAAA3AAAgAUGMj8AAKQAANwAAIABBEGpCnYCAgNADNwMAIABBDGogATYCACAAQQhqQQY2AgAMBQsgA0EYaiIBIAUgA0EQaigCABDuASADQShqIAEQIyADQTRqKAIAIQQgA0EwaigCACECIAMoAiwhASADKAIoRQRAIANBKGogA0EYahDwASADKAIoIgdBFUcEQCADQTRqKAIAIQYgA0EwaigCACEEIAMoAiwhCCACRQ0DIAEQjgIMAwsgAEEMaiAENgIAIABBCGogAjYCACAAIAE2AgRBAAwECyADQThqKAIAIQYMAgtBHUEBELACAAsgCCECIAchAQsgA0E0aiAGNgIAIANBMGogBDYCACADIAI2AiwgAyABNgIoIABBCGpBjI/AAEEdIANBKGoQJUEBCzYCACADKAIMRQ0AIAUQjgILIANBQGskAAvKAgEJfyMAQSBrIgIkACACQRBqIAEQmgECQAJAAkAgAigCGCIEQQFrIgMgBE0EQCADIARLDQEgAigCECEFAkAgA0UEQEEEIQYMAQsgA0EDdCIBQQQQdiIGRQ0DCyAFIANBFGxqIgkgBUYEf0EABSAEQRRsQRRrIQggBEH+////A2pB/////wNxIAYhASAFIQcDQCACQQhqIAcQjQEgASACKQMINwIAIAFBCGohASAHQRRqIQcgCEEUayIIDQALQQFqCyEBIAMgBE8NAyACIAkQjQEgACAGIAEgAigCACACKAIEEJMBIAIoAhQiAEUgAK1CFH6nRXJFBEAgBRCOAgsgA0UgA0EDdEVyRQRAIAYQjgILIAJBIGokAA8LQeCEwABBIUHMhMAAELwCAAsgAyAEELoCAAsgAUEEELACAAsgAyAEQZSFwAAQuAIAC8oCAQl/IwBBIGsiAiQAIAJBEGogARCOAQJAAkACQCACKAIYIgRBAWsiAyAETQRAIAMgBEsNASACKAIQIQUCQCADRQRAQQQhBgwBCyADQQN0IgFBBBB2IgZFDQMLIAUgA0EUbGoiCSAFRgR/QQAFIARBFGxBFGshCCAEQf7///8DakH/////A3EgBiEBIAUhBwNAIAJBCGogBxCNASABIAIpAwg3AgAgAUEIaiEBIAdBFGohByAIQRRrIggNAAtBAWoLIQEgAyAETw0DIAIgCRCNASAAIAYgASACKAIAIAIoAgQQkwEgAigCFCIARSAArUIUfqdFckUEQCAFEI4CCyADRSADQQN0RXJFBEAgBhCOAgsgAkEgaiQADwtB4ITAAEEhQcyEwAAQvAIACyADIAQQugIACyABQQQQsAIACyADIARBlIXAABC4AgALyQICA38EfiMAQfAAayIFJAAgAUEIaigCACEGIAEoAgAhASAFQdAAaiIHEOUBIAVB4ABqIAQgBxA4AkAgBSgCYARAIAVByABqIAVB7ABqKAIANgIAIAUgBSkCZDcDQCAFKAJUBEAgBSgCUBCOAgsgBUHoAGogBUHIAGooAgA2AgAgBSAFKQNANwNgIAVBIGoiAUH1kcAAQSQgBUHgAGoQLiAFQRBqIAVBOGopAwAiCDcDACAFQQhqIAVBMGopAwAiCTcDACAFIAVBKGopAwAiCjcDACABKQMAIQsgAEEYaiAINwIAIABBEGogCTcCACAAQQhqIAo3AgAgACALNwMADAELIAUgBSkDUCIINwIcIAVBIGooAgAgAiABIAYgCKciASAFQdgAaigCACADKAIUEQgABEAgARCOAgsgAEEMNgIACyAFQfAAaiQAC3oBAn8jAEFAaiIDJAAgA0EANgIIIANCATcDACADQRBqIgQgA0GEjcAAENcCIAEgBBDTAUUEQCAAIAIgAygCACADKAIIEOcBIAMoAgQEQCADKAIAEI4CCyADQUBrJAAPC0GcjcAAQTcgA0E4akHkk8AAQaCOwAAQywIAC58CAQJ/AkACQAJAAkACQAJAAkAgASgCAEEBaw4DAQIDAAsgAEEEaiABQQRqEDYgAEEANgIADwsgAEEEaiABQQRqEDYgAEEBNgIADwsgAUEEaigCACEDAkAgAUEMaigCACIBRQRAQQEhAgwBCyABQQBIDQIgAUEBEHYiAkUNAwsgAiADIAEQ7gIhAiAAQQxqIAE2AgAgAEEIaiABNgIAIAAgAjYCBCAAQQA2AgAPCyABQQRqKAIAIQNBASECIAFBDGooAgAiAQRAIAFBAEgNASABQQEQdiICRQ0DCyACIAMgARDuAiECIABBDGogATYCACAA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LwAAQfTeAUcNBCAAQQE6AAEMBgsgASkAAEL03q2r5u3XtOQAUg0DIABBAjoAAQwFCyABQZGEwABBBRDtAg0CIABBAzoAAQwECyABKAAAQebkvesGRg0CDAELIAFBnYPAACACEO0CDQAgAEEEOgABDAILIABBBGogASACQZyIwABBBRBFIABBAToAAA8LIABBADoAASAAQQA6AAAPCyAAQQA6AAALoAQBBH8jAEFAaiICJAAgAkEoaiABKAIAIgEQ9AECQAJAAkACQAJAAkAgAigCKCIDQRVGBEAgAkEIaiABEPYBIAItAAhBAXFFDQECQCACLQAJQe4ARgRAIAEQ7wEgAkEoaiABQbuYwABBAxDzASACKAIoIgFBFUcNASAAQgA3AgAMCAsgAiABEPYBIAItAABBAXFFDQMgAi0AAUEiRw0EIAEQ7wEgAkEoaiABEPUBIAJBOGooAgAhBCACQTRqKAIAIQMgAkEwaigCACEBIAIoAiwhBSACKAIoDQUgBUUEQCACQRBqIAEgAxBsDAcLIAJBEGogASAEEGwgA0UNBiABEI4CDAYLIABBCGogAikCLDcCACAAQRBqIAJBNGooAgA2AgAgAEEBNgIAIAAgATYCBAwGCyAAQQhqIAIpAiw3AgAgAEEQaiACQTRqKAIANgIAIABBATYCACAAIAM2AgQMBQsgAEKBgICAwAA3AgAMBAsgAkKBgICAwAA3AxAMAgsgAkKBgICA4AE3AxAMAQsgAkEgaiAENgIAIAJBHGogAzYCACACQRhqIAE2AgAgAiAFNgIUIAJBATYCEAsgAEEEaiEBIAJBEGpBBHIhAyACKAIQRQRAIAEgAykCADcCACABQQhqIANBCGooAgA2AgAgAEEANgIADAELIAEgAykCADcCACABQQhqIANBCGopAgA3AgAgAEEBNgIACyACQUBrJAAL4wYBAn8CQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgcBAgMEBQYHAAsgAEEIaigCAEUNByAAQQRqKAIAEI4CDwsgAEEIaigCAARAIABBBGooAgAQjgILIABBFGooAgAEQCAAQRBqKAIAEI4CCyAAQSBqKAIABEAgAEEcaigCABCOAgsgAEEoaigCACIBRQ0GIABBLGooAgBFDQYMBwsgAEEIaigCAARAIABBBGooAgAQjgILIABBFGooAgAE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AkAgAkECaw4EAAMCAQQLIAEvAABB9N4BRw0DIABBAToAAQwFCyABQfyGwABBBRDtAg0CIABBAjoAAQwECyABKAAAQebkvesGRg0CDAELIAFBnYPAAEEDEO0CDQAgAEEDOgABDAILIABBBGogASACQfyHwABBBBBFIABBAToAAA8LIABBADoAASAAQQA6AAAPCyAAQQA6AAAL7QEBBH8jAEEgayICJAAgAiABEPYBAkACQAJAIAItAABBAXEEQCACLQABQSJHDQEgARDvASACQQhqIAEQ9QEgAkEYaigCACEEIAJBFGooAgAhAyACQRBqKAIAIQEgAigCDCEFIAIoAggNAiAFRQRAIAAgASADEFEMBAsgACABIAQQUSADRQ0DIAEQjgIMAwsgAEEBOgAAIABBBGpBBDYCAAwCCyAAQQE6AAAgAEEEakEONgIADAELIABBAToAACAAQRBqIAQ2AgAgAEEMaiADNgIAIABBCGogATYCACAAQQRqIAU2AgALIAJBIGokAAuXAwECfwJAAkACQAJAAkACQAJAAkACQCAALQAADgYBAgMEBQYACyAAQQRqKAIAIgFFDQYgAEEIaigCAEUNBiABEI4CDwsgAEEIaigCAARAIABBBGooAgAQjgILIABBFGooAgBFDQUMBgsgAEEIaigCAARAIABBBGooAgAQjgILIABBEGooAgAhASAAQRhqKAIAIgIEQCABIAJBDGxqIQIDQCABQQRqKAIABEAgASgCABCOAgsgAUEMaiIBIAJHDQALIAAoAhAhAQsgAEEUaigCACIARSAArUIMfqdFcg0EIAEQjgIPCyAAQQhqKAIABEAgAEEEaigCABCOAgsgAEEQaigCACIBRQ0DIABBFGooAgBFDQMgARCOAg8LIABBCGooAgAEQCAAQQRqKAIAEI4CCyAAQRRqKAIARQ0CDAMLIABBCGooAgBFDQEgAEEEaigCABCOAg8LIABBCGooAgAEQCAAQQRqKAIAEI4CCyAAQRBqKAIAIgFFDQAgAEEUaigCAEUNACABEI4CCw8LIABBEGooAgAQjgILkgEAAkACQAJAAkACQCACQQVrDgcAAgICAgIBAgsgAUHkiMAAQQUQ7QJFDQMgAUHPiMAAQQUQ7QINASAAQQI6AAEgAEEAOgAADwsgAUHEiMAAQQsQ7QJFDQELIABBBGogASAC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p0VyRQRAIAEQjgILIAAoAhghAiAAQSBqKAIAIgMEQCACIANBGGxqIQQDQCACIgNBBGooAgAEQCADKAIAEI4CCyADKAIMIQEgA0EUaigCACICBEAgASACQRhsaiECA0AgAUEEaigCAARAIAEoAgAQjgILIAFBEGooAgAEQCABQQxqKAIAEI4CCyABQRhqIgEgAkcNAAsgAygCDCEBCyADQRhqIQIgA0EQaigCACIDRSADrUIYfqdFckUEQCABEI4CCyACIARHDQALIAAoAhghAgsgAEEcaigCACIDRSADrUIYfqdFckUEQCACEI4CCwJAIAAoAiQiAkUNACAAQShqKAIARQ0AIAIQjgILC8YGAQV/IAAoAgAhBCAAKAIIIgEEQCAEIAFB6ABsaiEFA0AgBCIBQegAaiEEAkACQAJAIAEoAggOAgECAAsCQAJAAkACQAJAIAFBEGooAgAOBAECAwQACyABQRhqKAIARQ0FIAFBFGooAgAQjgIMBQsgAUEYaigCAARAIAFBFGooAgAQjgILIAFBJGooAgAEQCABQSBqKAIAEI4CCyABQSxqKAIAIQIgAUE0aigCACIDBEAgA0EFdCEDIAJBFGohAgNAIAIoAgAEQCACQQRrKAIAEI4CCyACQSBqIQIgA0EgayIDDQALIAEoAiwhAgsgAUEwaigCACIBRSABQQV0RXINBCACEI4CDAQLAkAgAUEUaigCACIDRQ0AIAFBGGooAgBFDQAgAxCOAgsgAUEkaigCAARAIAFBIGooAgAQjgILIAFBLGooAgAhAiABQTRqKAIAIgMEQCADQQV0IQMgAkEUaiECA0AgAigCAARAIAJBBGsoAgAQjgILIAJBIGohAiADQSBrIgMNAAsgASgCLCECCyABQTBqKAIAIgNFIANBBXRFckUEQCACEI4CCyABQTxqKAIARQ0DIAFBOGooAgAQjgIMAwsgAUEYaigCAARAIAFBFGooAgAQjgILIAFBJGooAgBFDQIgAUEgaigCABCOAgwCCyABQRhqKAIABEAgAUEUaigCABCOAgsgAUEkaigCAEUNASABQSBqKAIAEI4CDAELIAFBDGooAgBFBEAgAUEUaigCAARAIAEoAhAQjgILIAFBHGooAgAhAiABQSRqKAIAIgMEQCADQQV0IQMgAkEUaiECA0AgAigCAARAIAJBBGsoAgAQjgILIAJBIGohAiADQSBrIgMNAAsgASgCHCECCyABQSBqKAIAIgFFIAFBBXRFcg0BIAIQjgIMAQsgASgCECECIAFBGGooAgAiAwRAIANBBXQhAyACQRRqIQIDQCACKAIABEAgAkEEaygCABCOAgsgAkEgaiECIANBIGsiAw0ACyABKAIQIQILIAFBFGooAgAiAUUgAUEFdEVyDQAgAhCOAgsgBCAFRw0ACyAAKAIAIQQLIABBBGooAgAiAEUgAK1C6AB+p0VyRQRAIAQQjgILC/MCAgl/AX4jAEGAAWsiAyQAAn8gAkUEQEEAIQFBAAwBCyABQRxqKAIAIQUgAUEUaigCACEGIAFBEGooAgAhByABQQxqKAIAIQggAUEIaigCACEJIANBCGohBCABKAIAIQogASgCBCgCDCELQQAhAQJAA0AgA0HQAGogCiALEQAAIAMoAlBFDQEgA0H4AGogA0HgAGopAwA3AwAgA0HwAGogA0HYAGopAwA3AwAgAyADKQNQNwNoIANBKGogCCAHIAYgBSADQegAaiAJEQcAIAMpAyhCAlENASABQQFqIQEgA0EgaiADQcgAaikDADcDACADQRhqIANBQGspAwA3AwAgA0EQaiADQThqKQMANwMAIAQgA0EwaikDADcDACADIAMpAygiDDcDAAJAIAxQBEAgAygCDEUNASADKAIIEI4CDAELIAQQHQsgASACRw0ACyACIQFBAAwBC0EBCyECIAAgATYCBCAAIAI2AgAgA0GAAWokAAv5AwEOfyMAQbABayIDJAACfyACRQRAQQAhAkEADAELIAFBHGooAgAhByABQRRqKAIAIQggAUEQaigCACEJIAFBDGooAgAhCiABQQhqKAIAIQsgA0EQaiEMIANBCGpBBHIhBSADQcwAaiEGIANB+ABqIQQgASgCACENIAEoAgQoAgwhDkEAIQECQANAIANBMGogDSAOEQAAIAMoAjBFDQEgA0GoAWogA0FAaykDADcDACADQaABaiADQThqKQMANwMAIAMgAykDMDcDmAEgA0HwAGogCiAJIAggByADQZgBaiALEQcAAn8gAykDcEIAUiIPRQRAIANB0ABqIARBCGooAgA2AgAgAyAEKQIANwNIQQAMAQsgBiAEKQIANwIAIAZBGGogBEEYaikCADcCACAGQRBqIARBEGopAgA3AgAgBkEIaiAEQQhqKQIANwIAQQELIRAgAUEBaiEBIAUgAykDSDcCACAFQSBqIANB6ABqKAIANgIAIAVBGGogA0HgAGopAwA3AgAgBUEQaiADQdgAaikDADcCACAFQQhqIANB0ABqKQMANwIAIAMgEDYCCAJAIA9FBEAgAygCEEUNASADKAIMEI4CDAELIAwQHQsgASACRw0AC0EADAELIAEhAkEBCyEBIAAgAjYCBCAAIAE2AgAgA0GwAWokAAuTBAEPfyMAQbABayIDJAACfyACRQRAQQAhAkEADAELIAFBHGooAgAhCCABQRRqKAIAIQkgAUEQaigCACEKIAFBDGooAgAhCyABQQhqKAIAIQwgA0EQaiENIANBCGpBBHIhBCADQfAAakEEciEHIANBzABqIQUgA0H4AGohBiABKAIAIQ4gASgCBCgCDCEPQQAhAQJAA0AgA0EwaiAOIA8RAAAgAygCMEUNASADQagBaiADQUBrKQMANwMAIANBoAFqIANBOGopAwA3AwAgAyADKQMwNwOYASADQfAAaiALIAogCSAIIANBmAFqIAwRBwACfyADKAJwIhBFBEAgAygChAEEQCADKAKAARCOAgsgA0HQAGogB0EIaigCADYCACADIAcpAgA3A0hBAAwBCyAFIAYpAgA3AgAgBUEYaiAGQRhqKQIANwIAIAVBEGogBkEQaikCADcCACAFQQhqIAZBCGopAgA3AgBBAQshESABQQFqIQEgBCADKQNINwIAIARBIGogA0HoAGooAgA2AgAgBEEYaiADQeAAaikDADcCACAEQRBqIANB2ABqKQMANwIAIARBCGogA0HQAGopAwA3AgAgAyARNgIIAkAgEEUEQCADKAIQRQ0BIAMoAgwQjgIMAQsgDRAdCyABIAJHDQALQQAMAQsgASECQQELIQEgACACNgIEIAAgATYCACADQbABaiQAC/IDAgl/AX4jAEGAAWsiAyQAAkACQAJAIAJFBEAgASgCACEEIAEoAgQoAgwhBQwBCyABQRxqKAIAIQcgAUEUaigCACEIIAFBEGooAgAhCSABQQxqKAIAIQogAUEIaigCACELIANBCGohBiABKAIAIQQgASgCBCgCDCEFA0AgA0HQAGogBCAFEQAAIAMoAlBFDQIgA0H4AGogA0HgAGopAwA3AwAgA0HwAGogA0HYAGopAwA3AwAgAyADKQNQNwNoIANBKGogCiAJIAggByADQegAaiALEQcAIAMpAyhCAlENAiADQSBqIANByABqKQMANwMAIANBGGogA0FAaykDADcDACADQRBqIANBOGopAwA3AwAgBiADQTBqKQMANwMAIAMgAykDKCIMNwMAAkAgDFAEQCADKAIMRQ0BIAMoAggQjgIMAQsgBhAdCyACQQFrIgINAAsLIAMgBCAFEQAAIAMoAgBFBEAgAEICNwMADAILIAFBHGooAgAhAiABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgA0E4aiADQRBqKQMANwMAIANBMGogA0EIaikDADcDACADIAMpAwA3AyggACAGIAUgBCACIANBKGogAREHAAwBCyAAQgI3AwALIANBgAFqJAAL9gYCDX8BfiMAQbABayIDJAACQAJAAkAgAkUEQCABKAIAIQcgASgCBCgCDCEIDAELIAFBHGooAgAhCSABQRRqKAIAIQogAUEQaigCACELIAFBDGooAgAhDCABQQhqKAIAIQ0gA0EQaiEOIANBCGpBBHIhBCADQcwAaiEGIANBkAFqIQUgASgCACEHIAEoAgQoAgwhCANAIANBMGogByAIEQAAIAMoAjBFDQIgA0GAAWogA0FAaykDADcDACADQfgAaiADQThqKQMANwMAIAMgAykDMDcDcCADQYgBaiAMIAsgCiAJIANB8ABqIA0RBwACQCADKQOIAVAEQCADQdAAaiIPIAVBCGooAgA2AgAgAyAFKQIAIhA3A0ggBEEgaiADQegAaigCADYCACAEQRhqIANB4ABqKQMANwIAIARBEGogA0HYAGopAwA3AgAgBEEIaiAPKQMANwIAIAQgEDcCACADKAIQRQ0BIAMoAgwQjgIMAQsgBiAFKQIANwIAIAZBGGogBUEYaikCADcCACAGQRBqIAVBEGopAgA3AgAgBkEIaiAFQQhqKQIANwIAIARBIGogA0HoAGooAgA2AgAgBEEYaiADQeAAaikCADcCACAEQRBqIANB2ABqKQIANwIAIARBCGogA0HQAGopAgA3AgAgBCADKQJINwIAIANBATYCCCAOEB0LIAJBAWsiAg0ACwsgA0HIAGogByAIEQAAIAMoAkhFBEAgAEECNgIADAILIAFBHGooAgAhAiABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgA0EYaiADQdgAaikDADcDACADQRBqIgcgA0HQAGopAwA3AwAgAyADKQNINwMIIANBiAFqIAYgBSAEIAIgA0EIaiABEQcAIANBkAFqIQEgAAJ/IAMpA4gBUARAIAcgAUEIaigCADYCACADIAEpAgA3AwhBAAwBCyADQSRqIAFBGGopAgA3AgAgA0EcaiABQRBqKQIANwIAIANBFGogAUEIaikCADcCACADIAEpAgA3AgxBAQs2AgAgACADKQMINwIEIABBDGogA0EQaikDADcCACAAQRRqIANBGGopAwA3AgAgAEEcaiADQSBqKQMANwIAIABBJGogA0EoaigCADYCAAwBCyAAQQI2AgALIANBsAFqJAALowMBBH8jAEHwAGsiAyQAIAMgASACEGACQCADKAIARQRAIANBCGogASgCACABKAIEKAIMEQAAIAMoAghFBEAgAEECNgIADAILIAFBHGooAgAhAiABQRRqKAIAIQQgAUEQaigCACEFIAFBDGooAgAhBiABQQhqKAIAIQEgA0EwaiADQRhqKQMANwMAIANBKGogA0EQaikDADcDACADIAMpAwg3AyAgA0HIAGogBiAFIAQgAiADQSBqIAERBwAgAAJ/IAMoAkhFBEAgA0HcAGooAgAEQCADQdgAaigCABCOAgsgA0EoaiADQdQAaigCADYCACADIAMpAkw3AyBBAAwBCyADQTxqIANB6ABqKQMANwIAIANBNGogA0HgAGopAwA3AgAgA0EsaiADQdgAaikDADcCACADIANB0ABqKQMANwIkQQELNgIAIAAgAykDIDcCBCAAQQxqIANBKGopAwA3AgAgAEEUaiADQTBqKQMANwIAIABBHGogA0E4aikDADcCACAAQSRqIANBQGsoAgA2AgAMAQsgAEECNgIACyADQfAAaiQAC8IIAg1/An4jAEHgAGsiAiQAIAEoAgghAyABKAIEIQcgASgCACEFQQwhBiACQQw2AggCfwJAIANFDQAgAkE4aiAFIAcoAgwiChEAACACKAI4IgRBAkYNACADQQFrIQEgAkHIAGohAwJAAkADQCACKQNAIQ8gBA0BIAIoAjwiBEUEQCABRQ0EIAJBOGogBSAKEQAAIAFBAWshASACKAI4IgRBAkcNAQwECwsg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BCkDACIJIAatfCIIIAlUrXwhCSACQQFrIgINAAsLIAVBEGogCTcDACAFQQhqIAg3AwBBAAwECyAFQQI6AAEMAQsgBUECOgABC0EBDAELIAVBAToAAUEBCzoAACAEQTBqJAACQCADLQAIRQRAIABBADYCACAAQQhqIAMpAxA3AwAgAEEQaiADQRhqKQMANwMADAELIAMgAy0ACToAJyADQcQAakEFNgIAIANBATYCPCADIANBJ2o2AkAgAyADNgI4IANB3ABqQQI2AgAgA0ICNwJMIANBpJjAADYCSCADIANBOGo2AlggA0EoaiIBIANByABqIgIQsgIgAkEEciABELQCIANBFDYCSCADKAIsBEAgAygCKBCOAgsgACADKQNINwIEIABBATYCACAAQQxqIANB0ABqKQMANwIACyADQeAAaiQAC4wEAgR/An4jAEHgAGsiAyQAIAMgAjYCDCADIAE2AggjAEEQayIFJAAgA0EQaiIEAn8CQAJAIAJFBEAgBEEAOgABDAELAkACQAJAIAEtAABBK2sOAwECAAILIAJBAUcNAQwDCyACQQFrIgJFDQIgAUEBaiEBCwJAAkACQCACQRFPBEADQCAFIAdCAEIKQgAQ7AIgAS0AAEEwayIGQQlLDQYgBSkDCEIAUg0EIAUpAwAiCCAGrXwiByAIVA0DIAFBAWohASACQQFrIgINAAsMAQsDQCABLQAAQTBrIgZBCUsNBSABQQFqIQEgBq0gB0IKfnwhByACQQFrIgINAAsLIARBCGogBzcDAEEADAQLIARBAjoAAQwBCyAEQQI6AAELQQEMAQsgBEEBOgABQQELOgAAIAVBEGokAAJAIAMtABBFBEAgAEEANgIAIABBCGogAykDGDcDAAwBCyADIAMtABE6ACcgA0HEAGpBBTYCACADQQE2AjwgAyADQSdqNgJAIAMgA0EIajYCOCADQdwAakECNgIAIANCAjcCTCADQYCYwAA2AkggAyADQThqNgJYIANBKGoiASADQcgAaiICELICIAJBBHIgARC0AiADQRQ2AkggAygCLARAIAMoAigQjgILIAAgAykDSDcCBCAAQQE2AgAgAEEMaiADQdAAaikDADcCAAsgA0HgAGokAAvtAQEEfyMAQSBrIgIkACACIAEQ9gECQAJAAkAgAi0AAEEBcQRAIAItAAFBIkcNASABEO8BIAJBCGogARD1ASACQRhqKAIAIQQgAkEUaigCACEDIAJBEGooAgAhASACKAIMIQUgAigCCA0CIAVFBEAgACABIAMQUgwECyAAIAEgBBBSIANFDQMgARCOAgwDCyAAQQE6AAAgAEEEakEENgIADAILIABBAToAACAAQQRqQQ42AgAMAQsgAEEBOgAAIABBEGogBDYCACAAQQxqIAM2AgAgAEEIaiABNgIAIABBBGogBTYCAAsgAkEgaiQAC7wGAgJ/AX4jAEHQAGsiAyQAAkACQAJAAkACQAJAAkAgASgCAEEBaw4CAQIACyABKQMIIQUgAigCCCIBIAJBBGooAgBGBEAgAiABEBAgAigCCCEBCyACIAFBAWo2AgggAigCACABakH7ADoAACADQSBqIAJBuIzAAEEJEOcBIAMoAiANAiACKAIIIgEgAkEEaigCAEYEQCACIAEQECACKAIIIQELIAIgAUEBajYCCCACKAIAIAFqQTo6AAAgA0EgaiACIAUQ5gEgAygCIEUEQCACKAIIIgEgAkEEaigCAEYEQCACIAEQECACKAIIIQELIABBADYCACACIAFBAWo2AgggAigCACABakH9ADoAAAwGCyAAIAMpAiQ3AgQgAEEMaiADQSxqKAIANgIAIABBATYCAAwFCyACKAIIIgQgAkEEaigCAEYEQCACIAQQECACKAIIIQQLIAIgBEEBajYCCCACKAIAIARqQfsAOgAAIANBIGogAkHBjMAAQQcQ5wEgAygCIA0DIAFBCGogAigCCCIBIAJBBGooAgBGBEAgAiABEBAgAigCCCEBCyACIAFBAWo2AgggAigCACABakE6OgAAIANBADYCGCADQgE3AxAgA0EgaiIBIANBEGpBhI3AABDXAiABEOUCDQIgAyACIAMoAhAgAygCGBDnASADKAIUBEAgAygCEBCOAgsgAygCAEUEQCACKAIIIgEgAkEEaigCAEYEQCACIAEQECACKAIIIQELIABBADYCACACIAFBAWo2AgggAigCACABakH9ADoAAAwFCyAAIAMpAgQ3AgQgAEEMaiADQQxqKAIANgIAIABBATYCAAwECyADQSBqIAJB1IPAAEEFEOwBIAMoAiBFBEAgACADKAIkIANBKGotAAAQ/gEMBAsgAEEBNgIAIAAgA0EgakEEciIBKQIANwIEIABBDGog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IAVByABqQamPwABBICAFQfgAahAlIAVBGGogBUHgAGopAwA3AwAgBSAFQdgAaikDADcDECAFQdAAaikDACEIIAUpA0ghB0IBCyEJIAUoAjRFDQAgAxCOAgsgBSgCJARAIAQQjgILIAlQRQ0BQQAhAyAHQgNSBEAgBSAINwNIIAUgBzcDQCAFQUBrIAIQjAFBAXMhAwsgAEEAOgAAIAAgAzoAAQwCCyAAQYACOwEADAELIAVBCGogBUEYaikDACIJNwMAIAUgBSkDECIKNwMAIABBIGogCTcDACAAQRhqIAo3AwAgAEEQaiAINwMAIABBCGogBzcDACAAQQE6AAALIAVBkAFqJAALgCcCFX8EfiMAQeADayIDJAAQkAIgA0HwAGogABDdASADQYABaiABEN0BIANBkAFqIAIQ3QEgA0GIAmogAygCcCIWIAMoAngQJgJAAkACQAJAAkACQAJAAkACQAJAIAMpA4gCUARAIANBuAFqIANBmAJqIgIpAwA3AwAgA0GoAWogA0GwAmopAwA3AwAgAyADKQOQAjcDsAEgAyADQagCaiIAKQMANwOgASADQaACaiIBKAIAIQ0gA0GkAmooAgAhDiADQbgCaigCACEHIANBvAJqKAIAIQogA0HAAmopAwAhGCADQYgCaiADKAKAASIRIAMoAogBEB8gAygCiAINAiABKAIAIQUgA0GcAmooAgAhCCACKAIAIQkgA0GUAmooAgAhEiADKAKQAiETIAMoAowCIQwgA0GgA2oiACADKAKQASIXIAMoApgBEO4BIANBMGogABD2ASADLQAwQQFxDQFBBCECDAYLIANByANqIANBqAJqKQMANwMAIANBwANqIANBoAJqKQMANwMAIANBuANqIANBmAJqKQMANwMAIAMgAykDkAI3A7ADIANBADYCiAMgA0IBNwOAAyADQdABaiIAIANBgANqQYSNwAAQ1wIgA0GwA2ogABCkAQ0JIANBxABqIANBiANqKAIANgIAIAMgAykDgAM3AjwgA0EBNgI4IANBsANqEB0MBwsgAy0AMUH7AEcEQEEOIQIMBQsgA0GgA2oiABDvASADQShqIAAQ7QEgAy0ALCADQSBqIAMoAigiDxD2ASADLQAgQQFxRQRAIANBAjYCPAwECyADLQAhIQZBAXEhAiADQdABakEEciEUIANB2AFqIRUg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EGooAgAiAEUgAEEFdEVyRQRAIAEQjgILIAlBFGooAgAEQCAJQRBqKAIAEI4CCyAJQSxqKAIARQ0AIAlBKGooAgAQjgILIARBwAFqJAAgECADQdwBaikCADcDACADQZgCaiADQeQBaikCADcDACAVIANB7AFqKQIANwMAIAsgA0H0AWopAgA3AwAgA0GwAmogA0H8AWopAgA3AwAgAyADKQLUATcDiAIgAygC0AFFDQEgA0GYA2ogA0GkAmopAgA3AwAgA0GQA2ogFCkCADcDACADQYgDaiADQZQCaikCADcDACADIAMpAowCNwOAAyADQQA2AqgDIANCATcDoAMgA0GwA2oiACADQaADakGEjcAAENcCIANBgANqIAAQpAENDyADQcQAaiADQagDaigCADYCACADIAMpA6ADNwI8IANBATYCOCADQYADahAdDAILIAMgADYCvAMgAyACNgK4AyADIAs2ArQDIAMgBjYCsAMMAgsgA0HkAGogA0HQAWpBBHIiAEEoaikCADcCACADQdwAaiAAQSBqKQIANwIAIANB1ABqIABBGGopAgA3AgAgA0HMAGogAEEQaikCADcCACADQcQAaiAAQQhqKQIANwIAIANBADYCOCADIAApAgA3AjwLIAMoApQBBEAgFxCOAgsgAygChAEEQCAREI4CCyADKAJ0RQ0LIBYQjgIMCwsgBkEVRg0BCyADQYgDaiAQQQhqKAIANgIAIAMgECkCADcDgAMMAwsgAQRAIANBOGpBBHJByJjAAEEGECEgBEUNBQwECyADQbADaiAPEPQBAkACQCADKAKwAyIAQRVHBEAgFSAQKQIANwIAIBVBCGogEEEIaigCADYCACADIAA2AtQBDAELIANB0AFqIA8QIyADKALQAUUNAQsgA0HEAGogFEEIaikCADcCACADIBQpAgA3AjwMBQsgAygC3AEhCyADKALYASEEIAMoAtQBIQEgA0EIaiAPEPYBQQAhAiADLQAJIQYgAy0ACEEBcQ0AC0ECIQYMAQsgA0HIA2ogACkDADcDACADQcADaiABKQMANwMAIANBuANqIAIpAwA3AwAgAyADKQOQAjcDsAMgA0EANgKIAyADQgE3A4ADIANB0AFqIgAgA0GAA2pBhI3AABDXAiADQbADaiAAEKQBRQRAIANBxABqIANBiANqKAIANgIAIAMgAykDgAM3AjwgA0EBNgI4IANBsANqEB0MBQsMBwsgA0FAayADKQOAAzcDACADQcgAaiADQYgDaigCADYCACADIAY2AjwgAUUgBEVyDQELIAEQjgILIANByABqKAIAIREgA0HEAGooAgAhBiADQUBrKAIAIRIgAygCPCECCyADQdwBaiARNgIAIANB2AFqIAY2AgAgAyASNgLUASADIAI2AtABIANBkAJqQd6PwABBICADQdABaiIAECUgA0HIA2ogA0GoAmopAwA3AwAgA0HAA2ogA0GgAmopAwA3AwAgA0G4A2ogA0GYAmopAwA3AwAgAyADKQOQAjcDsAMgA0EANgKIAyADQgE3A4ADIAAgA0GAA2pBhI3AABDXAiADQbADaiAAEKQBDQMgA0HEAGogA0GIA2ooAgA2AgAgAyADKQOAAzcCPCADQQE2AjggA0GwA2oQHSATBEAgDBCOAgsgBQRAIAVBBXQhASAJQRRqIQIDQCACKAIABEAgAkEEaygCABCOAgsgAkEgaiECIAFBIGsiAQ0ACwsgCEUgCEEFdEVyDQAgCRCOAgsgDgRAIA0QjgILIApFDQAgBxCOAgsgAygClAEEQCADKAKQARCOAgsgAygChAEEQCADKAKAARCOAgsgAygCdEUNACAWEI4CCyADQYgCaiADQThqECsgAygCiAJFBEAgA0HYAWogA0GUAmooAgAiADYCACADIAMpAowCIhg3A9ABIANBkAJqIAA2AgAgAyAYNwOIAiADQYgCahDcAQJAIAMoAjhFBEAgA0E4akEEchBcDAELIANBQGsoAgBFDQAgAygCPBCOAgsgA0HgA2okAA8LIANB6AFqIANBqAJqKQMANwMAIANB4AFqIANBoAJqKQMANwMAIANB2AFqIANBmAJqKQMANwMAIAMgA0GQAmopAwA3A9ABQfSTwABBKyADQdABakGglMAAQZSCwAAQywIAC0GcjcAAQTcgA0HYA2pB5JPAAEGgjsAAEMsCAAuTpgICJ38FfiMAQaAFayIGJAAQkAIgBkEIaiAAEN0BIAZBGGogARDdASAGQShqIAIQ3QEgBkHwA2ogBigCCCIfIAYoAhAQJgJAAkACQAJAAkACQAJAAkACQAJAAkACQCAGKQPwA1AEQCAGQdAAaiAGQYAEaiIAKQMANwMAIAZBQGsgBkGYBGopAwA3AwAg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IANBqAVqQbSHwABBAhAhDA8LIAtFDQcgA0GoBWpB+IbAAEEEECEMDgsgA0G4BWooAgAhCCADKAK0BSEHIAMoArAFIQogAygCrAUhCUEBIQUMHQsgA0GoBWpBnYPAAEEDECEgA0G0BWooAgAhCCADQbAFaigCACEHIAMoAqwFIQogAygCqAUhCUEBIQUMGwsgA0H4BmogLDcDACADQfAGaiArNwMAIANB6AZqIBg2AgAgA0HkBmogADYCACADQdwGaiAbNgIAIANB2AZqIBY2AgAgA0HUBmogEjYCACADQdAGaiAaNgIAIANBzAZqIBU2AgAgA0HIBmogDzYCACADQcQGaiIAIBc2AgAgA0HABmogETYCACADQQA2ArgGIANB4AZqIAFBACATGzYCACADIAs2ArwGIANBqAVqIAoQ8gEgAygCqAUiCUEVRwRAIANBtAVqKAIAIQggA0GwBWooAgAhByADKAKsBSEKIANBuAZqEEQMHQsgA0H8BWogACkCADcCACADQYQGaiAAQQhqKQIANwIAIANBjAZqIABBEGopAgA3AgAgA0GUBmogAEEYaikCADcCACADQZwGaiAAQSBqKQIANwIAIANBpAZqIABBKGopAgA3AgAgA0GsBmogAEEwaikCADcCACADQbQGaiAAQThqKAIANgIAIANB+AVqIBE2AgAgAyALNgL0BSADQQA2AvAFIANBGGogChD2ASADLQAYQQFxRQ0DIAMtABlB/QBGBEAgChDvASANQQhqIANB8AVqQcgAEO4CGiANQQA2AgAMHgsgDUELNgIEIANB8AVqEEQgDUEBNgIADB0LIANB4ARqQQRyIQpBDiEEDBYLIANB7ARqIAU2AgAgA0HoBGogAjYCACADIAk2AuQEIANB8ARqIQoMFQsgA0GoBWpBBHJB+IbAAEEEECAgA0G4BWooAgAhCCADQbQFaigCACEHIAMoAqwFIQlBACELQQEhDiADQbAFaigCAAwECyANQoGAgIDAADcDACADQfAFahBEDBkLIANB4ARqIAgQ9AECQAJAIAMoAuAEIglBFUcEQCAQIBQpAgA3AgAgEEEIaiAUQQhqKAIANgIADAELIANBqAVqIAgQIyADKAKoBUUNASADKAKsBSEJCyADQbgFaigCACEIIAMoArQFIQdBACELIAMoArAFDAMLIAMoArQFIRcgAygCsAUhESADKAKsBSELDAULIANB4ARqIAgQ9AECQAJAIAMoAuAEIglBFUcEQCAQIBQpAgA3AgAgEEEIaiAUQQhqKAIANgIADAELIANBqAVqIAgQIyADKAKoBUUNASADKAKsBSEJCyADQbgFaigCACEIIAMoArQFIQdBACEPIAMoArAFDAILIAMoArQFIRogAygCsAUhFSADKAKsBSEPDAQLIANB4ARqIAgQ9AECQCADKALgBCIJQRVHBEAgECAUKQIANwIAIBBBCGogFEEIaigCADYCAAwBCyADQagFaiAIECMgAygCqAVFDQIgAygCrAUhCQsgA0G4BWooAgAhCCADKAK0BSEHQQAhEiADKAKwBQshCkEBIQVBACEMDBELIAMoArQFIRsgAygCsAUhFiADKAKsBSESDAELIBkpAwAhLCADKQOwBSErQgEhKgsgACECIAEhBQwBCyADQbQFaigCACEIIANBsAVqKAIAIQcgAygCrAUhCiADKAKoBSEJQQEhBQwNCyADQQhqIAgQ9gEgAy0ACSEJIAMtAAhBAXENAAtBAiEJIAIhACAFIQFBASEFDAsLIANByANqIAoQ9gFBBCEIAkAgAy0AyANBAXFFDQBBDiEIIAMtAMkDQfsARw0AIAoQ7wEgA0HAA2ogChDtASADLQDEAyEBIANBuANqIAMoAsADIgAQ9gECQCADLQC4A0EBcUUEQCADQQI2ArwGDAELIAMtALkDIQkgAUEBcSEMIANBmAdqQQRyIQ8gA0GgB2ohCCADQbAHakEEciEEAkACQANAAkACQAJAAkACQAJAAkAgCUH/AXEiAUEsRwRAIAFB/QBGDQIgDEH/AXENAUEJIQkMCQsgDEH/AXEEQEEQIQkMCQsgABDvASADQbADaiAAEPYBIAMtALADQQFxRQRAQQQhCQwJCyADLQCxAyEJCyAJQf8BcSIBQSJHBEBBECEJIAFB/QBHDQhBEyEJDAgLIANBoANqIAAQ9gEgAy0AoANBAXFFBEBBBCEJDAULIAMtAKEDQSJHBEBBDiEJDAULIAAQ7wEgA0GYB2ogABD1ASADKAKoByELIAMoAqQHIQUgAygCoAchASADKAKcByEJIAMoApgHDQECQCAJRQRAIAVBCEYEQCABKQAAQu/glZOXjN238gBRDQgLIANBsAdqIAEgBUHYhsAAQQEQRQwBCwJAAkAgC0EIRgRAIAEpAABC7+CVk5eM3bfyAFENAQsgA0GwB2ogASALQdiGwABBARBFDAELIANBFTYCsAcLIAVFDQAgARCOAgsgAygCsAchCQwDCyAHRQRAIANBmAdqQQRyQdCGwABBCBAgIANBxAZqIANBpAdqKQIANwIAIAMgAykCnAc3ArwGDAkLIANBzAZqIAU2AgAgA0HIBmogAjYCACADQcQGaiIAIAc2AgAgA0HABmoiAUEHNgIAIANB8AVqIgIgAUHIABDuAhogA0GoBWogAkHIABDuAhogA0G4BmogChDyASADKAK4BiIIQRVHBEAgA0HoBGogACgCADYCACADIAMpArwGNwPgBCADQagFahBEDAoLIANB4ARqIgAgA0GoBWpByAAQ7gIaIANBmARqIgEgAEHIABDuAhogA0HQA2ogAUHIABDuAhogA0GoA2ogChD2ASADLQCoA0EBcUUNASADLQCpA0H9AEYEQCAKEO8BIA1BCGogA0HQA2pByAAQ7gIaIA1BADYCAAwZCyANQQs2AgQgA0HQA2oQRCANQQE2AgAMGAsgAyALNgK8ByADIAU2ArgHIAMgATYCtAcgAyAJNgKwBwwBCyANQoGAgIDAADcDACADQdADahBEDBYLIAlBFUYNAQsgA0GQB2ogBEEIaigCADYCACADIAQpAgA3A4gHDAILIAcEQCADQbgGakEEckHQhsAAQQgQISACRQ0EDAMLIANBsAdqIAAQ9AECQAJAIAMoArAHIgFBFUcEQCAIIAQpAgA3AgAgCEEIaiAEQQhqKAIANgIAIAMgATYCnAcMAQsgA0GYB2ogABAjIAMoApgHRQ0BCyADQcQGaiAPQQhqKQIANwIAIAMgDykCADcCvAYMBAsgAygCpAchBSADKAKgByECIAMoApwHIQcgA0GYA2ogABD2AUEAIQwgAy0AmQMhCSADLQCYA0EBcQ0AC0ECIQkLIANBwAZqIAMpA4gHNwMAIANByAZqIANBkAdqKAIANgIAIAMgCTYCvAYgB0UgAkVyDQELIAcQjgILIANB6ARqIANByAZqKAIANgIAIAMgA0HABmopAwA3A+AEIAMoArwGIQgLIANBoARqIANB6ARqKAIAIgA2AgAgAyADKQPgBCIqNwOYBCANQRBqIAA2AgAgDUEIaiAqNwIAIA0gCDYCBCANQQE2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A0GcBmogAEEgaikCADcCACADQaQGaiAAQShqKQIANwIAIANBrAZqIABBMGopAgA3AgAgA0G0BmogAEE4aigCADYCACADQfgFaiALNgIAIAMgATYC9AUgA0EFNgLwBSADQbACaiAKEPYBIAMtALACQQFxRQ0BIAMtALECQf0ARgRAIAoQ7wEgDUEIaiADQfAFakHIABDuAhogDUEANgIADB8LIA1BCzYCBCADQfAFahBEIA1BATYCAAweCyADQagFakEEckH4hsAAQQQQICADQbgFaigCACEMIANBtAVqKAIAIQ4gA0GwBWooAgAhBSADKAKsBSEHDAoLIA1CgYCAgMAANwMAIANB8AVqEEQMHAsgA0HgBGpBBHIgByAFQYSHwABBAhBFQQAMAQsgA0EAOgDhBEEBCyEOIAkEQCAHEI4CCyAORQ0BIAMtAOEEDQILIAFFDQIgA0GoBWpB+IbAAEEEECEgA0G0BWooAgAhDCADQbAFaigCACEOIAMoAqwFIQUgAygCqAUhByACRQ0KDAkLIANB8ARqKAIAIQwgA0HsBGooAgAhDiADQegEaigCACEFIAMoAuQEIQcgAkUNCQwICyACDQIgA0GoBWogA0GYBGoQRiADKAKoBQ0BIAMoArQFIQQgAygCsAUhACADKAKsBSECDAULIANB4ARqIAgQ9AECQCADKALgBCIHQRVHBEAgESATKQIANwIAIBFBCGogE0EIaigCADYCAAwBCyADQagFaiAIECMgAygCqAVFDQQgAygCrAUhBwsgA0G4BWooAgAhDCADKAK0BSEOIAMoArAFIQUMAgsgA0G4BWooAgAhDCADKAK0BSEOIAMoArAFIQUgAygCrAUhBwwGCyADQagFakH8hsAAQQUQISADQbQFaigCACEMIANBsAVqKAIAIQ4gAygCrAUhBSADKAKoBSEHDAQLQQAhASACRQ0EDAMLIAMoArQFIQ8gAygCsAUhCyADKAKsBSEBCyADQaACaiAIEPYBQQAhByADLQChAiEJIAMtAKACQQFxDQALQQIhByACRQ0BCyAEBEAgBEEobCEIIAJBIGohCgNAIApBDGsoAgAEQCAKQRBrKAIAEI4CCyAKKAIABEAgCkEEaygCABCOAgsgCkEoaiEKIAhBKGsiCA0ACwsgAEUgAK1CKH6nRXINACACEI4CCyABRSALRXIN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uAUhBCADKAK0BSEFIAMoArAFIQIgAygCrAUhCSADKAKoBQ0LAkAgCUUEQCADQeAEaiACIAUQSQwBCyADQeAEaiACIAQQSSAFRQ0AIAIQjgILIAMtAOAEDRogAy0A4QRBAWsOBAUEAwIGC0EEIQQgA0HgBGpBBHIhCgwYCyALRQ0KIA8EQCAqUEUNCCADQagFakEEckGRhMAAQQUQICADQbgFaigCACEIIANBtAVqKAIAIQcgAygCrAUhCSADKAKwBQwWCyADQagFakEEckGUh8AAQQgQICADQbgFaigCACEIIANBtAVqKAIAIQcgA0GwBWooAgAhCiADKAKsBSEJQQEhDgwWCyASQQFGDQUgA0GoBWogA0GYBGoQQyADKAKoBQ0EIAMoArQFIRggAygCsAUhAiADKAKsBSEFIABFIBJFIAFFcnJFBEAgARCOAgtBASESDBELIBNFDQ4gA0GoBWpB0IfAAEEDECEMDQsCQAJAICpCAVIEQCADQeAEaiAIEPQBIAMoAuAEIglBFUYNASAQIBQpAgA3AgAgEEEIaiAUQQhqKAIANgIADAILIANBqAVqQZGEwABBBRAhDA4LIANBqAVqIAgQIiADKAKoBUUNDCADKAKsBSEJCyADQbgFaigCACEIIANBtAVqKAIAIQcgAygCsAUhCgwWCyAPRQ0JIANBqAVqQZSHwABBCBAhDAsLIAtFDQcgA0GoBWpBtIfAAEECECEMCgsgA0G4BWooAgAhCCADKAK0BSEHIAMoArAFIQogAygCrAUhCQwVCyADQagFakGdg8AAQQMQISADQbQFaigCACEIIANBsAVqKAIAIQcgAygCrAUhCiADKAKoBSEJDBMLIBNFDQwgA0H4BmogLDcDACADQfAGaiArNwMAIANB6AZqIBg2AgAgA0HkBmogADYCACADQeAGaiABQQAgEhs2AgAgA0HcBmogGzYCACADQdgGaiAWNgIAIANB1AZqIBM2AgAgA0HQBmogGjYCACADQcwGaiAVNgIAIANByAZqIA82AgAgA0HEBmoiACAXNgIAIANBwAZqIBE2AgAgAyALNgK8BiADQQI2ArgGIANBqAVqIAoQ8gEgAygCqAUiCUEVRwRAIANBtAVqKAIAIQggA0GwBWooAgAhByADKAKsBSEKIANBuAZqEEQMFQsgA0H8BWogACkCADcCACADQYQGaiAAQQhqKQIANwIAIANBjAZqIABBEGopAgA3AgAgA0GUBmogAEEYaikCADcCACADQZwGaiAAQSBqKQIANwIAIANBpAZqIABBKGopAgA3AgAgA0GsBmogAEEwaikCADcCACADQbQGaiAAQThqKAIANgIAIANB+AVqIBE2AgAgAyALNgL0BSADQQI2AvAFIANBiAFqIAoQ9gEgAy0AiAFBAXFFDQMgAy0AiQFB/QBGBEAgChDvASANQQhqIANB8AVqQcgAEO4CGiANQQA2AgAMHwsgDUELNgIEIANB8AVqEEQgDUEBNgIADB4LIANB4ARqQQRyIQpBDiEEDA4LIANB7ARqIAU2AgAgA0HoBGogAjYCACADIAk2AuQEIANB8ARqIQoMDQsgA0GoBWpBBHJBtIfAAEECECAgA0G4BWooAgAhCCADQbQFaigCACEHIANBsAVqKAIAIQogAygCrAUhCUEAIQtBASEOQQAhDAwOCyANQoGAgIDAADcDACADQfAFahBEDBoLIANB4ARqIAgQ9AECQAJAIAMoAuAEIglBFUcEQCAQIBQpAgA3AgAgEEEIaiAUQQhqKAIANgIADAELIANBqAVqIAgQIyADKAKoBUUNASADKAKsBSEJCyADQbgFaigCACEIIAMoArQFIQcgAygCsAUhCkEAIQsMDQsgAygCtAUhFyADKAKwBSERIAMoAqwFIQsMBAsgA0HgBGogCBD0AQJAAkAgAygC4AQiCUEVRwRAIBAgFCkCADcCACAQQQhqIBRBCGooAgA2AgAMAQsgA0GoBWogCBAjIAMoAqgFRQ0BIAMoAqwFIQkLIANBuAVqKAIAIQggAygCtAUhByADKAKwBSEKQQAhDwwMCyADKAK0BSEaIAMoArAFIRUgAygCrAUhDwwDCyAZKQMAISwgAykDsAUhK0IBISoMAgsgA0G0BWooAgAhCCADQbAFaigCACEHIAMoAqwFIQogAygCqAUhCQwJCyADQeAEaiAIEPQBAkACQCADKALgBCIJQRVHBEAgECAUKQIANwIAIBBBCGogFEEIaigCADYCAAwBCyADQagFaiAIECMgAygCqAVFDQEgAygCrAUhCQsgA0G4BWooAgAhCCADKAK0BSEHIAMoArAFIQpBACETDAkLIAMoArQFIRsgAygCsAUhFiADKAKsBSETCyAAIQIgASEF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QQhqIAZB8ANqIgFBCGopAwA3AwAgA0EQaiABQRBqKQMANwMAIANBGGogAUEYaikDADcDACADQSBqIAFBIGopAwA3AwAgA0EoaiABQShqKQMANwMAIANBMGogAUEwaikDADcDACADIAQpAgA3AzggAyABKQMANwMAIANB4ABqIAZBwARqIgFBEGopAgA3AwAgA0HYAGogAUEIaikCADcDACADIAEpAgA3A1ACQAJAAkACQAJAAkACQAJAAkAgAigCAEEBaw4HAQIDBAUGBwALIAJBQGspAwAhKiACQThqKQMAISsgA0GYAWoiBCADQegAEO4CGiADQfAAaiACQQxqKAIANgIAIAMgAikCBDcDaCADQYABaiACQRhqKAIANgIAIAMgAkEQaikCADcDeCADQZABaiACQSRqKAIANgIAIAMgAkEcaikCADcDiAEgA0GIAmogAkEwaigCADYCACADIAJBKGopAgA3A4ACIANB+ABqIQcgA0GIAWohDCADQYACaiEPIwBB4AJrIgEkACABQZgCaiAEQUBrKAIAIgIgA0HoAGoiCSgCACIIIAlBCGooAgAgBEHEAGooAgAiBSgCDCILEQQAAkACQAJAAkAgASgCmAJFBEAgAUEQaiABQaQCaiINKAIANgIAIAEgASkCnAI3AwggAUGYAmogAiAHKAIAIgogB0EIaigCACIOIAsRBAAgASgCmAJFDQEgAUHEAGogAUG4AmopAwAiKjcCACABQTxqIAFBsAJqKQMAIis3AgAgAUE0aiABQagCaikDACIsNwIAIAEgAUGgAmopAwAiLTcCLCAAQSBqICo3AgAgAEEYaiArNwIAIABBEGogLDcCACAAQQhqIC03AgBBASECIABBATYCAEEBIQsMAgsgAUHEAGogAUG4AmopAwAiKjcCACABQTxqIAFBsAJqKQMAIis3AgAgAUE0aiABQagCaikDACIsNwIAIAEgAUGgAmopAwAiLTcCLCAAQSBqICo3AgAgAEEYaiArNwIAIABBEGogLDcCACAAQQhqIC03AgBBASECIABBATYCAEEBIQsMAgsgAUEgaiANKAIANgIAIAEgASkCnAI3AxggBEE8aigCACELIARByABqKQMAISwgBCgCOCENIAFB2ABqIARBMGopAwA3AwAgAUHQAGogBEEoaikDADcDACABQcgAaiAEQSBqKQMANwMAIAFBQGsgBEEYaikDADcDACABQThqIARBEGopAwA3AwAgAUEwaiAEQQhqKQMANwMAIAEgBCkDADcDKCABQfAAaiAEQeAAaikCADcDACABQegAaiAEQdgAaikCADcDACABIAQpAlA3A2AgAUG0AWogBTYCACABICw3A7gBIAEgAjYCsAEgASALNgKsASABIA02AqgBIAFBmAJqIAFBqAFqIAFBKGogAUEIaiABQeAAahByAn8CQAJAIAEtAJgCRQRAIAEtAJkCDQJBDSEFDAELIAFBgAFqIAFBrAJqKQIANwMAIAFBiAFqIAFBtAJqKQIANwMAIAFBkAFqIAFBvAJqKAIANgIAIAEgAUGkAmopAgA3A3ggAUGgAmooAgAiBUEPRg0BCyABQYgCaiABQZABaigCACICNgIAIAFBgAJqIAFBiAFqKQMAIio3AwAgAUH4AWogAUGAAWopAwAiKzcDACABIAEpA3giLDcD8AEgAEEkaiACNgIAIABBHGogKjcCACAAQRRqICs3AgAgAEEMaiAsNwIAIABBCGogBTYCACAAQQE2AgBBAQwBCyABQZgBakIANwMAIAFBiAFqQgA3AwAgAUIENwOQASABQoCAgIDAADcDgAEgAUIINwN4IAFBmAJqIA0gCyABQQhqIAFBGGogDCgCACAMQQhqKAIAICsgKhBxIAFBoAJqIQICQCABKQOYAiIsUEUEQCABQYgCaiACQRhqKQMAIio3AwAgAUGAAmogAkEQaikDACIrNwMAIAFB+AFqIAJBCGopAwAiLTcDACABIAIpAwAiLjcD8AEgAEEgaiAqNwMAIABBGGogKzcDACAAQRBqIC03AwAgAEEIaiAuNwMAIABBATYCAAwBCyABQZACaiACQSBqKQMAIi03AwAgAUGwAWogAkEIaikDADcDACABQbgBaiACQRBqKQMANwMAIAFBwAFqIAJBGGopAwA3AwAgAUHIAWogLTcDACABIAIpAwA3A6gBIAFBqAFqIAFB+ABqEHoCQCAPKAIAIg1FDQACQEHoAEEIEHYiAgRAIAFBADYC+AEgAUIBNwPwASABQZgCaiIFIAFB8AFqQYSNwAAQ1wIgAUHgAGogBRCxAQ0BIAFB0AFqIAwQtAIgAUHoAWogAUH4AWoiCygCACIRNgIAIAEgASkD8AEiLTcD4AEgBygCBCEFIAFBsAJqIBE2AgAgAUHIAmogAUHYAWooAgA2AgAgAUG8AmogCUEIaigCADYCACABQdQCaiAPQQhqKAIANgIAIAEgKjcDoAIgASArNwOYAiABIC03A6gCIAEgASkD0AE3A8ACIAEgCSkCADcCtAIgASAPKQIANwLMAiABQfABaiABQZgCahCCASABKALwAQRAIAFBkAJqKQMAISogAUGMAmooAgAhDSABQYgCaigCACEOIAFBhAJqKAIAIREgAUGAAmooAgAhEiABQfwBaigCACEQIAsoAgAhCyAFBEAgChCOAgsgAEEgaiAqNwMAIABBHGogDTYCACAAQRhqIA42AgAgAEEUaiARNgIAIABBEGogEjYCACAAQQxqIBA2AgAgAEEIaiALNgIAIABBATYCACACEI4CDAQLIAFB/AFqKAIAIQQgASkC9AEhKiACQQM6AGAgAkIANwNQIAJBADYCNCACQgg3AiwgAiAENgIoIAIgKjcDICACIA42AhwgAiAFNgIYIAIgCjYCFCACQQA2AhAgAkECNgIIIAJCADcDACABQfgAahBdIAFCgYCAgBA3AnwgASACNgJ4DAILDBQLQZyNwABBNyABQdgCakHkk8AAQaCOwAAQywIACyAAIAEpA3g3AgQgAEEANgIAIABBLGogAUGgAWopAwA3AgAgAEEkaiABQZgBaikDADcCACAAQRxqIAFBkAFqKQMANwIAIABBFGogAUGIAWopAwA3AgAgAEEMaiABQYABaikDADcCACABKAJkBEAgASgCYBCOAgsgASgCbCELIAFB9ABqKAIAIgAEQCAAQQV0IQUgC0EUaiELA0AgCygCAARAIAtBBGsoAgAQjgILIAtBIGohCyAFQSBrIgUNAAsgASgCbCELCyABQfAAaigCACIARSAAQQV0RXJFBEAgCxCOAgsgAUE8aigCAARAIAEoAjgQjgILIAFB1ABqKAIABEAgASgCUBCOAgsgASgCHARAIAEoAhgQjgILIAEoAgwEQCABKAIIEI4CCyAMQQRqKAIABEAgDCgCABCOAgsgDQ0EIAdBBGooAgAEQCAKEI4CCyAJQQRqKAIARQ0EIAgQjgIMBAsgAUH4AGoQXCAsQgBSCyECIAEoAmQEQCABKAJgEI4CCyABKAJsIQsgAUH0AGooAgAiAARAIABBBXQhBSALQRRqIQsDQCALKAIABEAgC0EEaygCABCOAgsgC0EgaiELIAVBIGsiBQ0ACyABKAJsIQsLIAFB8ABqKAIAIgBFIABBBXRFckUEQCALEI4CCyABQTxqKAIABEAgASgCOBCOAgsgAUHUAGooAgAEQCABKAJQEI4CC0EAIQsgASgCHEUNACABKAIYEI4CCyABKAIMRQ0AIAEoAggQjgILAkAgAkUNACAPKAIAIgBFDQAgD0EEaigCAEUNACAAEI4CCyAMQQRqKAIABEAgDCgCABCOAgsCQCACRQ0AIAdBBGooAgAEQCAHKAIAEI4CCyAJQQRqKAIARQ0AIAgQjgILIAtFDQAgBEEUaigCAARAIARBEGooAgAQjgILIARBLGooAgAEQCAEQShqKAIAEI4CCyAEQdQAaigCAARAIARB0ABqKAIAEI4CCyAEQdwAaigCACEAIARB5ABqKAIAIgIEQCACQQV0IQUgAEEUaiELA0AgCygCAARAIAtBBGsoAgAQjgILIAtBIGohCyAFQSBrIgUNAAsLIARB4ABqKAIAIgJFIAJBBXRFcg0AIAAQjgILIAFB4AJqJAAMBwsgA0GYAWoiBCADQegAEO4CGiADQfAAaiACQQxqKAIANgIAIAMgAikCBDcDaCADQYABaiACQRhqKAIANgIAIAMgAkEQaikCADcDeCADQZABaiACQSRqKAIANgIAIAMgAkEcaikCADcDiAEgA0GIAmogAkEwaigCADYCACADIAJBKGopAgA3A4ACIANB+ABqIQwgA0GIAWohCyADQYACaiEHIwBBsAJrIgEkACAEQcwAaigCACENIARByABqKAIAIQ4gBEE8aigCACEKIARBQGsoAgAhAiAEQcQAaigCACEFIAQoAjghCCABQTBqIARBMGopAwA3AwAgAUEoaiAEQShqKQMANwMAIAFBIGogBEEgaikDADcDACABQRhqIARBGGopAwA3AwAgAUEQaiAEQRBqKQMANwMAIAFBCGogBEEIaikDADcDACABIAQpAwA3AwAgAUHIAGogBEHgAGopAgA3AwAgAUFAayAEQdgAaikCADcDACABIAQpAlA3AzggAUH4AWogAiADQegAaiIPKAIAIhEgD0EIaigCACAFKAIMIgQRBAACQAJAAkACQAJAIAEoAvgBRQRAIAFB2ABqIAFBhAJqIhIoAgA2AgAgASABKQL8ATcDUCABQfgBaiACIAwoAgAiCSAMQQhqKAIAIhAgBBEEACABKAL4AUUNASABQbwBaiABQZgCaikDACIqNwIAIAFBtAFqIAFBkAJqKQMAIis3AgAgAUGsAWogAUGIAmopAwAiLDcCACABIAFBgAJqKQMAIi03AqQBIABBIGogKjcCACAAQRhqICs3AgAgAEEQaiAsNwIAIABBCGogLTcCAEEBIQIgAEEBNgIADAILIAFBvAFqIAFBmAJqKQMAIio3AgAgAUG0AWogAUGQAmopAwAiKzcCACABQawBaiABQYgCaikDACIsNwIAIAEgAUGAAmopAwAiLTcCpAEgAEEgaiAqNwIAIABBGGogKzcCACAAQRBqICw3AgAgAEEIaiAtNwIAQQEhAiAAQQE2AgAMAgsgAUHoAGogEigCADYCACABIAEpAvwBNwNgIAFB5AFqIA02AgAgAUHcAWogBTYCACABIA42AuABIAEgAjYC2AEgASAKNgLUASABIAg2AtABIAFB+AFqIAFB0AFqIAEgAUHQAGogAUE4ahByAkACQAJAAkAgAS0A+AFFBEAgAS0A+QENAkENIQQMAQsgAUGoAWogAUGMAmopAgA3AwAgAUGwAWogAUGUAmopAgA3AwAgAUG4AWogAUGcAmooAgA2AgAgASABQYQCaikCADcDoAEgAUGAAmooAgAiBEEPRg0BCyABQYgBaiABQbgBaigCACICNgIAIAFBgAFqIAFBsAFqKQMAIio3AwAgAUH4AGogAUGoAWopAwAiKzcDACABIAEpA6ABIiw3A3AgAEEkaiACNgIAIABBHGogKjcCACAAQRRqICs3AgAgAEEMaiAsNwIAIABBCGogBDYCAEEBIQIgAEEBNgIADAELIAFBkAFqQgA3AwAgAUGAAWpCADcDACABQgQ3A4gBIAFCgICAgMAANwN4IAFCCDcDcAJAAkACQCALKAIIIgIEQCALKAIAIQQgAkEobCECIAFBgAJqIQUDQCABQfgBaiAIIAogAUHQAGogAUHgAGogBEEQaigCACAEQRhqKAIAIAQpAwAgBEEIaikDABBxIAEpA/gBUEUNAiAEQShqIQQgAUHAAWogBUEgaikDACIqNwMAIAFB2AFqIAVBCGopAwA3AwAgAUHgAWogBUEQaikDADcDACABQegBaiAFQRhqKQMANwMAIAFB8AFqICo3AwAgASAFKQMANwPQASABQdABaiABQfAAahB6IAJBKGsiAg0ACwsgBygCACIFDQEMBAsgAUG4AWogBUEYaikDACIqNwMAIAFBsAFqIAVBEGopAwAiKzcDACABQagBaiAFQQhqKQMAIiw3AwAgASAFKQMAIi03A6ABIABBIGogKjcDACAAQRhqICs3AwAgAEEQaiAsNwMAIABBCGogLTcDAEEBIQIgAEEBNgIADAELAkBB6ABBCBB2IgIEQCABQQA2AtgBIAFCATcD0AEgAUH4AWoiBCABQdABakGEjcAAENcCIAFBOGogBBCxAQ0BIAFBuAFqIgogCykCADcDACABQcABaiIIIAtBCGooAgA2AgAgAUGoAWoiDSABQdgBaiIOKAIANgIAIAFBtAFqIA9BCGooAgA2AgAgAUHMAWogB0EIaigCADYCACABIAEpA9ABNwOgASABIA8pAgA3AqwBIAEgBykCADcCxAEgDCgCBCEEIAFBoAJqIAFByAFqKQMANwMAIAFBmAJqIAgpAwA3AwAgAUGQAmogCikDADcDACABQYgCaiABQbABaikDADcDACABQYACaiANKQMANwMAIAEgASkDoAE3A/gBIAFB0AFqIAFB+AFqEIMBIAEoAtABBEAgAUHwAWopAwAhKiABQewBaigCACEFIAFB6AFqKAIAIQogAUHkAWooAgAhCCABQeABaigCACENIAFB3AFqKAIAIRIgDigCACEOIAQEQCAJEI4CCyAAQQE2AgAgAEEgaiAqNwMAIABBHGogBTYCACAAQRhqIAo2AgAgAEEUaiAINgIAIABBEGogDTYCACAAQQxqIBI2AgAgAEEIaiAONgIAIAIQjgJBACECDAMLIAFB3AFqKAIAIQcgASkC1AEhKiACQQM6AGAgAkIANwNQIAJBADYCNCACQgg3AiwgAiAHNgIoIAIgKjcDICACIBA2AhwgAiAENgIYIAIgCTYCFCACQQA2AhAgAkECNgIIIAJCADcDACABQfAAahBdIAFCgYCAgBA3AnQgASACNgJwDAQLDBQLQZyNwABBNyABQagCakHkk8AAQaCOwAAQywIACyABQfAAahBcCyABKAJkRQ0BIAEoAmAQjgIMAQsgACABKQNwNwIEIABBADYCACAAQSxqIAFBmAFqKQMANwIAIABBJGogAUGQAWopAwA3AgAgAEEcaiABQYgBaikDADcCACAAQRRqIAFBgAFqKQMANwIAIABBDGogAUH4AGopAwA3AgAgASgCZARAIAEoAmAQjgILIAEoAlQEQCABKAJQEI4CCyABKAI8BEAgASgCOBCOAgsgASgCRCEEIAFBzABqKAIAIgAEQCAAQQV0IQAgBEEUaiEEA0AgBCgCAARAIARBBGsoAgAQjgILIARBIGohBCAAQSBrIgANAAsgASgCRCEECyABQcgAaigCACIARSAAQQV0RXJFBEAgBBCOAgsgAUEUaigCAARAIAEoAhAQjgILIAFBLGooAgAEQCABKAIoEI4CCyAFDQMgCxBYIAxBBGooAgAEQCAJEI4CCwwCCyABKAJURQ0AIAEoAlAQjgILIAEoAjwEQCABKAI4EI4CCyABKAJEIQQgAUHMAGooAgAiAARAIABBBXQhACAEQRRqIQQDQCAEKAIABEAgBEEEaygCABCOAgsgBEEgaiEEIABBIGsiAA0ACyABKAJEIQQLIAFByABqKAIAIgBFIABBBXRFckUEQCAEEI4CCyABQRRqKAIABEAgASgCEBCOAgsgAUEsaigCAARAIAEoAigQjgILAkAgAiAHKAIAIgBBAEdxRQ0AIAdBBGooAgBFDQAgABCOAgsgAkUNASALKAIAIQIgCygCCCIABEAgAEEobCEAIAJBIGohBANAIARBDGsoAgAEQCAEQRBrKAIAEI4CCyAEKAIABEAgBEEEaygCABCOAgsgBEEoaiEEIABBKGsiAA0ACwsgC0EEaigCACIARSAArUIofqdFckUEQCACEI4CCyAMQQRqKAIABEAgDCgCABCOAgsLIA9BBGooAgBFDQAgERCOAgsgAUGwAmokAAwGCyACQUBrKQMAISsgAkE4aikDACEqIANBmAFqIgEgA0HoABDuAhogA0HwAGogAkEMaigCADYCACADIAIpAgQ3A2ggA0GAAWogAkEYaigCADYCACADIAJBEGopAgA3A3ggA0GQAWogAkEkaigCADYCACADIAJBHGopAgA3A4gBIANBiAJqIAJBMGooAgA2AgAgAyACQShqKQIANwOAAiADQfgAaiEFIANBiAFqIQsgA0GAAmohDCMAQaACayICJAAgAUE8aigCACEPIAFBQGsoAgAhBCABQcQAaigCACEIIAEoAjghByACQRhqIAFB4ABqKQIANwMA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AEEIaiAHNgIAIABBATYCAAsgAkEwahBcCyACKAIkBEAgAigCIBCOAgsgBEEARwshByACKAIMBEAgAigCCBCOAgsgAigCFCEAIAJBHGooAgAiBARAIARBBXQhBCAAQRRqIQADQCAAKAIABEAgAEEEaygCABCOAgsgAEEgaiEAIARBIGsiBA0ACyACKAIUIQALIAJBGGooAgAiBEUgBEEFdEVyRQRAIAAQjgILAkAgByAMKAIAIgBBAEdxRQ0AIAxBBGooAgBFDQAgABCOAgsgC0EEaigCAARAIAsoAgAQjgILIAVBBGooAgAEQCAFKAIAEI4CCwJAIAdFDQAgCUEEaigCAEUNACAKEI4CCyABQRRqKAIABEAgAUEQaigCABCOAgsgAUEsaigCAEUNASABQShqKAIAEI4CDAELIAAgAikDMDcCBCAAQQA2AgAgAEEsaiACQdgAaikDADcCACAAQSRqIAJB0ABqKQMANwIAIABBHGogAkHIAGopAwA3AgAgAEEUaiACQUBrKQMANwIAIABBDGogAkE4aikDADcCACACKAIkBEAgAigCIBCOAgsgAkEIaiIMQQRqKAIABEAgDCgCABCOAgsgDCgCDCEAIAxBFGooAgAiBARAIARBBXQhBCAAQRRqIQADQCAAKAIABEAgAEEEaygCABCOAgsgAEEgaiEAIARBIGsiBA0ACyAMKAIMIQALIAxBEGooAgAiBEUgBEEFdEVyRQRAIAAQjgILIAtBBGooAgAEQCALKAIAEI4CCyAFQQRqKAIABEAgBSgCABCOAgsCQCARDQAgCUEEaigCAEUNACAKEI4CCyABQRRqKAIABEAgAUEQaigCABCOAgsgAUEsaigCAARAIAFBKGooAgAQjgILCyACQaACaiQADAULIANBmAFqIgUgA0HoABDuAhogA0GAAWogAkEMaigCADYCACADIAIpAgQ3A3ggA0GQAWogAkEYaigCADYCACADIAJBEGopAgA3A4gBIANBiAJqIAJBJGooAgA2AgAgAyACQRxqKQIANwOAAiADQfgAaiEHIANBiAFqIQsgA0GAAmohCSMAQfABayIBJAAgBUHEAGooAgAhBCAFQUBrKAIAIQwgBUE8aigCACEIIAUoAjghCiABQRBqIAVB4ABqKQIANwMAIAFBCGogBUHYAGopAgA3AwAgASAFKQJQNwMAIAFBuAFqIAogCBA0AkACQAJAAkACQAJAAkAgASgCuAFFBEAgAUHAAWooAgAgASgCvAEhAkEBIQ8gAUHEAWooAgAiDiABKAIIRgRAIAEoAgAgAiAOEO0CQQBHIQ8LBEAgAhCOAgsgDw0EIAFBuAFqIAwgBygCACINIAdBCGooAgAiEiAEKAIMEQQAIAEoArgBDQIgAUEgaiABQcQBaigCADYCACABIAEpArwBNwMYIAFByABqQgA3AwAgAUE4akIANwMAIAFCBDcDQCABQoCAgIDAADcDMCABQgg3AyggCygCCCIEBEAgCygCACECIARBKGwhDCABQcABaiEEA0AgAUGQAWogAkEQaiIPKAIAIAJBGGoiDigCABAwIAFBuAFqIAogASgCkAEiECABKAKYASAIKAIMIhcRBAACQCABKAK4ASIRRQ0AIAEoArwBRQ0AIBEQjgILIAEoApQBBEAgEBCOAgsCQAJAAkAgEUUEQCABQbgBaiAKIAhBACABQRhqIA8oAgAgDigCACACKQMAIAJBCGopAwAQcSABKQO4AVBFDQEgAUGwAWogBEEgaikDACIqNwMAIAFB4ABqIARBCGopAwA3AwAgAUHoAGogBEEQaikDADcDACABQfAAaiAEQRhqKQMANwMAIAFB+ABqICo3AwAgASAEKQMANwNYIAFB2ABqIAFBKGoQeiABQZABaiAPKAIAIA4oAgAQMCABQbgBaiAKIAEoApABIhAgASgCmAEgFxEEAAJAIAEoArgBIhFFDQAgASgCvAFFDQAgERCOAgsgASgClAEEQCAQEI4CCyARDQMgAUG4AWogCiAIIA8oAgAgDigCACACQRxqEDMgASgCuAEiD0EMRg0DIAFBqAFqIAFB1AFqKAIAIgI2AgAgAUGgAWogAUHMAWopAgAiKjcDACABQZgBaiABQcQBaikCACIrNwMAIAEgASkCvAEiLDcDkAEgAEEkaiACNgIAIABBHGogKjcCACAAQRRqICs3AgAgAEEMaiAsNwIAIABBCGogDzYCAAwCC0EBIQIgAEEBNgIAIABBCGpBDDYCAAwGCyABQagBaiAEQRhqKQMAIio3AwAgAUGgAWogBEEQaikDACIrNwMAIAFBmAFqIARBCGopAwAiLDcDACABIAQpAwAiLTcDkAEgAEEgaiAqNwMAIABBGGogKzcDACAAQRBqICw3AwAgAEEIaiAtNwMAC0EBIQIgAEEBNgIADAQLIAJBKGohAiAMQShrIgwNAAsLIAkoAgAiDEUNBgJAQegAQQgQdiICBEAgAUEANgKYASABQgE3A5ABIAFBuAFqIgQgAUGQAWpBhI3AABDXAiABIAQQsQENASABQeAAaiALKQIAIio3AgAgAUHoAGogC0EIaigCACIPNgIAIAFBiAFqIAFBmAFqIgooAgAiCDYCACABIAEpA5ABIis3A4ABIAcoAgQhBCABQcABaiAINgIAIAFB0AFqICo3AwAgAUHYAWogDzYCACABQeQBaiAJQQhqKAIANgIAIAEgKzcDuAEgAUEANgLEASABQcgBaiABKQJYNwMAIAEgCSkCADcC3AEgAUGQAWogAUG4AWoQgwEgASgCkAEEQCABQbABaikDACEqIAFBrAFqKAIAIQwgAUGoAWooAgAhDyABQaQBaigCACEIIAFBoAFqKAIAIQ4gAUGcAWooAgAhESAKKAIAIQogBARAIA0QjgILIABBIGogKjcDACAAQRxqIAw2AgAgAEEYaiAPNgIAIABBFGogCDYCACAAQRBqIA42AgAgAEEMaiARNgIAIABBCGogCjYCACAAQQE2AgAgAhCOAkEAIQIMBAsgAUGcAWooAgAhDyABKQKUASEqIAJBAzoAYCACQgA3A1AgAkEANgI0IAJCCDcCLCACIA82AiggAiAqNwMgIAIgEjYCHCACIAQ2AhggAiANNgIUIAJBADYCECACQQI2AgggAkIANwMAIAFBKGoQXSABQoGAgIAQNwIsIAEgAjYCKAwICwwTC0GcjcAAQTcgAUHoAWpB5JPAAEGgjsAAEMsCAAsgAUEwaiABQdABaikDACIqNwMAIAFBOGogAUHYAWopAwAiKzcDACABIAFByAFqKQMAIiw3AyggAUHAAWopAwAhLSAAQSBqICs3AgAgAEEYaiAqNwIAIABBEGogLDcCACAAQQhqIC03AwAMAgsgAUEoahBcIAEoAhxFDQMgASgCGBCOAgwDCyABQcQAaiABQdgBaikDACIqNwIAIAFBPGogAUHQAWopAwAiKzcCACABQTRqIAFByAFqKQMAIiw3AgAgASABQcABaikDACItNwIsIABBIGogKjcCACAAQRhqICs3AgAgAEEQaiAsNwIAIABBCGogLTcCAAtBASECIABBATYCAAwBC0EBIQIgAEEBNgIAIABBCGpBDTYCAAsgASgCBARAIAEoAgAQjgILIAEoAgwhBCABQRRqKAIAIgAEQCAAQQV0IQ8gBEEUaiEEA0AgBCgCAARAIARBBGsoAgAQjgILIARBIGohBCAPQSBrIg8NAAsgASgCDCEECyABQRBqKAIAIgBFIABBBXRFckUEQCAEEI4CCwJAIAIgCSgCACIAQQBHcUUNACAJQQRqKAIARQ0AIAAQjgILAkAgAkUNACALKAIAIQAgCygCCCICBEAgAkEobCEPIABBIGohBANAIARBDGsoAgAEQCAEQRBrKAIAEI4CCyAEKAIABEAgBEEEaygCABCOAgsgBEEoaiEEIA9BKGsiDw0ACwsgC0EEaigCACICRSACrUIofqdFckUEQCAAEI4CCyAHQQRqKAIARQ0AIAcoAgAQjgILIAVBFGooAgAEQCAFQRBqKAIAEI4CCyAFQSxqKAIARQ0BIAVBKGooAgAQjgIMAQsgACABKQMoNwIEIABBADYCACAAQSxqIAFB0ABqKQMANwIAIABBJGogAUHIAGopAwA3AgAgAEEcaiABQUBrKQMANwIAIABBFGogAUE4aikDADcCACAAQQxqIAFBMGopAwA3AgAgASgCHARAIAEoAhgQjgILIAEoAgQEQCABKAIAEI4CCyABKAIMIQQgAUEUaigCACIABEAgAEEFdCEPIARBFGohBANAIAQoAgAEQCAEQQRrKAIAEI4CCyAEQSBqIQQgD0EgayIPDQALIAEoAgwhBAsgAUEQaigCACIARSAAQQV0RXJFBEAgBBCOAgsCQCAMDQAgCxBYIAdBBGooAgBFDQAgDRCOAgsgBUEUaigCAARAIAVBEGooAgAQjgILIAVBLGooAgBFDQAgBUEoaigCABCOAgsgAUHwAWokAAwECyACQShqKQMAISogAkEgaikDACErIANBmAFqIgQgA0HoABDuAhogA0GQAWogAkEMaigCADYCACADIAIpAgQ3A4gBIANBiAJqIAJBGGooAgA2AgAgAyACQRBqKQIANwOAAiADQYACaiEFIwBBkAJrIgEkACAEQcwAaigCACEPIARByABqKAIAIQkgBEE8aigCACELIARBQGsoAgAhAiAEQcQAaigCACEMIAQoAjghByABQRBqIARB4ABqKQIANwMAIAFBCGogBEHYAGopAgA3AwAgASAEKQJQNwMAIAFByABqIARBMGopAwA3AwAgAUFAayAEQShqKQMANwMAIAFBOGogBEEgaikDADcDACABQTBqIARBGGopAwA3AwAgAUEoaiAEQRBqKQMANwMAIAFBIGogBEEIaikDADcDACABIAQpAwA3AxggAUHgAWogAiADQYgBaiIEKAIAIgogBEEIaigCACAMKAIMEQQAAkACQAJAAkACQAJAIAEoAuABRQRAIAFB2ABqIAFB7AFqIggoAgA2AgAgASABKQLkATcDUCABQaQBaiAPNgIAIAFBnAFqIAw2AgAgASAJNgKgASABIAI2ApgBIAEgCzYClAEgASAHNgKQASABQeABaiABQZABaiABQRhqIAFB0ABqIAEQciABLQDgAQ0BIAEtAOEBDQNBDSECDAILIAFB/ABqIAFBgAJqKQMAIio3AgAgAUH0AGogAUH4AWopAwAiKzcCACABQewAaiABQfABaikDACIsNwIAIAEgAUHoAWopAwAiLTcCZCAAQSBqICo3AgAgAEEYaiArNwIAIABBEGogLDcCACAAQQhqIC03AgAgAEEBNgIADAQLIAFB6ABqIAFB9AFqKQIANwMAIAFB8ABqIAFB/AFqKQIANwMAIAFB+ABqIAFBhAJqKAIANgIAIAEgCCkCADcDYCABQegBaigCACICQQ9GDQELIAFB0AFqIAFB+ABqKAIAIgs2AgAgAUHIAWogAUHwAGopAwAiKjcDACABQcABaiABQegAaikDACIrNwMAIAEgASkDYCIsNwO4ASAAQSRqIAs2AgAgAEEcaiAqNwIAIABBFGogKzcCACAAQQxqICw3AgAgAEEIaiACNgIAIABBATYCAAwBCyABQYABaiIMQgA3AwAgAUHwAGoiD0IANwMAIAFCBDcDeCABQoCAgIDAADcDaCABQgg3A2AgAUHgAWogByALIAFB0ABqQQAgBSgCACILIAVBCGooAgAgKyAqEHEgAUHoAWohAiABKQPgAVBFBEAgAUHQAWogAkEYaikDACIqNwMAIAFByAFqIAJBEGopAwAiKzcDACABQcABaiACQQhqKQMAIiw3AwAgASACKQMAIi03A7gBIABBIGogKjcDACAAQRhqICs3AwAgAEEQaiAsNwMAIABBCGogLTcDACAAQQE2AgAgAUHgAGoQXAwBCyABQdgBaiACQSBqKQMAIio3AwAgAUGYAWogAkEIaikDADcDACABQaABaiACQRBqKQMANwMAIAFBqAFqIAJBGGopAwA3AwAgAUGwAWogKjcDACABIAIpAwA3A5ABIAFBkAFqIAFB4ABqEHogAEEANgIAIABBLGogAUGIAWopAwA3AgAgAEEkaiAMKQMANwIAIABBHGogAUH4AGopAwA3AgAgAEEUaiAPKQMANwIAIABBDGogAUHoAGopAwA3AgAgACABKQNgNwIEIAEoAlQEQCABKAJQEI4CCyABQSxqKAIABEAgASgCKBCOAgsgAUHEAGooAgAEQCABKAJAEI4CCyABKAIEBEAgASgCABCOAgsgASgCDCECIAFBFGooAgAiAARAIABBBXQhACACQRRqIQIDQCACKAIABEAgAkEEaygCABCOAgsgAkEgaiECIABBIGsiAA0ACyABKAIMIQILIAFBEGooAgAiAEUgAEEFdEVyRQRAIAIQjgILIAVBBGooAgAEQCALEI4CCwwCCyABKAJURQ0AIAEoAlAQjgILIAFBLGooAgAEQCABKAIoEI4CCyABQcQAaigCAARAIAEoAkAQjgILIAEoAgQEQCABKAIAEI4CCyABKAIMIQIgAUEUaigCACIABEAgAEEFdCEAIAJBFGohAgNAIAIoAgAEQCACQQRrKAIAEI4CCyACQSBqIQIgAEEgayIADQALIAEoAgwhAgsgAUEQaigCACIARSAAQQV0RXJFBEAgAhCOAgsgBUEEaigCAARAIAUoAgAQjgILCyAEQQRqKAIABEAgChCOAgsgAUGQAmokAAwDCyADQZgBaiIEIANB6AAQ7gIaIANBkAFqIAJBDGooAgA2AgAgAyACKQIENwOIASADQYgCaiACQRhqKAIANgIAIAMgAkEQaikCADcDgAIgACEBIANBgAJqIQwjAEGQAmsiBSQAIARBzABqKAIAIQsgBEHIAGooAgAhByAEQTxqKAIAIQggBEFAaygCACEAIARBxABqKAIAIQIgBCgCOCENIAVBEGogBEHgAGopAgA3AwAgBUEIaiAEQdgAaikCADcDACAFIAQpAlA3AwAgBUHIAGogBEEwaikDADcDACAFQUBrIARBKGopAwA3AwAgBUE4aiAEQSBqKQMANwMAIAVBMGogBEEYaikDADcDACAFQShqIARBEGopAwA3AwAg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KAIAEI4CCyAFKAIMIQAgBUEUaigCACIBBEAgAUEFdCELIABBFGohAANAIAAoAgAEQCAAQQRrKAIAEI4CCyAAQSBqIQAgC0EgayILDQALIAUoAgwhAAsgBUEQaigCACIBRSABQQV0RXJFBEAgABCOAgsMAQsgDCgCACEBIAwoAggiAARAIABBKGwhCyABQSBqIQADQCAAQQxrKAIABEAgAEEQaygCABCOAgsgACgCAARAIABBBGsoAgAQjgILIABBKGohACALQShrIgsNAAsLIAxBBGooAgAiAEUgAK1CKH6nRXINACABEI4CCyAOQQRqKAIABEAgFxCOAgsgBUGQAmokAAwCCyACQRhqKQMAISogAkEQaikDACEsIANBmAFqIgQgA0HoABDuAhogA0GIAmogAkEMaigCADYCACADIAIpAgQ3A4ACIwBBsAJrIgEkACAEQcQAaigCACEFIARBQGsoAgAhCyAEQTxqKAIAIQwgBCgCOCEHIAFBIGogBEHgAGopAgA3AwAgAUEYaiAEQdgAaikCADcDACABIAQpAlA3AxAgAUHYAGogBEEwaikDADcDACABQdAAaiAEQShqKQMANwMAIAFByABqIARBIGopAwA3AwAgAUFAayAEQRhqKQMANwMAIAFBOGogBEEQaikDADcDACABQTBqIARBCGopAwA3AwAgASAEKQMANwMoIANBgAJqIQIgASAsQgNRBH4gAUICNwMAIAEpAwAhLCABKQMIBSAqCzcDaCABICw3A2ACQAJAAkAgAUHgAGogAUEoahCMAUUEQCABQcABaiALIAIoAgAiBCACQQhqKAIAIgsgBSgCDBEEACABKALAAUUNASABQZwBaiABQeABaikDACIqNwIAIAFBlAFqIAFB2AFqKQMAIis3AgAgAUGMAWogAUHQAWopAwAiLDcCACABIAFByAFqKQMAIi03AoQBIABBIGogKjcCACAAQRhqICs3AgAgAEEQaiAsNwIAIABBCGogLTcCACAAQQE2AgAMAgsgAEEBNgIAIABBCGpBDjYCAAwBC0EMIRAgAUH4AGogAUHMAWooAgA2AgAgASABKQLEATcDcCABQfABaiABQRBqIAFB8ABqEDEgASgC+AEhDyABKALwASEFIAFBkAJqIgkQ5QEgAUGgAmogAUHgAGogCRBwAkAgASgCoAIEQCABQYgCaiIMIAFBrAJqKAIANgIAIAEgASkCpAI3A4ACIAEoApQCBEAgASgCkAIQjgILIAFBqAJqIAwoAgA2AgAgASABKQOAAjcDoAIgAUHIAWoiDEGpj8AAQSAgAUGgAmoQLiABQYgBaiABQdgBaikDADcDACABQZABaiABQeABaikDADcDACABIAFB0AFqKQMANwOAASAMKAIAIRAgAUHMAWooAgAhBwwBCyABIAEpA5ACIio3AsQBIAFByAFqKAIAIAcgBSAPICqnIg8gAUGYAmooAgAgDCgCFBEIAARAIA8QjgILCyABKAL0AQRAIAUQjgILIBBBDEYEQCABQeABaiIFQgA3AwAgAUHYAWoiDEIENwMAIAFB0AFqIgdCADcDACABQcgBaiIPQoCAgIDAADcDACABQgg3A8ABIAFBjAFqIAs2AgAgAUEBOgCQASABIAQ2AogBIAEgASgCGDYChAEgASABKAIQNgKAASABQYABaiABQcABahB7IABBLGogAUHoAWopAwA3AgAgAEEkaiAFKQMANwIAIABBHGogDCkDADcCACAAQRRqIAcpAwA3AgAgAEEMaiAPKQMANwIAIAAgASkDwAE3AgQgAEEANgIAIAEoAnQEQCABKAJwEI4CCyABQTxqKAIABEAgASgCOBCOAgsgAUHUAGooAgAEQCABKAJQEI4CCyABKAIUBEAgASgCEBCOAgsgASgCHCEQIAFBJGooAgAiAARAIABBBXQhACAQQRRqIRADQCAQKAIABEAgEEEEaygCABCOAgsgEEEgaiEQIABBIGsiAA0ACyABKAIcIRALIAFBIGooAgAiAEUgAEEFdEVyRQRAIBAQjgILIAJBBGooAgBFDQIgBBCOAgwCCyABQbgBaiABQZABaikDACIqNwMAIAFBsAFqIAFBiAFqKQMAIis3AwAgASABKQOAASIsNwOoASAAQSBqICo3AgAgAEEYaiArNwIAIABBEGogLDcCACAAQQxqIAc2AgAgAEEIaiAQNgIAIABBATYCACABKAJ0RQ0AIAEoAnAQjgILIAFBPGooAgAEQCABKAI4EI4CCyABQdQAaigCAARAIAEoAlAQjgILIAEoAhQEQCABKAIQEI4CCyABKAIcIRAgAUEkaigCACIABEAgAEEFdCEAIBBBFGohEANAIBAoAgAEQCAQQQRrKAIAEI4CCyAQQSBqIRAgAEEgayIADQALIAEoAhwhEAsgAUEgaigCACIARSAAQQV0RXJFBEAgEBCOAgsgAkEEaigCAEUNACACKAIAEI4CCyABQbACaiQADAELIANBmAFqIgUgA0HoABDuAhogA0GIAmogAkEMaigCADYCACADIAIpAgQ3A4ACIwBBgAFrIgEkACAFQTxqKAIAIQQgBUFAaygCACECIAVBxABqKAIAIQwgBSgCOCEHIAFBEGogBUHgAGopAgA3AwAgAUEIaiAFQdgAaikCADcDACABIAUpAlA3AwAgAUHQAGogAiADQYACaiICKAIAIgsgAkEIaigCACIPIAwoAgwRBAACQCABKAJQRQRAIAFBIGogAUHcAGooAgA2AgAgASABKQJUNwMYIAFB0ABqIAEgAUEYahAxIAcgASgCUCIMIAEoAlggBCgCGBECACABKAJUBEAgDBCOAgsgAUHwAGoiBEIANwMAIAFB6ABqIgxCBDcDACABQeAAaiIHQgA3AwAgAUHYAGoiCUKAgICAwAA3AwAgAUIINwNQIAFBNGogDzYCACABQQA6ADggASALNgIwIAEgASgCCDYCLCABIAEoAgA2AiggAUEoaiABQdAAahB7IABBLGogAUH4AGopAwA3AgAgAEEkaiAEKQMANwIAIABBHGogDCkDADcCACAAQRRqIAcpAwA3AgAgAEEMaiAJKQMANwIAIAAgASkDUDcCBCAAQQA2AgAgASgCHARAIAEoAhgQjgILIAEoAgQEQCABKAIAEI4CCyABKAIMIQQgAUEUaigCACIABEAgAEEFdCEAIARBFGohBANAIAQoAgAEQCAEQQRrKAIAEI4CCyAEQSBqIQQgAEEgayIADQALIAEoAgwhBAsgAUEQaigCACIARSAAQQV0RXJFBEAgBBCOAgsgAkEEaigCAARAIAsQjgILIAVBFGooAgAEQCAFQRBqKAIAEI4CCyAFQSxqKAIARQ0BIAVBKGooAgAQjgIMAQsgAUHEAGogAUHwAGopAwAiKjcCACABQTxqIAFB6ABqKQMAIis3AgAgAUE0aiABQeAAaikDACIsNwIAIAEgAUHYAGopAwAiLTcCLCAAQSBqICo3AgAgAEEYaiArNwIAIABBEGogLDcCACAAQQhqIC03AgAgAEEBNgIAIAEoAgQEQCABKAIAEI4CCyABKAIMIQwgAUEUaigC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IAVBDWpB1o/AACkAADcAACAFQQhqQdGPwAApAAA3AAAgBUHJj8AAKQAANwAAIAFByABqQpWAgIDQAjcDACABQcQAaiAFNgIAIAFBQGtBBjYCACABQQE2AjgMAQsgAUE4aiAFIAFB+ABqKAIAECogASgCdEUNACAFEI4CCyABKAJkBEAgBxCOAgsCQAJAIAEoAjhFBEAgAUEIaiABQcQAaigCACIFNgIAIAEgASkCPCIcNwMAIANBDGogBTYCACADIBw3AgQgA0EANgIAIAlBBGooAgANAQwCCyABQSxqIAFB2ABqKQMAIhw3AgAgAUEkaiABQdAAaikDACIdNwIAIAFBHGogAUHIAGopAwAiHjcCACABIAFBQGspAwAiHzcCFCADQSBqIBw3AgAgA0EYaiAdNwIAIANBEGogHjcCACADQQhqIB83AgAgA0EBNgIAIAlBBGooAgBFDQELIAoQjgILIAFBgAFqJAAMAQtBFUEBELACAAsgBCgCcEUNCiAEQeQAaiAEQZABaikDACIcNwIAIARB3ABqIARBiAFqKQMAIh03AgAgBEHUAGogBEGAAWopAwAiHjcCACAEIARB+ABqKQMAIh83AkwgDEEgaiAcNwIAIAxBGGogHTcCACAMQRBqIB43AgAgDEEIaiAfNwIADAULIARBQGsgA0EQaikCADcDACAEQThqIANBCGopAgA3AwAgBCADKQIANwMwIARBoAFqIA1BMGopAwA3AwAgBEGYAWogDUEoaikDADcDACAEQZABaiANQSBqKQMANwMAIARBiAFqIA1BGGopAwA3AwAgBEGAAWogDUEQaikDADcDACAEQfgAaiANQQhqKQMANwMAIAQgDSkDADcDcCAEQdABaiABQQxqKAIANgIAIAQgAUEEaikCADcDyAEgBEGwAWogAUEYaigCADYCACAEIAFBEGopAgA3A6gBIARByABqIQMgBEHwAGohBSAEQagBaiEJIwBBkAFrIgEkACABQdAAaiAEQTBqIgcoAggiCiAEQcgBaiINKAIAIg4gDUEIaigCACAHQQxqKAIAKAIMIggRBAACQAJAAkACQAJAIAEoAlBFBEAgAUEQaiABQdwAaigCADYCACABIAEpAlQ3AwggAUHQAGogCiAJKAIAIgogCUEIaigCACAIEQQAIAEoAlANASABQSBqIAFB3ABqKAIANgIAIAEgASkCVDcDGCABQYgBaiAHQRBqKQIANwMAIAFBgAFqIAdBCGopAgA3AwAgASAHKQIANwN4IAFB0ABqIAFB+ABqIAUgAUEIaiABQRhqEHIgAS0AUA0CIAEtAFEhByADQQA6AAAgAyAHOgABIAEoAhwEQCABKAIYEI4CCyABKAIMBEAgASgCCBCOAgsgCUEEaigCAARAIAoQjgILIA1BBGooAgAEQCAOEI4CCyAFQRRqKAIABEAgBUEQaigCABCOAgsgBUEsaigCAEUNBSAFQShqKAIAEI4CDAULIAFBxABqIAFB8ABqKQMAIhw3AgAgAUE8aiABQegAaikDACIdNwIAIAFBNGogAUHgAGopAwAiHjcCACABIAFB2ABqKQMAIh83AiwgA0EgaiAcNwIAIANBGGogHTcCACADQRBqIB43AgAgA0EIaiAfNwIAIANBAToAACAJKAIAIQoMAwsgAUHEAGogAUHwAGopAwAiHDcCACABQTxqIAFB6ABqKQMAIh03AgAgAUE0aiABQeAAaikDACIeNwIAIAEgAUHYAGopAwAiHzcCLCADQSBqIBw3AgAgA0EYaiAdNwIAIANBEGogHjcCACADQQhqIB83AgAgA0EBOgAADAELIAFBxgBqIAFB8ABqKQMAIhw3AQAgAUE+aiABQegAaikDACIdNwEAIAFBNmogAUHgAGopAwAiHjcBACABIAFB2ABqKQMAIh83AS4gA0EgaiAcNwEAIANBGGogHTcBACADQRBqIB43AQAgA0EIaiAfNwEAIANBAToAACABKAIcRQ0AIAEoAhgQjgILIAEoAgxFDQAgASgCCBCOAgsgCUEEaigCAARAIAoQjgILIA1BBGooAgAEQCAOEI4CCyAFQRRqKAIABEAgBUEQaigCABCOAgsgBUEsaigCAEUNACAFQShqKAIAEI4CCyABQZABaiQAIAQtAEhFDQggBEEmaiAEQegAaikDACIcNwEAIARBHmogBEHgAGopAwAiHTcBACAEQRZqIARB2ABqKQMAIh43AQAgBCAEQdAAaikDACIfNwEOIAxBIGogHDcBACAMQRhqIB03AQAgDEEQaiAeNwEAIAxBCGogHzcBACAMQQE2AgAMDAsgAUEgaigCACERIAFBHGooAgAhAiABLQABIQkgBEEYaiADQRBqKQIANwMAIARBEGogA0EIaikCADcDACAEIAMpAgA3AwggBEGgAWogDUEwaikDADcDACAEQZgBaiANQShqKQMANwMAIARBkAFqIA1BIGopAwA3AwAgBEGIAWogDUEYaikDADcDACAEQYABaiANQRBqKQMANwMAIARB+ABqIA1BCGopAwA3AwAgBCANKQMANwNwIARB0AFqIAFBDGooAgA2AgAgBCABQQRqKQIANwPIASAEQbABaiABQRhqKAIANgIAIAQgAUEQaikCADcDqAEgBEHIAGohBSAEQfAAaiENIARBqAFqIQEjAEGgAmsiAyQAIAMgCSAJQQJHcToADyADQdgAaiAEQQhqIgcoAggiCCAEQcgBaiIOKAIAIgogDkEIaigCACAHQQxqKAIAIgsoAgwRBAACQAJAAkACQAJ/AkACQAJAAkAgAygCWEUEQCADQRhqIANB5ABqKAIANgIAIAMgAykCXDcDECADQbgBaiABQQhqKAIANgIAIAMgASkCADcDsAEjAEEwayIBJAAgA0HYAGoiCQJ/AkACQAJAIANBsAFqIhQoAgAiCkUNACABQQhqIAggCiAUKQIEIhxCIIinIAsoAgwRBAAgHKcEQCAKEI4CCyABKAIIDgMBAgACCyAJQQA2AgRBAAwCCyAJIAEpAgw3AgQgCUEMaiABQRRqKAIANgIAQQAMAQsgCUEgaiABQShqKQMANwMAIAlBGGogAUEgaikDADcDACAJQRBqIAFBGGopAwA3AwAgCUEIaiABQRBqKQMANwMAQQELNgIAIAFBMGokACADKAJYDQMgA0EoaiADQeQAaigCADYCACADIAMpAlwiHDcDICADIANBEGo2AvgBIANB2ABqIANB+AFqEJoBIAMoAmAhASADKAJYIQkgA0EINgI0IANB2JjAADYCMCADQbABaiADQTBqIAkgAUGAgMAAQQAQlAEgA0HEAWpBADYCACADQQY2AswBIANBBzYCyAEgA0IBNwK8ASAcpyEBIAMoAlwiCkUgCq1CFH6nRXJFBEAgCRCOAgsgBygCBCEKIAcoAgAhCCADKAKwASELIAMoArgBIRQgAQ0BIANBAjYC+AEMAgsgA0HMAGogA0H4AGopAwAiHDcCACADQcQAaiADQfAAaikDACIdNwIAIANBPGogA0HoAGopAwAiHjcCACADIANB4ABqKQMAIh83AjQgBUEgaiAcNwIAIAVBGGogHTcCACAFQRBqIB43AgAgBUEIaiAfNwIAIAVBATYCACABKAIAIgVFDQcgAUEEaigCAEUNByAFEI4CDAcLIAMgA0EgakEAIAEbNgJcIANBAUEEIAEbNgJYIANBMGohAQJAAkACQAJAAkACQAJAAkAgA0HYAGoiBygCAEEBaw4DAQIDAAsgAUEEaiAHQQRqEDUgAUEANgIADAYLIAFBBGogB0EEahA1IAFBATYCAAwFCyAHQQRqKAIAIRUCQCAHQQxqKAIAIgdFBEBBASEJDAELIAdBAEgNAiAHQQEQdiIJRQ0DCyAJIBUgBxDuAiEJIAFBDGogBzYCACABQQhqIAc2AgAgASAJNgIEIAFBADYCAAwECyAHQQRqKAIAIRVBASEJIAdBDGooAgAiBwRAIAdBAEgNASAHQQEQdiIJRQ0DCyAJIBUgBxDuAiEJIAFBDGogBzYCACABQQhqIAc2AgAgASAJNgIEIAFBATYCAAwDCxCxAgALIAdBARCwAgALIAdBARCwAgALAkACQAJAIAMoAlgOAwICAQALIAMoAmBFDQEgAygCXBCOAgwBCyADKAJgRQ0AIAMoAlwQjgILIANBgAJqIANBOGopAwA3AwAgAyADKQMwNwP4AQsgA0ECNgJYIAMgCCAKIAsgFCADQfgBaiADQdgAahCZASADKAIEIQcgAygCACELQSBBBBB2IgkEQEEAIQEgCUEANgIcIAlCATcCFCAJIAo2AhAgCSAINgIMIAlBBzYCCCAJIAs2AgAgCSAHNgIEIANBDDYCMCADQdwBaiANNgIAIAMgEUEKIAIbIgdBHiAHQR5JGzYC4AEgA0G0hsAANgLUASADIAk2AtABIAMgA0EwajYC5AEgAyADQQ9qNgLYASADQdgAaiADQdABahAeIAMpA1hCA1EEQCADKALQASIKIAMoAtQBIgkoAgARBQBBCCEHIAkoAgQEQCAJKAIIGiAKEI4CC0EADAQLAkAgAygC5AEoAgBBDEcNACADKALgAUUNACADQfgBaiADKALQASADKALUASgCEBEAAAtBgAFBCBB2IgcEQCAHIAMpA1g3AwAgB0EYaiADQfAAaiILKQMANwMAIAdBEGogA0HoAGoiFCkDADcDACAHQQhqIANB4ABqKQMANwMAIANChICAgBA3AuwBIAMgBzYC6AEgA0GIAmogA0HgAWopAwA3AwAgA0GAAmogA0HYAWopAwA3AwAgAyADKQPQATcD+AEgA0HYAGogA0H4AWoQHiADKQNYQgNRBEBBASEBDAQLQQQhCUECIQFBICEKA0AgCSABQQFrRgRAAkAgAygCjAIoAgBBDEcNACADKAKIAkUNACADQZACaiADKAL4ASADKAL8ASgCEBEAAAsgA0HoAWohCCMAQSBrIgckAAJAAkAgCSAJQQFqIhFLDQAgCEEEaigCACICQQF0IgkgESAJIBFLGyIJQQQgCUEESxsiCUH///8/cSAJRkEDdCERIAlBBXQhFSAHIAIEfyAHIAJBBXQ2AhQgByAIKAIANgIQQQgFQQALNgIYIAcgFSARIAdBEGoQaiAHKAIABEAgB0EIaigCACIARQ0BIAcoAgQgABCwAgALIAcoAgQhESAIQQRqIAk2AgAgCCARNgIAIAdBIGokAAwBCxCxAgALIAMoAugBIQcLIAcgCmoiCSADKQNYNwMAIAlBGGogCykDADcDACAJQRBqIBQpAwA3AwAgCUEIaiADQeAAaikDADcDACADIAE2AvABIANB2ABqIANB+AFqEB4gAykDWEIDUQ0EIApBIGohCiABQQFqIQEgAygC7AEhCQwACwALQYABQQgQsAIACwwTCyADQcwAaiADQfgAaikDACIcNwIAIANBxABqIANB8ABqKQMAIh03AgAgA0E8aiADQegAaikDACIeNwIAIAMgA0HgAGopAwAiHzcCNCAFQSBqIBw3AgAgBUEYaiAdNwIAIAVBEGogHjcCACAFQQhqIB83AgAgBUEBNgIADAILIAMoAvgBIgogAygC/AEiCSgCABEFACAJKAIEBEAgCSgCCBogChCOAgsgAygC7AELIQogAygCMCIIQQxGDQEgA0GgAWogA0FAaykDADcDACADQagBaiADQcgAaikDADcDACADIANBOGopAwA3A5gBIAMoAjQhESABBEAgAUEFdCEJIAdBFGohAQNAIAEoAgAEQCABQQRrKAIAEI4CCyABQSBqIQEgCUEgayIJDQALCyAKRSAKQQV0RXJFBEAgBxCOAgsgA0GIAWogA0GgAWopAwAiHDcDACADQZABaiADQagBaikDACIdNwMAIAMgAykDmAEiHjcDgAEgBUEgaiAdNwIAIAVBGGogHDcCACAFQRBqIB43AgAgBUEMaiAR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IAFBHGogAUHIAGopAwAiHjcCACABIAFBQGspAwAiHzcCFCADQSBqIBw3AgAgA0EYaiAdNwIAIANBEGogHjcCACADIB83AgggA0IBNwMAIAUoAgAhBwwBCyABQdgAaikDACEfIANBGGogHDcDACADQRBqIB03AwAgA0EgaiAfNwMAIAMgHjcDCCADQgE3AwAgASgCBEUNACABKAIAEI4CCyAFQQRqKAIABEAgBxCOAgsgCkEEaigCAEUNAQsgDhCOAgsgAUHwAGokACAEQYABaikDACEcIAQpA3ghHSAEKQNwUA0CIARBOGogBEGQAWopAwAiHjcDACAEIARBiAFqKQMAIh83AzAgDEEQaiAcNwMAIAxBCGogHTcDACAMQSBqIB43AwAgDEEYaiAfNwMADAELIARB5ABqIARBkAFqKQMAIhw3AgAgBEHcAGogBEGIAWopAwAiHTcCACAEQdQAaiAEQYABaikDACIeNwIAIAQgBEH4AGopAwAiHzcCTCAMQSBqIBw3AgAgDEEYaiAdNwIAIAxBEGogHjcCACAMQQhqIB83AgALIAxBATYCACANQRRqKAIABEAgDUEQaigCABCOAgsgDUEsaigCAEUNByANQShqKAIAEI4CDAcLIAQgHTcDqAEgBCAcNwOwASAEQcgBaiIBEOUBIARByABqIAEQ6wECQCAEKAJIRQRAIAQgBCgCTDYC2AEgBCAEQdAAai0AADoA3AEgBEHIAGogBEHYAWpBgIvAAEEHIARBqAFqEBMgBCgCSARAIARBFGogBEHUAGooAgA2AgAgBCAEKQJMNwIMDAILIARBCGogBCgC2AEgBC0A3AEQ/QEgBCgCCA0BIARB/ABqIARB0AFqKAIAIgE2AgAgBCAEKQPIASIcNwJ0IAxBDGogATYCACAMIBw3AgQgDEEANgIADAcLIARBFGogBEHIAGpBBHIiAUEIaigCADYCACAEIAEpAgA3AgwLIARBwAFqIgEgBEEUaigCADYCACAEIAQpAgw3A7gBIAQoAswBBEAgBCgCyAEQjgILIARB0ABqIAEoAgA2AgAgBCAEKQO4ATcDSCAEQfgAaiIBQdmSwABBHiAEQcgAahAuIAxBIGogBEGQAWopAwA3AwAgDEEYaiAEQYgBaikDADcDACAMQRBqIARBgAFqKQMANwMAIAxBCGogASkDADcDACAM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IABBBGooAgAgAEEIaiIEKAIAIgNrSwRAIAAgAyACEIcBIAQoAgAhAwsgACgCACADaiABIAIQ7gIaIAQgAiADajYCAEEAC9kIAgd/An4jAEEgayIGJAACQAJAAkACQAJAAkACQAJAAkBBBkEBEHYiAgRAIAJBBGpBgJvAAC8AADsAACACQfyawAAoAAA2AABBCEEBEHYiBEUNASABQQxqIQcgBEL05IXzts7ZsvIANwAAIAFBFGooAgAiAyABQRBqKAIARgRAIAcgAxCFASABKAIUIQMLIAEoAgwgA0EYbGoiAyAENgIMIANChoCAgOAANwIEIAMgAjYCACADQRBqQoiAgICAATcCAEEBIQQgASABKAIUQQFqIgM2AhQgAEEkaigCACECIAAoAiAhCEEIQQEQdiIFRQ0CIAVC9N6tq+bt17TkADcAACACBEAgAkEASA0IIAJBARB2IgRFDQQLIAQgCCACEO4CIQQgAUEQaigCACADRgRAIAcgAxCFASABKAIUIQMLIAEoAgwgA0EYbGoiAyAENgIMIANCiICAgIABNwIEIAMgBTYCACADQRRqIAI2AgAgA0EQaiACNgIAIAEgASgCFEEBajYCFCAAQQhqKQMAIQkgACkDACEKQQZBARB2IgNFDQQgA0EEakGGm8AALwAAOwAAIANBgpvAACgAADYAACMAQUBqIgIkACAGQRRqIgRBADYCCCAEQgE3AgAgAiAJNwMIIAIgCjcDACACQRBqIgUgBEGIxsAAENcCIAIgBRDQAgRAQaDGwABBNyACQThqQczHwABBpMfAABDLAgALIAJBQGskACAGQoaAgIDgADcCDCAGIAM2AgggASgCFCICIAFBEGooAgBGBEAgByACEIUBIAEoAhQhAgsgASgCDCACQRhsaiICIAYpAwg3AgAgAkEQaiAGQRhqKQMANwIAIAJBCGogBkEQaikDADcCAEEBIQQgASABKAIUQQFqIgI2AhQgACgCECIFBEAgAEEUaigCACIDBEAgA0EASA0JIANBARB2IgRFDQcLIAQgBSADEO4CIQVBBEEBEHYiBEUNByAEQebkvesGNgAAIAFBEGooAgAgAkYEQCAHIAIQhQEgASgCFCECCyABKAIMIAJBGGxqIgIgBTYCDCACQoSAgIDAADcCBCACIAQ2AgAgAkEUaiADNgIAIAJBEGogAzYC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9AA7AAAgAyAEQQJqNgIIIAVBEGogAhDaASAFIAMgBSgCECIBIAUoAhgQ5wEgBSgCFARAIAEQjgILIAAgBSgCAAR/IAAgBSkCBDcCBCAAQQxqIAVBDGooAgA2AgBBAQVBAAs2AgAgBUEgaiQAC+sCAQN/IwBBEGsiBSQAIAEoAgAiAygCCCEEIAEtAARFBEAgA0EEaigCACAERgR/IAMgBBCGASADKAIIBSAECyADKAIAakEsOgAAIAMgAygCCEEBaiIENgIICyABQQA6AAQgA0EEaiIBKAIAIARGBH8gAyAEEIYBIAMoAggFIAQLIAMoAgBqQSI6AAAgAyADKAIIQQFqIgQ2AgggASgCACAEa0EESQRAIAMgBEEEEIcBIAMoAgghBAsgAygCACAEakGUncAAQQQQ7gIaIAMgBEEEaiIENgIIIANBBGooAgAgBGtBAU0EQCADIARBAhCHASADKAIIIQQLIAMoAgAgBGpBovQAOwAAIAMgBEECajYCCAJAIAIoAgAiAUUEQCAFIAMQ6AEMAQsgBSADIAEgAkEIaigCABDnAQsgACAFKAIABH8gACAFKQIENwIEIABBDGogBUEMaigCADYCAEEBBUEACzYCACAFQRBqJAALngIBAn8CfyAAKAIARQRAIABBHGooAgAEQCAAQRhqKAIAEI4CCwJAIABBJGooAgAiAUUNACAAQShqKAIARQ0AIAEQjgILIABBNGooAgAEQCAAQTBqKAIAEI4CCyAAQTxqDAELIABBCGooAgAEQCAAKAIEEI4CCwJAIABBEGooAgAiAUUNACAAQRRqKAIARQ0AIAEQjgILIABBJGooAgAiAQRAIAFBKGwhAiAAQRxqKAIAQSBqIQEDQCABQQxrKAIABEAgAUEQaygCABCOAgsgASgCAARAIAFBBGsoAgAQjgILIAFBKGohASACQShrIgINAAsLIABBIGooAgAEQCAAKAIcEI4CCyAAQShqCyIAQQRqKAIABEAgACgCABCOAgsLqAEBAX8jAEHQAGsiAiQAIAJByABqIAFBOGopAwA3AwAgAkFAayABQTBqKQMANwMAIAJBOGogAUEoaikDADcDACACQTBqIAFBIGopAwA3AwAgAkEoaiABQRhqKQMANwMAIAJBIGogAUEQaikDADcDACACQRhqIAFBCGopAwA3AwAgAkEANgIIIAIgASkDADcDECAAIAJBCGoiABB8IAAQgQEgAkHQAGokAAuHAQEBfyMAQdAAayICJAAgAkE0aiABQShqKQIANwIAIAJBLGogAUEgaikCADcCACACQSRqIAFBGGopAgA3AgAgAkEcaiABQRBqKQIANwIAIAJBFGogAUEIaikCADcCACACQQE2AgggAiABKQIANwIMIAAgAkEIaiIAEHwgABCBASACQdAAaiQAC6UBAQJ/AkACQAJAAkACQAJAAkACfyACBEBBASIEIAFBAEgNARogAygCCEUNAyADKAIEIgUNAiABDQQMBgsgACABNgIEQQELIQRBACEBDAYLIAMoAgAgBSACIAEQdyIDRQ0CDAQLIAFFDQILIAEgAhB2IgMNAgsgACABNgIEIAIhAQwCCyACIQMLIAAgAzYCBEEAIQQLIAAgBDYCACAAQQhqIAE2AgAL1gECBX8BfiMAQSBrIgIkAAJAIAEgAUEBaiIBSw0AQQQhAyAAQQRqKAIAIgVBAXQiBCABIAEgBEkbIgFBBCABQQRLGyIBrUIYfiIHQiCIUEECdCEEIAenIQYCQCAFRQRAQQAhAwwBCyACIAAoAgA2AhAgAiAFrUIYfj4CFAsgAiADNgIYIAIgBiAEIAJBEGoQhAEgAigCAARAIAJBCGooAgAiAEUNASACKAIEIAAQsAIACyACKAIEIQMgAEEEaiABNgIAIAAgAzYCACACQSBqJAAPCxCxAgALsQEBA38jAEEgayICJAACQCABIAFBAWoiAUsNACAAQQRqKAIAIgNBAXQiBCABIAEgBEkbIgFBCCABQQhLGyEBIAIgAwR/IAIgAzYCFCACIAAoAgA2AhBBAQVBAAs2AhggAiABQQEgAkEQahCEASACKAIABEAgAkEIaigCACIARQ0BIAIoAgQgABCwAgALIAIoAgQhAyAAQQRqIAE2AgAgACADNgIAIAJBIGokAA8LELECAAuxAQECfyMAQSBrIgMkAAJAIAEgASACaiIBSw0AIABBBGooAgAiAkEBdCIEIAEgASAESRsiAUEIIAFBCEsbIQEgAyACBH8gAyACNgIUIAMgACgCADYCEEEBBUEACzYCGCADIAFBASADQRBqEIQBIAMoAgAEQCADQQhqKAIAIgBFDQEgAygCBCAAELACAAsgAygCBCECIABBBGogATYCACAAIAI2AgAgA0Eg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IgFFBEBBASEEDAELIAFBAEgNAyABQQEQdiIERQ0ECyAEIAMgBWogARDuAiEDIAJBIGoiBCACQTxqKAIANgIAIAIgAikCNDcDGARAIAUQjgILIAAgATYCBCAAIAM2AgAgAEEIaiABNgIAIABBDGogAikDGDcCACAAQRRqIAQoAgA2AgALIAJBQGskAA8LIAMgARC5AgALELECAAsgAUEBELACAAtCAQF/IAAoAgAgACgCBCgCABEFACAAKAIEIgEoAgQEQCABKAIIGiAAKAIAEI4CCyAAQQxqKAIABEAgACgCCBCOAgsLkwIBCn8jAEEgayIDJAACQAJAAkACf0EAIAJFDQAaIAFBEGooAgAhBSABKAIAIQggASgCBCgCDCEJQQAhAQNAIAEhBiADQQhqIAggCREAAEEBIAMoAggiB0UNARogAygCECIBIAVJDQIgAygCDCADKAIYIQsgAygCFCEMAkAgASAFayIBRQRAQQEhBAwBCyABQQBIDQQgAUEBEHYiBEUNBQsgBCAFIAdqIAEQ7gIhBARAIAcQjgILQQEgBEUNARogAQRAIAQQjgILIAZBAWohASALBEAgDBCOAgsgASACRw0AC0EACyEBIAAgBjYCBCAAIAE2AgAgA0EgaiQADwsgBSABELkCAAsQsQIACyABQQEQsAIAC9ECAQR/IwBB0ABrIgMkACADQQhqIAEgAhCXAQJAAkACQAJAIAMoAghFBEAgA0EQaiABKAIAIAEoAgQoAgwRAAAgAygCECIFRQRAIABBADYCAAwCCyABQRBqKAIAIQIgA0HIAGogA0EgaikDADcDACADQUBrIANBGGoiASkDADcDACADIAMpAxA3AzggASgCACIBIAJJDQIgAygCFAJAIAEgAmsiAUUEQEEBIQQMAQsgAUEASA0EIAFBARB2IgRFDQULIAQgAiAFaiABEO4CIQIgA0EwaiIEIANBzABqKAIANgIAIAMgAykCRDcDKARAIAUQjgILIAAgATYCBCAAIAI2AgAgAEEIaiABNgIAIABBDGogAykDKDcCACAAQRRqIAQoAgA2AgAMAQsgAEEANgIACyADQdAAaiQADwsgAiABELkCAAsQsQIACyABQQEQsAIAC94KAQZ/IwBBQGoiByQAAkACQAJAAkACQAJAAkACQAJAIAUoAgAOAwECAAILAkAgBEUEQEEB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ayICJAAgACgCACEAIAJBHGpBATYCACACQgI3AgwgAkGUqcAANgIIIAJByAA2AiQgAiAANgIsIAIgAkEgajYCGCACIAJBLGo2AiAgASACQQhqENsCIAJBMGokAAtfAQF/IwBBMGsiAiQAIAIgACgCADYCDCACQSRqQQE2AgAgAkIBNwIUIAJBjKLAADYCECACQckANgIsIAIgAkEoajYCICACIAJBDGo2AiggASACQRBqENsCIAJBMGokAAueAQEBfyMAQUBqIgIkACAAKAIAIQAgAkEUakEDNgIAIAJBLGpByAA2AgAgAkEkakHIADYCACACIABBGGo2AjQgAiAANgI4IAJCAzcCBCACQYCowAA2AgAgAkHKADYCHCACIABBDGo2AjwgAiACQRhqNgIQIAIgAkE8ajYCKCACIAJBOGo2AiAgAiACQTRqNgIYIAEgAhDbAiACQUBrJAALQwAgAEEJNgIAIAAgASkCADcCBCAAQRxqIAFBGGooAgA2AgAgAEEUaiABQRBqKQIANwIAIABBDGogAUEIaikCADcCAAvnAQECfyMAQfAAayIGJAAgBiAFNwMYIAYgBDcDECAGIAM3AwggBiACNwMAIAZBADYCKCAGQgE3AyAgBkFAayIHIAZBIGpB0KDAABDXAiAGIAcQ0AJFBEACQCAGQQA2AjggBkIBNwMwIAZBQGsiByAGQTBqQdCgwAAQ1wIgBkEQaiAHENACDQAgACABOgAYIAAgBikDIDcCACAAIAYpAzA3AgwgAEEIaiAGQShqKAIANgIAIABBFGogBkE4aigCADYCACAGQfAAaiQADwsLQeigwABBNyAGQegAakH8ocAAQeyhwAAQywIAC4sIAQF/IwBBMGsiAiQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4LAQIDBAUGBwgJCgsACyACQSxqQQE2AgAgAkIBNwIcIAJBnKXAADYCGCACQcsANgIEIAIgAEEEajYCFCACIAI2AiggAiACQRRqNgIAIAEgAkEYahDbAgwLCyACQSxqQQE2AgAgAkIBNwIcIAJBgKXAADYCGCACQcwANgIEIAIgAEEEajYCFCACIAI2AiggAiACQRRqNgIAIAEgAkEYahDbAgwKCyACQSxqQQE2AgAgAkIBNwIcIAJB4KTAADYCGCACQcgANgIEIAIg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AkLAADcCBCACIAM2AgAgBCACEAciAw0BIAIoAgAiA0UNByACKQIEIQUgAhCOAiAAQQhqIAU3AgAgACADNgIEIABBADYCACAEEI4CDAILQSRBARB2IgJFDQUgAEEBNgIAIABBDGogAjYCACACQbi7wAApAAA3AAAgAkEIakHAu8AAKQAANwAAIAJBEGpByLvAACkAADcAACACQRhqQdC7wAApAAA3AAAgAkEgakHYu8AAKAAANgAAIABBEGpCpICAgMAENwIAIABBCGpBAjYCAAwBCyADKAIAIgJFDQUgASACNgIAIAEgAykCBDcCBCADEI4CIAFB3gA2AhQgASABNgIQIAFBLGpBATYCACABQgE3AhwgAUH4u8AANgIYIAEgAUEQajYCKCAAQQxqIAFBGGoQsgIgAEEBNgIAIABBCGpBAjYCACABKAIEBEAgASgCABCOAgsgBBCOAgsgAUEwaiQADwtBDEEEELACAAtBwABBARCwAgALQQxBBBCwAgALQSRBARCwAgALIAFBLGpBADYCACABQczHwAA2AiggAUIBNwIcIAFBrMrAADYCGCABQRhqQbTKwAAQtwIAC48DAgJ/AX4jAEEwayIBJAAgAkEIaigCACEDIAIoAgAhBAJAAkACQEEMQQQQdiICBEAgAiADNgIIIAIgAzYCBCACIAQ2AgBB2gBBARB2IgRFDQFBDEEEEHYiA0UNAiADQtoANwIEIAMgBDYCAAJAIAIgAxAIIgRFBEAgAygCACIERQ0FIAMpAgQhBSADEI4CIABBCGogBTcCACAAIAQ2AgQgAhCOAkEAIQMMAQsgBCgCACIDRQ0EIAEgAzYCACABIAQpAgQ3AgQgBBCOAiABQd4ANgIUIAEgATYCEEEBIQMgAUEsakEBNgIAIAFCATcCHCABQZi8wAA2AhggASABQRBqNgIoIABBDGogAUEYahCyAiAAQQhqQQI2AgAgASgCBARAIAEoAgAQjgILIAIQjgILIAAgAzYCACABQTBqJAAPC0EMQQQQsAIAC0HaAEEBELACAAtBDEEEELACAAsgAUEsakEANgIAIAFBzMfAADYCKCABQgE3AhwgAUGsysAANgIYIAFBGGpBtMrAABC3AgAL3gIBAX8jAEEgayIBJABBDEEEEHYiCARAAkAgCCADNgIIIAggAzYCBCAIIAI2AgBBDEEEEHYi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aiANNgIAIAJBFGogCjYCACACQRBqIAM2AgAgAkEMaiAGNgIAIAJBCGogBTYCACACIAc2AgQgAkEANgIADAMLIAIgBzYCBCACQQE2AgAgAkEQaiADNgIAIAJBDGogBjYCACACQQhqIAU2AgAMAgsgAkKBgICAwAA3AgAgBEEYaiECIARBHGohAwJAAkACQAJAIAcOBAABAwUDCyAGDQEgBEEQaiECIARBFGohAwwCCyAGDQAgBEEQaiECIARBFGohAwwBCyAFEI4CIARBEGohAiAEQRRqIQMLIAIoAgBFDQEgAygCABCOAgwBCyACQQs2AgQgBEEYaiEDIARBHGohCgJAAkACQAJAAkAgBw4EAAEDBAMLIAYNASAEQRBqIQMgBEEUaiEKDAILIAYNACAEQRBqIQMgBEEUaiEKDAELIAUQjgIgBEEQaiEDIARBFGohCgsgAygCAEUNACAKKAIAEI4CCyACQQE2AgALIARBQGskAAwBCyMAQUBqIgQkACAEQSBqIQYjAEHAAWsiAyQAIANBEGogCBD2AQJAAkAgAy0AEEEBcQRAIAMtABFB+wBHDQEgCBDvASADQQhqIAgQ7QEgAygCCCEHIAMgAy0ADEEBcToAfCADIAc2AnggA0GAAWogA0H4AGoQzwECQAJAAkACQCADLQCAAQRAQQAhBwwBCyADQZgBakEEciENIANBoAFqIQ9BACEHA0ACQAJAAkACQAJAIAMtAIEBIhNBA3FBA0YNAAJAIBNBAWsOAgEAAgsgBw0CIANBmAFqQQRyQfDCwABBBBCsASADQeQAaiADQaQBaikCADcCACADIAMpApwBNwJcDAkLIANBmAFqIAMoAngiExD0AQJAIAMoApgBIhRBFUcEQCADQbwBaiADQaQBaigCADYCACADIAMpApwBNwK0ASADIBQ2ArABDAELIANBsAFqIBMQxQEgAygCsAFBFUYNBAsgA0HkAGogA0G4AWopAwA3AgAgAyADKQOwATcCXAwGCyAHRQ0BIANB2ABqQQRyQfDCwABBBBCtASAFRQ0HDAYLIANB6ABqIAo2AgAgA0HkAGoiCiAFNgIAIANB4ABqIAc2AgAgA0EoaiIFIANB7ABqKQIANwMAIANBMGoiByADQfQAaigCADYCACADQSBqIg0gCikCADcDACADQQQ2AlwgAyADKQJcNwMYIANB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aiEAIAFBMGpBBHIhAwwLCyABQThqIQAgAUEwakEEciEDDAoLIAFBOGohACABQTBqQQRyIQMMCQsgAUE4aiEAIAFBMGpBBHIhAwwICyABQThqKAIABEAgASgCNBCOAgsgAUHEAGohACABQUBrIQMMBwsgAUE4aigCAARAIAEoAjQQjgILIAFBxABqIQAgAUFAayEDDAYLIAFBOGooAgAEQCABKAI0EI4CCyABQcQAaiEAIAFBQGshAwwFCyABQThqIQAgAUEwakEEciEDDAQLQQxBBBCwAgALIAFBHGpBADYCACABQczHwAA2AhggAUIBNwIMIAFB9MnAADYCCCABQQhqQfzJwAAQtwIACyABQRxqQQA2AgAgAUHMx8AANgIYIAFCATcCDCABQazKwAA2AgggAUEIakG0ysAAELcCAAtBiKvAAEE3IAFBiAFqQZyswABBjKzAABDLAgALIAAoAgBFDQAgAygCABCOAgsgGBCOAiABQZABaiQAC3MAAkACfwJAAkACQAJAIAAoAgAOBAECAwUACyAAQQRqDAMLIABBCGooAgAEQCAAKAIEEI4CCyAAQRBqDAILIABBCGooAgAEQCAAKAIEEI4CCyAAQRBqDAELIABBBGoLIgBBBGooAgBFDQAgACgCABCOAgsL4gEBBH8jAEEgayICJAAgAiABEPYBAkACQAJAIAItAABBAXEEQCACLQABQSJHDQEgARDvASACQQhqIAEQ9QEgAkEYaigCACEEIAJBFGooAgAhAyACQRBqKAIAIQEgAigCDCEFIAIoAggNAiAFRQRAIAAgASADENsBDAQLIAAgASAEENsBIANFDQMgARCOAgwDCyAAQoGAgIDAADcCAAwCCyAAQoGAgIDgATcCAAwBCyAAIAU2AgQgAEEBNgIAIABBEGogBDYCACAAQQxqIAM2AgAgAEEIaiABNgIACyACQSBqJAALwgMBBH8jAEEgayICJAAgAiABEPYBAkACQAJAAkACQAJAAkACQCACLQAAQQFxBEAgAi0AAUEiRw0BIAEQ7wEgAkEIaiABEPUBIAJBGGooAgAhBSACQRRqKAIAIQQgAkEQaigCACEBIAIoAgwhAyACKAIIDQIgA0UEQAJAAkAgBEECaw4EAAkJAQkLIAEvAABB78XAAC8AAEYNCQwICyABQfHFwABBBRDtAg0HIABBAToA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VCACIAM2AlAgAkH4AGogAkHQAGoQzgECQCACLQB4RQRAIAJB6ABqQQRyIQQgAkGQAWpBBHIhBQNAIAItAHlFDQIgAkGQAWogAigCUCIGEPQBAkACQCACKAKQASIDQRVHBEAgBCAFKQIANwIAIARBCGogBUEIaigCADYCAAwBCyACQegAaiAGEMUBIAIoAmgiA0EVRg0BCyACQcgAaiAEQQhqKAIANgIAIAIgBCkCADcDQAwNCyACQfgAaiACQdAAahDOASACLQB4RQ0ACwsgAkHIAGogAkGIAWooAgA2AgAgAiACQYABaikDADcDQCACKAJ8IgNBFUcNCgsgAkH4AGogARDyASACKAJ4IgFBFUYEQCAAQRU2AgAMCwsgACACKQJ8NwIEIABBDGogAkGEAWooAgA2AgAgACABNgIADAoLIABBCzYCAAwJCyAAQRU2AgAMCAsgAEEENgIADAcLIABBDjYCAAwGCyACQYgBaigCACEFIAAgAzYCBCAAIAQ2AgAgAEEMaiAFNgIAIABBCGogATYCAAwFCyAAQQQ2AgAMBAsgACACKQOQATcCBCAAQQxqIAMoAgA2AgAgACAENgIADAMLIABBBDYCAAwCCyAAQQ42AgAMAQsgACACKQNANwIEIABBDGogAkHIAGooAgA2AgAgACADNgIACyACQaABaiQACx0AIAEoAgBFBEAACyAAQZTAwAA2AgQgACABNgIAC1UBAn8gASgCACECIAFBADYCAAJAIAIEQCABKAIEIQNBCEEEEHYiAUUNASABIAM2AgQgASACNgIAIABBlMDAADYCBCAAIAE2AgAPCwALQQhBBBCwAgALxQMBCH8jAEEgayIFJAACQAJAAkAgAUEIaigCACIDQQNLBEACfwJAIANBBGsiBCAEIAEoAgAiB2ooAAAiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIghrIgYgBE0EQCABKAIEIQIgBg0BIAchBCACIQFBAQwCC0HwwcAAQSFBlMLAABC8AgALIAMgBkkNAgJAIAMgBmsiAUUEQEEBIQQMAQsgAUEASA0EIAFBARB2IgRFDQULIAQgBiAHaiABEO4CGiACIQkgASEDIAcLIQIgACAENgIMIAAgBjYCCCAAIAk2AgQgACACNgIAIABBEGogATYCACAAQRRqIAMgCCADIAhJ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KQIANwIAIABBAToAAAwDCyAAQQE6AAAgAEEEakETNgIADAILIABBAToAACAAQQRqQQI2AgAMAQsgAEEBOgAAIABBBGpBBDYCAAsgA0EwaiQACwkAIAAgARDQAgvMAQEBfyAAKAIAIQIjAEEQayIAJAACfwJAAkACQAJAAkACQAJAIAIoAgBBAWsOBgECAwQFBgALIAFB8M7AAEEIENoCDAYLIAFB5s7AAEEKENoCDAULIAFB1c7AAEERENoCDAQLIAFBv87AAEEWENoCDAMLIAFBrM7AAEETENoCDAILIAFBmM7AAEEUENoCDAELIAAgAUH0zcAAQQoQ3gIgACACQQRqNgIMIABB/s3AAEEKIABBDGpBiM7AABDFAhogABDOAgsgAEEQaiQACxkAIAAoAgAiACgCACAAQQhqKAIAIAEQ3wILtQMBAX8gACgCACECIwBBMGsiACQAAn8CQAJAAkACQAJAAkACQCACKAIAQQFrDgYBAgMEBQYACyAAQRxqQQA2AgAgAEHMx8AANgIYIABCATcCDCAAQezNwAA2AgggASAAQQhqENsCDAYLIABBHGpBADYCACAAQczHwAA2AhggAEIBNwIMIABB2M3AADYCCCABIABBCGoQ2wIMBQsgAEEcakEANgIAIABBzMfAADYCGCAAQgE3AgwgAEHAzcAANgIIIAEgAEEIahDbAgwECyAAQRxqQQA2AgAgAEHMx8AANgIYIABCATcCDCAAQaTNwAA2AgggASAAQQhqENsCDAMLIABBHGpBADYCACAAQczHwAA2AhggAEIBNwIMIABBhM3AADYCCCABIABBCGoQ2wIMAgsgAEEcakEANgIAIABBzMfAADYCGCAAQgE3AgwgAEHgzMAANgIIIAEgAEEIahDbAgwBCyAAQRxqQQE2AgAgAEIBNwIMIABBoMzAADYCCCAAQe8ANgIkIAAgAkEEajYCLCAAIABBIGo2AhggACAAQSxqNgIgIAEgAEEIahDbAgsgAEEwaiQACxkAIAAoAgAiACgCACAAQQhqKAIAIAEQ4gILVwEBfyMAQSBrIgIkACACIAA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakG0x8AAIAJBCGoQwQIgAkEgaiQAC1oBAX8jAEEgayICJAAgAiAAKAIANgIE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CyADIAMpAkQ3A1AgA0EANgJgIANCATcDWCADQegAaiIBIANB2ABqQdCgwAAQ1wIgA0HQAGogARD/AUUEQCADQSBqIgEgAykCXDcDACADQRxqIAMoAlg2AgAgA0EYakEDNgIAIANBATYCECADQd0ANgJcIAMgA0EIajYCWCADQfwAakEBNgIAIANCATcCbCADQfzIwAA2AmggAyADQdgAajYCeCADQUBrIgIgA0HoAGoQsgIgAEEIaiACELQCIABBFDYCBCADKAJEBEAgAygCQBCOAgsgAEEBNgIAIAEoAgBFDQEgAygCHBCOAgwBC0HooMAAQTcgA0EQakH8ocAAQeyhwAAQywIACyADQZABaiQAC0ABAn8gAEEIaigCACEBIAAoAgAhAkEMQQQQdiIARQRAQQxBBBCwAgALIAAgATYCCCAAIAE2AgQgACACNgIAIAALoQEBAn8jAEEgayICJAACQCABBEAgASgCACIDDQEgAkEcakEANgIAIAJBzMfAADYCGCACQgE3AgwgAkGsysAANgIIIAJBCGpBtMrAABC3AgALIAJBHGpBADYCACACQczHwAA2AhggAkIBNwIMIAJB9MnAADYCCCACQQhqQfzJwAAQtwIACyAAIAM2AgAgACABKQIENwIEIAEQjgIgAkEgaiQAC8sBAAJAAkACQAJAAkACQAJAIAJBB2sODQEEBAQEBAQEAgAEBAMECyABQd7KwABBEBDtAgRAIAFB7srAAEEQEO0CDQQgAEECOgABDAYLIABBAToAAQwFCyABQf7KwABBBxDtAg0CIABBAzoAAQwECyABQc/KwABBDxDtAkUNAgwBCyABQYXLwABBExDtAg0AIABBBDoAAQwCCyAAQQRqIAEgAkGYy8AAQQUQrgEgAEEBOgAADwsgAEEAOgABIABBADoAAA8LIABBADoAAAuxAgEDfyAAKAIAIQIgARDcAkUEQCABEN0CRQRAIAIgARC/Ag8LQQAhACMAQYABayIDJAAgAigCACECA0AgACADakH/AGpBMEE3IAJBD3EiBEEKSRsgBGo6AAAgAEEBayEAIAJBD0sgAkEEdiECDQALIABBgAFqIgJBgQFPBEAgAkGAARC5AgALIAFB+PvAAEECIAAgA2pBgAFqQQAgAGsQ0QIgA0GAAWokAA8LQQAhACMAQYABayIDJAAgAigCACECA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQQ9LIAJBBHYhAg0ACyAAQYABaiICQYEBTwRAIAJBgAEQuQIACyABQfj7wABBAiAAIANqQYABakEAIABrENECIANBgAFqJAALGQAgACgCACIAKAIAIABBBGooAgAgARDfAgu8AwIBfgR/IAAoAgAhACABENwCRQRAIAEQ3QJFBEAgACABEOUCDwsjAEGAAWsiBCQAIAApAwAhAkGAASEAIARBgAFqIQUCQAJAA0AgAEUEQEEAIQAMAwsgBUEBa0EwQTcgAqciA0EPcSIGQQpJGyAGajoAACACQhBaBEAgBUECayIFQTBBNyADQf8BcSIDQaABSRsgA0EEdmo6AAAgAEECayEAIAJCgAJUIAJCCIghAkUNAQwCCwsgAEEBayEACyAAQYEBSQ0AIABBgAEQuQIACyABQfj7wABBAiAAIARqQYABIABrENECIARBgAFqJAAPCyMAQYABayIEJAAgACkDACECQYABIQAgBEGAAWohBQJAAkADQCAARQRAQQAhAAwDCyAFQQFrQTBB1wAgAqciA0EPcSIGQQpJGyAGajoAACACQhBaBEAgBUECayIFQTBB1wAgA0H/AXEiA0GgAUkbIANBBHZqOgAAIABBAmshACACQoACVCACQgiIIQJFDQEMAgsLIABBAWshAAsgAEGBAUkNACAAQYABELkCAAsgAUH4+8AAQQIgACAEakGAASAAaxDRAiAEQYABaiQACwwAIAAoAgAgARDlAgsMACAAKAIAIAEQvwILowEBAX8jAEEwayICJAACfyAAKAIARQRAIAJBHGpBADYCACACQfjOwAA2AhggAkIBNwIMIAJBkM/AADYCCCABIAJBCGoQ2wIMAQsgAiAANgIEIAJBHGpBATYCACACQgE3AgwgAkH4zsAANgIIIAJB+QA2AiQgAiACQSBqNgIYIAIgAkEsajYCICACIAJBBGo2AiwgASACQQhqENsCCyACQTBqJAALKQEBf0GACEEBEHYiAUUEQEGACEEBELACAAsgAEKACDcCBCAAIAE2AgAL/QECBH8BfiMAQSBrIgQkACAEQRdqQQA2AAAgBEEQakIANwMAIARCADcDCCAEIAJCCoKnQTByOgAbQRMhAwJ/IAJCClQEQCAEQRtqIQZBAQwB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AXI6AA1BBAshAyADIAYoAgAgBGtLBEAgASAEIAMQhwEgBSgCACEECyABKAIAIARqIAdBDGogAxDuAhogAyAEagsiBDYCACACIApHDQALCyABQQRqKAIAIARGBH8gASAEEIYBIAFBCGooAgAFIAQLIAEoAgBqQSI6AAAgAEEANgIAIAFBCGoiACAAKAIAQQFqNgIAIAdBEGokAAtRAQJ/IAFBBGooAgAgAUEIaiIDKAIAIgJrQQNNBEAgASACQQQQhwEgAygCACECCyAAQQA2AgAgAyACQQRqNgIAIAEoAgAgAmpB7uqx4wY2AAALDQAgACABIAIgAxDnAQtVACABKAIIIgIgAUEEaigCAEYEfyABIAIQhgEgASgCCAUgAgsgASgCAGpB2wA6AAAgACABNgIEIABBADYCACAAQQhqQQE6AAAgASABKAIIQQFqNgIIC1cBAX8gASgCCCICIAFBBGooAgBGBH8gASACEIYBIAEoAggFIAILIAEoAgBqQfsAOgAAIAAgATYCBCAAQQA2AgAgAEEIakEBOgAAIAEgASgCCEEBajYCCAuTAgECfyMAQRBrIgQkACABKAIIIgUgAUEEaigCAEYEfyABIAUQhgEgASgCCAUgBQsgASgCAGpB+wA6AABBASEFIAEgASgCCEEBajYCCCAEIAEgAiADEOcBAkAgBCgCAEUEQCABKAIIIgIgAUEEaiIDKAIARgR/IAEgAhCGASABKAIIBSACCyABKAIAakE6OgAAIAEgASgCCEEBaiICNgIIIAMoAgAgAkYEfyABIAIQhgEgASgCCAUgAgsgASgCAGpB+wA6AAAgACABNgIEIABBCGpBAToAACABIAEoAghBAWo2AghBACEFDAELIAAgBCkCBDcCBCAAQQxqIARBDGooAgA2AgALIAAgBTYCACAEQRBqJAALEAAgAEEBOgAEIAAgATYCAAsXACAAQQA2AgggACACNgIEIAAgATYCAAsuAQJ/IAAoAggiAUEBaiICIAFPBEAgACACNgIIDwtBkNPAAEEcQYDTwAAQvAIAC18BA38gAAJ/IAEoAggiACABKAIEIgJJBEAgASgCACEDA0BBEiAAIANqLQAAQQlrIgRBF0tBASAEdEGTgIAEcUVyDQIaIAEgAEEBaiIANgIIIAAgAkcNAAsLQRULNgIAC7YCAQZ/QQEhAwJAIAEoAggiAiABKAIEIgRPDQAgASgCACEGAkACQAJAAkADQAJAQRIhAwJAIAIgBmotAAAiBUEJaw4kAAAHBwAHBwcHBwcHBwcHBwcHBwcHBwcABwcHBwcHBwcHBwcDAQtBASEDIAEgAkEBaiICNgIIIAIgBEcNAQwGCwsgBUHdAEcNBCACIAJBAWoiAksNASABIAI2AgggAEEVNgIADwsgAiACQQFqIgJLDQEgASACNgIIIAIgBE8NAwNAIAIgBmotAAAiBUEJayIHQRdLQQEgB3RBk4CABHFFcg0DIAEgAkEBaiICNgIIIAIgBEkNAAsMAwtBkNPAAEEcQYDTwAAQvAIAC0GQ08AAQRxBgNPAABC8AgALIAVB3QBHDQAgAEETNgIADwsgACADNgIAC8IBAQV/AkACQAJAAkAgASgCCCICIAEoAgQiBEkEQCABKAIAIQUDQEESIQMCQCACIAVqLQAAIgZBCWsOJAAABgYABgYGBgYGBgYGBgYGBgYGBgYGAAYGBgYGBgYGBgYGBAMLIAEgAkEBaiICNgIIIAIgBEcNAAsLQQIhAwwDCyAGQf0ARw0CIAIgAkEBaiICSw0BIAEgAjYCCCAAQRU2AgAPCyAAQRM2AgAPC0GQ08AAQRxBgNPAABC8AgALIAAgAzYCAAukAQEHfyABKAIIIQQgASgCBCEGAkAgASgCACIIBEADQCADRQRAIABBFTYCAA8LQQohByAEIAZPIgUNAiACLQAAIAEgBEEBaiIKNgIIIAUNAiADQQFrIQMgAkEBaiECIAQgCGogCiEELQAARg0ADAILAAsgA0UEQCAAQRU2AgAPC0EKIQcgBCAGTw0AIAEgBEEBajYCCCAAQQo2AgAPCyAAIAc2AgALtwEBBH8CQAJAIAEoAggiAiABKAIEIgRJBEAgASgCACEFA0BBBSEDAkAgAiAFai0AAEEJaw4yAAADAwADAwMDAwMDAwMDAwMDAwMDAwMAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQDCyABIAJBAWoiAjYCCCACIARHDQALC0ECIQMLIAAgAzYCAA8LIAIgAkEBaiIDSwRAQZDTwABBHEGA08AAELwCAAsgASADNgIIIABBFTYCAAvVEwIMfwJ+IwBBMGsiCCQAAkACQAJAAkACQAJAIAEoAggiByABKAIEIgJJBEAgASgCACAHaiEMA0ACfyADIAxqLQAAIgVB3ABHBEBBACAFQSJHDQEaIARBAXFFDQRBAAwBC0EBIQYgBEEBcwshBCABIAMgB2pBAWo2AgggByADQQFqIgNqIAJJDQALCyAAQoGAgIAwNwIADAELIAEgAyAHaiIBQQFqNgIIAkAgBkUEQCABIAdJDQMgASACSw0EIAhBGGogDCADEMQCIAgoAhgNASAAQQhqIAgpAhw3AgAgAEIANwIADAILIAEgB0kNBCABIAJLDQUgCEEYaiELQQAhBEEAIQVBACEGQQAhByMAQTBrIgIkAAJAAkACQCACQSBqAn8gAyIBBEAgAUEATgRAIAFBARB2IgMEQCACQQA2AhAgAiABNgIMIAIgAzYCCCACQQA2AhggAkEANgIcAkACQAJAA0AgDC0AACIDQSBJBEBBACEFDAMLAkACQAJAAkACQAJAAkACQCAJQQFxRQRAIApBAXENASADQdwARw0CQQEhCkEAIQkMCAsCQCADQTBrQf8BcUEKSQ0AQQwhBSADQcEAaw4mAAAAAAAACwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsAAAAAAAALCyAGQQNLDQIgAkEcaiAGaiADOgAAQQEhCSAGQQFqIgZBBEcNByACKAIcIgNBMGsiCUH/AXFBCkkNBCADQcEAa0H/AXFBBkkNAyADQeEAa0H/AXFBBk8NESADQdcAayEJDAQLQQEhCUEMIQVBASEKAkACQAJAAkACQAJAIANBImsOVAAPDw8PDw8PDw8PDw8ADw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8ADw8PDw8BDw8PAg8PDw8PDw8DDw8PBA8FDA8LIAIoAgwgBEYEfyACQQhqIAQQhgEgAigCEAUgBAsgAigCCGogAzoAACACKAIQQQFqIQQMCQsgAigCDCAERgR/IAJBCGogBBCGASACKAIQBSAECyACKAIIakEIOgAAIAIoAhBBAWohBAwICyACKAIMIARGBH8gAkEIaiAEEIYBIAIoAhAFIAQLIAIoAghqQQw6AAAgAigCEEEBaiEEDAcLIAIoAgwgBEYEfyACQQhqIAQQhgEgAigCEAUgBAsgAigCCGpBCjoAACACKAIQQQFqIQQMBgsgAigCDCAERgR/IAJBCGogBBCGASACKAIQBSAECyACKAIIakENOgAAIAIoAhBBAWohBAwFCyACKAIMIARGBH8gAkEIaiAEEIYBIAIoAhAFIAQLIAIoAghqQQk6AAAgAigCEEEBaiEEDAQLIA0EQEERIQUMCQsgAigCDCAERgR/IAJBCGogBBCGASACKAIQBSAECyACKAIIaiADOgAAIAIoAhBBAWohBEEAIQ0MAwsgBkEEQbDRwAAQuAIACyADQTdrIQkLAkAgA0EIdiIFQTBrIgZB/wFxQQpJDQACQCAFQcEAa0H/AXFBBk8EQCAFQeEAa0H/AXFBBk8NASAFQdcAayEGDAILIAVBN2shBgwBCwwNCwJAIANBEHYiBUEwayIKQf8BcUEKSQ0AAkAgBUHBAGtB/wFxQQZPBEAgBUHhAGtB/wFxQQZPDQEgBUHXAGshCgwCCyAFQTdrIQoMAQsMDQsCQCADQRh2IgNBMGsiBUH/AXFBCkkNAAJAIANBwQBrQf8BcUEGTwRAIANB4QBrQf8BcUEGTw0BIANB1wBrIQUMAgsgA0E3ayEFDAELDA0LIAZBCHQgCUEMdHIgCkH/AXFBBHRyIgYgBUH/AXFyIQMCfwJAIAZBgPADcUGAsANHBEAgA0H//wNxIgNBgLC/f3NBgJC8f0kiBUUNAUEMIQUMCAsCQCANBEAgA0H//wNxQYC4A08NAUEIIQUMCQsgA0H//wNxQf+3A0sNB0EAIQZBASENIAMhBwwECyAHQf//A3FBgLADayIFQf//A3EiBiAFRw0IQQ8hBSADQYDIAGpB//8DcSAGQQp0ckGAgARqIgNBgLADc0GAgMQAa0GAkLx/SSADQYCAxABGcg0HIAIgA0E/cUGAAXI6ABsgAiADQRJ2QfABcjoAGCACIANBBnZBP3FBgAFyOgAaIAIgA0EMdkE/cUGAAXI6ABkgAigCDCAEa0EDTQRAIAJBCGogBEEEEIcBIAIoAhAhBAsgAigCCCAEaiACKAIYNgAAQQAhDSAEQQRqDAELAn8CQAJAQYCAxAAgAyAFGyIDQYABTwRAIANBgBBJDQEgA0GAgARPDQIgAiADQT9xQYABcjoAGiACIANBDHZB4AFyOgAYIAIgA0EGdkE/cUGAAXI6ABlBAwwDCyACIAM6ABhBAQwCCyACIANBP3FBgAFyOgAZIAIgA0EGdkHAAXI6ABhBAgwBCyACIANBP3FBgAFyOgAbIAIgA0EMdkGAAXI6ABkgAiADQRJ2QfABcjoAGCACIANBBnZBP3FBgAFyOgAaQQQLIQMgAyACKAIMIARrSwRAIAJBCGogBCADEIcBIAIoAhAhBAsgAigCCCAEaiACQRhqIAMQ7gIaIAMgBGoLIQRBACEGCyACIAQ2AhALQQAhCUEAIQoLIAxBAWohDCABQQFrIgENAAtBDCEFIApBAXENAUERIQUgDQ0BIAIoAgwhBSACKAIIDAYLQQYhBQsgC0EBNgIAIAsgBTYCBCACKAIMRQ0FIAIoAggQjgIMBQtB0NHAAEEhQcDRwAAQvAIACyABQQEQsAIACxCxAgALIAJBADYCECACIAE2AgwgAkEBNgIIIAJBADYCGCACQQA2AhxBAQsiASAEEMQCIAsCfyACKAIgRQRAIAsgATYCBCALQQxqIAQ2AgAgC0EIaiAFNgIAQQAMAQsgBQRAIAEQjgILIAtBDzYCBEEBCzYCAAsgAkEwaiQADAELIwBBEGsiACQAIABBkNLAADYCCCAAQR02AgQgAEHx0cAANgIAIAAoAgAhASAAKAIEIQMgACgCCCEMIwBBEGsiACQAIAAgAzYCDCAAIAE2AgggAEEIakG40MAAQQAgDEEBEJUCAAsgC0EEciEBIAgoAhhFBEAgCEEQaiABQQhqKAIAIgM2AgAgCCABKQIAIg43AwggAEKAgICAEDcCACAAQQhqIA43AgAgAEEQaiADNgIADAILIAhBEGogAUEIaikCACIONwMAIAggASkCACIPNwMIIABBDGogDjcCACAAIA83AgQgAEEBNgIADAELIABCgYCAgPABNwIACyAIQTBqJAAPCyAHIAEQvQIACyABIAIQugIACyAHIAEQvQIACyABIAIQugIAC20BBn8CQCABKAIIIgIgASgCBCIESQRAIAEoAgAhBUEBIQMDQCACIAVqLQAAIgZBCWsiB0EXS0EBIAd0QZOAgARxRXINAiABIAJBAWoiAjYCCCACIARHDQALC0EAIQMLIAAgBjoAASAAIAM6AAALMwEDfyAAIAEoAggiAiABKAIEIgNJBH8gASgCACACai0AAAUgBAs6AAEgACACIANJOgAAC+0DAQF/IwBBMGsiAiQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4UAQIDBAUGBwgJCgsMDQ4PEBESExQACyACQbrZwAA2AihBIgwUCyACQaHZwAA2AihBGQwTCyACQYXZwAA2AihBHAwSCyACQerYwAA2AihBGwwRCyACQcvYwAA2AihBHwwQCyACQaXYwAA2AihBJgwPCyACQf3XwAA2AihBKAwOCyACQcbXwAA2AihBNwwNCyACQZ/XwAA2AihBJwwMCyACQefWwAA2AihBOAwLCyACQa/WwAA2AihBOAwKCyACQYHWwAA2AihBLgwJCyACQenVwAA2AihBGAwICyACQdrVwAA2AihBDwwHCyACQc7VwAA2AihBDAwGCyACQbPVwAA2AihBGwwFCyACQZjVwAA2AihBGwwECyACQcnUwAA2AihBzwAMAwsgAkGN1MAANgIoQTwMAgsgAkHU08AANgIoQTkMAQsgAiAAQQRqKAIANgIoIABBDGooAgALIQAgAkEcakEBNgIAIAJB/QA2AiQgAiAANgIsIAJCATcCDCACQczTwAA2AgggAiACQShqNgIgIAIgAkEgajYCGCABIAJBCGoQ2wIgAkEwaiQACx0AIAEoAgBFBEAACyAAQdzZwAA2AgQgACABNgIAC1UBAn8gASgCACECIAFBADYCAAJAIAIEQCABKAIEIQNBCEEEEHYiAUUNASABIAM2AgQgASACNgIAIABB3NnAADYCBCAAIAE2AgAPCwALQQhBBBCwAgALRAAgASgCCCICIAFBBGooAgBGBH8gASACEIYBIAEoAggFIAILIAEoAgBqQd0AOgAAIABBADYCACABIAEoAghBAWo2AggLHAAgACgCACgCACIAKAIAIABBCGooAgAgARDiAgtEACABKAIIIgIgAUEEaigCAEYEfyABIAIQhgEgASgCCAUgAgsgASgCAGpB/QA6AAAgAEEANgIAIAEgASgCCEEBajYCCAt9AQF/IAEoAggiAiABQQRqIgMoAgBGBH8gASACEIYBIAEoAggFIAILIAEoAgBqQf0AOgAAIAEgASgCCEEBaiICNgIIIAMoAgAgAkYEfyABIAIQhgEgASgCCAUgAgsgASgCAGpB/QA6AAAgAEEANgIAIAEgASgCCEEBajYCCAuyAgEBfyMAQTBrIgIkAAJ/AkACQAJAIAAtAABBAWsOAgECAAsgAiAAQQRqKAIANgIAIAIgAC0AAToAByACQRxqQQI2AgAgAkEsakEENgIAIAJCAzcCDCACQejawAA2AgggAkGAATYCJCACIAJBIGo2AhggAiACNgIoIAIgAkEHajYCICABIAJBCGoQ2wIMAgsgAkEcakEANgIAIAJB7NnAADYCGCACQgE3AgwgAkHQ2sAANgIIIAEgAkEIahDbAgwBCyACIABBBGooAgA2AgAgAiAALQABOgAHIAJBHGpBAjYCACACQSxqQQQ2AgAgAkIDNwIMIAJBjNrAADYCCCACQYABNgIkIAIgAkEgajYCGCACIAI2AiggAiACQQdqNgIgIAEgAkEIahDbAgsgAkEwaiQAC4cEAQN/IwBBMGsiAiQAAn8CQAJAAkACQCAAKAIEIgMOAwACAwELIwBBEGsiACQAIABB2PHAADYCCCAAQQ42AgQgAEHJ8cAANgIAIAAoAgAhASAAKAIEIQIgACgCCCEDIwBBEGsiACQAIAAgAjYCDCAAIAE2AgggAEEIakHo8cAAQQAgA0EBEJUCAAsgAkEsakEANgIAIAJBqPDAADYCKCACQgE3AhwgAkGw8MAANgIYQQEgASACQRhqENsCDQIaIANBA3QhAyAAKAIAIQACQANAIAIgADYCFCAEBEAgAkEANgIsIAJBqPDAADYCKCACQgE3AhwgAkG88MAANgIYIAEgAkEYahDbAg0CCyACQQE2AiwgAkICNwIcIAJBxPDAADYCGCACQYIBNgIEIAIgAjYCKCACIAJBFGo2AgAgASACQRhqENsCDQEgAEEIaiEAIARBAWshBCADQQhrIgMNAAtBAAwDC0EBDAILIAJBLGpBATYCACACQgI3AhwgAkHE8MAANgIYIAJBgwE2AgQgAiAAKAIANgIAIAIgAjYCKCABIAJBGGoQ2wIMAQsgAkEMakGDATYCACACQSxqQQI2AgAgAkIDNwIcIAJB3PDAADYCGCACQYMBNgIEIAIgACgCACIANgIAIAIgAEEIajYCCCACIAI2AiggASACQRhqENsCCyACQTBqJAALFgAgACgCACIAKAIAIAAoAgQgARDiAgsdACABKAIARQRAAAsgAEH88cAANgIEIAAgATYCAAtVAQJ/IAEoAgAhAiABQQA2AgACQCACBEAgASgCBCEDQQhBBBB2IgFFDQEgASADNgIEIAEgAjYCACAAQfzxwAA2AgQgACABNgIADwsAC0EIQQQQsAIACwwA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KAIATwRAIAAQqgIgAUsNAgsgACgCCCIADQALQQAhAAsgABCoAg0AIABBDGooAgAaDAALQQAQjQJrRw0BQfybwQAoAgBBoJzBACgCAE0NAUGgnMEAQX82AgAPCyACQYACSQ0BIAAgAhCMAkGonMEAQaicwQAoAgBBAWsiADYCACAADQAQjQIaDwsPCyACQQN2IgNBA3RB8JjBAGohAQJ/QeiYwQAoAgAiAkEBIAN0IgNxBEAgASgCCAwBC0HomMEAIAIgA3I2AgAgAQshAyABIAA2AgggAyAANgIMIAAgATYCDCAAIAM2AggLaAAjAEEwayIBJABB0JjBAC0AAARAIAFBHGpBATYCACABQgI3AgwgAUH08sAANgIIIAFBBDYCJCABIAA2AiwgASABQSBqNgIYIAEgAUEsajYCICABQQhqQZzzwAAQtwIACyABQTBqJAAL2AEBA38jAEEgayIAJAACQEHkmMEAKAIAQf////8HcQRAQaycwQAoAgANAQtB2JjBACgCAEHYmMEAQX82AgBFBEBB4JjBACgCACEBQeCYwQBByLXAADYCAEHcmMEAKAIAIQJB3JjBAEEBNgIAQdiYwQBBADYCAAJAIAFFDQAgAiABKAIAEQUAIAEoAgRFDQAgASgCCBogAhCOAgsgAEEgaiQADwsACyAAQRxqQQA2AgAgAEGk8sAANgIYIABCATcCDCAAQeDzwAA2AgggAEEIakGE9MAAELcCAAuLAgIEfwF+IwBBMGsiAiQAIAFBBGohBCABKAIERQRAIAEoAgAhAyACQRBqIgVBADYCACACQgE3AwggAiACQQhqNgIUIAJBKGogA0EQaikCADcDACACQSBqIANBCGopAgA3AwAgAiADKQIANwMYIAJBFGpBjPLAACACQRhqEMECGiAEQQhqIAUoAgA2AgAgBCACKQMINwIACyACQSBqIgMgBEEIaigCADYCACABQQxqQQA2AgAgBCkCACEGIAFCATcCBCACIAY3AxhBDEEEEHYiAUUEQEEMQQQQsAIACyABIAIpAxg3AgAgAUEIaiADKAIANgIAIABBtPTAADYCBCAAIAE2AgAgAkEwaiQAC60BAQN/IwBBMGsiAiQAIAFBBGohAyABKAIERQRAIAEoAgAhASACQRBqIgRBADYCACACQgE3AwggAiACQQhqNgIUIAJBKGogAUEQaikCADcDACACQSBqIAFBCGopAgA3AwAgAiABKQIANwMYIAJBFGpBjPLAACACQRhqEMECGiADQQhqIAQoAgA2AgAgAyACKQMINwIACyAAQbT0wAA2AgQgACADNgIAIAJBMGokAAtFAQJ/IAEoAgQhAiABKAIAIQNBCEEEEHYiAUUEQEEIQQQQsAIACyABIAI2AgQgASADNgIAIABBxPTAADYCBCAAIAE2AgALEwAgAEHE9MAANgIEIAAgATYCAAvvAQEDfyMAQSBrIgUkAEHkmMEAQeSYwQAoAgAiB0EBajYCAEGsnMEAQaycwQAoAgBBAWoiBjYCAAJAAkAgB0EASCAGQQJLcg0AIAUgBDoAGCAFIAM2AhQgBSACNgIQQdiYwQAoAgAiAkEASA0AQdiYwQAgAkEBaiICNgIAQdiYwQBB4JjBACgCACIDBH9B3JjBACgCACAFIAAgASgCEBEAACAFIAUpAwA3AwggBUEIaiADKAIUEQAAQdiYwQAoAgAFIAILQQFrNgIAIAZBAUsNACAEDQELAAsjAEEQayICJAAgAiABNgIMIAIgADYCCAALEAAgACABakEBa0EAIAFrcQsPACAAQQF0IgBBACAAa3ILCgBBACAAayAAcQsSAEEAQRkgAEEBdmsgAEEfRhsLCgAgACgCBEF4cQsNACAALQAEQQJxQQF2CwoAIAAoAgRBAXELCwAgAC0ABEEDcUULJwAgACAAKAIEQQFxIAFyQQJyNgIEIAAgAWoiACAAKAIEQQFyNgIECx4AIAAgAUEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAsMACAAIAFBA3I2AgQLFgAgACABQQFyNgIEIAAgAWogATYCAAsjACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsHACAAIAFqCwcAIAAgAWsLBwAgAEEIagsHACAAQQhrCxkBAX8gACgCECIBBH8gAQUgAEEUaigCAAsLCgAgACgCDEEBcQsKACAAKAIMQQF2Cw0AIAAoAgAgACgCBGoL/wMCBn8CfiMAQRBrIgIkACAAKAIAIgBBCGooAgAhBSAAKAIAIQAgASgCGEHK+8AAQQEgAUEcaigCACgCDBEDACEDIAJBADoABSACIAM6AAQgAiABNgIAIAUEQANAIAIgADYCDCACQQxqIQYjAEFAaiIBJABBASEEAkAgAi0ABA0AIAItAAUhBAJAAkACQCACKAIAIgMoAgAiB0EEcUUEQCAEDQEMAwsgBA0BQQEhBCADKAIYQcn7wABBASADQRxqKAIAKAIMEQMADQMgAygCACEHDAELQQEhBCADKAIYQb37wABBAiADQRxqKAIAKAIMEQMARQ0BDAILQQEhBCABQQE6ABcgAUE0akGc+8AANgIAIAFBEGogAUEXajYCACABIAc2AhggASADKQIYNwMIIAMpAgghCCADKQIQIQkgASADLQAgOgA4IAEgAygCBDYCHCABIAk3AyggASAINwMgIAEgAUEIajYCMCAGIAFBGGpBoPXAACgCABEBAA0BIAEoAjBBu/vAAEECIAEoAjQoAgwRAwAhBAwBCyAGIANBoPXAACgCABEBACEECyACQQE6AAUgAiAEOgAEIAFBQGskACAAQQFqIQAgBUEBayIFDQALCyACLQAEBH9BAQUgAigCACIAKAIYQdz7wABBASAAKAIcKAIMEQMACyACQRBqJAALrQIBA38gACgCACEAIAEQ3AJFBEAgARDdAkUEQCAAIAEQ5AIPCyMAQYABayIDJAAgAC0AACEAA0AgAiADakH/AGpBMEE3IABBD3EiBEEKSRsgBGo6AAAgAkEBayECIAAiBEEEdiEAIARBD0sNAAsgAkGAAWoiAEGBAU8EQCAAQYABELkCAAsgAUH4+8AAQQIgAiADakGAAWpBACACaxDRAiADQYABaiQADwsjAEGAAWsiAyQAIAAtAAAhAANAIAIgA2pB/wBqQTBB1wAgAEEPcSIEQQpJGyAEajoAACACQQFrIQIgACIEQQR2IQAgBEEPSw0ACyACQYABaiIAQYEBTwRAIABBgAEQuQIACyABQfj7wABBAiACIANqQYABakEAIAJrENECIANBgAFqJAAL7wEBAn8gACgCACEDIwBBEGsiACQAIAEoAhhBtZHBAEEJIAFBHGooAgAoAgwRAwAhAiAAQQA6AAUgACACOgAEIAAgATYCACAAIAM2AgwgAEG+kcEAQQsgAEEMaiIBQaCRwQAQxQIgACADQQRqNgIMQcmRwQBBCSABQdSRwQAQxQIaAn8gAC0ABCIBIAAtAAVFDQAaQQEgAQ0AGiAAKAIAIgEtAABBBHFFBEAgASgCGEHD+8AAQQIgAUEcaigCACgCDBEDAAwBCyABKAIYQcL7wABBASABQRxqKAIAKAIMEQMACyAAQRBqJABB/wFxQQBHC90CAQN/IAAoAgAhAiMAQRBrIgAkAAJAAn8CQAJAIAFBgAFPBEAgAEEANgIMIAFBgBBJDQEgAUGAgARPDQIgACABQT9xQYABcjoADiAAIAFBDHZB4AFyOgAMIAAgAUEGdkE/cUGAAXI6AA1BAwwDCyACKAIIIgMgAkEEaigCAEYEQCACIAMQECACKAIIIQMLIAIgA0EBajYCCCACKAIAIANqIAE6AAAMAwsgACABQT9xQYABcjoADSAAIAFBBnZBwAFyOgAMQQIMAQsgACABQT9xQYABcjoADyAAIAFBEnZB8AFyOgAMIAAgAUEGdkE/cUGAAXI6AA4gACABQQx2QT9xQYABcjoADUEECyEBIAEgAkEEaigCACACQQhqIgQoAgAiA2tLBEAgAiADIAEQESAEKAIAIQMLIAIoAgAgA2ogAEEMaiABEO4CGiAEIAEgA2o2AgALIABBEGokAEEAC1oBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB/PTAACACQQhqEMECIAJBIGokAAsaACAAIAFB1JjBACgCACIAQYkBIAAbEQAAAAtAAQF/IwBBIGsiACQAIABBHGpBADYCACAAQaT1wAA2AhggAEIBNwIMIABB5PXAADYCCCAAQQhqQez1wAAQtwIAC+MDAQh/IwBBIGsiBCQAIAFBFGooAgAhCSABKAIAIQUCQCABQQRqKAIAIgdBA3RFBEAMAQsgB0EBa0H/////AXEiAkEBaiIDQQdxIQYCfyACQQdJBEBBACEDIAUMAQsgBUE8aiECIANB+P///wNxIQhBACEDA0AgAigCACACQQhrKAIAIAJBEGsoAgAgAkEYaygCACACQSBrKAIAIAJBKGsoAgAgAkEwaygCACACQThrKAIAIANqampqampqaiEDIAJBQGshAiAIQQhrIggNAAsgAkE8awsgBkUNAEEEaiECA0AgAigCACADaiEDIAJBCGohAiAGQQFrIgYNAAsLAkACQAJAIAlFBEAgAyECDAELAkAgB0UNACAFKAIEDQAgA0EQSQ0CCyADIANqIgIgA0kNAQsgAkUNAAJAIAJBAE4EQCACQQEQdiIDRQ0BDAMLELECAAsgAkEBELACAAtBASEDQQAhAgsgAEEANgIIIAAgAjYCBCAAIAM2AgAgBCAANgIEIARBGGogAUEQaikCADcDACAEQRBqIAFBCGopAgA3AwAgBCABKQIANwMIIARBBGpB/PTAACAEQQhqEMECRQRAIARBIGokAA8LQfz1wABBMyAEQQhqQaT1wABByPbAABDLAgAL4AEBAX8jAEEwayICJAACfyAAQQxqIgAtAAQEQCACIABBBWotAAA6AAcgAkEUakEENgIAIAIgADYCECACQYABNgIMIAFBHGooAgAhACACIAJBB2o2AgggASgCGCACQSxqQQI2AgAgAkICNwIcIAJB0IDBADYCGCACIAJBCGo2AiggACACQRhqEMECDAELIAJBBDYCDCACIAA2AgggAUEcaigCACEAIAEoAhggAkEsakEBNgIAIAJCATcCHCACQZyAwQA2AhggAiACQQhqNgIoIAAgAkEYahDBAgsgAkEwaiQAC2cBAn8gASgCACEDAkACQAJAIAFBCGooAgAiAUUEQEEBIQIMAQsgAUEASA0BIAFBARB2IgJFDQILIAIgAyABEO4CIQIgACABNgIIIAAgATYCBCAAIAI2AgAPCxCxAgALIAFBARCwAgALZQEBfyMAQRBrIgIkACACIAFB+PfAAEENEN4CIAIgADYCDCACQdz3wABBBSACQQxqIgFBzPfAABDFAhogAiAAQQxqNgIMIAJB4ffAAEEFIAFB6PfAABDFAhogAhDOAiACQRBqJAALDgAgACgCABoDQAwACwALwAIBA38jAEEgayICJAAgAkEBOgAYIAIgATYCFCACIAA2AhAgAkHQ+sAANgIMIAJBiPjAADYCCCMAQRBrIgAkACACQQhqIgEoAgwiAkUEQEGk8sAAQStBlPTAABC8AgALIAEoAggiBEUEQEGk8sAAQStBpPTAABC8AgALIAAgAjYCCCAAIAE2AgQgACAENgIAIAAoAgAhASAAKAIEIQIgACgCCCEEIwBBEGsiACQAIAFBFGooAgAhAwJAAn8CQAJAIAFBBGooAgAOAgABAwsgAw0CQQAhAUGk8sAADAELIAMNASABKAIAIgMoAgQhASADKAIACyEDIAAgATYCBCAAIAM2AgAgAEHo9MAAIAIoAgggBCACLQAQEJUCAAsgAEEANgIEIAAgATYC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ayIDJAAgA0EkaiABNgIAIANBAzoAKCADQoCAgICABDcDCCADIAA2AiAgA0EANgIYIANBADYCEAJAAkACQCACKAIIIgpFBEAgAkEUaigCACIERQ0BIAIoAgAhASACKAIQIQAgBEEBa0H/////AXFBAWoiByEEA0AgAUEEaigCACIFBEAgAygCICABKAIAIAUgAygCJCgCDBEDAA0ECyAAKAIAIANBCGogAEEEaigCABEBAA0DIABBCGohACABQQhqIQEgBEEBayIEDQALDAELIAJBDGooAgAiAEUNACAAQQV0IQsgAEEBa0H///8/cUEBaiEHIAIoAgAhAQNAIAFBBGooAgAiAARAIAMoAiAgASgCACAAIAMoAiQoAgwRAwANAwsgAyAEIApqIgVBHGotAAA6ACggAyAFQQRqKQIAQiCJNwMIIAVBGGooAgAhBiACKAIQIQhBACEJQQAhAAJAAkACQCAFQRRqKAIAQQFrDgIAAgELIAZBA3QgCGoiDCgCBEGgAUcNASAMKAIAKAIAIQYLQQEhAAsgAyAGNgIUIAMgADYCECAFQRBqKAIAIQACQAJAAkAgBUEMaigCAEEBaw4CAAIBCyAAQQN0IAhqIgYoAgRBoAFHDQEgBigCACgCACEAC0EBIQkLIAMgADYCHCADIAk2AhggCCAFKAIAQQN0aiIAKAIAIANBCGogACgCBBEBAA0CIAFBCGohASALIARBIGoiBEcNAAsLQQAhACAHIAIoAgRJIgFFDQEgAygCICACKAIAIAdBA3RqQQAgARsiASgCACABKAIEIAMoAiQoAgwRAwBFDQELQQEhAAsgA0EwaiQAIAALcgEEfyMAQSBrIgIkAEEBIQMCQCAAIAEQwAINACABQRxqKAIAIQQgASgCGCACQRxqQQA2AgAgAkGI+MAANgIYIAJCATcCDCACQcD5wAA2AgggBCACQQhqEMECDQAgAEEEaiABEMACIQMLIAJBIGokACADCw0AQtDl+IeL46r17wAL2gUCBn8CfgJAIAJFDQBBACACQQdrIgQgAiAESRshByABQQNqQXxxIAFrIQhBACEEAkACQAJAA0ACQAJAAkAgASAEai0AACIFQRh0QRh1IgZBAE4EQCAIIARrQQNxIAhBf0ZyDQECQCAEIAdPDQADQCABIARqIgMoAgAgA0EEaigCAHJBgIGChHhx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AHNlbmRfZnJvbWJhdGNoX3NlbmRfZnJvbW1pbnRiYXRjaF9taW50YmF0Y2hfYnVybmFwcHJvdmVfYWxscmV2b2tlX2FsbAAAAPgEEAAJAAAAAQUQAA8AAAAQBRAABAAAABQFEAAKAAAASQEQAAQAAAAeBRAACgAAACgFEAALAAAAMwUQAAoAAABiYWxhbmNlYmF0Y2hfYmFsYW5jZWFwcHJvdmVkX2Zvcl9hbGxpc19hcHByb3ZlZF9mb3JfYWxsdG9rZW5faW5mb3Rva2Vuc2FsbF90b2tlbnMAAACABRAABwAAAIcFEAANAAAAlAUQABAAAACkBRAAEwAAALcFEAAKAAAAwQUQAAYAAADHBRAACgAAAAAAEAAAAAAAYSB0dXBsZSBvZiBzaXplIDMAAAANAAAAAAAAAAEAAAAmAAAAYXRfaGVpZ2h0YXRfdGltZTgGEAAJAAAAQQYQAAcAAADUARAABQAAAENvbnRyYWN0VmVyc2lvbnZlcnNpb25jb250cmFjdF9pbmZvACcAAAAMAAAABAAAACgAAAApAAAAKgAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNGI5MWE2ZWE3MjU4YTk0N2U1OWM2NTIyY2Q1ODk4ZTdjMGE2YTg4Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAANMGEABLAAAAugkAAA4AAABjb3Ntd2FzbV9zdGQ6OnR5cGVzOjpFbnZjdzExNTU6Om1zZzo6Q3cxMTU1RXhlY3V0ZU1zZ2N3MTE1NTo6cXVlcnk6OklzQXBwcm92ZWRGb3JBbGxSZXNwb25zZWNvc213YXNtX3N0ZDo6YWRkcmVzc2VzOjpBZGRyY3dfdXRpbHM6OmV4cGlyYXRpb246OkV4cGlyYXRpb25hbGxvYzo6c3RyaW5nOjpTdHJpbmdjdzExNTVfYmFzZTo6bXNnOjpJbnN0YW50aWF0ZU1zZ2Nvc213YXNtX3N0ZDo6cmVzdWx0czo6Y29udHJhY3RfcmVzdWx0OjpDb250cmFjdFJlc3VsdDxjb3Ntd2FzbV9zdGQ6OmJpbmFyeTo6QmluYXJ5PmNvc213YXNtX3N0ZDo6cmVzdWx0czo6Y29udHJhY3RfcmVzdWx0OjpDb250cmFjdFJlc3VsdDxjb3Ntd2FzbV9zdGQ6OnJlc3VsdHM6OnJlc3BvbnNlOjpSZXNwb25zZT5jdzExNTU6OnF1ZXJ5OjpBcHByb3ZlZEZvckFsbFJlc3BvbnNlY3cxMTU1OjpxdWVyeTo6Q3cxMTU1UXVlcnlNc2djb3Ntd2FzbV9zdGQ6Om1hdGg6OnVpbnQxMjg6OlVpbnQxMjhjdzExNTU6OnF1ZXJ5OjpUb2tlbnNSZXNwb25zZWN3MTE1NTo6cXVlcnk6OkJhdGNoQmFsYW5jZVJlc3BvbnNlY3cxMTU1OjpxdWVyeTo6QmFsYW5jZVJlc3BvbnNlY3cxMTU1OjpxdWVyeTo6VG9rZW5JbmZvUmVzcG9uc2VjdzI6OkNvbnRyYWN0VmVyc2lvbmNvc213YXNtX3N0ZDo6dHlwZXM6Ok1lc3NhZ2VJbmZvAA0AAAAEAAAABAAAACsAAAAsAAAALQAAAA0AAAAAAAAAAQAAAC4AAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAC8AAAAgAAAACAAAADAAAABtaXNzaW5nIGZpZWxkIGBgMAoQAA8AAAA/ChAAAQAAAHVua25vd24gZmllbGQgYGAsIHRoZXJlIGFyZSBubyBmaWVsZHMAAABQChAADwAAAF8KEAAWAAAAYCwgZXhwZWN0ZWQgUAoQAA8AAACIChAADAAAAGludmFsaWQgbGVuZ3RoICwgZXhwZWN0ZWQgAACkChAADwAAALMKEAALAAAAZHVwbGljYXRlIGZpZWxkIGAAAADQChAAEQAAAD8KEAABAAAAdW5rbm93biB2YXJpYW50IGBgLCB0aGVyZSBhcmUgbm8gdmFyaWFudHMAAAD0ChAAEQAAAAULEAAYAAAA9AoQABEAAACIChAADAAAAEFwcHJvdmFsc3BlbmRlclRva2Vuc1Jlc3BvbnNlQmFsYW5jZVJlc3BvbnNlVG9rZW5JbmZvUmVzcG9uc2V1cmxCYXRjaEJhbGFuY2VSZXNwb25zZWJhbGFuY2VzQXBwcm92ZWRGb3JBbGxSZXNwb25zZW9wZXJhdG9yc0lzQXBwcm92ZWRGb3JBbGxSZXNwb25zZWludmFsaWQgYmFzZTY0OiAA0wsQABAAAABpbnZhbGlkIFVpbnQ2NCAnJyAtIOwLEAAQAAAA/AsQAAQAAABpbnZhbGlkIFVpbnQxMjggJwAAABAMEAARAAAA/AsQAAQAAABhbHNlcnVldWxsRXhwaXJhdGlvbm1pbnRlcgAASAwQAAYAAABhcHByb3Zlc2NyYXRlcy5pbzpjdzExNTUtYmFzZTAuMTYuMEV4cGlyZWQAAHsMEAAHAAAAVW5hdXRob3JpemVkjAwQAAwAAAB0b2tlbl9pZCBhbHJlYWR5IGNsYWltZWSgDBAAGAAAADEAAAAMAAAABAAAADIAAAAzAAAANAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNGI5MWE2ZWE3MjU4YTk0N2U1OWM2NTIyY2Q1ODk4ZTdjMGE2YTg4Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAA8NEABLAAAAugkAAA4AAAA1AAAAAAAAAAEAAAAuAAAAYWN0aW9uYW1vdW50YXBwcm92ZV9hbGxzZW5kZXJjdzExNTU6OnJlY2VpdmVyOjpSZWNlaXZlckV4ZWN1dGVNc2cAAAA2AAAADAAAAAQAAAA3AAAAOAAAADQAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzRiOTFhNmVhNzI1OGE5NDdlNTljNjUyMmNkNTg5OGU3YzBhNmE4OGYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAAAPDhAASwAAALoJAAAOAAAAOQAAAAAAAAABAAAALgAAAEN3MTE1NVJlY2VpdmVNc2dvcGVyYXRvcmZyb210b2tlbl9pZGFtb3VudG1zZ0N3MTE1NUJhdGNoUmVjZWl2ZU1zZ2JhdGNoYmF0Y2hfcmVjZWl2ZXJlY2VpdmUAOgAAAAQAAAAEAAAAOwAAADwAAAA9AAAAPgAAAAgAAAAEAAAAPwAAAEAAAABBAAAACAAAAAQAAABCAAAAcGFja2FnZXMvc3RvcmFnZS1wbHVzL3NyYy9oZWxwZXJzLnJzFA8QACQAAAArAAAAEQBB0J7AAAuBEmF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3cUDxAAJAAAACsAAAAJAAAAFA8QACQAAABAAAAAEQAAABQPEAAkAAAAQAAAAAkAAAAUDxAAJAAAAEMAAAARAAAAFA8QACQAAABDAAAACQAAAG9ubHkgc3VwcG9ydHMgbmFtZXNwYWNlcyB1cCB0byBsZW5ndGggMHhGRkZGFA8QACQAAABWAAAACQAAAHBhY2thZ2VzL3N0b3JhZ2UtcGx1cy9zcmMvaXRlcl9oZWxwZXJzLnJzAAAA+A8QACkAAAAoAAAABQAAAEMAAAAUAAAABAAAAEQAAABFAAAARgAAAEcAAABQAAAADAAAAAQAAABRAAAAUgAAAFMAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzRiOTFhNmVhNzI1OGE5NDdlNTljNjUyMmNkNTg5OGU3YzBhNmE4OGYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAACfEBAASwAAALoJAAAOAAAAVAAAAAAAAAABAAAALgAAAPwQEAAAAAAAQ29udmVyc2lvbiBlcnJvcjogAAAUERAAEgAAAERpdmlkZSBieSB6ZXJvOiAwERAAEAAAAE92ZXJmbG93OiAAAEgREAAKAAAARXJyb3Igc2VyaWFsaXppbmcgdHlwZSA6IAAAAFwREAAXAAAAcxEQAAIAAABFcnJvciBwYXJzaW5nIGludG8gdHlwZSCIERAAGAAAAHMREAACAAAAIG5vdCBmb3VuZAAA/BAQAAAAAACwERAACgAAAENhbm5vdCBkZWNvZGUgVVRGOCBieXRlcyBpbnRvIHN0cmluZzogAADMERAAJgAAAEludmFsaWQgZGF0YSBzaXplOiBleHBlY3RlZD0gYWN0dWFsPfwREAAcAAAAGBIQAAgAAABJbnZhbGlkIEJhc2U2NCBzdHJpbmc6IAAwEhAAFwAAAEdlbmVyaWMgZXJyb3I6IABQEhAADwAAAFJlY292ZXIgcHVia2V5IGVycm9yOiAAAGgSEAAWAAAAVmVyaWZpY2F0aW9uIGVycm9yOiCIEhAAFAAAAENvbnZlcnNpb25PdmVyZmxvd3NvdXJjZVQAAAAEAAAABAAAAFUAAABEaXZpZGVCeVplcm9UAAAABAAAAAQAAABWAAAAT3ZlcmZsb3dUAAAABAAAAAQAAABXAAAAU2VyaWFsaXplRXJyc291cmNlX3R5cGUAVAAAAAQAAAAEAAAAWAAAAG1zZ1BhcnNlRXJydGFyZ2V0X3R5cGVOb3RGb3VuZGtpbmRJbnZhbGlkVXRmOEludmFsaWREYXRhU2l6ZWV4cGVjdGVkVAAAAAQAAAAEAAAAWQAAAGFjdHVhbEludmFsaWRCYXNlNjRHZW5lcmljRXJyUmVjb3ZlclB1YmtleUVycgAAAFQAAAAEAAAABAAAAFoAAABWZXJpZmljYXRpb25FcnIAVAAAAAQAAAAEAAAAWwAAAFNobFNoclBvd011bFN1YkFkZENhbm5vdCAgd2l0aCAgYW5kIO4TEAAHAAAA9RMQAAYAAAD7ExAABQAAAE92ZXJmbG93RXJyb3JvcGVyYXRpb24AAFQAAAAEAAAABAAAAEkAAABvcGVyYW5kMW9wZXJhbmQyQ29udmVyc2lvbk92ZXJmbG93RXJyb3IAVAAAAAQAAAAEAAAAXAAAAHZhbHVlQ2Fubm90IGRldmlkZSAgYnkgemVybwB9FBAADgAAAIsUEAAIAAAARGl2aWRlQnlaZXJvRXJyb3JvcGVyYW5k6xMQAOgTEADlExAA4hMQAN8TEADcExAAL3J1c3RjLzRiOTFhNmVhNzI1OGE5NDdlNTljNjUyMmNkNTg5OGU3YzBhNmE4OGYvbGlicmFyeS9jb3JlL3NyYy9pdGVyL2FkYXB0ZXJzL2VudW1lcmF0ZS5ycwDUFBAAWwAAADAAAAAJAAAAYXR0ZW1wdCB0byBhZGQgd2l0aCBvdmVyZmxvd18AAAAIAAAABAAAAGAAAABhAAAAYgAAAAwAAAAEAAAAYwAAAGQAAABTAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy80YjkxYTZlYTcyNThhOTQ3ZTU5YzY1MjJjZDU4OThlN2MwYTZhODhmL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAAvxUQAEsAAAC6CQAADgAAAF8AAAAAAAAAAQAAAC4AAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiAAACwWEAAqAAAAbWlzc2luZyBmaWVsZCBgYGAWEAAPAAAAbxYQAAEAAABkdXBsaWNhdGUgZmllbGQgYAAAAIAWEAARAAAAbxYQAAEAAAB1bmtub3duIHZhcmlhbnQgYGAsIHRoZXJlIGFyZSBubyB2YXJpYW50cwAAAKQWEAARAAAAtRYQABgAAABgLCBleHBlY3RlZCCkFhAAEQAAAOAWEAAMAAAAL3Vzci9sb2NhbC9jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jhc2U2NC0wLjEzLjAvc3JjL2RlY29kZS5ycwAAAPwWEABVAAAA0gEAAB8AAAD8FhAAVQAAANgBAAAfAAAA/BYQAFUAAADbAQAADQAAAPwWEABVAAAA4QEAAB8AAAD8FhAAVQAAAOQBAAANAAAA/BYQAFUAAADqAQAAHwAAAPwWEABVAAAA7QEAAA0AAAD8FhAAVQAAAPMBAAAfAAAA/BYQAFUAAAD2AQAADQAAAPwWEABVAAAA/AEAAB8AAAD8FhAAVQAAAP8BAAANAAAA/BYQAFUAAAAFAgAAHwAAAPwWEABVAAAACAIAAA0AAAD8FhAAVQAAAA4CAAAfAAAA/BYQAFUAAAARAgAADQAAAPwWEABVAAAAbgAAAC8AQeCwwAALIWF0dGVtcHQgdG8gbXVsdGlwbHkgd2l0aCBvdmVyZmxvdwBBkLHAAAuxEGF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvdwAAAPwWEABVAAAAAwEAADcAAAD8FhAAVQAAAAMBAAAkAAAA/BYQAFUAAAAEAQAAKQAAAPwWEABVAAAAIQEAABEAAAD8FhAAVQAAACoBAAApAAAA/BYQAFUAAAAqAQAAFgAAAPwWEABVAAAALgEAACkAAAD8FhAAVQAAAC4BAAAoAAAA/BYQAFUAAAAtAQAAGgAAAPwWEABVAAAAMwEAABEAAAD8FhAAVQAAAEEBAAAOAAAA/BYQAFUAAABEAQAAJwAAAPwWEABVAAAARAEAABIAAAD8FhAAVQAAAEcBAAAJAAAA/BYQAFUAAABYAQAAEwAAAPwWEABVAAAAZgEAACkAAAD8FhAAVQAAAHgBAAANAAAA/BYQAFUAAACCAQAAEQAAAPwWEABVAAAAigEAABUAAAD8FhAAVQAAAI4BAAAxAAAASW1wb3NzaWJsZTogbXVzdCBvbmx5IGhhdmUgMCB0byA4IGlucHV0IGJ5dGVzIGluIGxhc3QgY2h1bmssIHdpdGggbm8gaW52YWxpZCBsZW5ndGhz9BkQAFQAAAD8FhAAVQAAAJ0BAAAOAAAA/BYQAFUAAACoAQAADQAAAPwWEABVAAAAsQEAAAkAAABPdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIG91dHB1dCBidWZmZXIgbGVuZ3RoAAD8FhAAVQAAAJYAAAAKAAAAHBYQAAAAAABfAAAAAAAAAAEAAABlAAAAZgAAAGYAAABUTDtEUjogVmFsdWUgbXVzdCBub3QgYmUgZW1wdHkgaW4gU3RvcmFnZTo6c2V0IGJ1dCBpbiBtb3N0IGNhc2VzIHlvdSBjYW4gdXNlIFN0b3JhZ2U6OnJlbW92ZSBpbnN0ZWFkLiBMb25nIHN0b3J5OiBHZXR0aW5nIGVtcHR5IHZhbHVlcyBmcm9tIHN0b3JhZ2UgaXMgbm90IHdlbGwgc3VwcG9ydGVkIGF0IHRoZSBtb21lbnQuIFNvbWUgb2Ygb3VyIGludGVybmFsIGludGVyZmFjZXMgY2Fubm90IGRpZmZlcmVudGlhdGUgYmV0d2VlbiBhIG5vbi1leGlzdGVudCBrZXkgYW5kIGFuIGVtcHR5IHZhbHVlLiBSaWdodCBub3csIHlvdSBjYW5ub3QgcmVseSBvbiB0aGUgYmVoYXZpb3VyIG9mIGVtcHR5IHZhbHVlcy4gVG8gcHJvdGVjdCB5b3UgZnJvbSB0cm91YmxlIGxhdGVyIG9uLCB3ZSBzdG9wIGhlcmUuIFNvcnJ5IGZvciB0aGUgaW5jb252ZW5pZW5jZSEgV2UgaGlnaGx5IHdlbGNvbWUgeW91IHRvIGNvbnRyaWJ1dGUgdG8gQ29zbVdhc20sIG1ha2luZyB0aGlzIG1vcmUgc29saWQgb25lIHdheSBvciB0aGUgb3RoZXIu4BoQAAgCAAAvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY29zbXdhc20tc3RkLTEuMS4wL3NyYy9pbXBvcnRzLnJzAPAcEABbAAAAbAAAAA0AAABfAAAABAAAAAQAAABnAAAAaAAAAGkAAABqAAAAaW5wdXQgdG9vIGxvbmcgZm9yIGFkZHJfdmFsaWRhdGVhZGRyX3ZhbGlkYXRlIGVycm9yZWQ6IACYHRAAFwAAAGlucHV0IHRvbyBsb25nIGZvciBhZGRyX2Nhbm9uaWNhbGl6ZWFkZHJfY2Fub25pY2FsaXplIGVycm9yZWQ6IADcHRAAGwAAAGFkZHJfaHVtYW5pemUgZXJyb3JlZDogAAAeEAAXAAAATWVzc2FnZVRvb0xvbmcgbXVzdCBub3QgaGFwcGVuLiBUaGlzIGlzIGEgYnVnIGluIHRoZSBWTS4gHhAAOAAAAPAcEABbAAAACQEAABIAAADwHBAAWwAAACYBAAASAAAASW52YWxpZEhhc2hGb3JtYXQgbXVzdCBub3QgaGFwcGVuLiBUaGlzIGlzIGEgYnVnIGluIHRoZSBWTS4AgB4QADsAAADwHBAAWwAAAEABAAASAAAARXJyb3IgY29kZSAyIHVudXNlZCBzaW5jZSBDb3NtV2FzbSAwLjE1LiBUaGlzIGlzIGEgYnVnIGluIHRoZSBWTS4AAADUHhAAQQAAAPAcEABbAAAAPwEAABIAAADwHBAAWwAAAGABAAASAAAA8BwQAFsAAABfAQAAEgAAAGsAAAAUAAAABAAAAGwAAAAvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMC9zcmMvZW5jb2RlLnJzSW52YWxpZCBVVEY4AAAAYB8QAFUAAAA0AAAAHAAAAGludGVnZXIgb3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBidWZmZXIgc2l6ZQAAAGAfEABVAAAALwAAABEAAABtAAAACAAAAAQAAABuAAAAL3Vzci9sb2NhbC9jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Nvc213YXNtLXN0ZC0xLjEuMC9zcmMvc2VjdGlvbnMucnMkIBAAXAAAABoAAAAQAAAAYXR0ZW1wdCB0byBtdWx0aXBseSB3aXRoIG92ZXJmbG93AAAAJCAQAFwAAAAaAAAABQBB0MHAAAvxBmF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3cAAAAAYXR0ZW1wdCB0byBzdWJ0cmFjdCB3aXRoIG92ZXJmbG93AAAAJCAQAFwAAAA5AAAAGAAAAENhbm5vdCByZWFkIHNlY3Rpb24gbGVuZ3RoAAAkIRAAGgAAACQgEABcAAAANwAAAAkAAABlcnJvcnJlcXVlc3RyZXNwb25zZWFkZHJraW5kVW5rbm93biBlcnJvcjogAHQhEAAPAAAASW52YWxpZCByZWNvdmVyeSBwYXJhbWV0ZXIuIFN1cHBvcnRlZCB2YWx1ZXM6IDAgYW5kIDEuAACMIRAANgAAAEludmFsaWQgc2lnbmF0dXJlIGZvcm1hdMwhEAAYAAAASW52YWxpZCBoYXNoIGZvcm1hdADsIRAAEwAAAFVua25vd25FcnJlcnJvcl9jb2RlcAAAAAQAAAAEAAAAcQAAAEludmFsaWRSZWNvdmVyeVBhcmFtSW52YWxpZFNpZ25hdHVyZUZvcm1hdEludmFsaWRIYXNoRm9ybWF0Y29zbXdhc21fc3RkOjpyZXN1bHRzOjpzeXN0ZW1fcmVzdWx0OjpTeXN0ZW1SZXN1bHQ8Y29zbXdhc21fc3RkOjpyZXN1bHRzOjpjb250cmFjdF9yZXN1bHQ6OkNvbnRyYWN0UmVzdWx0PGNvc213YXNtX3N0ZDo6YmluYXJ5OjpCaW5hcnk+Pm9rZXJyb3IAAO8iEAACAAAA8SIQAAUAAAByAAAADAAAAAQAAABzAAAAdAAAAFMAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzRiOTFhNmVhNzI1OGE5NDdlNTljNjUyMmNkNTg5OGU3YzBhNmE4OGYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAABXIxAASwAAALoJAAAOAAAAdQAAAAQAAAAEAAAAdgAAAHcAAAB4AAAAdQAAAAAAAAABAAAALgAAAC9ydXN0Yy80YjkxYTZlYTcyNThhOTQ3ZTU5YzY1MjJjZDU4OThlN2MwYTZhODhmL2xpYnJhcnkvY29yZS9zcmMvaXRlci90cmFpdHMvYWNjdW0ucnMAAADcIxAAVQAAAI0AAAABAEHQyMAAC6YHYXR0ZW1wdCB0byBhZGQgd2l0aCBvdmVyZmxvd2ludmFsaWQgYmFzZTY0OiBsJBAAEAAAAC91c3IvbG9jYWwvY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9jb3Ntd2FzbS1zdGQtMS4xLjAvc3JjL21lbW9yeS5yc1JlZ2lvbiBwb2ludGVyIGlzIG51bGzeJBAAFgAAAIQkEABaAAAAOQAAAAUAAABSZWdpb24gc3RhcnRzIGF0IG51bGwgcG9pbnRlcgAAAAwlEAAdAAAAhCQQAFoAAAA/AAAABQAAAFN5c3RlbUVycm9yaW52YWxpZF9yZXF1ZXN0aW52YWxpZF9yZXNwb25zZW5vX3N1Y2hfY29udHJhY3R1bmtub3dudW5zdXBwb3J0ZWRfcmVxdWVzdE8lEAAPAAAAXiUQABAAAABuJRAAEAAAAH4lEAAHAAAAhSUQABMAAABraW5kwCUQAAQAAABhZGRyzCUQAAQAAABlcnJvcnJlc3BvbnNlAAAA2CUQAAUAAADdJRAACAAAAHJlcXVlc3QA2CUQAAUAAAD4JRAABwAAAFVua25vd24gZXJyb3I6IAAQJhAADwAAAEludmFsaWQgcmVjb3ZlcnkgcGFyYW1ldGVyLiBTdXBwb3J0ZWQgdmFsdWVzOiAwIGFuZCAxLgAAKCYQADYAAABJbnZhbGlkIHB1YmxpYyBrZXkgZm9ybWF0AAAAaCYQABkAAABJbnZhbGlkIHNpZ25hdHVyZSBmb3JtYXSMJhAAGAAAAEludmFsaWQgaGFzaCBmb3JtYXQArCYQABMAAABHZW5lcmljIGVycm9yAAAAyCYQAA0AAABCYXRjaCBlcnJvcgDgJhAACwAAAFVua25vd25FcnJlcnJvcl9jb2RldQAAAAQAAAAEAAAAcQAAAEludmFsaWRSZWNvdmVyeVBhcmFtSW52YWxpZFB1YmtleUZvcm1hdEludmFsaWRTaWduYXR1cmVGb3JtYXRJbnZhbGlkSGFzaEZvcm1hdEdlbmVyaWNFcnJCYXRjaEVycngnEAAAAAAAQnVmZmVyIGlzIGZ1bGwAAIAnEAAOAAAAL3Vzci9sb2NhbC9jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3NlcmRlLWpzb24td2FzbS0wLjQuMS9zcmMvc2VyL21vZC5ycwBBgNDAAAuFHWF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvd2ZhbHNlAACYJxAAXgAAANcAAAAJAAAAegAAAAgAAAAEAAAAewAAAHwAAAAvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2VyZGUtanNvbi13YXNtLTAuNC4xL3NyYy9kZS91bmVzY2FwZS5ycwAATCgQAGIAAAAlAAAAFQAAAEwoEABiAAAAMwAAACkAAABhdHRlbXB0IHRvIHN1YnRyYWN0IHdpdGggb3ZlcmZsb3dOb24taGV4IEFTQ0lJIGNoYXJhY3RlciBmb3VuZAAATCgQAGIAAACZAAAADgAAAC91c3IvbG9jYWwvY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9zZXJkZS1qc29uLXdhc20tMC40LjEvc3JjL2RlL21vZC5ycwAAACApEABdAAAAJAAAAAkAAABhdHRlbXB0IHRvIGFkZCB3aXRoIG92ZXJmbG93ICkQAF0AAAB9AAAAIgAAACApEABdAAAAgQAAACwAAADMKRAAAAAAAEpTT04gaGFzIGEgY29tbWEgYWZ0ZXIgdGhlIGxhc3QgdmFsdWUgaW4gYW4gYXJyYXkgb3IgbWFwLkpTT04gaGFzIG5vbi13aGl0ZXNwYWNlIHRyYWlsaW5nIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIHZhbHVlLkZvdW5kIGEgbG9uZSBzdXJyb2dhdGUsIHdoaWNoIGNhbiBleGlzdCBpbiBKU09OIGJ1dCBjYW5ub3QgYmUgZW5jb2RlZCB0byBVVEYtOC5PYmplY3Qga2V5IGlzIG5vdCBhIHN0cmluZy5JbnZhbGlkIHVuaWNvZGUgY29kZSBwb2ludC5JbnZhbGlkIHR5cGVJbnZhbGlkIG51bWJlci5JbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZS5FeHBlY3RlZCB0aGlzIGNoYXJhY3RlciB0byBzdGFydCBhIEpTT04gdmFsdWUuRXhwZWN0ZWQgdG8gcGFyc2UgZWl0aGVyIGEgYHRydWVgLCBgZmFsc2VgLCBvciBhIGBudWxsYC5FeHBlY3RlZCB0aGlzIGNoYXJhY3RlciB0byBiZSBlaXRoZXIgYSBgJywnYCBvciBhIGAnfSdgLkV4cGVjdGVkIGEgbG93IHN1cnJvZ2F0ZSAoREMwMOKAk0RGRkYpLkV4cGVjdGVkIHRoaXMgY2hhcmFjdGVyIHRvIGJlIGVpdGhlciBhIGAnLCdgIG9yYSBgJ10nYC5FeHBlY3RlZCBhIGhpZ2ggc3Vycm9nYXRlIChEODAw4oCTREJGRikuRXhwZWN0ZWQgdGhpcyBjaGFyYWN0ZXIgdG8gYmUgYSBgJzonYC5FT0Ygd2hpbGUgcGFyc2luZyBhIEpTT04gdmFsdWUuRU9GIHdoaWxlIHBhcnNpbmcgYSBzdHJpbmcuRU9GIHdoaWxlIHBhcnNpbmcgYW4gb2JqZWN0LkVPRiB3aGlsZSBwYXJzaW5nIGEgbGlzdC5Db250cm9sIGNoYXJhY3RlciBmb3VuZCBpbiBzdHJpbmcufgAAAAgAAAAEAAAAfwAAAEludmFsaWQgbGFzdCBzeW1ib2wgLCBvZmZzZXQgLgAA7CwQABQAAAAALRAACQAAAAktEAABAAAARW5jb2RlZCB0ZXh0IGNhbm5vdCBoYXZlIGEgNi1iaXQgcmVtYWluZGVyLgAkLRAAKwAAAEludmFsaWQgYnl0ZSAAAABYLRAADQAAAAAtEAAJAAAACS0QAAEAAABPdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIG51bWJlciBvZiBjaHVua3MgaW4gaW5wdXQvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMC9zcmMvZGVjb2RlLnJzsy0QAFUAAAC8AAAACgAAACEiIyQlJicoKSorLC0wMTIzNDU2Nzg5QEFCQ0RFRkdISUpLTE1OUFFSU1RVVlhZWltgYWJjZGVoaWprbG1wcXJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSssLi9BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS4vMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL////////////////////////////////////////////wABAgMEBQYHCAkKCwz//w0ODxAREhMUFRb///////8XGBkaGxwdHh8gISIjJCX/JicoKSorLP8tLi8w/////zEyMzQ1Nv//Nzg5Ojs8//89Pj//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pj////80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ////////GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABNjc4OTo7PD0+P/////////8CAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaG////////xwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJCgv/////////DA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCX///////8mJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+//80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ/////z//GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5g0EACYMxAAmDIQAJgxEACYMBAAmC8QAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IAAAsDUQACoAAAAvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMC9zcmMvZW5jb2RlLnJzAAAA5DUQAFUAAACSAAAAJwAAAHVzaXplIG92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgYjY0IGxlbmd0aAAA5DUQAFUAAACZAAAACgBBkO3AAAvQFGF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3fkNRAAVQAAALYAAAAgAAAA5DUQAFUAAAC3AAAAOgAAAOQ1EABVAAAAtwAAACUAAADkNRAAVQAAAPcAAAAYAAAAAAAAAGF0dGVtcHQgdG8gc3VidHJhY3Qgd2l0aCBvdmVyZmxvdwAAAOQ1EABVAAAA/AAAAC8AAADkNRAAVQAAAPwAAAAcAAAA5DUQAFUAAAD9AAAANgAAAOQ1EABVAAAA/QAAACEAAADkNRAAVQAAABMBAAAuAAAA5DUQAFUAAAATAQAACQAAAOQ1EABVAAAAFAEAAAkAAADkNRAAVQAAAAsBAAAuAAAA5DUQAFUAAAALAQAACQAAAOQ1EABVAAAADQEAAA8AAADkNRAAVQAAAAwBAAAJAAAA5DUQAFUAAAAPAQAACQAAAEltcG9zc2libGUgcmVtYWluZGVy1DcQABQAAADkNRAAVQAAACoBAAAWAAAA5DUQAFUAAAA7AQAACQAAAFgvEAAYLxAA2C4QAJguEABYLhAAGC4QAGBvbmUgb2YgKTgQAAcAAAAsIAAAODgQAAIAAAAoOBAAAQAAACg4EAABAAAAYCBvciBgAAAoOBAAAQAAAFQ4EAAGAAAAKDgQAAEAAAAvdXNyL2xvY2FsL2NhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2VyZGUtMS4wLjE0NC9zcmMvZGUvbW9kLnJzZXhwbGljaXQgcGFuaWMAdDgQAFUAAADtCAAAEgAAAIQAAAAIAAAABAAAAIUAAACGAAAAhwAAAAgAAAAEAAAAiAAAAIoAAAAEAAAABAAAAIsAAACMAAAAjQAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkCgAATzkQABUAAABkORAADgAAAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5yc4Q5EAAYAAAAUgEAAAkAAABjYW5ub3QgbW9kaWZ5IHRoZSBwYW5pYyBob29rIGZyb20gYSBwYW5pY2tpbmcgdGhyZWFkrDkQADQAAABsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJz6DkQABwAAAB9AAAACQAAAOg5EAAcAAAARgIAAB8AAADoORAAHAAAAEcCAAAeAAAAjgAAAAwAAAAEAAAAjwAAAIoAAAAIAAAABAAAAJAAAACRAAAAEAAAAAQAAACSAAAAkwAAAIoAAAAIAAAABAAAAJQAAACVAAAAlgAAAAQAAAAEAAAAlwAAAJgAAACZAAAAlgAAAAQAAAAEAAAAmgAAAJYAAAAAAAAAAQAAAC4AAABsaWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3cAAADQOhAAEQAAALQ6EAAcAAAABQIAAAUAAABhIGZvcm1hdHRpbmcgdHJhaXQgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3JsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMALzsQABgAAABkAgAAIAAAAClsaWJyYXJ5L2FsbG9jL3NyYy92ZWMvbW9kLnJzKSBzaG91bGQgYmUgPD0gbGVuIChpcyBgYXRgIHNwbGl0IGluZGV4IChpcyAAAACMOxAAFQAAAHU7EAAXAAAAWDsQAAEAAABZOxAAHAAAAMcHAAANAAAAlgAAAAQAAAAEAAAAmwAAAGJ5dGVzZXJyb3IAAJYAAAAEAAAABAAAAJwAAABGcm9tVXRmOEVycm9yAAAAbnVtYmVyIHdvdWxkIGJlIHplcm8gZm9yIG5vbi16ZXJvIHR5cGVudW1iZXIgdG9vIHNtYWxsIHRvIGZpdCBpbiB0YXJnZXQgdHlwZW51bWJlciB0b28gbGFyZ2UgdG8gZml0IGluIHRhcmdldCB0eXBlaW52YWxpZCBkaWdpdCBmb3VuZCBpbiBzdHJpbmdjYW5ub3QgcGFyc2UgaW50ZWdlciBmcm9tIGVtcHR5IHN0cmluZykuLr48EAACAAAAaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyAAAMg8EAAgAAAA6DwQABIAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlOgg8EAAAAAAANz0QAAEAAAA3PRAAAQAAAKQAAAAAAAAAAQAAAKUAAABwYW5pY2tlZCBhdCAnJywgbD0QAAEAAABtPRAAAwAAAAg8EAAAAAAAYDogAAg8EAAAAAAAiT0QAAIAAACkAAAADAAAAAQAAACmAAAApwAAAKgAAAAgICAgIHsKLAosICB7IH0gfSgKKCwKWwCkAAAABAAAAAQAAACpAAAAXWxpYnJhcnkvY29yZS9zcmMvZm10L251bS5yczB4MDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTlhc3NlcnRpb24gZmFpbGVkOiAqY3VyciA+IDE5AADdPRAAGwAAAOUBAAAFAAAApAAAAAQAAAAEAAAAqgAAAKsAAACsAAAAcmFuZ2Ugc3RhcnQgaW5kZXggIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIAg/EAASAAAAGj8QACIAAABsaWJyYXJ5L2NvcmUvc3JjL3NsaWNlL2luZGV4LnJzAEw/EAAfAAAANAAAAAUAAAByYW5nZSBlbmQgaW5kZXggfD8QABAAAAAaPxAAIgAAAEw/EAAfAAAASQAAAAUAAABzbGljZSBpbmRleCBzdGFydHMgYXQgIGJ1dCBlbmRzIGF0IACsPxAAFgAAAMI/EAANAAAATD8QAB8AAABcAAAABQAAAGluY29tcGxldGUgdXRmLTggYnl0ZSBzZXF1ZW5jZSBmcm9tIGluZGV4IAAA8D8QACoAAABpbnZhbGlkIHV0Zi04IHNlcXVlbmNlIG9mICBieXRlcyBmcm9tIGluZGV4ICRAEAAaAAAAPkAQABIAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBooLBAAszAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwQEBAQEAEHggsEAC+8VbGlicmFyeS9jb3JlL3NyYy9zdHIvbW9kLnJzWy4uLl1ieXRlIGluZGV4ICBpcyBvdXQgb2YgYm91bmRzIG9mIGAAAACAQRAACwAAAItBEAAWAAAAiD0QAAEAAABgQRAAGwAAAGsAAAAJAAAAYmVnaW4gPD0gZW5kICggPD0gKSB3aGVuIHNsaWNpbmcgYAAAzEEQAA4AAADaQRAABAAAAN5BEAAQAAAAiD0QAAEAAABgQRAAGwAAAG8AAAAFAAAAYEEQABsAAAB9AAAALQAAACBpcyBub3QgYSBjaGFyIGJvdW5kYXJ5OyBpdCBpcyBpbnNpZGUgIChieXRlcyApIG9mIGCAQRAACwAAADBCEAAmAAAAVkIQAAgAAABeQhAABgAAAIg9EAABAAAAYEEQABsAAAB/AAAABQAAAGxpYnJhcnkvY29yZS9zcmMvdW5pY29kZS9wcmludGFibGUucnMAAACcQhAAJQAAABoAAAA2AAAAAAEDBQUGBgIHBggHCREKHAsZDBoNEA4NDwQQAxISEwkWARcEGAEZAxoHGwEcAh8WIAMrAy0LLgEwAzECMgGnAqkCqgSrCPoC+wX9Av4D/wmteHmLjaIwV1iLjJAc3Q4PS0z7/C4vP1xdX+KEjY6RkqmxurvFxsnK3uTl/wAEERIpMTQ3Ojs9SUpdhI6SqbG0urvGys7P5OUABA0OERIpMTQ6O0VGSUpeZGWEkZudyc7PDREpOjtFSVdbXF5fZGWNkam0urvFyd/k5fANEUVJZGWAhLK8vr/V1/Dxg4WLpKa+v8XHzs/a20iYvc3Gzs9JTk9XWV5fiY6Psba3v8HGx9cRFhdbXPb3/v+AbXHe3w4fbm8cHV99fq6vf7u8FhceH0ZHTk9YWlxefn+1xdTV3PDx9XJzj3R1liYuL6evt7/Hz9ffmkCXmDCPH9LUzv9OT1pbBwgPECcv7u9ubzc9P0JFkJFTZ3XIydDR2Nnn/v8AIF8igt8EgkQIGwQGEYGsDoCrBR8JgRsDGQgBBC8ENAQHAwEHBgcRClAPEgdVBwMEHAoJAwgDBwMCAwMDDAQFAwsGAQ4VBU4HGwdXBwIGFg1QBEMDLQMBBBEGDww6BB0lXyBtBGolgMgFgrADGgaC/QNZBxYJGAkUDBQMagYKBhoGWQcrBUYKLAQMBAEDMQssBBoGCwOArAYKBi8xTQOApAg8Aw8DPAc4CCsFgv8RGAgvES0DIQ8hD4CMBIKXGQsViJQFLwU7BwIOGAmAviJ0DIDWGgwFgP8FgN8M8p0DNwmBXBSAuAiAywUKGDsDCgY4CEYIDAZ0Cx4DWgRZCYCDGBwKFglMBICKBqukDBcEMaEEgdomBwwFBYCmEIH1BwEgKgZMBICNBIC+AxsDDw0ABgEBAwEEAgUHBwIICAkCCgULAg4EEAERAhIFExEUARUCFwIZDRwFHQgkAWoEawKvA7wCzwLRAtQM1QnWAtcC2gHgBeEC5wToAu4g8AT4AvoC+wEMJzs+Tk+Pnp6fe4uTlqKyuoaxBgcJNj0+VvPQ0QQUGDY3Vld/qq6vvTXgEoeJjp4EDQ4REikxNDpFRklKTk9kZVy2txscBwgKCxQXNjk6qKnY2Qk3kJGoBwo7PmZpj5JvX7/u71pi9Pz/mpsuLycoVZ2goaOkp6iturzEBgsMFR06P0VRpqfMzaAHGRoiJT4/5+zv/8XGBCAjJSYoMzg6SEpMUFNVVlhaXF5gY2Vma3N4fX+KpKqvsMDQrq9ub5NeInsFAwQtA2YDAS8ugIIdAzEPHAQkCR4FKwVEBA4qgKoGJAQkBCgINAtOQ4E3CRYKCBg7RTkDYwgJMBYFIQMbBQFAOARLBS8ECgcJB0AgJwQMCTYDOgUaBwQMB1BJNzMNMwcuCAqBJlJOKAgqFhomHBQXCU4EJAlEDRkHCgZICCcJdQs/QSoGOwUKBlEGAQUQAwWAi2IeSAgKgKZeIkULCgYNEzoGCjYsBBeAuTxkUwxICQpGRRtICFMNSYEHRgodA0dJNwMOCAoGOQcKgTYZgLcBDzINg5tmdQuAxIpMYw2EL4/RgkehuYI5ByoEXAYmCkYKKAUTgrBbZUsEOQcRQAULAg6X+AiE1ioJoueBMy0DEQQIgYyJBGsFDQMJBxCSYEcJdDyA9gpzCHAVRoCaFAxXCRmAh4FHA4VCDxWEUB+A4SuA1S0DGgQCgUAfEToFAYTggPcpTAQKBAKDEURMPYDCPAYBBFUFGzQCgQ4sBGQMVgqArjgdDSwECQcCDgaAmoPYBRADDQN0DFkHDAQBDwwEOAgKBigIIk6BVAwVAwUDBwkdAwsFBgoKBggIBwmAyyUKhAZsaWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvdW5pY29kZV9kYXRhLnJzAAAAPUgQACgAAABLAAAAKAAAAD1IEAAoAAAAVwAAABYAAAA9SBAAKAAAAFIAAAA+AAAAU29tZU5vbmWkAAAABAAAAAQAAACtAAAARXJyb3JVdGY4RXJyb3J2YWxpZF91cF90b2Vycm9yX2xlbgAApAAAAAQAAAAEAAAArgAAAAADAACDBCAAkQVgAF0ToAASFyAfDCBgH+8soCsqMCAsb6bgLAKoYC0e+2AuAP4gNp7/YDb9AeE2AQohNyQN4TerDmE5LxihOTAc4UfzHiFM8GrhT09vIVCdvKFQAM9hUWXRoVEA2iFSAODhUzDhYVWu4qFW0OjhViAAblfwAf9XAHAABwAtAQEBAgECAQFICzAVEAFlBwIGAgIBBCMBHhtbCzoJCQEYBAEJAQMBBSsDPAgqGAEgNwEBAQQIBAEDBwoCHQE6AQEBAgQIAQkBCgIaAQICOQEEAgQCAgMDAR4CAwELAjkBBAUBAgQBFAIWBgEBOgEBAgEECAEHAwoCHgE7AQEBDAEJASgBAwE3AQEDBQMBBAcCCwIdAToBAgECAQMBBQIHAgsCHAI5AgEBAgQIAQkBCgIdAUgBBAECAwEBCAFRAQIHDAhiAQIJCwZKAhsBAQEBATcOAQUBAgULASQJAWYEAQYBAgICGQIEAxAEDQECAgYBDwEAAwADHQIeAh4CQAIBBwgBAgsJAS0DAQF1AiIBdgMEAgkBBgPbAgIBOgEBBwEBAQECCAYKAgEwHzEEMAcBAQUBKAkMAiAEAgIBAzgBAQIDAQEDOggCApgDAQ0BBwQBBgEDAsZAAAHDIQADjQFgIAAGaQIABAEKIAJQAgABAwEEARkCBQGXAhoSDQEmCBkLLgMwAQIEAgInAUMGAgICAgwBCAEvATMBAQMCAgUCAQEqAggB7gECAQQBAAEAEBAQAAIAAeIBlQUAAwECBQQoAwQBpQIABAACmQsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQwCNAkKBAIBXwMCAQECBgGgAQMIFQI5AgEBAQEWAQ4HAwXDCAIDAQEXAVEBAgYBAQIBAQIBAusBAgQGAgECGwJVCAIBAQJqAQEBAgYBAWUDAgQBBQAJAQL1AQoCAQEEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQIABwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgAFOwcAAT8EUQEAAgAuAhcAAQEDBAUICAIHHgSUAwA3BDIIAQ4BFgUBDwAHARECBwECAQUABwABPQQAB20HAGCA8AAAJgAAAB0AAAAmAAAAJgAAACYAAACXPBAAejwQAFQ8EAAuPBAACDwQ", - "code_id": "2", - "code_info": { - "code_hash": "3bvbtCQTkXuGzJsXYjDJIvTwCQIFVe/pZzTonXayJlM=", - "creator": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "instantiate_config": { "address": "", "addresses": [], "permission": "Everybody" } - }, - "pinned": true - } - ], - "contracts": [ - { - "contract_address": "ixo14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sqa3vn7", - "contract_info": { - "admin": "ixo1g7xtrvc8ejkenee8a3gryvx6d4n9uu6gpsx63z", - "code_id": "1", - "created": null, - "creator": "ixo1n8yrmeatsk74dw0zs95ess9sgzptd6thgjgcj2", - "extension": null, - "ibc_port_id": "", - "label": "initiate_entity_nft_contract" - }, - "contract_state": [ - { - "key": "0006746F6B656E736469643A69786F3A656E746974793A6561666632353466326663363261656663613064383331626337333631633134", - "value": "eyJvd25lciI6Iml4bzFuOHlybWVhdHNrNzRkdzB6czk1ZXNzOXNnenB0ZDZ0aGdqZ2NqMiIsImFwcHJvdmFscyI6W10sInRva2VuX3VyaSI6ImRpZDppeG86ZW50aXR5OmVhZmYyNTRmMmZjNjJhZWZjYTBkODMxYmM3MzYxYzE0IiwiZXh0ZW5zaW9uIjpudWxsfQ==" - }, - { - "key": "000D746F6B656E735F5F6F776E6572002A69786F316E3879726D656174736B37346477307A7339356573733973677A707464367468676A67636A326469643A69786F3A656E746974793A6561666632353466326663363261656663613064383331626337333631633134", - "value": "NDc=" - }, - { "key": "636F6E74726163745F696E666F", "value": "eyJjb250cmFjdCI6ImNyYXRlcy5pbzpjdzcyMS1iYXNlIiwidmVyc2lvbiI6IjAuMTMuMiJ9" }, - { "key": "6D696E746572", "value": "Iml4bzFnN3h0cnZjOGVqa2VuZWU4YTNncnl2eDZkNG45dXU2Z3BzeDYzeiI=" }, - { "key": "6E66745F696E666F", "value": "eyJuYW1lIjoiZW50aXR5X25mdCIsInN5bWJvbCI6ImVudGl0eSJ9" }, - { "key": "6E756D5F746F6B656E73", "value": "MQ==" } - ] - } - ], - "gen_msgs": [], - "params": { "code_upload_access": { "address": "", "addresses": [], "permission": "Everybody" }, "instantiate_default_permission": "Everybody" }, - "sequences": [ - { "id_key": "BGxhc3RDb2RlSWQ=", "value": "3" }, - { "id_key": "BGxhc3RDb250cmFjdElk", "value": "2" } - ] - } - }, - "chain_id": "pandora-4", - "consensus_params": { - "block": { "max_bytes": "22020096", "max_gas": "-1", "time_iota_ms": "1000" }, - "evidence": { "max_age_duration": "172800000000000", "max_age_num_blocks": "100000", "max_bytes": "1048576" }, - "validator": { "pub_key_types": ["ed25519"] }, - "version": {} - }, - "genesis_time": "2023-03-06T16:44:13.184768792Z", - "initial_height": "9487", - "validators": [{ "address": "4E32FEEF381E5935D4D8C411E0AD75AD6F91BFFA", "name": "local", "power": "1", "pub_key": { "type": "tendermint/PubKeyEd25519", "value": "YPBb/RbSf03WQF8fC3rCCMa0Da1aBF7pRed1sSUclLM=" } }] -} diff --git a/go.mod b/go.mod index 5f1ee657..015384ec 100644 --- a/go.mod +++ b/go.mod @@ -3,11 +3,14 @@ module github.com/ixofoundation/ixo-blockchain go 1.19 require ( - github.com/CosmWasm/wasmd v0.30.0 + cosmossdk.io/errors v1.0.0-beta.7 + github.com/CosmWasm/wasmd v0.31.0 + github.com/CosmWasm/wasmvm v1.2.4 github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce - github.com/cosmos/cosmos-sdk v0.45.12 - github.com/cosmos/ibc-go/v4 v4.3.0 - github.com/cosmos/interchain-accounts v0.2.4 + github.com/cosmos/cosmos-sdk v0.45.16 + github.com/cosmos/ibc-apps/modules/async-icq/v4 v4.0.0-20230524151648-c02fa46c2860 + github.com/cosmos/ibc-go/v4 v4.4.1 + github.com/cosmos/interchain-accounts v0.2.6 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.2 github.com/gorilla/mux v1.8.0 @@ -16,51 +19,64 @@ require ( github.com/rakyll/statik v0.1.7 github.com/regen-network/cosmos-proto v0.3.1 github.com/spf13/cast v1.5.0 - github.com/spf13/cobra v1.6.0 + github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 - github.com/stretchr/testify v1.8.1 + github.com/strangelove-ventures/packet-forward-middleware/v4 v4.0.6 + github.com/stretchr/testify v1.8.2 github.com/tendermint/go-amino v0.16.0 - github.com/tendermint/tendermint v0.34.24 + github.com/tendermint/tendermint v0.34.27 github.com/tendermint/tm-db v0.6.7 - golang.org/x/exp v0.0.0-20221019170559-20944726eadf - google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e - google.golang.org/grpc v1.50.1 + golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 + google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa + google.golang.org/grpc v1.53.0 google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 ) require ( - filippo.io/edwards25519 v1.0.0-beta.2 // indirect + cosmossdk.io/api v0.2.6 // indirect + cosmossdk.io/core v0.5.1 // indirect + cosmossdk.io/depinject v1.0.0-alpha.3 // indirect + filippo.io/edwards25519 v1.0.0-rc.1 // indirect github.com/99designs/keyring v1.2.1 // indirect github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/CosmWasm/wasmvm v1.1.1 // indirect + github.com/DataDog/zstd v1.5.0 // indirect + github.com/HdrHistogram/hdrhistogram-go v1.1.2 // indirect github.com/Workiva/go-datastructures v1.0.53 // indirect - github.com/armon/go-metrics v0.4.0 // indirect + github.com/armon/go-metrics v0.4.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect - github.com/btcsuite/btcd v0.22.2 // indirect + github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/coinbase/rosetta-sdk-go v0.7.0 // indirect + github.com/cockroachdb/errors v1.9.1 // indirect + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 // indirect + github.com/cockroachdb/redact v1.1.3 // indirect + github.com/coinbase/rosetta-sdk-go v0.7.9 // indirect + github.com/cometbft/cometbft-db v0.7.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect - github.com/cosmos/btcutil v1.0.4 // indirect - github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect + github.com/cosmos/btcutil v1.0.5 // indirect + github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32 // indirect + github.com/cosmos/cosmos-proto v1.0.0-beta.2 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/gogoproto v1.4.3 // indirect + github.com/cosmos/gogoproto v1.4.6 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.4 // indirect + github.com/cosmos/iavl v0.19.5 // indirect github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect github.com/creachadair/taskgroup v0.3.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect github.com/dgraph-io/ristretto v0.1.0 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect - github.com/docker/distribution v2.8.1+incompatible // indirect + github.com/docker/distribution v2.8.2+incompatible // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/felixge/httpsnoop v1.0.1 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/getsentry/sentry-go v0.17.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect @@ -69,6 +85,7 @@ require ( github.com/golang/glog v1.0.0 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect + github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/gorilla/handlers v1.5.1 // indirect @@ -78,16 +95,20 @@ require ( github.com/gtank/merlin v0.1.1 // indirect github.com/gtank/ristretto255 v0.1.2 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect + github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect + github.com/iancoleman/orderedmap v0.2.0 // indirect github.com/improbable-eng/grpc-web v0.14.1 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect github.com/klauspost/compress v1.15.11 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/lib/pq v1.10.6 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect + github.com/linxGnu/grocksdb v1.7.10 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.16 // indirect @@ -106,6 +127,7 @@ require ( github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect + github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/rs/cors v1.8.2 // indirect github.com/rs/zerolog v1.27.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect @@ -114,15 +136,16 @@ require ( github.com/spf13/viper v1.14.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect + github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect github.com/tidwall/btree v1.5.0 // indirect github.com/zondax/hid v0.9.1 // indirect github.com/zondax/ledger-go v0.14.1 // indirect go.etcd.io/bbolt v1.3.6 // indirect golang.org/x/crypto v0.5.0 // indirect - golang.org/x/net v0.5.0 // indirect - golang.org/x/sys v0.4.0 // indirect - golang.org/x/term v0.4.0 // indirect - golang.org/x/text v0.6.0 // indirect + golang.org/x/net v0.7.0 // indirect + golang.org/x/sys v0.5.0 // indirect + golang.org/x/term v0.5.0 // indirect + golang.org/x/text v0.7.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect @@ -138,7 +161,10 @@ replace ( github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - // latest grpc doesn't work with with our modified proto compiler, so we need to enforce + // use cometbft + github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27 + + // latest grpc doesn't work with our modified proto compiler, so we need to enforce // the following version across all dependencies. google.golang.org/grpc => google.golang.org/grpc v1.33.2 ) diff --git a/go.sum b/go.sum index a8fc7ac8..9f9be226 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,13 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= @@ -22,6 +24,7 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -34,43 +37,56 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= +cosmossdk.io/api v0.2.6 h1:AoNwaLLapcLsphhMK6+o0kZl+D6MMUaHVqSdwinASGU= +cosmossdk.io/api v0.2.6/go.mod h1:u/d+GAxil0nWpl1XnQL8nkziQDIWuBDhv8VnDm/s6dI= +cosmossdk.io/core v0.5.1 h1:vQVtFrIYOQJDV3f7rw4pjjVqc1id4+mE0L9hHP66pyI= +cosmossdk.io/core v0.5.1/go.mod h1:KZtwHCLjcFuo0nmDc24Xy6CRNEL9Vl/MeimQ2aC7NLE= +cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw= +cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= +cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= +cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-beta.2 h1:/BZRNzm8N4K4eWfK28dL4yescorxtO7YG1yun8fy+pI= -filippo.io/edwards25519 v1.0.0-beta.2/go.mod h1:X+pm78QAUPtFLi1z9PYIlS/bdDnvbCOGKtZ+ACWEf7o= -github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= -github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= -github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= +filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= +filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= +git.sr.ht/~sircmpwn/go-bare v0.0.0-20210406120253-ab86bc2846d9/go.mod h1:BVJwbDfVjCjoFiKrhkei6NdGcZYpkDkdyCdg1ukytRA= +github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/CosmWasm/wasmd v0.30.0 h1:oUVz3TgO/+24JZQdoTOlOv+IK7N9hEa/s3M4eR9i4FQ= -github.com/CosmWasm/wasmd v0.30.0/go.mod h1:umLGeYyowAMMEdOYfDOf8jsDrQ75Qkm1+ogBXT/w01c= -github.com/CosmWasm/wasmvm v1.1.1 h1:0xtdrmmsP9fibe+x42WcMkp5aQ738BICgcH3FNVLzm4= -github.com/CosmWasm/wasmvm v1.1.1/go.mod h1:ei0xpvomwSdONsxDuONzV7bL1jSET1M8brEx0FCXc+A= +github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= +github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= +github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= +github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= +github.com/CosmWasm/wasmd v0.31.0 h1:xACf6A/SkCeGWQWrKGsR4X9PQb5G4XYuNfnrl+HQ1mE= +github.com/CosmWasm/wasmd v0.31.0/go.mod h1:VcyDGk/ISVlMUeW+1GGL0zdHWBS2FPwLEV2qZ86l7l8= +github.com/CosmWasm/wasmvm v1.2.4 h1:6OfeZuEcEH/9iqwrg2pkeVtDCkMoj9U6PpKtcrCyVrQ= +github.com/CosmWasm/wasmvm v1.2.4/go.mod h1:vW/E3h8j9xBQs9bCoijDuawKo9kCtxOaS8N8J7KFtkc= +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/DataDog/zstd v1.5.0 h1:+K/VEwIAaPcHiMtQvpLD4lqW7f0Gk3xdYZmI1hD+CXo= +github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= +github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= @@ -79,27 +95,40 @@ github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1: github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/alecthomas/participle/v2 v2.0.0-alpha7 h1:cK4vjj0VSgb3lN1nuKA5F7dw+1s1pWBe5bx7nNCnN+c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.4.0 h1:yCQqn7dwca4ITXb+CbubHmedzaQYHhNhrEXLYUeEe8Q= -github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= +github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= +github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= +github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= +github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= +github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= +github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= +github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= +github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -107,14 +136,20 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= +github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= +github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= +github.com/btcsuite/btcd v0.21.0-beta.0.20201114000516-e9c7a5ac6401/go.mod h1:Sv4JPQ3/M+teHz9Bo5jBpkNcP0x6r7rdihlNL/7tTAs= +github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= github.com/btcsuite/btcd v0.22.2 h1:vBZ+lGGd1XubpOWO67ITJpAEsICWhA0YzqkcpkgNBfo= -github.com/btcsuite/btcd v0.22.2/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= +github.com/btcsuite/btcd/btcec/v2 v2.1.2/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= +github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= +github.com/btcsuite/btcd/btcutil v1.1.2 h1:XLMbX8JQEiwMcYft2EGi8zPUkoa0abKIU6/BJSRsjzQ= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= @@ -128,6 +163,8 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= +github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -144,14 +181,41 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= -github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U= +github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cockroachdb/apd/v3 v3.1.0 h1:MK3Ow7LH0W8zkd5GMKA1PvS9qG3bWFI95WaVNfyZJ/w= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v1.0.0/go.mod h1:5Ib8Meh+jk1RlHIXej6Pzevx/NLlNvQB9pmSBZErGA4= +github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/errors v1.6.1/go.mod h1:tm6FTP5G81vwJ5lC0SizQo374JNCOPrHyXGitRJoDqM= +github.com/cockroachdb/errors v1.8.1/go.mod h1:qGwQn6JmZ+oMjuLwjWzUNqblqk0xl4CVV3SQbGwK7Ac= +github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8= +github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 h1:qbb/AE938DFhOajUYh9+OXELpSF9KZw2ZivtmW6eX1Q= +github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677/go.mod h1:890yq1fUb9b6dGNwssgeUO5vQV9qfXnCPxAJhBQfXw0= +github.com/cockroachdb/redact v1.0.8/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= +github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coinbase/rosetta-sdk-go v0.7.0 h1:lmTO/JEpCvZgpbkOITL95rA80CPKb5CtMzLaqF2mCNg= -github.com/coinbase/rosetta-sdk-go v0.7.0/go.mod h1:7nD3oBPIiHqhRprqvMgPoGxe/nyq3yftRmpsy29coWE= +github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= +github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI= +github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= +github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M= +github.com/cometbft/cometbft v0.34.27 h1:ri6BvmwjWR0gurYjywcBqRe4bbwc3QVs9KRcCzgh/J0= +github.com/cometbft/cometbft v0.34.27/go.mod h1:BcCbhKv7ieM0KEddnYXvQZR+pZykTKReJJYf7YC7qhw= +github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= +github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= +github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= +github.com/consensys/bavard v0.1.8-0.20210915155054-088da2f7f54a/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI= +github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= +github.com/consensys/gnark-crypto v0.5.3/go.mod h1:hOdPlWQV1gDLp7faZVeg8Y0iEPFaOUnCc4XeCCk96p0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= @@ -159,25 +223,29 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= -github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= -github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= -github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= -github.com/cosmos/cosmos-sdk v0.45.12 h1:Z0kOOjOfHP+loO42KZZo3Y+PAZsoYycyiSckVXzwOm4= -github.com/cosmos/cosmos-sdk v0.45.12/go.mod h1:ZAdIs09zttoA3aSwQCTK9gecOThUVNnzBSVj3DiS6UY= +github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= +github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= +github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32 h1:zlCp9n3uwQieELltZWHRmwPmPaZ8+XoL2Sj+A2YJlr8= +github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32/go.mod h1:kwMlEC4wWvB48zAShGKVqboJL6w4zCLesaNQ3YLU2BQ= +github.com/cosmos/cosmos-proto v1.0.0-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= +github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= +github.com/cosmos/cosmos-sdk v0.45.16 h1:5ba/Bh5/LE55IwHQuCU4fiG4eXeDKtSWzehXRpaKDcw= +github.com/cosmos/cosmos-sdk v0.45.16/go.mod h1:bScuNwWAP0TZJpUf+SHXRU3xGoUPp+X9nAzfeIXts40= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/gogoproto v1.4.3 h1:RP3yyVREh9snv/lsOvmsAPQt8f44LgL281X0IOIhhcI= -github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= +github.com/cosmos/gogoproto v1.4.6 h1:Ee7z15dWJaGlgM2rWrK8N2IX7PQcuccu8oG68jp5RL4= +github.com/cosmos/gogoproto v1.4.6/go.mod h1:VS/ASYmPgv6zkPKLjR9EB91lwbLHOzaGCirmKKhncfI= github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= -github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v4 v4.3.0 h1:yOzVsyZzsv4XPBux8gq+D0LhZn45yGWKjvT+6Vyo5no= -github.com/cosmos/ibc-go/v4 v4.3.0/go.mod h1:CcLvIoi9NNtIbNsxs4KjBGjYhlwqtsmXy1AKARKiMzQ= -github.com/cosmos/interchain-accounts v0.2.4 h1:7UrroFQsCRSp17980mk6anx4YteveIJVkU+a0wlsHQI= -github.com/cosmos/interchain-accounts v0.2.4/go.mod h1:jeiJEb0zg609G0oCrCG0r6Guhb7YbA1uFiwww/1YgZE= +github.com/cosmos/iavl v0.19.5 h1:rGA3hOrgNxgRM5wYcSCxgQBap7fW82WZgY78V9po/iY= +github.com/cosmos/iavl v0.19.5/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= +github.com/cosmos/ibc-apps/modules/async-icq/v4 v4.0.0-20230524151648-c02fa46c2860 h1:25/KpA4WJqdFjKFsa3VEL0ctWRovkEsqIn2phCAi9v0= +github.com/cosmos/ibc-apps/modules/async-icq/v4 v4.0.0-20230524151648-c02fa46c2860/go.mod h1:X/dLZ6QxTImzno7qvD6huLhh6ZZBcRt2URn4YCLcXFY= +github.com/cosmos/ibc-go/v4 v4.4.1 h1:pHPLEpQStGuHZe5J17WvG7w0VGwTmfsoAHrs45+vPfw= +github.com/cosmos/ibc-go/v4 v4.4.1/go.mod h1:UkKEQAPWckLuomhqG8XzeE5nWQPdiEYF8EIDWXBKSXA= +github.com/cosmos/interchain-accounts v0.2.6 h1:TV2M2g1/Rb9MCNw1YePdBKE0rcEczNj1RGHT+2iRYas= +github.com/cosmos/interchain-accounts v0.2.6/go.mod h1:lUzWNzCiCtIEYZefac5+YgEBz2aR39nMS374jIv1c7o= github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76 h1:DdzS1m6o/pCqeZ8VOAit/gyATedRgjvkVI+UCrLpyuU= github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76/go.mod h1:0mkLWIoZuQ7uBoospo5Q9zIpqq6rYCPJDSUdeCJvPM8= github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= @@ -188,19 +256,29 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cucumber/common/gherkin/go/v22 v22.0.0 h1:4K8NqptbvdOrjL9DEea6HFjSpbdT9+Q5kgLpmmsHYl0= +github.com/cucumber/common/messages/go/v17 v17.1.1 h1:RNqopvIFyLWnKv0LfATh34SWBhXeoFTJnSrgm9cT/Ts= +github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= +github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= +github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= +github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= +github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= +github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= -github.com/dgraph-io/badger/v2 v2.2007.2/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= +github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= @@ -208,41 +286,49 @@ github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70d github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= -github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= +github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= +github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= -github.com/dvyukov/go-fuzz v0.0.0-20200318091601-be3528f3a813/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= +github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= +github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= -github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= @@ -251,12 +337,25 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= +github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c= +github.com/getsentry/sentry-go v0.17.0 h1:UustVWnOoDFHBS7IJUB2QK/nB5pap748ZEp0swnQJak= +github.com/getsentry/sentry-go v0.17.0/go.mod h1:B82dxtBvxG0KaPD8/hfSV+VcHD+Lg/xUS4JuQn1P4cM= +github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= +github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= +github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -274,16 +373,20 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= +github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= -github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= @@ -294,8 +397,17 @@ github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/E github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= +github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= +github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM= +github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= @@ -329,15 +441,16 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= +github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= +github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -349,6 +462,8 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -373,6 +488,7 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= @@ -385,11 +501,12 @@ github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= @@ -409,6 +526,7 @@ github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIv github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -424,39 +542,64 @@ github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= -github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= +github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= +github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= +github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= +github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/hydrogen18/memlistener v0.0.0-20141126152155-54553eb933fb/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= +github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= +github.com/iancoleman/orderedmap v0.2.0 h1:sq1N/TFpYH++aViPcaKjys3bDClUEU7s5B+z6jq8pNA= +github.com/iancoleman/orderedmap v0.2.0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/improbable-eng/grpc-web v0.14.1 h1:NrN4PY71A6tAz2sKDvC5JCauENWp0ykG8Oq1H3cpFvw= github.com/improbable-eng/grpc-web v0.14.1/go.mod h1:zEjGHa8DAlkoOXmswrNvhUGEYQA9UI7DhrGeHR1DMGU= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= +github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= +github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= +github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= +github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= +github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= +github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= +github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= +github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= +github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= +github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62A0xJL6I+umB2YTlFRwWXaDFA0jy+5HzGiJjqI= +github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk= +github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g= +github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.13.1-0.20220928232736-101791cb1b4c h1:XImQJfpJLmGEEd8ll5yPVyL/aEvmgGHW4WYTyNseLOM= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= @@ -472,65 +615,111 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= +github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= +github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk= +github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8= +github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U= +github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE= +github.com/kataras/neffos v0.0.10/go.mod h1:ZYmJC07hQPW67eKuzlfY7SO3bC0mw83A3j6im82hfqw= +github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE= +github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0= +github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro= +github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d h1:Z+RDyXzjKE0i2sTjZ/b1uxiGtPhFy34Ou/Tk0qwN0kM= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= +github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g= +github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= +github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linxGnu/grocksdb v1.7.10 h1:dz7RY7GnFUA+GJO6jodyxgkUeGMEkPp3ikt9hAcNGEw= +github.com/linxGnu/grocksdb v1.7.10/go.mod h1:0hTf+iA+GOr0jDX4CgIYyJZxqOH9XlBh6KVj8+zmF34= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg= +github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ= +github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= +github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= @@ -545,9 +734,11 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -555,6 +746,9 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= +github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -566,12 +760,13 @@ github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM= github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4= github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/neilotoole/errgroup v0.1.5/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/neilotoole/errgroup v0.1.6/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= @@ -579,11 +774,12 @@ github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtb github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= @@ -599,6 +795,7 @@ github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= @@ -610,7 +807,7 @@ github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIw github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= +github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= @@ -618,18 +815,24 @@ github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= @@ -654,6 +857,7 @@ github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3d github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= @@ -672,7 +876,7 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -680,18 +884,21 @@ github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5X github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= +github.com/regen-network/gocuke v0.6.2 h1:pHviZ0kKAq2U2hN2q3smKNxct6hS0mGByFMHGnWA97M= github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= +github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= -github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= @@ -699,12 +906,19 @@ github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= +github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= -github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= @@ -726,8 +940,8 @@ github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.6.0 h1:42a0n6jwCot1pUmomAp4T7DeMD+20LFv4Q54pxLf2LI= -github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -739,8 +953,8 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= -github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= -github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= +github.com/strangelove-ventures/packet-forward-middleware/v4 v4.0.6 h1:aY64yjKZyDyzlIbDOkGBPvVpR0ArzIjunpCRKqoIm7o= +github.com/strangelove-ventures/packet-forward-middleware/v4 v4.0.6/go.mod h1:4zAtg449/JISRmf+sbmqolqSLP+QJBh+EtWkWtt/AKE= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -750,6 +964,7 @@ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoH github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -758,26 +973,29 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= +github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= +github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tendermint v0.34.24 h1:879MKKJWYYPJEMMKME+DWUTY4V9f/FBpnZDI82ky+4k= -github.com/tendermint/tendermint v0.34.24/go.mod h1:rXVrl4OYzmIa1I91av3iLv2HS0fGSiucyW9J4aMTpKI= github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= github.com/tidwall/btree v1.5.0 h1:iV0yVY/frd7r6qGBXfEYs7DH0gTDgrKTrDjS7xt/IyQ= github.com/tidwall/btree v1.5.0/go.mod h1:LGm8L/DZjPLmeWGjv5kFrY8dL4uVhMmzmmLYmsObdKE= -github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= -github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/sjson v1.1.4/go.mod h1:wXpKXu8CtDjKAZ+3DrKY5ROCorDFahq8l0tey/Lx1fg= +github.com/tidwall/gjson v1.12.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.14.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.4/go.mod h1:098SZ494YoMWPmMO6ct4dcFnqxwj9r/gF0Etp19pSNM= +github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= +github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= +github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= @@ -786,20 +1004,36 @@ github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2 github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= -github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= +github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= +github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= +github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= +github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zondax/hid v0.9.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= github.com/zondax/ledger-go v0.14.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= @@ -822,6 +1056,7 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -836,19 +1071,26 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= @@ -857,8 +1099,10 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20221019170559-20944726eadf h1:nFVjjKDgNY37+ZSYCJmtYf7tOlfQswHqplG2eosjOMg= -golang.org/x/exp v0.0.0-20221019170559-20944726eadf/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/exp v0.0.0-20200513190911-00229845015e/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= +golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 h1:BEABXpNXLEz0WxtA+6CQIz2xkg80e+1zrhWyMcq8VzE= +golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -871,23 +1115,22 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mobile v0.0.0-20200801112145-973feb4309de/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -896,6 +1139,7 @@ golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -905,6 +1149,7 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -922,18 +1167,24 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw= -golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -955,6 +1206,8 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -965,6 +1218,7 @@ golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -975,6 +1229,7 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -985,6 +1240,7 @@ golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1004,9 +1260,8 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1015,25 +1270,35 @@ golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210909193231-528a39cd75f3/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.4.0 h1:O7UWfv5+A2qiuulQk30kVinPoMtoIPeVaKLEgLpVkvg= -golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1043,17 +1308,23 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1074,7 +1345,7 @@ golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1103,12 +1374,22 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1136,6 +1417,7 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1143,6 +1425,7 @@ google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1150,6 +1433,7 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= @@ -1178,8 +1462,9 @@ google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e h1:S9GbmC1iCgvbLyAokVCwiO6tVIrU9Y7c5oMx1V/ki/Y= -google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa h1:qQPhfbPO23fwm/9lQr91L1u62Zo6cm+zI+slZT+uf+o= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1200,14 +1485,18 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= @@ -1225,11 +1514,14 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1237,10 +1529,14 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/lefthook.yml b/lefthook.yml index 8fe941c9..c02e30d4 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -5,7 +5,7 @@ commit-msg: commands: validate-commit-message: run: npx --no-install commitlint -e - + pre-push: parallel: true commands: {} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 3978390e..00000000 --- a/package-lock.json +++ /dev/null @@ -1,3689 +0,0 @@ -{ - "name": "ixo-blockchain", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "dependencies": { - "sovrin-did": "^1.4.0" - }, - "devDependencies": { - "@arkweid/lefthook": "^0.7.7", - "@commitlint/cli": "^14.1.0", - "@commitlint/config-conventional": "^14.1.0", - "concurrently": "^7.0.0", - "snyk": "^1.996.0" - } - }, - "node_modules/@arkweid/lefthook": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/@arkweid/lefthook/-/lefthook-0.7.7.tgz", - "integrity": "sha512-Eq30OXKmjxIAIsTtbX2fcF3SNZIXS8yry1u8yty7PQFYRctx04rVlhOJCEB2UmfTh8T2vrOMC9IHHUvvo5zbaQ==", - "cpu": [ - "x64", - "arm64", - "ia32" - ], - "dev": true, - "hasInstallScript": true, - "os": [ - "darwin", - "linux", - "win32" - ], - "bin": { - "lefthook": "bin/index.js" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", - "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@commitlint/cli": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-14.1.0.tgz", - "integrity": "sha512-Orq62jkl9qAGvjFqhehtAqjGY/duJ8hIRPPIHmGR2jIB96D4VTmazS3ZvqJz2Q9kKr61mLAk/171zm0FVzQCYA==", - "dev": true, - "dependencies": { - "@commitlint/format": "^14.1.0", - "@commitlint/lint": "^14.1.0", - "@commitlint/load": "^14.1.0", - "@commitlint/read": "^14.0.0", - "@commitlint/types": "^14.0.0", - "lodash": "^4.17.19", - "resolve-from": "5.0.0", - "resolve-global": "1.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "commitlint": "cli.js" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/config-conventional": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-14.1.0.tgz", - "integrity": "sha512-JuhCqkEv8jyqmd54EpXPsQFpYc/8k7sfP1UziRdEvZSJUCLxz+8Pk4cNS0oF1BtjaWO7ITgXPlIZg47PyApGmg==", - "dev": true, - "dependencies": { - "conventional-changelog-conventionalcommits": "^4.3.1" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/ensure": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-14.1.0.tgz", - "integrity": "sha512-xrYvFdqVepT3XA1BmSh88eKbvYKtLuQu98QLfgxVmwS99Kj3yW0sT3D7jGvNsynbIx2dhbXofDyubf/DKkpFrQ==", - "dev": true, - "dependencies": { - "@commitlint/types": "^14.0.0", - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/execute-rule": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-14.0.0.tgz", - "integrity": "sha512-Hh/HLpCBDlrD3Rx2x2pDBx6CU+OtVqGXh7mbFpNihAVx6B0zyZqm/vv0cdwdhfGW5OEn1BhCqHf1ZOvL/DwdWA==", - "dev": true, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/format": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-14.1.0.tgz", - "integrity": "sha512-sF6engqqHjvxGctWRKjFs/HQeNowlpbVmmoP481b2UMQnVQnjjfXJvQsoLpaqFUvgc2sHM4L85F8BmAw+iHG1w==", - "dev": true, - "dependencies": { - "@commitlint/types": "^14.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/is-ignored": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-14.0.0.tgz", - "integrity": "sha512-nJltYjXTa+mk+6SPe35nOZCCvt3Gh5mbDz008KQ4OPcn1GX1NG+pEgz1Kx3agDp/pc+JGnsrr5GV00gygIoloA==", - "dev": true, - "dependencies": { - "@commitlint/types": "^14.0.0", - "semver": "7.3.5" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/lint": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-14.1.0.tgz", - "integrity": "sha512-CApGJEOtWU/CcuPD8HkOR1jdUYpjKutGPaeby9nSFzJhwl/UQOjxc4Nd+2g2ygsMi5l3N4j2sWQYEgccpFC3lA==", - "dev": true, - "dependencies": { - "@commitlint/is-ignored": "^14.0.0", - "@commitlint/parse": "^14.0.0", - "@commitlint/rules": "^14.1.0", - "@commitlint/types": "^14.0.0" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/load": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-14.1.0.tgz", - "integrity": "sha512-p+HbgjhkqLsnxyjOUdEYHztHCp8n2oLVUJTmRPuP5FXLNevh6Gwmxf+NYC2J0sgD084aV2CFi3qu1W4yHWIknA==", - "dev": true, - "dependencies": { - "@commitlint/execute-rule": "^14.0.0", - "@commitlint/resolve-extends": "^14.1.0", - "@commitlint/types": "^14.0.0", - "@endemolshinegroup/cosmiconfig-typescript-loader": "^3.0.2", - "chalk": "^4.0.0", - "cosmiconfig": "^7.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0", - "typescript": "^4.4.3" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/message": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-14.0.0.tgz", - "integrity": "sha512-316Pum+bwDcZamOQw0DXSY17Dq9EjvL1zKdYIZqneu4lnXN6uFfi53Y/sP5crW6zlLdnuTHe1MnuewXPLHfH1Q==", - "dev": true, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/parse": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-14.0.0.tgz", - "integrity": "sha512-49qkk0TcwdxJPZUX8MElEzMlRFIL/cg64P4pk8HotFEm2HYdbxxZp6v3cbVw5WOsnRA0frrs+NNoOcIT83ccMQ==", - "dev": true, - "dependencies": { - "@commitlint/types": "^14.0.0", - "conventional-changelog-angular": "^5.0.11", - "conventional-commits-parser": "^3.2.2" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/read": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-14.0.0.tgz", - "integrity": "sha512-WXXcSLBqwXTqnEmB0lbU2TrayDJ2G3qI/lxy1ianVmpQol8p9BjodAA6bYxtYYHdQFVXUrIsclzFP/naWG+hlQ==", - "dev": true, - "dependencies": { - "@commitlint/top-level": "^14.0.0", - "@commitlint/types": "^14.0.0", - "fs-extra": "^10.0.0", - "git-raw-commits": "^2.0.0" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/resolve-extends": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-14.1.0.tgz", - "integrity": "sha512-ko80k6QB6E6/OvGNWy4u7gzzWyluDT3VDNL2kfZaDywsnrYntUKyT4Do97gQ7orttITzj2GRtk3KWClVz4rUUQ==", - "dev": true, - "dependencies": { - "import-fresh": "^3.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/rules": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-14.1.0.tgz", - "integrity": "sha512-6jmv414/1JzGzDI/DS+snAMhcL6roQKPdg0WB3kWTWN52EvWXBFm0HIMGt2H/FlRKxozwVXlQN60/1fNIl98xA==", - "dev": true, - "dependencies": { - "@commitlint/ensure": "^14.1.0", - "@commitlint/message": "^14.0.0", - "@commitlint/to-lines": "^14.0.0", - "@commitlint/types": "^14.0.0", - "execa": "^5.0.0" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/to-lines": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-14.0.0.tgz", - "integrity": "sha512-uIXk54oJDuYyLpI208s3+cGmJ323yvSJ9LB7yUDMWUeJi2LgRxE2EBZL995kLQdnoAsBBXcLq+VDyppg5bV/cg==", - "dev": true, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/top-level": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-14.0.0.tgz", - "integrity": "sha512-MZDKZfWfl9g4KozgWBGTCrI2cXkMHnBFlhwvEfrAu5G8wd5aL1f2uWEUMnBMjUikmhVj99i1pzge4XFWHQ29wQ==", - "dev": true, - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@commitlint/types": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-14.0.0.tgz", - "integrity": "sha512-sIls1nP2uSbGL466edYlh8mn7O/WP4i3bcvP+2DMhkscRCSgaPhNRWDilhYVsHt2Vu1HTQ27uT0Bj5/Lt2+EcQ==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0" - }, - "engines": { - "node": ">=v12" - } - }, - "node_modules/@endemolshinegroup/cosmiconfig-typescript-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", - "integrity": "sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==", - "dev": true, - "dependencies": { - "lodash.get": "^4", - "make-error": "^1", - "ts-node": "^9", - "tslib": "^2" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "cosmiconfig": ">=6" - } - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", - "dev": true, - "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "node_modules/concurrently": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.0.0.tgz", - "integrity": "sha512-WKM7PUsI8wyXpF80H+zjHP32fsgsHNQfPLw/e70Z5dYkV7hF+rf8q3D+ScWJIEr57CpkO3OWBko6hwhQLPR8Pw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "date-fns": "^2.16.1", - "lodash": "^4.17.21", - "rxjs": "^6.6.3", - "spawn-command": "^0.0.2-1", - "supports-color": "^8.1.0", - "tree-kill": "^1.2.2", - "yargs": "^16.2.0" - }, - "bin": { - "concurrently": "dist/bin/concurrently.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.0 || >=16.0.0" - } - }, - "node_modules/concurrently/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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-conventionalcommits": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", - "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", - "dev": true, - "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": 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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/date-fns": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", - "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", - "dev": true, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", - "dev": true, - "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "git-raw-commits": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "dependencies": { - "ini": "^1.3.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "dependencies": { - "text-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "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/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz", - "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==", - "dev": true, - "dependencies": { - "is-core-module": "^2.8.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", - "dev": true, - "dependencies": { - "global-dirs": "^0.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true - }, - "node_modules/snyk": { - "version": "1.996.0", - "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.996.0.tgz", - "integrity": "sha512-nq//Ely0bSt50LzX9Er5lCQNqTpaKn7I7xkhUB3Z+8rs8Jqha360HeQwhbVzsuQS3xT/1+36zt6CcgyLPM1QbA==", - "dev": true, - "bin": { - "snyk": "bin/snyk" - }, - "engines": { - "node": ">=12" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sovrin-did": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sovrin-did/-/sovrin-did-1.4.0.tgz", - "integrity": "sha512-dtC17P/CEx5JReWggLRMdv/5Vt+LtjInKRbtxqry5Lg08qOmxCQJRZ0n8/LhXoesrTEHM8ROGACkQVtID0XxPw==", - "dependencies": { - "bs58": "^4.0.1", - "tweetnacl": "^1.0.0" - } - }, - "node_modules/spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", - "dev": true, - "dependencies": { - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "typescript": ">=2.7" - } - }, - "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", - "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@arkweid/lefthook": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/@arkweid/lefthook/-/lefthook-0.7.7.tgz", - "integrity": "sha512-Eq30OXKmjxIAIsTtbX2fcF3SNZIXS8yry1u8yty7PQFYRctx04rVlhOJCEB2UmfTh8T2vrOMC9IHHUvvo5zbaQ==", - "dev": true - }, - "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.16.7" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", - "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@commitlint/cli": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-14.1.0.tgz", - "integrity": "sha512-Orq62jkl9qAGvjFqhehtAqjGY/duJ8hIRPPIHmGR2jIB96D4VTmazS3ZvqJz2Q9kKr61mLAk/171zm0FVzQCYA==", - "dev": true, - "requires": { - "@commitlint/format": "^14.1.0", - "@commitlint/lint": "^14.1.0", - "@commitlint/load": "^14.1.0", - "@commitlint/read": "^14.0.0", - "@commitlint/types": "^14.0.0", - "lodash": "^4.17.19", - "resolve-from": "5.0.0", - "resolve-global": "1.0.0", - "yargs": "^17.0.0" - } - }, - "@commitlint/config-conventional": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-14.1.0.tgz", - "integrity": "sha512-JuhCqkEv8jyqmd54EpXPsQFpYc/8k7sfP1UziRdEvZSJUCLxz+8Pk4cNS0oF1BtjaWO7ITgXPlIZg47PyApGmg==", - "dev": true, - "requires": { - "conventional-changelog-conventionalcommits": "^4.3.1" - } - }, - "@commitlint/ensure": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-14.1.0.tgz", - "integrity": "sha512-xrYvFdqVepT3XA1BmSh88eKbvYKtLuQu98QLfgxVmwS99Kj3yW0sT3D7jGvNsynbIx2dhbXofDyubf/DKkpFrQ==", - "dev": true, - "requires": { - "@commitlint/types": "^14.0.0", - "lodash": "^4.17.19" - } - }, - "@commitlint/execute-rule": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-14.0.0.tgz", - "integrity": "sha512-Hh/HLpCBDlrD3Rx2x2pDBx6CU+OtVqGXh7mbFpNihAVx6B0zyZqm/vv0cdwdhfGW5OEn1BhCqHf1ZOvL/DwdWA==", - "dev": true - }, - "@commitlint/format": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-14.1.0.tgz", - "integrity": "sha512-sF6engqqHjvxGctWRKjFs/HQeNowlpbVmmoP481b2UMQnVQnjjfXJvQsoLpaqFUvgc2sHM4L85F8BmAw+iHG1w==", - "dev": true, - "requires": { - "@commitlint/types": "^14.0.0", - "chalk": "^4.0.0" - } - }, - "@commitlint/is-ignored": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-14.0.0.tgz", - "integrity": "sha512-nJltYjXTa+mk+6SPe35nOZCCvt3Gh5mbDz008KQ4OPcn1GX1NG+pEgz1Kx3agDp/pc+JGnsrr5GV00gygIoloA==", - "dev": true, - "requires": { - "@commitlint/types": "^14.0.0", - "semver": "7.3.5" - } - }, - "@commitlint/lint": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-14.1.0.tgz", - "integrity": "sha512-CApGJEOtWU/CcuPD8HkOR1jdUYpjKutGPaeby9nSFzJhwl/UQOjxc4Nd+2g2ygsMi5l3N4j2sWQYEgccpFC3lA==", - "dev": true, - "requires": { - "@commitlint/is-ignored": "^14.0.0", - "@commitlint/parse": "^14.0.0", - "@commitlint/rules": "^14.1.0", - "@commitlint/types": "^14.0.0" - } - }, - "@commitlint/load": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-14.1.0.tgz", - "integrity": "sha512-p+HbgjhkqLsnxyjOUdEYHztHCp8n2oLVUJTmRPuP5FXLNevh6Gwmxf+NYC2J0sgD084aV2CFi3qu1W4yHWIknA==", - "dev": true, - "requires": { - "@commitlint/execute-rule": "^14.0.0", - "@commitlint/resolve-extends": "^14.1.0", - "@commitlint/types": "^14.0.0", - "@endemolshinegroup/cosmiconfig-typescript-loader": "^3.0.2", - "chalk": "^4.0.0", - "cosmiconfig": "^7.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0", - "typescript": "^4.4.3" - } - }, - "@commitlint/message": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-14.0.0.tgz", - "integrity": "sha512-316Pum+bwDcZamOQw0DXSY17Dq9EjvL1zKdYIZqneu4lnXN6uFfi53Y/sP5crW6zlLdnuTHe1MnuewXPLHfH1Q==", - "dev": true - }, - "@commitlint/parse": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-14.0.0.tgz", - "integrity": "sha512-49qkk0TcwdxJPZUX8MElEzMlRFIL/cg64P4pk8HotFEm2HYdbxxZp6v3cbVw5WOsnRA0frrs+NNoOcIT83ccMQ==", - "dev": true, - "requires": { - "@commitlint/types": "^14.0.0", - "conventional-changelog-angular": "^5.0.11", - "conventional-commits-parser": "^3.2.2" - } - }, - "@commitlint/read": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-14.0.0.tgz", - "integrity": "sha512-WXXcSLBqwXTqnEmB0lbU2TrayDJ2G3qI/lxy1ianVmpQol8p9BjodAA6bYxtYYHdQFVXUrIsclzFP/naWG+hlQ==", - "dev": true, - "requires": { - "@commitlint/top-level": "^14.0.0", - "@commitlint/types": "^14.0.0", - "fs-extra": "^10.0.0", - "git-raw-commits": "^2.0.0" - } - }, - "@commitlint/resolve-extends": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-14.1.0.tgz", - "integrity": "sha512-ko80k6QB6E6/OvGNWy4u7gzzWyluDT3VDNL2kfZaDywsnrYntUKyT4Do97gQ7orttITzj2GRtk3KWClVz4rUUQ==", - "dev": true, - "requires": { - "import-fresh": "^3.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" - } - }, - "@commitlint/rules": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-14.1.0.tgz", - "integrity": "sha512-6jmv414/1JzGzDI/DS+snAMhcL6roQKPdg0WB3kWTWN52EvWXBFm0HIMGt2H/FlRKxozwVXlQN60/1fNIl98xA==", - "dev": true, - "requires": { - "@commitlint/ensure": "^14.1.0", - "@commitlint/message": "^14.0.0", - "@commitlint/to-lines": "^14.0.0", - "@commitlint/types": "^14.0.0", - "execa": "^5.0.0" - } - }, - "@commitlint/to-lines": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-14.0.0.tgz", - "integrity": "sha512-uIXk54oJDuYyLpI208s3+cGmJ323yvSJ9LB7yUDMWUeJi2LgRxE2EBZL995kLQdnoAsBBXcLq+VDyppg5bV/cg==", - "dev": true - }, - "@commitlint/top-level": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-14.0.0.tgz", - "integrity": "sha512-MZDKZfWfl9g4KozgWBGTCrI2cXkMHnBFlhwvEfrAu5G8wd5aL1f2uWEUMnBMjUikmhVj99i1pzge4XFWHQ29wQ==", - "dev": true, - "requires": { - "find-up": "^5.0.0" - } - }, - "@commitlint/types": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-14.0.0.tgz", - "integrity": "sha512-sIls1nP2uSbGL466edYlh8mn7O/WP4i3bcvP+2DMhkscRCSgaPhNRWDilhYVsHt2Vu1HTQ27uT0Bj5/Lt2+EcQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0" - } - }, - "@endemolshinegroup/cosmiconfig-typescript-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", - "integrity": "sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==", - "dev": true, - "requires": { - "lodash.get": "^4", - "make-error": "^1", - "ts-node": "^9", - "tslib": "^2" - } - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", - "dev": true, - "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "concurrently": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.0.0.tgz", - "integrity": "sha512-WKM7PUsI8wyXpF80H+zjHP32fsgsHNQfPLw/e70Z5dYkV7hF+rf8q3D+ScWJIEr57CpkO3OWBko6hwhQLPR8Pw==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "date-fns": "^2.16.1", - "lodash": "^4.17.21", - "rxjs": "^6.6.3", - "spawn-command": "^0.0.2-1", - "supports-color": "^8.1.0", - "tree-kill": "^1.2.2", - "yargs": "^16.2.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - } - } - }, - "conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - } - }, - "conventional-changelog-conventionalcommits": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", - "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - } - }, - "conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", - "dev": true, - "requires": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "requires": { - "@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" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", - "dev": true - }, - "date-fns": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", - "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "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" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", - "dev": true, - "requires": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "^1.3.4" - } - }, - "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } - } - }, - "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==", - "dev": true - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "requires": { - "text-extensions": "^1.0.0" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true - }, - "meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@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" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "resolve": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz", - "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==", - "dev": true, - "requires": { - "is-core-module": "^2.8.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", - "dev": true, - "requires": { - "global-dirs": "^0.1.1" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true - }, - "snyk": { - "version": "1.996.0", - "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.996.0.tgz", - "integrity": "sha512-nq//Ely0bSt50LzX9Er5lCQNqTpaKn7I7xkhUB3Z+8rs8Jqha360HeQwhbVzsuQS3xT/1+36zt6CcgyLPM1QbA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sovrin-did": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sovrin-did/-/sovrin-did-1.4.0.tgz", - "integrity": "sha512-dtC17P/CEx5JReWggLRMdv/5Vt+LtjInKRbtxqry5Lg08qOmxCQJRZ0n8/LhXoesrTEHM8ROGACkQVtID0XxPw==", - "requires": { - "bs58": "^4.0.1", - "tweetnacl": "^1.0.0" - } - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "requires": { - "readable-stream": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true - }, - "ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", - "dev": true, - "requires": { - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - } - }, - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - }, - "typescript": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", - "dev": true - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, - "yargs": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", - "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - }, - "dependencies": { - "yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", - "dev": true - } - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/package.json b/package.json index 19046e7f..d81affcc 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,12 @@ { "scripts": { "prepare": "npx lefthook install", - "start": "skaffold dev", - "start:local": "starport chain serve", "test": "concurrently -m 1 -n test: npm:test:*", "test:code": "go test -v ./...", "test:security": "snyk test --all-projects --dev", "test:coverage": "(go test -coverprofile=coverage.out ./... &> /dev/null) | true && go tool cover -func=coverage.out | grep total", "lint": "concurrently -m 1 -n lint: npm:lint:*", - "lint:go": "go vet ./...", - "build": "skaffold build" + "lint:go": "go vet ./..." }, "devDependencies": { "@arkweid/lefthook": "0.7.7", @@ -18,7 +15,5 @@ "concurrently": "7.6.0", "snyk": "1.1118.0" }, - "dependencies": { - "sovrin-did": "1.4.0" - } + "dependencies": {} } diff --git a/proto/ixo/bonds/v1beta1/bonds.proto b/proto/ixo/bonds/v1beta1/bonds.proto index bc26b88b..676eca8b 100644 --- a/proto/ixo/bonds/v1beta1/bonds.proto +++ b/proto/ixo/bonds/v1beta1/bonds.proto @@ -9,221 +9,157 @@ option go_package = "github.com/ixofoundation/ixo-blockchain/x/bonds/types"; // FunctionParam is a key-value pair used for specifying a specific bond // parameter. message FunctionParam { - string param = 1 [ (gogoproto.moretags) = "yaml:\"param\"" ]; + string param = 1; string value = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"value\"" + (gogoproto.nullable) = false ]; } // BondDetails contains details about the current state of a given bond. message BondDetails { - string bond_did = 1 - [ (gogoproto.jsontag) = "did", (gogoproto.moretags) = "yaml:\"did\"" ]; + string bond_did = 1; repeated cosmos.base.v1beta1.DecCoin spot_price = 2 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins", - (gogoproto.moretags) = "yaml:\"spot_price\"" - ]; - cosmos.base.v1beta1.Coin supply = 3 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"supply\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins" ]; + cosmos.base.v1beta1.Coin supply = 3 [ (gogoproto.nullable) = false ]; repeated cosmos.base.v1beta1.Coin reserve = 4 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"reserve\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } // Bond defines a token bonding curve type with all of its parameters. message Bond { - string token = 1 [ (gogoproto.moretags) = "yaml:\"token\"" ]; - string name = 2 [ (gogoproto.moretags) = "yaml:\"name\"" ]; - string description = 3 [ (gogoproto.moretags) = "yaml:\"description\"" ]; - string creator_did = 4 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"creator_did\"" - ]; - string controller_did = 5 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"controller_did\"" - ]; - string function_type = 6 [ (gogoproto.moretags) = "yaml:\"function_type\"" ]; + string token = 1; + string name = 2; + string description = 3; + string creator_did = 4 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string controller_did = 5 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string function_type = 6; repeated FunctionParam function_parameters = 7 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "FunctionParams", - (gogoproto.moretags) = "yaml:\"function_parameters\"" + (gogoproto.castrepeated) = "FunctionParams" ]; - repeated string reserve_tokens = 8 - [ (gogoproto.moretags) = "yaml:\"reserve_tokens\"" ]; + repeated string reserve_tokens = 8; string tx_fee_percentage = 9 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"tx_fee_percentage\"" + (gogoproto.nullable) = false ]; string exit_fee_percentage = 10 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"exit_fee_percentage\"" - ]; - string fee_address = 11 [ (gogoproto.moretags) = "yaml:\"fee_address\"" ]; - string reserve_withdrawal_address = 12 - [ (gogoproto.moretags) = "yaml:\"reserve_withdrawal_address\"" ]; - cosmos.base.v1beta1.Coin max_supply = 13 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"max_supply\"" + (gogoproto.nullable) = false ]; + string fee_address = 11; + string reserve_withdrawal_address = 12; + cosmos.base.v1beta1.Coin max_supply = 13 [ (gogoproto.nullable) = false ]; repeated cosmos.base.v1beta1.Coin order_quantity_limits = 14 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"order_quantity_limits\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; string sanity_rate = 15 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"sanity_rate\"" + (gogoproto.nullable) = false ]; string sanity_margin_percentage = 16 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"sanity_margin_percentage\"" - ]; - cosmos.base.v1beta1.Coin current_supply = 17 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"current_supply\"" + (gogoproto.nullable) = false ]; + cosmos.base.v1beta1.Coin current_supply = 17 [ (gogoproto.nullable) = false ]; repeated cosmos.base.v1beta1.Coin current_reserve = 18 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"current_reserve\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; repeated cosmos.base.v1beta1.Coin available_reserve = 19 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"available_reserve\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; repeated cosmos.base.v1beta1.Coin current_outcome_payment_reserve = 20 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"current_outcome_payment_reserve\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; - bool allow_sells = 21 [ (gogoproto.moretags) = "yaml:\"allow_sells\"" ]; - bool allow_reserve_withdrawals = 22 - [ (gogoproto.moretags) = "yaml:\"allow_reserve_withdrawals\"" ]; - bool alpha_bond = 23 [ (gogoproto.moretags) = "yaml:\"alpha_bond\"" ]; + bool allow_sells = 21; + bool allow_reserve_withdrawals = 22; + bool alpha_bond = 23; string batch_blocks = 24 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Uint", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"batch_blocks\"" + (gogoproto.nullable) = false ]; string outcome_payment = 25 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"outcome_payment\"" - ]; - string state = 26 [ (gogoproto.moretags) = "yaml:\"state\"" ]; - string bond_did = 27 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string oracle_did = 28 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"oracle_did\"" + (gogoproto.nullable) = false ]; + string state = 26; + string bond_did = 27; + string oracle_did = 28 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; } // BaseOrder defines a base order type. It contains all the necessary fields for // specifying the general details about a buy, sell, or swap order. message BaseOrder { - string account_did = 1 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"account_did\"" - ]; - cosmos.base.v1beta1.Coin amount = 2 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"amount\"" - ]; - bool cancelled = 3 [ (gogoproto.moretags) = "yaml:\"cancelled\"" ]; - string cancel_reason = 4 [ (gogoproto.moretags) = "yaml:\"cancel_reason\"" ]; + string account_did = 1 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false ]; + bool cancelled = 3; + string cancel_reason = 4; } // BuyOrder defines a type for submitting a buy order on a bond, together with // the maximum amount of reserve tokens the buyer is willing to pay. message BuyOrder { - BaseOrder base_order = 1 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"base_order\"" - ]; + BaseOrder base_order = 1 [ (gogoproto.nullable) = false ]; repeated cosmos.base.v1beta1.Coin max_prices = 2 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"max_prices\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } // SellOrder defines a type for submitting a sell order on a bond. -message SellOrder { - BaseOrder base_order = 1 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"base_order\"" - ]; -} +message SellOrder { BaseOrder base_order = 1 [ (gogoproto.nullable) = false ]; } // SwapOrder defines a type for submitting a swap order between two tokens on a // bond. message SwapOrder { - BaseOrder base_order = 1 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"base_order\"" - ]; - string to_token = 2 [ (gogoproto.moretags) = "yaml:\"to_token\"" ]; + BaseOrder base_order = 1 [ (gogoproto.nullable) = false ]; + string to_token = 2; } // Batch holds a collection of outstanding buy, sell, and swap orders on a // particular bond. message Batch { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; + string bond_did = 1; string blocks_remaining = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Uint", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"blocks_remaining\"" + (gogoproto.nullable) = false ]; string next_public_alpha = 3 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"next_public_alpha\"" - ]; - cosmos.base.v1beta1.Coin total_buy_amount = 4 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"total_buy_amount\"" - ]; - cosmos.base.v1beta1.Coin total_sell_amount = 5 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"total_sell_amount\"" + (gogoproto.nullable) = false ]; + cosmos.base.v1beta1.Coin total_buy_amount = 4 + [ (gogoproto.nullable) = false ]; + cosmos.base.v1beta1.Coin total_sell_amount = 5 + [ (gogoproto.nullable) = false ]; repeated cosmos.base.v1beta1.DecCoin buy_prices = 6 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins", - (gogoproto.moretags) = "yaml:\"buy_prices\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins" ]; repeated cosmos.base.v1beta1.DecCoin sell_prices = 7 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins", - (gogoproto.moretags) = "yaml:\"sell_prices\"" - ]; - repeated BuyOrder buys = 8 - [ (gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"buys\"" ]; - repeated SellOrder sells = 9 - [ (gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"sells\"" ]; - repeated SwapOrder swaps = 10 - [ (gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"swaps\"" ]; + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins" + ]; + repeated BuyOrder buys = 8 [ (gogoproto.nullable) = false ]; + repeated SellOrder sells = 9 [ (gogoproto.nullable) = false ]; + repeated SwapOrder swaps = 10 [ (gogoproto.nullable) = false ]; } // Params defines the parameters for the bonds module. -message Params { - repeated string reserved_bond_tokens = 1 - [ (gogoproto.moretags) = "yaml:\"reserved_bond_tokens\"" ]; -} \ No newline at end of file +message Params { repeated string reserved_bond_tokens = 1; } \ No newline at end of file diff --git a/proto/ixo/bonds/v1beta1/event.proto b/proto/ixo/bonds/v1beta1/event.proto new file mode 100644 index 00000000..ca3edc35 --- /dev/null +++ b/proto/ixo/bonds/v1beta1/event.proto @@ -0,0 +1,161 @@ +syntax = "proto3"; +package ixo.bonds.v1beta1; + +option go_package = "github.com/ixofoundation/ixo-blockchain/x/bonds/types"; + +import "gogoproto/gogo.proto"; +import "ixo/bonds/v1beta1/bonds.proto"; +import "cosmos/base/v1beta1/coin.proto"; + +// BondCreatedEvent is an event triggered on a Bond creation +message BondCreatedEvent { Bond bond = 1; } + +// BondUpdatedEvent is an event triggered on a Bond update +message BondUpdatedEvent { Bond bond = 1; } + +// BondSetNextAlphaEvent is an event triggered when next batch alpha is set +message BondSetNextAlphaEvent { + string bond_did = 1; + string next_alpha = 2; + string signer = 3; +} + +// BondBuyOrderEvent is an event triggered on a Bond buy order +message BondBuyOrderEvent { + BuyOrder order = 1; + string bond_did = 2; +} + +// BondSellOrderEvent is an event triggered on a Bond sell order +message BondSellOrderEvent { + SellOrder order = 1; + string bond_did = 2; +} + +// BondSwapOrderEvent is an event triggered on a Bond swap order +message BondSwapOrderEvent { + SwapOrder order = 1; + string bond_did = 2; +} + +// BondMakeOutcomePaymentEvent is an event triggered on a Bond make outcome +// payment +message BondMakeOutcomePaymentEvent { + string bond_did = 1; + repeated cosmos.base.v1beta1.Coin outcome_payment = 2 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; + string sender_did = 3; + string sender_address = 4; +} + +// BondWithdrawShareEvent is an event triggered on a Bond share withdrawal +message BondWithdrawShareEvent { + string bond_did = 1; + repeated cosmos.base.v1beta1.Coin withdraw_payment = 2 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; + string recipient_did = 3; + string recipient_address = 4; +} + +// BondWithdrawReserveEvent is an event triggered on a Bond reserve withdrawal +message BondWithdrawReserveEvent { + string bond_did = 1; + repeated cosmos.base.v1beta1.Coin withdraw_amount = 2 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; + string withdrawer_did = 3; + string withdrawer_address = 4; + string reserve_withdrawal_address = 5; +} + +// BondEditAlphaSuccessEvent is an event triggered on a successful edit of Bond +// alpha value +message BondEditAlphaSuccessEvent { + string bond_did = 1; + string token = 2; + string public_alpha = 3; + string system_alpha = 4; +} + +// BondEditAlphaFailedEvent is an event triggered on a failed attempt to edit of +// Bond alpha value +message BondEditAlphaFailedEvent { + string bond_did = 1; + string token = 2; + string cancel_reason = 3; +} + +// BondBuyOrderFulfilledEvent is an event triggered on a Bond buy order +// fullfillment +message BondBuyOrderFulfilledEvent { + string bond_did = 1; + BuyOrder order = 2; + repeated cosmos.base.v1beta1.Coin charged_prices = 3 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; + repeated cosmos.base.v1beta1.Coin charged_fees = 4 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; + repeated cosmos.base.v1beta1.Coin returned_to_address = 5 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; + string new_bond_token_balance = 6 [ + (gogoproto.nullable) = false, + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int" + ]; + string charged_prices_of_which_reserve = 7 [ + (gogoproto.nullable) = true, + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int" + ]; + repeated cosmos.base.v1beta1.Coin charged_prices_of_which_funding = 8 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; +} + +// BondSellOrderFulfilledEvent is an event triggered on a Bond sell order +// fullfillment +message BondSellOrderFulfilledEvent { + string bond_did = 1; + SellOrder order = 2; + repeated cosmos.base.v1beta1.Coin charged_fees = 3 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; + repeated cosmos.base.v1beta1.Coin returned_to_address = 4 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; + string new_bond_token_balance = 5 [ + (gogoproto.nullable) = false, + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int" + ]; +} + +// BondSwapOrderFulfilledEvent is an event triggered on a Bond swap order +// fullfillment +message BondSwapOrderFulfilledEvent { + string bond_did = 1; + SwapOrder order = 2; + cosmos.base.v1beta1.Coin charged_fee = 3 [ (gogoproto.nullable) = false ]; + repeated cosmos.base.v1beta1.Coin returned_to_address = 4 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; + cosmos.base.v1beta1.Coin tokens_swapped = 5 [ (gogoproto.nullable) = false ]; +} + +// BondBuyOrderCancelledEvent is an event triggered on a Bond buy order +// cancellation +message BondBuyOrderCancelledEvent { + string bond_did = 1; + BuyOrder order = 2; +} diff --git a/proto/ixo/bonds/v1beta1/genesis.proto b/proto/ixo/bonds/v1beta1/genesis.proto index ccf929a7..c2a73d68 100644 --- a/proto/ixo/bonds/v1beta1/genesis.proto +++ b/proto/ixo/bonds/v1beta1/genesis.proto @@ -8,14 +8,7 @@ option go_package = "github.com/ixofoundation/ixo-blockchain/x/bonds/types"; // GenesisState defines the bonds module's genesis state. message GenesisState { - repeated ixo.bonds.v1beta1.Bond bonds = 1 - [ (gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"bonds\"" ]; - repeated ixo.bonds.v1beta1.Batch batches = 2 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"batches\"" - ]; - ixo.bonds.v1beta1.Params params = 3 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"params\"" - ]; + repeated ixo.bonds.v1beta1.Bond bonds = 1 [ (gogoproto.nullable) = false ]; + repeated ixo.bonds.v1beta1.Batch batches = 2 [ (gogoproto.nullable) = false ]; + ixo.bonds.v1beta1.Params params = 3 [ (gogoproto.nullable) = false ]; } \ No newline at end of file diff --git a/proto/ixo/bonds/v1beta1/query.proto b/proto/ixo/bonds/v1beta1/query.proto index 50f292d5..bc691745 100644 --- a/proto/ixo/bonds/v1beta1/query.proto +++ b/proto/ixo/bonds/v1beta1/query.proto @@ -12,16 +12,14 @@ option go_package = "github.com/ixofoundation/ixo-blockchain/x/bonds/types"; service Query { // Bonds returns all existing bonds. rpc Bonds(QueryBondsRequest) returns (QueryBondsResponse) { - option (google.api.http).get = - "/ixo/bonds"; // this is a REST endpoint - see Query service here - // https://docs.cosmos.network/master/migrations/app_and_modules.html + option (google.api.http).get = "/ixo/bonds/bonds"; } // BondsDetailed returns a list of all existing bonds with some details about // their current state. rpc BondsDetailed(QueryBondsDetailedRequest) returns (QueryBondsDetailedResponse) { - option (google.api.http).get = "/ixo/bonds_detailed"; + option (google.api.http).get = "/ixo/bonds/bonds_detailed"; } // Params queries the paramaters of x/bonds module. @@ -108,9 +106,7 @@ service Query { message QueryBondsRequest {} // QueryBondsResponse is the response type for the Query/Bonds RPC method. -message QueryBondsResponse { - repeated string bonds = 1 [ (gogoproto.moretags) = "yaml:\"bonds\"" ]; -} +message QueryBondsResponse { repeated string bonds = 1; } // QueryBondsDetailedRequest is the request type for the Query/BondsDetailed RPC // method. @@ -119,93 +115,68 @@ message QueryBondsDetailedRequest {} // QueryBondsDetailedResponse is the response type for the Query/BondsDetailed // RPC method. message QueryBondsDetailedResponse { - repeated ixo.bonds.v1beta1.BondDetails bonds_detailed = 1 - [ (gogoproto.moretags) = "yaml:\"bonds_detailed\"" ]; + repeated ixo.bonds.v1beta1.BondDetails bonds_detailed = 1; } // QueryBondRequest is the request type for the Query/Bond RPC method. -message QueryBondRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; -} +message QueryBondRequest { string bond_did = 1; } // QueryBondResponse is the response type for the Query/Bond RPC method. -message QueryBondResponse { - ixo.bonds.v1beta1.Bond bond = 1 [ (gogoproto.moretags) = "yaml:\"bond\"" ]; -} +message QueryBondResponse { ixo.bonds.v1beta1.Bond bond = 1; } // QueryBatchRequest is the request type for the Query/Batch RPC method. -message QueryBatchRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; -} +message QueryBatchRequest { string bond_did = 1; } // QueryBatchResponse is the response type for the Query/Batch RPC method. -message QueryBatchResponse { - ixo.bonds.v1beta1.Batch batch = 1 [ (gogoproto.moretags) = "yaml:\"batch\"" ]; -} +message QueryBatchResponse { ixo.bonds.v1beta1.Batch batch = 1; } // QueryLastBatchRequest is the request type for the Query/LastBatch RPC method. -message QueryLastBatchRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; -} +message QueryLastBatchRequest { string bond_did = 1; } // QueryLastBatchResponse is the response type for the Query/LastBatch RPC // method. -message QueryLastBatchResponse { - ixo.bonds.v1beta1.Batch last_batch = 1 - [ (gogoproto.moretags) = "yaml:\"last_batch\"" ]; -} +message QueryLastBatchResponse { ixo.bonds.v1beta1.Batch last_batch = 1; } // QueryCurrentPriceRequest is the request type for the Query/CurrentPrice RPC // method. -message QueryCurrentPriceRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; -} +message QueryCurrentPriceRequest { string bond_did = 1; } // QueryCurrentPriceResponse is the response type for the Query/CurrentPrice RPC // method. message QueryCurrentPriceResponse { repeated cosmos.base.v1beta1.DecCoin current_price = 1 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins", - (gogoproto.moretags) = "yaml:\"current_price\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins" ]; } // QueryCurrentReserveRequest is the request type for the Query/CurrentReserve // RPC method. -message QueryCurrentReserveRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; -} +message QueryCurrentReserveRequest { string bond_did = 1; } // QueryCurrentReserveResponse is the response type for the Query/CurrentReserve // RPC method. message QueryCurrentReserveResponse { - repeated cosmos.base.v1beta1.Coin current_reserve = 1 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"current_reserve\"" - ]; + repeated cosmos.base.v1beta1.Coin current_reserve = 1 + [ (gogoproto.nullable) = false ]; } // QueryAvailableReserveRequest is the request type for the // Query/AvailableReserve RPC method. -message QueryAvailableReserveRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; -} +message QueryAvailableReserveRequest { string bond_did = 1; } // QueryAvailableReserveResponse is the response type for the // Query/AvailableReserve RPC method. message QueryAvailableReserveResponse { - repeated cosmos.base.v1beta1.Coin available_reserve = 1 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"available_reserve\"" - ]; + repeated cosmos.base.v1beta1.Coin available_reserve = 1 + [ (gogoproto.nullable) = false ]; } // QueryCustomPriceRequest is the request type for the Query/CustomPrice RPC // method. message QueryCustomPriceRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string bond_amount = 2 [ (gogoproto.moretags) = "yaml:\"bond_amount\"" ]; + string bond_did = 1; + string bond_amount = 2; } // QueryCustomPriceResponse is the response type for the Query/CustomPrice RPC @@ -213,95 +184,78 @@ message QueryCustomPriceRequest { message QueryCustomPriceResponse { repeated cosmos.base.v1beta1.DecCoin price = 1 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins", - (gogoproto.moretags) = "yaml:\"price\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins" ]; } // QueryCustomPriceRequest is the request type for the Query/BuyPrice RPC // method. message QueryBuyPriceRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string bond_amount = 2 [ (gogoproto.moretags) = "yaml:\"bond_amount\"" ]; + string bond_did = 1; + string bond_amount = 2; } // QueryCustomPriceResponse is the response type for the Query/BuyPrice RPC // method. message QueryBuyPriceResponse { - cosmos.base.v1beta1.Coin adjusted_supply = 1 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"adjusted_supply\"" - ]; + cosmos.base.v1beta1.Coin adjusted_supply = 1 [ (gogoproto.nullable) = false ]; repeated cosmos.base.v1beta1.Coin prices = 2 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"prices\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; repeated cosmos.base.v1beta1.Coin tx_fees = 3 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"tx_fees\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; repeated cosmos.base.v1beta1.Coin total_prices = 4 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"total_prices\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; repeated cosmos.base.v1beta1.Coin total_fees = 5 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"total_fees\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } // QuerySellReturnRequest is the request type for the Query/SellReturn RPC // method. message QuerySellReturnRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string bond_amount = 2 [ (gogoproto.moretags) = "yaml:\"bond_amount\"" ]; + string bond_did = 1; + string bond_amount = 2; } // QuerySellReturnResponse is the response type for the Query/SellReturn RPC // method. message QuerySellReturnResponse { - cosmos.base.v1beta1.Coin adjusted_supply = 1 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"adjusted_supply\"" - ]; + cosmos.base.v1beta1.Coin adjusted_supply = 1 [ (gogoproto.nullable) = false ]; repeated cosmos.base.v1beta1.Coin returns = 2 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"returns\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; repeated cosmos.base.v1beta1.Coin tx_fees = 3 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"tx_fees\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; repeated cosmos.base.v1beta1.Coin exit_fees = 4 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"exit_fees\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; repeated cosmos.base.v1beta1.Coin total_returns = 5 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"total_returns\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; repeated cosmos.base.v1beta1.Coin total_fees = 6 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"total_fees\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } // QuerySwapReturnRequest is the request type for the Query/SwapReturn RPC // method. message QuerySwapReturnRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string from_token_with_amount = 2 - [ (gogoproto.moretags) = "yaml:\"from_token_with_amount\"" ]; - string to_token = 3 [ (gogoproto.moretags) = "yaml:\"to_token\"" ]; + string bond_did = 1; + string from_token_with_amount = 2; + string to_token = 3; } // QuerySwapReturnResponse is the response type for the Query/SwapReturn RPC @@ -309,34 +263,28 @@ message QuerySwapReturnRequest { message QuerySwapReturnResponse { repeated cosmos.base.v1beta1.Coin total_returns = 1 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"total_returns\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; repeated cosmos.base.v1beta1.Coin total_fees = 2 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"total_fees\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } // QueryAlphaMaximumsRequest is the request type for the Query/AlphaMaximums RPC // method. -message QueryAlphaMaximumsRequest { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; -} +message QueryAlphaMaximumsRequest { string bond_did = 1; } // QueryAlphaMaximumsResponse is the response type for the Query/AlphaMaximums // RPC method. message QueryAlphaMaximumsResponse { string max_system_alpha_increase = 1 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"max_system_alpha_increase\"" + (gogoproto.nullable) = false ]; string max_system_alpha = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"max_system_alpha\"" + (gogoproto.nullable) = false ]; } @@ -358,7 +306,4 @@ message QueryAlphaMaximumsResponse { message QueryParamsRequest {} // QueryParamsResponse is the response type for the Query/Params RPC method. -message QueryParamsResponse { - ixo.bonds.v1beta1.Params params = 1 - [ (gogoproto.moretags) = "yaml:\"params\"" ]; -} \ No newline at end of file +message QueryParamsResponse { ixo.bonds.v1beta1.Params params = 1; } \ No newline at end of file diff --git a/proto/ixo/bonds/v1beta1/tx.proto b/proto/ixo/bonds/v1beta1/tx.proto index c5c97762..7cf26b40 100644 --- a/proto/ixo/bonds/v1beta1/tx.proto +++ b/proto/ixo/bonds/v1beta1/tx.proto @@ -45,83 +45,60 @@ service Msg { // MsgCreateBond defines a message for creating a new bond. message MsgCreateBond { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string token = 2 [ (gogoproto.moretags) = "yaml:\"token\"" ]; - string name = 3 [ (gogoproto.moretags) = "yaml:\"name\"" ]; - string description = 4 [ (gogoproto.moretags) = "yaml:\"description\"" ]; - string function_type = 5 [ (gogoproto.moretags) = "yaml:\"function_type\"" ]; + string bond_did = 1; + string token = 2; + string name = 3; + string description = 4; + string function_type = 5; repeated ixo.bonds.v1beta1.FunctionParam function_parameters = 6 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "FunctionParams", - (gogoproto.moretags) = "yaml:\"function_parameters\"" - ]; - string creator_did = 7 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"creator_did\"" - ]; - string controller_did = 8 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"controller_did\"" - ]; - string oracle_did = 9 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"oracle_did\"" - ]; - repeated string reserve_tokens = 10 - [ (gogoproto.moretags) = "yaml:\"reserve_tokens\"" ]; + (gogoproto.castrepeated) = "FunctionParams" + ]; + string creator_did = 7 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string controller_did = 8 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string oracle_did = 9 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + repeated string reserve_tokens = 10; string tx_fee_percentage = 11 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"tx_fee_percentage\"" + (gogoproto.nullable) = false ]; string exit_fee_percentage = 12 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"exit_fee_percentage\"" - ]; - string fee_address = 13 [ (gogoproto.moretags) = "yaml:\"fee_address\"" ]; - string reserve_withdrawal_address = 14 - [ (gogoproto.moretags) = "yaml:\"reserve_withdrawal_address\"" ]; - cosmos.base.v1beta1.Coin max_supply = 15 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"max_supply\"" + (gogoproto.nullable) = false ]; + string fee_address = 13; + string reserve_withdrawal_address = 14; + cosmos.base.v1beta1.Coin max_supply = 15 [ (gogoproto.nullable) = false ]; repeated cosmos.base.v1beta1.Coin order_quantity_limits = 16 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"order_quantity_limits\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; string sanity_rate = 17 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"sanity_rate\"" + (gogoproto.nullable) = false ]; string sanity_margin_percentage = 18 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"sanity_margin_percentage\"" + (gogoproto.nullable) = false ]; - bool allow_sells = 19 [ (gogoproto.moretags) = "yaml:\"allow_sells\"" ]; - bool allow_reserve_withdrawals = 20 - [ (gogoproto.moretags) = "yaml:\"allow_reserve_withdrawals\"" ]; - bool alpha_bond = 21 [ (gogoproto.moretags) = "yaml:\"alpha_bond\"" ]; + bool allow_sells = 19; + bool allow_reserve_withdrawals = 20; + bool alpha_bond = 21; string batch_blocks = 22 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Uint", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"batch_blocks\"" + (gogoproto.nullable) = false ]; string outcome_payment = 23 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"outcome_payment\"" - ]; - string creator_address = 24 [ - (gogoproto.jsontag) = "creator_address", - (gogoproto.moretags) = "yaml:\"creator_address\"" + (gogoproto.nullable) = false ]; + string creator_address = 24; } // MsgCreateBondResponse defines the Msg/CreateBond response type. @@ -129,23 +106,16 @@ message MsgCreateBondResponse {} // MsgEditBond defines a message for editing an existing bond. message MsgEditBond { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string name = 2 [ (gogoproto.moretags) = "yaml:\"name\"" ]; - string description = 3 [ (gogoproto.moretags) = "yaml:\"description\"" ]; - string order_quantity_limits = 4 - [ (gogoproto.moretags) = "yaml:\"order_quantity_limits\"" ]; - string sanity_rate = 5 [ (gogoproto.moretags) = "yaml:\"sanity_rate\"" ]; - string sanity_margin_percentage = 6 - [ (gogoproto.moretags) = "yaml:\"sanity_margin_percentage\"" ]; - string editor_did = 7 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"editor_did\"" - ]; - string editor_address = 8 [ - (gogoproto.jsontag) = "editor_address", - (gogoproto.moretags) = "yaml:\"editor_address\"" - ]; + string bond_did = 1; + string name = 2; + string description = 3; + string order_quantity_limits = 4; + string sanity_rate = 5; + string sanity_margin_percentage = 6; + string editor_did = 7 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string editor_address = 8; } // MsgEditBondResponse defines the Msg/EditBond response type. @@ -153,43 +123,31 @@ message MsgEditBondResponse {} // MsgSetNextAlpha defines a message for editing a bond's alpha parameter. message MsgSetNextAlpha { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; + string bond_did = 1; string alpha = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"alpha\"" + (gogoproto.nullable) = false ]; string delta = 3 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = true, - (gogoproto.moretags) = "yaml:\"delta\"" - ]; - string oracle_did = 4 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"editor_did\"" - ]; - string oracle_address = 5 [ - (gogoproto.jsontag) = "editor_address", - (gogoproto.moretags) = "yaml:\"editor_address\"" + (gogoproto.nullable) = true ]; + string oracle_did = 4 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string oracle_address = 5; } message MsgSetNextAlphaResponse {} // MsgUpdateBondState defines a message for updating a bond's current state. message MsgUpdateBondState { - string bond_did = 1 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string state = 2 [ (gogoproto.moretags) = "yaml:\"state\"" ]; - string editor_did = 3 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"oracle_did\"" - ]; - string editor_address = 4 [ - (gogoproto.jsontag) = "oracle_address", - (gogoproto.moretags) = "yaml:\"oracle_address\"" - ]; + string bond_did = 1; + string state = 2; + string editor_did = 3 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string editor_address = 4; } // MsgUpdateBondStateResponse defines the Msg/UpdateBondState response type. @@ -197,25 +155,16 @@ message MsgUpdateBondStateResponse {} // MsgBuy defines a message for buying from a bond. message MsgBuy { - string buyer_did = 1 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"buyer_did\"" - ]; - cosmos.base.v1beta1.Coin amount = 2 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"amount\"" - ]; + string buyer_did = 1 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false ]; repeated cosmos.base.v1beta1.Coin max_prices = 3 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"max_prices\"" - ]; - string bond_did = 4 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string buyer_address = 5 [ - (gogoproto.jsontag) = "buyer_address", - (gogoproto.moretags) = "yaml:\"buyer_address\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; + string bond_did = 4; + string buyer_address = 5 [ (gogoproto.jsontag) = "buyer_address" ]; } // MsgBuyResponse defines the Msg/Buy response type. @@ -223,20 +172,12 @@ message MsgBuyResponse {} // MsgSell defines a message for selling from a bond. message MsgSell { - string seller_did = 1 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"seller_did\"" - ]; - cosmos.base.v1beta1.Coin amount = 2 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"amount\"" - ]; - string bond_did = 3 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string seller_address = 4 [ - (gogoproto.jsontag) = "seller_address", - (gogoproto.moretags) = "yaml:\"seller_address\"" - ]; + string seller_did = 1 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false ]; + string bond_did = 3; + string seller_address = 4; } // MsgSellResponse defines the Msg/Sell response type. @@ -245,19 +186,13 @@ message MsgSellResponse {} // MsgSwap defines a message for swapping from one reserve bond token to // another. message MsgSwap { - string swapper_did = 1 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"swapper_did\"" - ]; - string bond_did = 2 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - cosmos.base.v1beta1.Coin from = 3 - [ (gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"from\"" ]; - string to_token = 4 [ (gogoproto.moretags) = "yaml:\"to_token\"" ]; - string swapper_address = 5 [ - (gogoproto.jsontag) = "swapper_address", - (gogoproto.moretags) = "yaml:\"swapper_address\"" - ]; + string swapper_did = 1 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string bond_did = 2; + cosmos.base.v1beta1.Coin from = 3 [ (gogoproto.nullable) = false ]; + string to_token = 4; + string swapper_address = 5; } // MsgSwapResponse defines the Msg/Swap response type. @@ -266,21 +201,15 @@ message MsgSwapResponse {} // MsgMakeOutcomePayment defines a message for making an outcome payment to a // bond. message MsgMakeOutcomePayment { - string sender_did = 1 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"sender_did\"" - ]; + string sender_did = 1 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; string amount = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", - (gogoproto.nullable) = false, - (gogoproto.moretags) = "yaml:\"amount\"" - ]; - string bond_did = 3 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string sender_address = 4 [ - (gogoproto.jsontag) = "sender_address", - (gogoproto.moretags) = "yaml:\"sender_address\"" + (gogoproto.nullable) = false ]; + string bond_did = 3; + string sender_address = 4; } // MsgMakeOutcomePaymentResponse defines the Msg/MakeOutcomePayment response @@ -290,16 +219,11 @@ message MsgMakeOutcomePaymentResponse {} // MsgWithdrawShare defines a message for withdrawing a share from a bond that // is in the SETTLE stage. message MsgWithdrawShare { - string recipient_did = 1 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"recipient_did\"" - ]; - string bond_did = 2 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string recipient_address = 3 [ - (gogoproto.jsontag) = "recipient_address", - (gogoproto.moretags) = "yaml:\"recipient_address\"" - ]; + string recipient_did = 1 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string bond_did = 2; + string recipient_address = 3; } // MsgWithdrawShareResponse defines the Msg/WithdrawShare response type. @@ -307,21 +231,15 @@ message MsgWithdrawShareResponse {} // MsgWithdrawReserve defines a message for withdrawing reserve from a bond. message MsgWithdrawReserve { - string withdrawer_did = 1 [ - (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment", - (gogoproto.moretags) = "yaml:\"withdrawer_did\"" - ]; + string withdrawer_did = 1 + [ (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; repeated cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false, - (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", - (gogoproto.moretags) = "yaml:\"amount\"" - ]; - string bond_did = 3 [ (gogoproto.moretags) = "yaml:\"bond_did\"" ]; - string withdrawer_address = 4 [ - (gogoproto.jsontag) = "withdrawer_address", - (gogoproto.moretags) = "yaml:\"withdrawer_address\"" + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; + string bond_did = 3; + string withdrawer_address = 4; } // MsgWithdrawReserveResponse defines the Msg/WithdrawReserve response type. diff --git a/proto/ixo/token/v1beta1/query.proto b/proto/ixo/token/v1beta1/query.proto index cd314870..36b1d85b 100644 --- a/proto/ixo/token/v1beta1/query.proto +++ b/proto/ixo/token/v1beta1/query.proto @@ -13,16 +13,17 @@ service Query { rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { option (google.api.http).get = "/ixo/token/params"; } - rpc TokenList(QueryTokenListRequest) returns (QueryTokenListResponse) { - option (google.api.http).get = "/ixo/token/{minter}"; - } - rpc TokenDoc(QueryTokenDocRequest) returns (QueryTokenDocResponse) { - option (google.api.http).get = "/ixo/token/{minter}/{contract_address}"; - } rpc TokenMetadata(QueryTokenMetadataRequest) returns (QueryTokenMetadataResponse) { option (google.api.http).get = "/ixo/token/metadata/{id}"; } + rpc TokenList(QueryTokenListRequest) returns (QueryTokenListResponse) { + option (google.api.http).get = "/ixo/token/minter/{minter}"; + } + rpc TokenDoc(QueryTokenDocRequest) returns (QueryTokenDocResponse) { + option (google.api.http).get = + "/ixo/token/minter/{minter}/{contract_address}"; + } } message QueryParamsRequest {} diff --git a/scripts/run_with_all_data.sh b/scripts/run_with_all_data.sh index 60e77459..335fff81 100755 --- a/scripts/run_with_all_data.sh +++ b/scripts/run_with_all_data.sh @@ -70,6 +70,13 @@ ixod validate-genesis FROM="enable = false" TO="enable = true" sed -i "s/$FROM/$TO/" "$HOME"/.ixod/config/app.toml +# Enable cors +FROM="enabled-unsafe-cors = false" +TO="enabled-unsafe-cors = true" +sed -i "s/$FROM/$TO/" "$HOME"/.ixod/config/app.toml +FROM="cors_allowed_origins = \[\]" +TO="cors_allowed_origins = \[\"*\"\]" +sed -i "s/$FROM/$TO/" "$HOME"/.ixod/config/config.toml # Enable Swagger docs FROM="swagger = false" diff --git a/wasmbinding/query_plugin.go b/wasmbinding/query_plugin.go new file mode 100644 index 00000000..d77f30af --- /dev/null +++ b/wasmbinding/query_plugin.go @@ -0,0 +1,37 @@ +package wasmbinding + +import ( + "fmt" + + wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + abci "github.com/tendermint/tendermint/abci/types" +) + +// StargateQuerier dispatches whitelisted stargate queries +func StargateQuerier(queryRouter baseapp.GRPCQueryRouter, cdc codec.Codec) func(ctx sdk.Context, request *wasmvmtypes.StargateQuery) ([]byte, error) { + return func(ctx sdk.Context, request *wasmvmtypes.StargateQuery) ([]byte, error) { + protoResponseType, err := GetWhitelistedQuery(request.Path) + if err != nil { + return nil, err + } + + route := queryRouter.Route(request.Path) + if route == nil { + return nil, wasmvmtypes.UnsupportedRequest{Kind: fmt.Sprintf("No route to query '%s'", request.Path)} + } + + res, err := route(ctx, abci.RequestQuery{ + Data: request.Data, + Path: request.Path, + }) + if err != nil { + return nil, err + } + + return wasmkeeper.ConvertProtoToJSONMarshal(cdc, protoResponseType, res.Value) + } +} diff --git a/wasmbinding/stargate_whitelist.go b/wasmbinding/stargate_whitelist.go new file mode 100644 index 00000000..db7c2272 --- /dev/null +++ b/wasmbinding/stargate_whitelist.go @@ -0,0 +1,139 @@ +package wasmbinding + +import ( + "fmt" + "sync" + + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + "github.com/cosmos/cosmos-sdk/codec" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" + + bondstypes "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + claimstypes "github.com/ixofoundation/ixo-blockchain/x/claims/types" + entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + tokentypes "github.com/ixofoundation/ixo-blockchain/x/token/types" +) + +// stargateWhitelist keeps whitelist and its deterministic +// response binding for stargate queries. +// +// The query can be multi-thread, so we have to use +// thread safe sync.Map. +var stargateWhitelist sync.Map + +// Note: When adding a migration here, we should also add it to the Async ICQ params in the upgrade. +// In the future we may want to find a better way to keep these in sync + +func init() { + // ibc queries + setWhitelistedQuery("/ibc.applications.transfer.v1.Query/DenomTrace", &ibctransfertypes.QueryDenomTraceResponse{}) + setWhitelistedQuery("/ibc.applications.transfer.v1.Query/DenomTraces", &ibctransfertypes.QueryDenomTracesResponse{}) + setWhitelistedQuery("/ibc.applications.transfer.v1.Query/DenomHash", &ibctransfertypes.QueryDenomHashResponse{}) + + // cosmos-sdk queries + // ============================= + + // auth + setWhitelistedQuery("/cosmos.auth.v1beta1.Query/Account", &authtypes.QueryAccountResponse{}) + setWhitelistedQuery("/cosmos.auth.v1beta1.Query/Params", &authtypes.QueryParamsResponse{}) + + // bank + setWhitelistedQuery("/cosmos.bank.v1beta1.Query/Balance", &banktypes.QueryBalanceResponse{}) + setWhitelistedQuery("/cosmos.bank.v1beta1.Query/AllBalances", &banktypes.QueryAllBalancesResponse{}) + setWhitelistedQuery("/cosmos.bank.v1beta1.Query/DenomMetadata", &banktypes.QueryDenomsMetadataResponse{}) + setWhitelistedQuery("/cosmos.bank.v1beta1.Query/Params", &banktypes.QueryParamsResponse{}) + setWhitelistedQuery("/cosmos.bank.v1beta1.Query/SupplyOf", &banktypes.QuerySupplyOfResponse{}) + + // distribution + setWhitelistedQuery("/cosmos.distribution.v1beta1.Query/Params", &distributiontypes.QueryParamsResponse{}) + setWhitelistedQuery("/cosmos.distribution.v1beta1.Query/DelegatorWithdrawAddress", &distributiontypes.QueryDelegatorWithdrawAddressResponse{}) + setWhitelistedQuery("/cosmos.distribution.v1beta1.Query/ValidatorCommission", &distributiontypes.QueryValidatorCommissionResponse{}) + + // gov + setWhitelistedQuery("/cosmos.gov.v1beta1.Query/Deposit", &govtypes.QueryDepositResponse{}) + setWhitelistedQuery("/cosmos.gov.v1beta1.Query/Params", &govtypes.QueryParamsResponse{}) + setWhitelistedQuery("/cosmos.gov.v1beta1.Query/Vote", &govtypes.QueryVoteResponse{}) + + // slashing + setWhitelistedQuery("/cosmos.slashing.v1beta1.Query/Params", &slashingtypes.QueryParamsResponse{}) + setWhitelistedQuery("/cosmos.slashing.v1beta1.Query/SigningInfo", &slashingtypes.QuerySigningInfoResponse{}) + + // staking + setWhitelistedQuery("/cosmos.staking.v1beta1.Query/Delegation", &stakingtypes.QueryDelegationResponse{}) + setWhitelistedQuery("/cosmos.staking.v1beta1.Query/Params", &stakingtypes.QueryParamsResponse{}) + setWhitelistedQuery("/cosmos.staking.v1beta1.Query/Validator", &stakingtypes.QueryValidatorResponse{}) + + // ixo queries + // ============================= + + // bonds + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/Params", &bondstypes.QueryParamsResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/Bond", &bondstypes.QueryBondResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/CurrentPrice", &bondstypes.QueryCurrentPriceResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/Batch", &bondstypes.QueryBatchResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/LastBatch", &bondstypes.QueryLastBatchResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/CurrentReserve", &bondstypes.QueryCurrentReserveResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/AvailableReserve", &bondstypes.QueryAvailableReserveResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/CustomPrice", &bondstypes.QueryCustomPriceResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/BuyPrice", &bondstypes.QueryBuyPriceResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/SellReturn", &bondstypes.QuerySellReturnResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/SwapReturn", &bondstypes.QuerySwapReturnResponse{}) + setWhitelistedQuery("/ixo.bonds.v1beta1.Query/AlphaMaximums", &bondstypes.QueryAlphaMaximumsResponse{}) + + // claims + setWhitelistedQuery("/ixo.claims.v1beta1.Query/Params", &claimstypes.QueryParamsResponse{}) + setWhitelistedQuery("/ixo.claims.v1beta1.Query/Collection", &claimstypes.QueryCollectionResponse{}) + setWhitelistedQuery("/ixo.claims.v1beta1.Query/Claim", &claimstypes.QueryClaimResponse{}) + setWhitelistedQuery("/ixo.claims.v1beta1.Query/Dispute", &claimstypes.QueryDisputeResponse{}) + + // entity + setWhitelistedQuery("/ixo.entity.v1beta1.Query/Params", &entitytypes.QueryParamsResponse{}) + setWhitelistedQuery("/ixo.entity.v1beta1.Query/Entity", &entitytypes.QueryEntityResponse{}) + setWhitelistedQuery("/ixo.entity.v1beta1.Query/EntityVerified", &entitytypes.QueryEntityVerifiedResponse{}) + + // iid + setWhitelistedQuery("/ixo.iid.v1beta1.Query/IidDocument", &iidtypes.QueryIidDocumentResponse{}) + + // token + setWhitelistedQuery("/ixo.token.v1beta1.Query/Params", &tokentypes.QueryParamsResponse{}) + setWhitelistedQuery("/ixo.token.v1beta1.Query/TokenMetadata", &tokentypes.QueryTokenMetadataResponse{}) +} + +// GetWhitelistedQuery returns the whitelisted query at the provided path. +// If the query does not exist, or it was setup wrong by the chain, this returns an error. +func GetWhitelistedQuery(queryPath string) (codec.ProtoMarshaler, error) { + protoResponseAny, isWhitelisted := stargateWhitelist.Load(queryPath) + if !isWhitelisted { + return nil, wasmvmtypes.UnsupportedRequest{Kind: fmt.Sprintf("'%s' path is not allowed from the contract", queryPath)} + } + protoResponseType, ok := protoResponseAny.(codec.ProtoMarshaler) + if !ok { + return nil, wasmvmtypes.Unknown{} + } + return protoResponseType, nil +} + +func setWhitelistedQuery(queryPath string, protoType codec.ProtoMarshaler) { + stargateWhitelist.Store(queryPath, protoType) +} + +func GetStargateWhitelistedPaths() (keys []string) { + // Iterate over the map and collect the keys + stargateWhitelist.Range(func(key, value interface{}) bool { + keyStr, ok := key.(string) + if !ok { + panic("key is not a string") + } + keys = append(keys, keyStr) + return true + }) + + return keys +} diff --git a/wasmbinding/wasm.go b/wasmbinding/wasm.go new file mode 100644 index 00000000..d8411212 --- /dev/null +++ b/wasmbinding/wasm.go @@ -0,0 +1,19 @@ +package wasmbinding + +import ( + "github.com/CosmWasm/wasmd/x/wasm" + + wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" + "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/codec" +) + +func RegisterStargateQueries(queryRouter baseapp.GRPCQueryRouter, codec codec.Codec) []wasmkeeper.Option { + queryPluginOpt := wasmkeeper.WithQueryPlugins(&wasmkeeper.QueryPlugins{ + Stargate: StargateQuerier(queryRouter, codec), + }) + + return []wasm.Option{ + queryPluginOpt, + } +} diff --git a/x/bonds/client/rest/query.go b/x/bonds/client/rest/query.go index b05e8903..6050ed84 100644 --- a/x/bonds/client/rest/query.go +++ b/x/bonds/client/rest/query.go @@ -1,266 +1,266 @@ package rest -import ( - "fmt" - "net/http" - - "github.com/cosmos/cosmos-sdk/client" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/rest" - "github.com/gorilla/mux" - "github.com/ixofoundation/ixo-blockchain/x/bonds/keeper" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" -) - -func registerQueryRoutes(clientCtx client.Context, r *mux.Router) { - r.HandleFunc("/bonds", queryBondsHandler(clientCtx)).Methods("GET") - r.HandleFunc("/bonds_detailed", queryBondsDetailedHandler(clientCtx)).Methods("GET") - r.HandleFunc("/bonds/params", queryParamsRequestHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}", RestBondDid), queryBondHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}/batch", RestBondDid), queryBatchHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}/last_batch", RestBondDid), queryLastBatchHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}/current_price", RestBondDid), queryCurrentPriceHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}/current_reserve", RestBondDid), queryCurrentReserveHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}/available_reserve", RestBondDid), queryAvailableReserveHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}/price/{%s}", RestBondDid, RestBondAmount), queryCustomPriceHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}/buy_price/{%s}", RestBondDid, RestBondAmount), queryBuyPriceHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}/sell_return/{%s}", RestBondDid, RestBondAmount), querySellReturnHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}/swap_return/{%s}/{%s}", RestBondDid, RestFromTokenWithAmount, RestToToken), querySwapReturnHandler(clientCtx)).Methods("GET") - r.HandleFunc(fmt.Sprintf("/bonds/{%s}/alpha_maximums", RestBondDid), queryAlphaMaximumsHandler(clientCtx)).Methods("GET") -} - -func queryBondsHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s", - types.QuerierRoute, keeper.QueryBonds), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func queryBondsDetailedHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - cliCtx, ok := rest.ParseQueryHeightOrReturnBadRequest(w, clientCtx, r) - if !ok { - return - } - - res, height, err := cliCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s", - types.QuerierRoute, keeper.QueryBondsDetailed), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - cliCtx = cliCtx.WithHeight(height) - - rest.PostProcessResponse(w, cliCtx, res) - } -} - -func queryBondHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s", - types.QuerierRoute, keeper.QueryBond, bondDid), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func queryBatchHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s", - types.QuerierRoute, keeper.QueryBatch, bondDid), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func queryLastBatchHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s", - types.QuerierRoute, keeper.QueryLastBatch, bondDid), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func queryCurrentPriceHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s", - types.QuerierRoute, keeper.QueryCurrentPrice, bondDid), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func queryCurrentReserveHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s", - types.QuerierRoute, keeper.QueryCurrentReserve, bondDid), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func queryAvailableReserveHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s", - types.QuerierRoute, keeper.QueryAvailableReserve, bondDid), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func queryCustomPriceHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - bondAmount := vars[RestBondAmount] - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s/%s", - types.QuerierRoute, keeper.QueryCustomPrice, bondDid, bondAmount), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func queryBuyPriceHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - bondAmount := vars[RestBondAmount] - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s/%s", - types.QuerierRoute, keeper.QueryBuyPrice, bondDid, bondAmount), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func querySellReturnHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - bondAmount := vars[RestBondAmount] - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s/%s", - types.QuerierRoute, keeper.QuerySellReturn, bondDid, bondAmount), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func querySwapReturnHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - fromTokenWithAmount := vars[RestFromTokenWithAmount] - toToken := vars[RestToToken] - - reserveCoinWithAmount, err := sdk.ParseCoinNormalized(fromTokenWithAmount) - if rest.CheckNotFoundError(w, err) { - return - } - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s/%s/%s/%s", - types.QuerierRoute, keeper.QuerySwapReturn, bondDid, reserveCoinWithAmount.Denom, - reserveCoinWithAmount.Amount.String(), toToken), nil) - if err != nil { - rest.WriteErrorResponse(w, http.StatusNotFound, err.Error()) - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func queryAlphaMaximumsHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - bondDid := vars[RestBondDid] - - res, _, err := clientCtx.QueryWithData( - fmt.Sprintf("custom/%s/%s/%s", - types.QuerierRoute, keeper.QueryAlphaMaximums, bondDid), nil) - if rest.CheckNotFoundError(w, err) { - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} - -func queryParamsRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - - res, _, err := clientCtx.QueryWithData(fmt.Sprintf("custom/%s/%s", types.QuerierRoute, - keeper.QueryParams), nil) - if err != nil { - w.WriteHeader(http.StatusInternalServerError) - _, _ = w.Write([]byte(fmt.Sprintf("Couldn't get query iid %s", err.Error()))) - return - } - - rest.PostProcessResponse(w, clientCtx, res) - } -} +// import ( +// "fmt" +// "net/http" + +// "github.com/cosmos/cosmos-sdk/client" +// sdk "github.com/cosmos/cosmos-sdk/types" +// "github.com/cosmos/cosmos-sdk/types/rest" +// "github.com/gorilla/mux" +// "github.com/ixofoundation/ixo-blockchain/x/bonds/keeper" +// "github.com/ixofoundation/ixo-blockchain/x/bonds/types" +// ) + +// func registerQueryRoutes(clientCtx client.Context, r *mux.Router) { +// r.HandleFunc("/bonds", queryBondsHandler(clientCtx)).Methods("GET") +// r.HandleFunc("/bonds_detailed", queryBondsDetailedHandler(clientCtx)).Methods("GET") +// r.HandleFunc("/bonds/params", queryParamsRequestHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}", RestBondDid), queryBondHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/batch", RestBondDid), queryBatchHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/last_batch", RestBondDid), queryLastBatchHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/current_price", RestBondDid), queryCurrentPriceHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/current_reserve", RestBondDid), queryCurrentReserveHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/available_reserve", RestBondDid), queryAvailableReserveHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/price/{%s}", RestBondDid, RestBondAmount), queryCustomPriceHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/buy_price/{%s}", RestBondDid, RestBondAmount), queryBuyPriceHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/sell_return/{%s}", RestBondDid, RestBondAmount), querySellReturnHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/swap_return/{%s}/{%s}", RestBondDid, RestFromTokenWithAmount, RestToToken), querySwapReturnHandler(clientCtx)).Methods("GET") +// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/alpha_maximums", RestBondDid), queryAlphaMaximumsHandler(clientCtx)).Methods("GET") +// } + +// func queryBondsHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s", +// types.QuerierRoute, keeper.QueryBonds), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func queryBondsDetailedHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// cliCtx, ok := rest.ParseQueryHeightOrReturnBadRequest(w, clientCtx, r) +// if !ok { +// return +// } + +// res, height, err := cliCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s", +// types.QuerierRoute, keeper.QueryBondsDetailed), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// cliCtx = cliCtx.WithHeight(height) + +// rest.PostProcessResponse(w, cliCtx, res) +// } +// } + +// func queryBondHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s", +// types.QuerierRoute, keeper.QueryBond, bondDid), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func queryBatchHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s", +// types.QuerierRoute, keeper.QueryBatch, bondDid), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func queryLastBatchHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s", +// types.QuerierRoute, keeper.QueryLastBatch, bondDid), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func queryCurrentPriceHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s", +// types.QuerierRoute, keeper.QueryCurrentPrice, bondDid), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func queryCurrentReserveHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s", +// types.QuerierRoute, keeper.QueryCurrentReserve, bondDid), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func queryAvailableReserveHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s", +// types.QuerierRoute, keeper.QueryAvailableReserve, bondDid), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func queryCustomPriceHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] +// bondAmount := vars[RestBondAmount] + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s/%s", +// types.QuerierRoute, keeper.QueryCustomPrice, bondDid, bondAmount), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func queryBuyPriceHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] +// bondAmount := vars[RestBondAmount] + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s/%s", +// types.QuerierRoute, keeper.QueryBuyPrice, bondDid, bondAmount), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func querySellReturnHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] +// bondAmount := vars[RestBondAmount] + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s/%s", +// types.QuerierRoute, keeper.QuerySellReturn, bondDid, bondAmount), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func querySwapReturnHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] +// fromTokenWithAmount := vars[RestFromTokenWithAmount] +// toToken := vars[RestToToken] + +// reserveCoinWithAmount, err := sdk.ParseCoinNormalized(fromTokenWithAmount) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s/%s/%s/%s", +// types.QuerierRoute, keeper.QuerySwapReturn, bondDid, reserveCoinWithAmount.Denom, +// reserveCoinWithAmount.Amount.String(), toToken), nil) +// if err != nil { +// rest.WriteErrorResponse(w, http.StatusNotFound, err.Error()) +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func queryAlphaMaximumsHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// vars := mux.Vars(r) +// bondDid := vars[RestBondDid] + +// res, _, err := clientCtx.QueryWithData( +// fmt.Sprintf("custom/%s/%s/%s", +// types.QuerierRoute, keeper.QueryAlphaMaximums, bondDid), nil) +// if rest.CheckNotFoundError(w, err) { +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } + +// func queryParamsRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { + +// res, _, err := clientCtx.QueryWithData(fmt.Sprintf("custom/%s/%s", types.QuerierRoute, +// keeper.QueryParams), nil) +// if err != nil { +// w.WriteHeader(http.StatusInternalServerError) +// _, _ = w.Write([]byte(fmt.Sprintf("Couldn't get query iid %s", err.Error()))) +// return +// } + +// rest.PostProcessResponse(w, clientCtx, res) +// } +// } diff --git a/x/bonds/client/rest/rest.go b/x/bonds/client/rest/rest.go index 7e3b8692..cc13502e 100644 --- a/x/bonds/client/rest/rest.go +++ b/x/bonds/client/rest/rest.go @@ -1,22 +1,23 @@ package rest -import ( - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/rest" - "github.com/gorilla/mux" -) +// import ( +// "github.com/cosmos/cosmos-sdk/client" +// "github.com/cosmos/cosmos-sdk/client/rest" +// "github.com/gorilla/mux" +// ) -// REST variable names -//noinspection GoNameStartsWithPackageName -const ( - RestBondDid = "bond_did" - RestBondAmount = "bond_amount" - RestFromTokenWithAmount = "from_token_with_amount" - RestToToken = "to_token" -) +// // REST variable names +// //noinspection GoNameStartsWithPackageName +// const ( +// RestBondDid = "bond_did" +// RestBondAmount = "bond_amount" +// RestFromTokenWithAmount = "from_token_with_amount" +// RestToToken = "to_token" +// ) -func RegisterHandlers(cliCtx client.Context, rtr *mux.Router) { - r := rest.WithHTTPDeprecationHeaders(rtr) - registerQueryRoutes(cliCtx, r) - registerTxHandlers(cliCtx, r) -} +// func RegisterHandlers(cliCtx client.Context, rtr *mux.Router) { +// r := rest.WithHTTPDeprecationHeaders(rtr) +// registerQueryRoutes(cliCtx, r) +// registerTxHandlers(cliCtx, r) +// } +// v diff --git a/x/bonds/client/rest/tx.go b/x/bonds/client/rest/tx.go index a2d56460..b0f2052c 100644 --- a/x/bonds/client/rest/tx.go +++ b/x/bonds/client/rest/tx.go @@ -1,514 +1,514 @@ package rest -import ( - "net/http" - "strings" - - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/tx" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/cosmos-sdk/types/rest" - "github.com/gorilla/mux" - bondsclient "github.com/ixofoundation/ixo-blockchain/x/bonds/client" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" -) - -func registerTxHandlers(clientCtx client.Context, r *mux.Router) { - r.HandleFunc("/bonds/create_bond", createBondRequestHandler(clientCtx)).Methods("POST") - r.HandleFunc("/bonds/edit_bond", editBondRequestHandler(clientCtx)).Methods("POST") - r.HandleFunc("/bonds/set_next_alpha", setNextAlphaRequestHandler(clientCtx)).Methods("POST") - r.HandleFunc("/bonds/update_bond_state", updateBondStateRequestHandler(clientCtx)).Methods("POST") - r.HandleFunc("/bonds/buy", buyRequestHandler(clientCtx)).Methods("POST") - r.HandleFunc("/bonds/sell", sellRequestHandler(clientCtx)).Methods("POST") - r.HandleFunc("/bonds/swap", swapRequestHandler(clientCtx)).Methods("POST") - r.HandleFunc("/bonds/make_outcome_payment", makeOutcomePaymentRequestHandler(clientCtx)).Methods("POST") - r.HandleFunc("/bonds/withdraw_share", withdrawShareRequestHandler(clientCtx)).Methods("POST") - r.HandleFunc("/bonds/withdraw_reserve", withdrawReserveRequestHandler(clientCtx)).Methods("POST") -} - -type createBondReq struct { - BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` - Token string `json:"token" yaml:"token"` - Name string `json:"name" yaml:"name"` - Description string `json:"description" yaml:"description"` - FunctionType string `json:"function_type" yaml:"function_type"` - FunctionParameters string `json:"function_parameters" yaml:"function_parameters"` - ReserveTokens string `json:"reserve_tokens" yaml:"reserve_tokens"` - TxFeePercentage string `json:"tx_fee_percentage" yaml:"tx_fee_percentage"` - ExitFeePercentage string `json:"exit_fee_percentage" yaml:"exit_fee_percentage"` - FeeAddress string `json:"fee_address" yaml:"fee_address"` - ReserveWithdrawalAddress string `json:"reserve_withdrawal_address" yaml:"reserve_withdrawal_address"` - MaxSupply string `json:"max_supply" yaml:"max_supply"` - OrderQuantityLimits string `json:"order_quantity_limits" yaml:"order_quantity_limits"` - SanityRate string `json:"sanity_rate" yaml:"sanity_rate"` - SanityMarginPercentage string `json:"sanity_margin_percentage" yaml:"sanity_margin_percentage"` - AllowSells string `json:"allow_sells" yaml:"allow_sells"` - AllowReserveWithdrawals string `json:"allow_reserve_withdrawals" yaml:"allow_reserve_withdrawals"` - AlphaBond string `json:"alpha_bond" yaml:"alpha_bond"` - BatchBlocks string `json:"batch_blocks" yaml:"batch_blocks"` - OutcomePayment string `json:"outcome_payment" yaml:"outcome_payment"` - BondDid string `json:"bond_did" yaml:"bond_did"` - CreatorDid string `json:"creator_did" yaml:"creator_did"` - ControllerDid string `json:"controller_did" yaml:"controller_did"` - OracleDid string `json:"oracle_did" yaml:"oracle_did"` - CreatorAddress string `json:"creator_address" yaml:"creator_address"` -} - -func createBondRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req createBondReq - if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { - return - } - - baseReq := req.BaseReq.Sanitize() - if !baseReq.ValidateBasic(w) { - return - } - - // Parse function parameters - functionParams, err := bondsclient.ParseFunctionParams(req.FunctionParameters) - if rest.CheckBadRequestError(w, err) { - return - } - - // Parse reserve tokens - reserveTokens := strings.Split(req.ReserveTokens, ",") - - // Parse tx fee percentage - txFeePercentageDec, err := sdk.NewDecFromStr(req.TxFeePercentage) - if err != nil { - err = sdkerrors.Wrap(types.ErrArgumentMissingOrNonFloat, "tx fee percentage") - rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) - return - } - - // Parse exit fee percentage - exitFeePercentageDec, err := sdk.NewDecFromStr(req.ExitFeePercentage) - if err != nil { - err = sdkerrors.Wrap(types.ErrArgumentMissingOrNonFloat, "exit fee percentage") - rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) - return - } - - // Parse fee address - feeAddress, err := sdk.AccAddressFromBech32(req.FeeAddress) - if rest.CheckBadRequestError(w, err) { - return - } - - // Parse reserve withdrawal address - reserveWithdrawalAddress, err := sdk.AccAddressFromBech32(req.ReserveWithdrawalAddress) - if rest.CheckBadRequestError(w, err) { - return - } - - // Parse max supply - maxSupply, err := sdk.ParseCoinNormalized(req.MaxSupply) - if rest.CheckBadRequestError(w, err) { - return - } - - // Parse order quantity limits - orderQuantityLimits, err := sdk.ParseCoinsNormalized(req.OrderQuantityLimits) - if rest.CheckBadRequestError(w, err) { - return - } - - // Parse sanity rate - sanityRate, err := sdk.NewDecFromStr(req.SanityRate) - if rest.CheckBadRequestError(w, err) { - return - } - - // Parse sanity margin percentage - sanityMarginPercentage, err := sdk.NewDecFromStr(req.SanityMarginPercentage) - if rest.CheckBadRequestError(w, err) { - return - } - - // Parse allowSells - var allowSells bool - allowSellsStrLower := strings.ToLower(req.AllowSells) - if allowSellsStrLower == "true" { - allowSells = true - } else if allowSellsStrLower == "false" { - allowSells = false - } else { - err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonBoolean, "allow_sells") - rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) - return - } - - // Parse allowReserveWithdrawals - var allowReserveWithdrawals bool - allowReserveWithdrawalsStrLower := strings.ToLower(req.AllowReserveWithdrawals) - if allowReserveWithdrawalsStrLower == "true" { - allowReserveWithdrawals = true - } else if allowReserveWithdrawalsStrLower == "false" { - allowReserveWithdrawals = false - } else { - err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonBoolean, "allow_reserve_withdrawals") - rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) - return - } - - // Parse alphaBond - var alphaBond bool - alphaBondStrLower := strings.ToLower(req.AlphaBond) - if alphaBondStrLower == "true" { - alphaBond = true - } else if alphaBondStrLower == "false" { - alphaBond = false - } else { - err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonBoolean, "alpha_bond") - rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) - return - } - - // Parse batch blocks - batchBlocks, err := sdk.ParseUint(req.BatchBlocks) - if err != nil { - err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonUInteger, "max batch blocks") - rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) - return - } - - // Parse outcome payment - var outcomePayment sdk.Int - if len(req.OutcomePayment) == 0 { - outcomePayment = sdk.ZeroInt() - } else { - var ok bool - outcomePayment, ok = sdk.NewIntFromString(req.OutcomePayment) - if !ok { - err := sdkerrors.Wrap(types.ErrArgumentMustBeInteger, "outcome payment") - rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) - return - } - } - - msg := types.NewMsgCreateBond(req.Token, req.Name, req.Description, - iidtypes.DIDFragment(req.CreatorDid), iidtypes.DIDFragment(req.ControllerDid), iidtypes.DIDFragment(req.OracleDid), req.FunctionType, functionParams, - reserveTokens, txFeePercentageDec, exitFeePercentageDec, feeAddress, - reserveWithdrawalAddress, maxSupply, orderQuantityLimits, sanityRate, - sanityMarginPercentage, allowSells, allowReserveWithdrawals, alphaBond, - batchBlocks, outcomePayment, req.BondDid, req.CreatorAddress) - if rest.CheckBadRequestError(w, msg.ValidateBasic()) { - return - } - - tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) - } -} - -type editBondReq struct { - BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` - Name string `json:"name" yaml:"name"` - Description string `json:"description" yaml:"description"` - OrderQuantityLimits string `json:"order_quantity_limits" yaml:"order_quantity_limits"` - SanityRate string `json:"sanity_rate" yaml:"sanity_rate"` - SanityMarginPercentage string `json:"sanity_margin_percentage" yaml:"sanity_margin_percentage"` - BondDid string `json:"bond_did" yaml:"bond_did"` - EditorDid string `json:"editor_did" yaml:"editor_did"` - EditorAddress string `json:"editor_address" yaml:"editor_address"` -} - -func editBondRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req editBondReq - if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { - return - } - - baseReq := req.BaseReq.Sanitize() - if !baseReq.ValidateBasic(w) { - return - } - - msg := types.NewMsgEditBond(req.Name, req.Description, - req.OrderQuantityLimits, req.SanityRate, - req.SanityMarginPercentage, iidtypes.DIDFragment(req.EditorDid), req.BondDid, req.EditorAddress) - if rest.CheckBadRequestError(w, msg.ValidateBasic()) { - return - } - - tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) - } -} - -type setNextAlphaReq struct { - BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` - NewAlpha string `json:"new_alpha" yaml:"new_alpha"` - BondDid string `json:"bond_did" yaml:"bond_did"` - EditorDid string `json:"editor_did" yaml:"editor_did"` - EditorAddress string `json:"editor_address" yaml:"editor_address"` -} - -func setNextAlphaRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req setNextAlphaReq - if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { - return - } - - baseReq := req.BaseReq.Sanitize() - if !baseReq.ValidateBasic(w) { - return - } - - // Parse new alpha - newAlpha, err := sdk.NewDecFromStr(req.NewAlpha) - if rest.CheckBadRequestError(w, err) { - return - } - - msg := types.NewMsgSetNextAlpha(newAlpha, iidtypes.DIDFragment(req.EditorDid), req.BondDid, req.EditorAddress) - if rest.CheckBadRequestError(w, msg.ValidateBasic()) { - return - } - - tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) - } -} - -type updateBondStateReq struct { - BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` - NewState string `json:"new_state" yaml:"new_state"` - BondDid string `json:"bond_did" yaml:"bond_did"` - EditorDid string `json:"editor_did" yaml:"editor_did"` - EditorAddress string `json:"editor_address" yaml:"editor_address"` -} - -func updateBondStateRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req updateBondStateReq - if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { - return - } - - baseReq := req.BaseReq.Sanitize() - if !baseReq.ValidateBasic(w) { - return - } - msg := types.NewMsgUpdateBondState(types.BondState(req.NewState), iidtypes.DIDFragment(req.EditorDid), req.BondDid, req.EditorAddress) - if rest.CheckBadRequestError(w, msg.ValidateBasic()) { - return - } - - tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) - } -} - -type buyReq struct { - BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` - BondToken string `json:"bond_token" yaml:"bond_token"` - BondAmount string `json:"bond_amount" yaml:"bond_amount"` - MaxPrices string `json:"max_prices" yaml:"max_prices"` - BondDid string `json:"bond_did" yaml:"bond_did"` - BuyerDid string `json:"buyer_did" yaml:"buyer_did"` - BuyerAddress string `json:"buyer_address" yaml:"buyer_address"` -} - -func buyRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req buyReq - if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { - return - } - - baseReq := req.BaseReq.Sanitize() - if !baseReq.ValidateBasic(w) { - return - } - - bondCoin, err := bondsclient.ParseTwoPartCoin(req.BondAmount, req.BondToken) - if rest.CheckBadRequestError(w, err) { - return - } - - maxPrices, err := sdk.ParseCoinsNormalized(req.MaxPrices) - if rest.CheckBadRequestError(w, err) { - return - } - - msg := types.NewMsgBuy(iidtypes.DIDFragment(req.BuyerDid), bondCoin, maxPrices, req.BondDid, req.BuyerAddress) - if rest.CheckBadRequestError(w, msg.ValidateBasic()) { - return - } - - tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) - } -} - -type sellReq struct { - BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` - BondToken string `json:"bond_token" yaml:"bond_token"` - BondAmount string `json:"bond_amount" yaml:"bond_amount"` - BondDid string `json:"bond_did" yaml:"bond_did"` - SellerDid string `json:"seller_did" yaml:"seller_did"` - SellerAddress string `json:"seller_address" yaml:"seller_address"` -} - -func sellRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req sellReq - if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { - return - } - - baseReq := req.BaseReq.Sanitize() - if !baseReq.ValidateBasic(w) { - return - } - - bondCoin, err := bondsclient.ParseTwoPartCoin(req.BondAmount, req.BondToken) - if rest.CheckBadRequestError(w, err) { - return - } - - msg := types.NewMsgSell(iidtypes.DIDFragment(req.SellerDid), bondCoin, req.BondDid, req.SellerAddress) - if rest.CheckBadRequestError(w, msg.ValidateBasic()) { - return - } - - tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) - } -} - -type swapReq struct { - BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` - FromAmount string `json:"from_amount" yaml:"from_amount"` - FromToken string `json:"from_token" yaml:"from_token"` - ToToken string `json:"to_token" yaml:"to_token"` - BondDid string `json:"bond_did" yaml:"bond_did"` - SwapperDid string `json:"swapper_did" yaml:"swapper_did"` - SwapperAddress string `json:"swapper_address" yaml:"swapper_address"` -} - -func swapRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req swapReq - if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { - return - } - - baseReq := req.BaseReq.Sanitize() - if !baseReq.ValidateBasic(w) { - return - } - - // Check that from amount and token can be parsed to a coin - fromCoin, err := bondsclient.ParseTwoPartCoin(req.FromAmount, req.FromToken) - if rest.CheckBadRequestError(w, err) { - return - } - - msg := types.NewMsgSwap(iidtypes.DIDFragment(req.SwapperDid), fromCoin, req.ToToken, req.BondDid, req.SwapperAddress) - if rest.CheckBadRequestError(w, msg.ValidateBasic()) { - return - } - - tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) - } -} - -type makeOutcomePaymentReq struct { - BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` - BondDid string `json:"bond_did" yaml:"bond_did"` - Amount string `json:"amount" yaml:"amount"` - SenderDid string `json:"sender_did" yaml:"sender_did"` - SenderAddress string `json:"sender_address" yaml:"sender_address"` -} - -func makeOutcomePaymentRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req makeOutcomePaymentReq - if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { - return - } - - baseReq := req.BaseReq.Sanitize() - if !baseReq.ValidateBasic(w) { - return - } - - amount, ok := sdk.NewIntFromString(req.Amount) - if !ok { - err := sdkerrors.Wrap(types.ErrArgumentMustBeInteger, "amount") - rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) - return - } - - msg := types.NewMsgMakeOutcomePayment(iidtypes.DIDFragment(req.SenderDid), amount, req.BondDid, req.SenderAddress) - if rest.CheckBadRequestError(w, msg.ValidateBasic()) { - return - } - - tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) - } -} - -type withdrawShareReq struct { - BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` - BondDid string `json:"bond_did" yaml:"bond_did"` - RecipientDid string `json:"recipient_did" yaml:"recipient_did"` - RecipientAddress string `json:"recipient_address" yaml:"recipient_address"` -} - -func withdrawShareRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req withdrawShareReq - if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { - return - } - - baseReq := req.BaseReq.Sanitize() - if !baseReq.ValidateBasic(w) { - return - } - - msg := types.NewMsgWithdrawShare(iidtypes.DIDFragment(req.RecipientDid), req.BondDid, req.RecipientAddress) - if rest.CheckBadRequestError(w, msg.ValidateBasic()) { - return - } - - tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) - } -} - -type withdrawReserveReq struct { - BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` - BondDid string `json:"bond_did" yaml:"bond_did"` - Amount string `json:"amount" yaml:"amount"` - WithdrawerDid string `json:"withdrawer_did" yaml:"withdrawer_did"` - WithdrawerAddress string `json:"withdrawer_address" yaml:"withdrawer_address"` -} - -func withdrawReserveRequestHandler(clientCtx client.Context) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req withdrawReserveReq - if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { - return - } - - baseReq := req.BaseReq.Sanitize() - if !baseReq.ValidateBasic(w) { - return - } - - amount, err := sdk.ParseCoinsNormalized(req.Amount) - if rest.CheckBadRequestError(w, err) { - return - } - - msg := types.NewMsgWithdrawReserve(iidtypes.DIDFragment(req.WithdrawerDid), amount, req.BondDid, req.WithdrawerAddress) - if rest.CheckBadRequestError(w, msg.ValidateBasic()) { - return - } - - tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) - } -} +// import ( +// "net/http" +// "strings" + +// "github.com/cosmos/cosmos-sdk/client" +// "github.com/cosmos/cosmos-sdk/client/tx" +// sdk "github.com/cosmos/cosmos-sdk/types" +// sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +// "github.com/cosmos/cosmos-sdk/types/rest" +// "github.com/gorilla/mux" +// bondsclient "github.com/ixofoundation/ixo-blockchain/x/bonds/client" +// "github.com/ixofoundation/ixo-blockchain/x/bonds/types" +// iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" +// ) + +// func registerTxHandlers(clientCtx client.Context, r *mux.Router) { +// r.HandleFunc("/bonds/create_bond", createBondRequestHandler(clientCtx)).Methods("POST") +// r.HandleFunc("/bonds/edit_bond", editBondRequestHandler(clientCtx)).Methods("POST") +// r.HandleFunc("/bonds/set_next_alpha", setNextAlphaRequestHandler(clientCtx)).Methods("POST") +// r.HandleFunc("/bonds/update_bond_state", updateBondStateRequestHandler(clientCtx)).Methods("POST") +// r.HandleFunc("/bonds/buy", buyRequestHandler(clientCtx)).Methods("POST") +// r.HandleFunc("/bonds/sell", sellRequestHandler(clientCtx)).Methods("POST") +// r.HandleFunc("/bonds/swap", swapRequestHandler(clientCtx)).Methods("POST") +// r.HandleFunc("/bonds/make_outcome_payment", makeOutcomePaymentRequestHandler(clientCtx)).Methods("POST") +// r.HandleFunc("/bonds/withdraw_share", withdrawShareRequestHandler(clientCtx)).Methods("POST") +// r.HandleFunc("/bonds/withdraw_reserve", withdrawReserveRequestHandler(clientCtx)).Methods("POST") +// } + +// type createBondReq struct { +// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` +// Token string `json:"token" yaml:"token"` +// Name string `json:"name" yaml:"name"` +// Description string `json:"description" yaml:"description"` +// FunctionType string `json:"function_type" yaml:"function_type"` +// FunctionParameters string `json:"function_parameters" yaml:"function_parameters"` +// ReserveTokens string `json:"reserve_tokens" yaml:"reserve_tokens"` +// TxFeePercentage string `json:"tx_fee_percentage" yaml:"tx_fee_percentage"` +// ExitFeePercentage string `json:"exit_fee_percentage" yaml:"exit_fee_percentage"` +// FeeAddress string `json:"fee_address" yaml:"fee_address"` +// ReserveWithdrawalAddress string `json:"reserve_withdrawal_address" yaml:"reserve_withdrawal_address"` +// MaxSupply string `json:"max_supply" yaml:"max_supply"` +// OrderQuantityLimits string `json:"order_quantity_limits" yaml:"order_quantity_limits"` +// SanityRate string `json:"sanity_rate" yaml:"sanity_rate"` +// SanityMarginPercentage string `json:"sanity_margin_percentage" yaml:"sanity_margin_percentage"` +// AllowSells string `json:"allow_sells" yaml:"allow_sells"` +// AllowReserveWithdrawals string `json:"allow_reserve_withdrawals" yaml:"allow_reserve_withdrawals"` +// AlphaBond string `json:"alpha_bond" yaml:"alpha_bond"` +// BatchBlocks string `json:"batch_blocks" yaml:"batch_blocks"` +// OutcomePayment string `json:"outcome_payment" yaml:"outcome_payment"` +// BondDid string `json:"bond_did" yaml:"bond_did"` +// CreatorDid string `json:"creator_did" yaml:"creator_did"` +// ControllerDid string `json:"controller_did" yaml:"controller_did"` +// OracleDid string `json:"oracle_did" yaml:"oracle_did"` +// CreatorAddress string `json:"creator_address" yaml:"creator_address"` +// } + +// func createBondRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// var req createBondReq +// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { +// return +// } + +// baseReq := req.BaseReq.Sanitize() +// if !baseReq.ValidateBasic(w) { +// return +// } + +// // Parse function parameters +// functionParams, err := bondsclient.ParseFunctionParams(req.FunctionParameters) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// // Parse reserve tokens +// reserveTokens := strings.Split(req.ReserveTokens, ",") + +// // Parse tx fee percentage +// txFeePercentageDec, err := sdk.NewDecFromStr(req.TxFeePercentage) +// if err != nil { +// err = sdkerrors.Wrap(types.ErrArgumentMissingOrNonFloat, "tx fee percentage") +// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) +// return +// } + +// // Parse exit fee percentage +// exitFeePercentageDec, err := sdk.NewDecFromStr(req.ExitFeePercentage) +// if err != nil { +// err = sdkerrors.Wrap(types.ErrArgumentMissingOrNonFloat, "exit fee percentage") +// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) +// return +// } + +// // Parse fee address +// feeAddress, err := sdk.AccAddressFromBech32(req.FeeAddress) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// // Parse reserve withdrawal address +// reserveWithdrawalAddress, err := sdk.AccAddressFromBech32(req.ReserveWithdrawalAddress) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// // Parse max supply +// maxSupply, err := sdk.ParseCoinNormalized(req.MaxSupply) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// // Parse order quantity limits +// orderQuantityLimits, err := sdk.ParseCoinsNormalized(req.OrderQuantityLimits) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// // Parse sanity rate +// sanityRate, err := sdk.NewDecFromStr(req.SanityRate) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// // Parse sanity margin percentage +// sanityMarginPercentage, err := sdk.NewDecFromStr(req.SanityMarginPercentage) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// // Parse allowSells +// var allowSells bool +// allowSellsStrLower := strings.ToLower(req.AllowSells) +// if allowSellsStrLower == "true" { +// allowSells = true +// } else if allowSellsStrLower == "false" { +// allowSells = false +// } else { +// err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonBoolean, "allow_sells") +// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) +// return +// } + +// // Parse allowReserveWithdrawals +// var allowReserveWithdrawals bool +// allowReserveWithdrawalsStrLower := strings.ToLower(req.AllowReserveWithdrawals) +// if allowReserveWithdrawalsStrLower == "true" { +// allowReserveWithdrawals = true +// } else if allowReserveWithdrawalsStrLower == "false" { +// allowReserveWithdrawals = false +// } else { +// err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonBoolean, "allow_reserve_withdrawals") +// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) +// return +// } + +// // Parse alphaBond +// var alphaBond bool +// alphaBondStrLower := strings.ToLower(req.AlphaBond) +// if alphaBondStrLower == "true" { +// alphaBond = true +// } else if alphaBondStrLower == "false" { +// alphaBond = false +// } else { +// err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonBoolean, "alpha_bond") +// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) +// return +// } + +// // Parse batch blocks +// batchBlocks, err := sdk.ParseUint(req.BatchBlocks) +// if err != nil { +// err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonUInteger, "max batch blocks") +// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) +// return +// } + +// // Parse outcome payment +// var outcomePayment sdk.Int +// if len(req.OutcomePayment) == 0 { +// outcomePayment = sdk.ZeroInt() +// } else { +// var ok bool +// outcomePayment, ok = sdk.NewIntFromString(req.OutcomePayment) +// if !ok { +// err := sdkerrors.Wrap(types.ErrArgumentMustBeInteger, "outcome payment") +// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) +// return +// } +// } + +// msg := types.NewMsgCreateBond(req.Token, req.Name, req.Description, +// iidtypes.DIDFragment(req.CreatorDid), iidtypes.DIDFragment(req.ControllerDid), iidtypes.DIDFragment(req.OracleDid), req.FunctionType, functionParams, +// reserveTokens, txFeePercentageDec, exitFeePercentageDec, feeAddress, +// reserveWithdrawalAddress, maxSupply, orderQuantityLimits, sanityRate, +// sanityMarginPercentage, allowSells, allowReserveWithdrawals, alphaBond, +// batchBlocks, outcomePayment, req.BondDid, req.CreatorAddress) +// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { +// return +// } + +// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) +// } +// } + +// type editBondReq struct { +// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` +// Name string `json:"name" yaml:"name"` +// Description string `json:"description" yaml:"description"` +// OrderQuantityLimits string `json:"order_quantity_limits" yaml:"order_quantity_limits"` +// SanityRate string `json:"sanity_rate" yaml:"sanity_rate"` +// SanityMarginPercentage string `json:"sanity_margin_percentage" yaml:"sanity_margin_percentage"` +// BondDid string `json:"bond_did" yaml:"bond_did"` +// EditorDid string `json:"editor_did" yaml:"editor_did"` +// EditorAddress string `json:"editor_address" yaml:"editor_address"` +// } + +// func editBondRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// var req editBondReq +// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { +// return +// } + +// baseReq := req.BaseReq.Sanitize() +// if !baseReq.ValidateBasic(w) { +// return +// } + +// msg := types.NewMsgEditBond(req.Name, req.Description, +// req.OrderQuantityLimits, req.SanityRate, +// req.SanityMarginPercentage, iidtypes.DIDFragment(req.EditorDid), req.BondDid, req.EditorAddress) +// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { +// return +// } + +// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) +// } +// } + +// type setNextAlphaReq struct { +// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` +// NewAlpha string `json:"new_alpha" yaml:"new_alpha"` +// BondDid string `json:"bond_did" yaml:"bond_did"` +// EditorDid string `json:"editor_did" yaml:"editor_did"` +// EditorAddress string `json:"editor_address" yaml:"editor_address"` +// } + +// func setNextAlphaRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// var req setNextAlphaReq +// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { +// return +// } + +// baseReq := req.BaseReq.Sanitize() +// if !baseReq.ValidateBasic(w) { +// return +// } + +// // Parse new alpha +// newAlpha, err := sdk.NewDecFromStr(req.NewAlpha) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// msg := types.NewMsgSetNextAlpha(newAlpha, iidtypes.DIDFragment(req.EditorDid), req.BondDid, req.EditorAddress) +// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { +// return +// } + +// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) +// } +// } + +// type updateBondStateReq struct { +// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` +// NewState string `json:"new_state" yaml:"new_state"` +// BondDid string `json:"bond_did" yaml:"bond_did"` +// EditorDid string `json:"editor_did" yaml:"editor_did"` +// EditorAddress string `json:"editor_address" yaml:"editor_address"` +// } + +// func updateBondStateRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// var req updateBondStateReq +// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { +// return +// } + +// baseReq := req.BaseReq.Sanitize() +// if !baseReq.ValidateBasic(w) { +// return +// } +// msg := types.NewMsgUpdateBondState(types.BondState(req.NewState), iidtypes.DIDFragment(req.EditorDid), req.BondDid, req.EditorAddress) +// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { +// return +// } + +// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) +// } +// } + +// type buyReq struct { +// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` +// BondToken string `json:"bond_token" yaml:"bond_token"` +// BondAmount string `json:"bond_amount" yaml:"bond_amount"` +// MaxPrices string `json:"max_prices" yaml:"max_prices"` +// BondDid string `json:"bond_did" yaml:"bond_did"` +// BuyerDid string `json:"buyer_did" yaml:"buyer_did"` +// BuyerAddress string `json:"buyer_address" yaml:"buyer_address"` +// } + +// func buyRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// var req buyReq +// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { +// return +// } + +// baseReq := req.BaseReq.Sanitize() +// if !baseReq.ValidateBasic(w) { +// return +// } + +// bondCoin, err := bondsclient.ParseTwoPartCoin(req.BondAmount, req.BondToken) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// maxPrices, err := sdk.ParseCoinsNormalized(req.MaxPrices) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// msg := types.NewMsgBuy(iidtypes.DIDFragment(req.BuyerDid), bondCoin, maxPrices, req.BondDid, req.BuyerAddress) +// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { +// return +// } + +// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) +// } +// } + +// type sellReq struct { +// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` +// BondToken string `json:"bond_token" yaml:"bond_token"` +// BondAmount string `json:"bond_amount" yaml:"bond_amount"` +// BondDid string `json:"bond_did" yaml:"bond_did"` +// SellerDid string `json:"seller_did" yaml:"seller_did"` +// SellerAddress string `json:"seller_address" yaml:"seller_address"` +// } + +// func sellRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// var req sellReq +// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { +// return +// } + +// baseReq := req.BaseReq.Sanitize() +// if !baseReq.ValidateBasic(w) { +// return +// } + +// bondCoin, err := bondsclient.ParseTwoPartCoin(req.BondAmount, req.BondToken) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// msg := types.NewMsgSell(iidtypes.DIDFragment(req.SellerDid), bondCoin, req.BondDid, req.SellerAddress) +// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { +// return +// } + +// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) +// } +// } + +// type swapReq struct { +// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` +// FromAmount string `json:"from_amount" yaml:"from_amount"` +// FromToken string `json:"from_token" yaml:"from_token"` +// ToToken string `json:"to_token" yaml:"to_token"` +// BondDid string `json:"bond_did" yaml:"bond_did"` +// SwapperDid string `json:"swapper_did" yaml:"swapper_did"` +// SwapperAddress string `json:"swapper_address" yaml:"swapper_address"` +// } + +// func swapRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// var req swapReq +// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { +// return +// } + +// baseReq := req.BaseReq.Sanitize() +// if !baseReq.ValidateBasic(w) { +// return +// } + +// // Check that from amount and token can be parsed to a coin +// fromCoin, err := bondsclient.ParseTwoPartCoin(req.FromAmount, req.FromToken) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// msg := types.NewMsgSwap(iidtypes.DIDFragment(req.SwapperDid), fromCoin, req.ToToken, req.BondDid, req.SwapperAddress) +// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { +// return +// } + +// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) +// } +// } + +// type makeOutcomePaymentReq struct { +// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` +// BondDid string `json:"bond_did" yaml:"bond_did"` +// Amount string `json:"amount" yaml:"amount"` +// SenderDid string `json:"sender_did" yaml:"sender_did"` +// SenderAddress string `json:"sender_address" yaml:"sender_address"` +// } + +// func makeOutcomePaymentRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// var req makeOutcomePaymentReq +// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { +// return +// } + +// baseReq := req.BaseReq.Sanitize() +// if !baseReq.ValidateBasic(w) { +// return +// } + +// amount, ok := sdk.NewIntFromString(req.Amount) +// if !ok { +// err := sdkerrors.Wrap(types.ErrArgumentMustBeInteger, "amount") +// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) +// return +// } + +// msg := types.NewMsgMakeOutcomePayment(iidtypes.DIDFragment(req.SenderDid), amount, req.BondDid, req.SenderAddress) +// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { +// return +// } + +// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) +// } +// } + +// type withdrawShareReq struct { +// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` +// BondDid string `json:"bond_did" yaml:"bond_did"` +// RecipientDid string `json:"recipient_did" yaml:"recipient_did"` +// RecipientAddress string `json:"recipient_address" yaml:"recipient_address"` +// } + +// func withdrawShareRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// var req withdrawShareReq +// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { +// return +// } + +// baseReq := req.BaseReq.Sanitize() +// if !baseReq.ValidateBasic(w) { +// return +// } + +// msg := types.NewMsgWithdrawShare(iidtypes.DIDFragment(req.RecipientDid), req.BondDid, req.RecipientAddress) +// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { +// return +// } + +// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) +// } +// } + +// type withdrawReserveReq struct { +// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` +// BondDid string `json:"bond_did" yaml:"bond_did"` +// Amount string `json:"amount" yaml:"amount"` +// WithdrawerDid string `json:"withdrawer_did" yaml:"withdrawer_did"` +// WithdrawerAddress string `json:"withdrawer_address" yaml:"withdrawer_address"` +// } + +// func withdrawReserveRequestHandler(clientCtx client.Context) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// var req withdrawReserveReq +// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { +// return +// } + +// baseReq := req.BaseReq.Sanitize() +// if !baseReq.ValidateBasic(w) { +// return +// } + +// amount, err := sdk.ParseCoinsNormalized(req.Amount) +// if rest.CheckBadRequestError(w, err) { +// return +// } + +// msg := types.NewMsgWithdrawReserve(iidtypes.DIDFragment(req.WithdrawerDid), amount, req.BondDid, req.WithdrawerAddress) +// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { +// return +// } + +// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) +// } +// } diff --git a/x/bonds/handler.go b/x/bonds/handler.go index b72757e4..276d0105 100644 --- a/x/bonds/handler.go +++ b/x/bonds/handler.go @@ -148,12 +148,13 @@ func EndBlocker(ctx sdk.Context, keeper keeper.Keeper) []abci.ValidatorUpdate { newV0, err := types.Invariant(R.ToDec(), S.ToDec(), newKappa) if err != nil { - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeEditAlphaFailed, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, bond.Token), - sdk.NewAttribute(types.AttributeKeyCancelReason, err.Error()), - )) + ctx.EventManager().EmitTypedEvents( + &types.BondEditAlphaFailedEvent{ + BondDid: bond.BondDid, + Token: bond.Token, + CancelReason: err.Error(), + }, + ) //fmt.Println(err) continue } diff --git a/x/bonds/keeper/batch.go b/x/bonds/keeper/batch.go index 1471d156..a4520017 100644 --- a/x/bonds/keeper/batch.go +++ b/x/bonds/keeper/batch.go @@ -205,7 +205,6 @@ func (k Keeper) GetUpdatedBatchPricesAfterSell(ctx sdk.Context, bondDid string, func (k Keeper) PerformBuyAtPrice(ctx sdk.Context, bondDid string, bo types.BuyOrder, prices sdk.DecCoins) (err error) { bond := k.MustGetBond(ctx, bondDid) - var extraEventAttributes []sdk.Attribute // Get buyer address buyerDidDoc, exists := k.iidKeeper.GetDidDocument(ctx, []byte(bo.BaseOrder.AccountDid.Did())) @@ -247,6 +246,8 @@ func (k Keeper) PerformBuyAtPrice(ctx sdk.Context, bondDid string, bo types.BuyO totalPrices.String(), bo.MaxPrices.String()) } + var coinsToFundingPool sdk.Coins + var toInitialReserve sdk.Int // Add new reserve to reserve (reservePricesRounded should never be zero) // TODO: investigate possibility of zero reservePricesRounded if bond.FunctionType == types.AugmentedFunction && @@ -272,7 +273,7 @@ func (k Keeper) PerformBuyAtPrice(ctx sdk.Context, bondDid string, bo types.BuyO sdk.OneDec().Sub(theta)).Ceil().TruncateInt() // Calculate amount that should go into initial reserve - toInitialReserve := newReserve.Sub(currentReserve) + toInitialReserve = newReserve.Sub(currentReserve) if reservePricesRounded[0].Amount.LT(toInitialReserve) { // Reserve supplied by buyer is insufficient return types.ErrInsufficientReserveToBuy @@ -281,7 +282,7 @@ func (k Keeper) PerformBuyAtPrice(ctx sdk.Context, bondDid string, bo types.BuyO toInitialReserve.ToDec()).TruncateDecimal() // Calculate amount that should go into funding pool - coinsToFundingPool := reservePricesRounded.Sub(coinsToInitialReserve) + coinsToFundingPool = reservePricesRounded.Sub(coinsToInitialReserve) // Send reserve tokens to initial reserve err = k.DepositReserveFromModule(ctx, bond.BondDid, @@ -297,10 +298,6 @@ func (k Keeper) PerformBuyAtPrice(ctx sdk.Context, bondDid string, bo types.BuyO return err } - extraEventAttributes = append(extraEventAttributes, - sdk.NewAttribute(types.AttributeKeyChargedPricesReserve, toInitialReserve.String()), - sdk.NewAttribute(types.AttributeKeyChargedPricesFunding, coinsToFundingPool.String()), - ) } else { err = k.DepositReserveFromModule( ctx, bond.BondDid, types.BatchesIntermediaryAccount, reservePricesRounded) @@ -337,21 +334,21 @@ func (k Keeper) PerformBuyAtPrice(ctx sdk.Context, bondDid string, bo types.BuyO // Get new bond token balance bondTokenBalance := k.BankKeeper.GetBalance(ctx, buyerAddr, bond.Token).Amount - event := sdk.NewEvent( - types.EventTypeOrderFulfill, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyOrderType, types.AttributeValueBuyOrder), - sdk.NewAttribute(types.AttributeKeyAddress, bo.BaseOrder.AccountDid.String()), - sdk.NewAttribute(types.AttributeKeyTokensMinted, bo.BaseOrder.Amount.Amount.String()), - sdk.NewAttribute(types.AttributeKeyChargedPrices, reservePricesRounded.String()), - sdk.NewAttribute(types.AttributeKeyChargedFees, txFees.String()), - sdk.NewAttribute(types.AttributeKeyReturnedToAddress, returnToBuyer.String()), - sdk.NewAttribute(types.AttributeKeyNewBondTokenBalance, bondTokenBalance.String()), - ) - if len(extraEventAttributes) > 0 { - event = event.AppendAttributes(extraEventAttributes...) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondBuyOrderFulfilledEvent{ + BondDid: bond.BondDid, + Order: &bo, + ChargedPrices: reservePricesRounded, + ChargedFees: txFees, + ReturnedToAddress: returnToBuyer, + NewBondTokenBalance: bondTokenBalance, + ChargedPricesOfWhichFunding: coinsToFundingPool, + ChargedPricesOfWhichReserve: &toInitialReserve, + }, + ); err != nil { + return err } - ctx.EventManager().EmitEvent(event) return nil } @@ -406,16 +403,18 @@ func (k Keeper) PerformSellAtPrice(ctx sdk.Context, bondDid string, so types.Sel // Get new bond token balance bondTokenBalance := k.BankKeeper.GetBalance(ctx, sellerAddr, bond.Token).Amount - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeOrderFulfill, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyOrderType, types.AttributeValueSellOrder), - sdk.NewAttribute(types.AttributeKeyAddress, so.BaseOrder.AccountDid.String()), - sdk.NewAttribute(types.AttributeKeyTokensBurned, so.BaseOrder.Amount.Amount.String()), - sdk.NewAttribute(types.AttributeKeyChargedFees, txFees.String()), - sdk.NewAttribute(types.AttributeKeyReturnedToAddress, totalReturns.String()), - sdk.NewAttribute(types.AttributeKeyNewBondTokenBalance, bondTokenBalance.String()), - )) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondSellOrderFulfilledEvent{ + BondDid: bond.BondDid, + Order: &so, + ChargedFees: txFees, + ReturnedToAddress: totalReturns, + NewBondTokenBalance: bondTokenBalance, + }, + ); err != nil { + return err + } return nil } @@ -480,15 +479,18 @@ func (k Keeper) PerformSwap(ctx sdk.Context, bondDid string, so types.SwapOrder) logger.Info(fmt.Sprintf("performed swap order for %s to %s from %s", so.BaseOrder.Amount.String(), reserveReturns, so.BaseOrder.AccountDid)) - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeOrderFulfill, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyOrderType, types.AttributeValueSwapOrder), - sdk.NewAttribute(types.AttributeKeyAddress, so.BaseOrder.AccountDid.String()), - sdk.NewAttribute(types.AttributeKeyTokensSwapped, adjustedInput.String()), - sdk.NewAttribute(types.AttributeKeyChargedFees, txFee.String()), - sdk.NewAttribute(types.AttributeKeyReturnedToAddress, reserveReturns.String()), - )) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondSwapOrderFulfilledEvent{ + BondDid: bond.BondDid, + Order: &so, + ChargedFee: txFee, + ReturnedToAddress: reserveReturns, + TokensSwapped: adjustedInput, + }, + ); err != nil { + return err, false + } return nil, true } @@ -617,13 +619,13 @@ func (k Keeper) CancelUnfulfillableBuys(ctx sdk.Context, bondDid string) (cancel logger.Info(fmt.Sprintf("cancelled buy order for %s from %s", bo.BaseOrder.Amount.String(), bo.BaseOrder.AccountDid.String())) logger.Debug(fmt.Sprintf("cancellation reason: %s", err.Error())) - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeOrderCancel, - sdk.NewAttribute(types.AttributeKeyBondDid, bondDid), - sdk.NewAttribute(types.AttributeKeyOrderType, types.AttributeValueBuyOrder), - sdk.NewAttribute(types.AttributeKeyAddress, bo.BaseOrder.AccountDid.String()), - sdk.NewAttribute(types.AttributeKeyCancelReason, bo.BaseOrder.CancelReason), - )) + // emit the events + ctx.EventManager().EmitTypedEvents( + &types.BondBuyOrderCancelledEvent{ + BondDid: bondDid, + Order: &batch.Buys[i], + }, + ) // Return reserve to buyer buyerDidDoc, exists := k.iidKeeper.GetDidDocument(ctx, []byte(bo.BaseOrder.AccountDid.Did())) @@ -680,12 +682,13 @@ func (k Keeper) HandleBondingFunctionAlphaUpdate(ctx sdk.Context, bondDid string var algo types.AugmentedBondRevision1 if err := algo.Init(bond); err != nil { - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeEditAlphaFailed, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, bond.Token), - sdk.NewAttribute(types.AttributeKeyCancelReason, err.Error()), - )) + ctx.EventManager().EmitTypedEvents( + &types.BondEditAlphaFailedEvent{ + BondDid: bond.BondDid, + Token: bond.Token, + CancelReason: err.Error(), + }, + ) return } @@ -697,12 +700,13 @@ func (k Keeper) HandleBondingFunctionAlphaUpdate(ctx sdk.Context, bondDid string }) if !valueOrError.IsRight() { - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeEditAlphaFailed, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, bond.Token), - sdk.NewAttribute(types.AttributeKeyCancelReason, valueOrError.Left().Error()), - )) + ctx.EventManager().EmitTypedEvents( + &types.BondEditAlphaFailedEvent{ + BondDid: bond.BondDid, + Token: bond.Token, + CancelReason: valueOrError.Left().Error(), + }, + ) return } @@ -715,14 +719,14 @@ func (k Keeper) HandleBondingFunctionAlphaUpdate(ctx sdk.Context, bondDid string algo.ExportToBond(&bond) k.SetBond(ctx, bond.BondDid, bond) - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeEditAlphaSuccess, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, bond.Token), - sdk.NewAttribute(types.AttributeKeyPublicAlpha, newPublicAlpha.String()), - // sdk.NewAttribute(types.AttributeKeySystemAlpha, newSystemAlpha.String()), - )) - + ctx.EventManager().EmitTypedEvents( + &types.BondEditAlphaSuccessEvent{ + BondDid: bond.BondDid, + Token: bond.Token, + PublicAlpha: newPublicAlpha.String(), + // SystemAlpha: newSystemAlpha.String(), + }, + ) } func (k Keeper) UpdateAlpha(ctx sdk.Context, bondDid string) { @@ -747,12 +751,13 @@ func (k Keeper) UpdateAlpha(ctx sdk.Context, bondDid string) { prevPublicAlpha.Mul(sdk.OneDec().Sub(types.StartingPublicAlpha)), sdk.MustNewDecFromStr("2")) if err != nil { - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeEditAlphaFailed, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, bond.Token), - sdk.NewAttribute(types.AttributeKeyCancelReason, err.Error()), - )) + ctx.EventManager().EmitTypedEvents( + &types.BondEditAlphaFailedEvent{ + BondDid: bond.BondDid, + Token: bond.Token, + CancelReason: err.Error(), + }, + ) return } //fmt.Println("temp: ", temp) @@ -785,35 +790,35 @@ func (k Keeper) UpdateAlpha(ctx sdk.Context, bondDid string) { // Check 1 (newSystemAlpha != prevSystemAlpha) if newSystemAlpha.Equal(prevSystemAlpha) { - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeEditAlphaFailed, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, bond.Token), - sdk.NewAttribute(types.AttributeKeyCancelReason, - "resultant system alpha based on public alpha is unchanged"), - )) + ctx.EventManager().EmitTypedEvents( + &types.BondEditAlphaFailedEvent{ + BondDid: bond.BondDid, + Token: bond.Token, + CancelReason: "resultant system alpha based on public alpha is unchanged", + }, + ) return } // Check 2 (I > C * newSystemAlpha) if paramsMap["I0"].LTE(newSystemAlpha.MulInt(C)) { - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeEditAlphaFailed, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, bond.Token), - sdk.NewAttribute(types.AttributeKeyCancelReason, - "cannot change alpha to that value due to violated restriction [1]"), - )) + ctx.EventManager().EmitTypedEvents( + &types.BondEditAlphaFailedEvent{ + BondDid: bond.BondDid, + Token: bond.Token, + CancelReason: "cannot change alpha to that value due to violated restriction [1]", + }, + ) return } // Check 3 (R / C > newSystemAlpha - prevSystemAlpha) if R.QuoInt(C).LTE(newSystemAlpha.Sub(prevSystemAlpha)) { - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeEditAlphaFailed, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, bond.Token), - sdk.NewAttribute(types.AttributeKeyCancelReason, - "cannot change alpha to that value due to violated restriction [2]"), - )) + ctx.EventManager().EmitTypedEvents( + &types.BondEditAlphaFailedEvent{ + BondDid: bond.BondDid, + Token: bond.Token, + CancelReason: "cannot change alpha to that value due to violated restriction [2]", + }, + ) return } @@ -825,12 +830,13 @@ func (k Keeper) UpdateAlpha(ctx sdk.Context, bondDid string) { newV0, err := types.Invariant(R, S, newKappa) //fmt.Println("newV0: ", newV0) if err != nil { - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeEditAlphaFailed, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, bond.Token), - sdk.NewAttribute(types.AttributeKeyCancelReason, err.Error()), - )) + ctx.EventManager().EmitTypedEvents( + &types.BondEditAlphaFailedEvent{ + BondDid: bond.BondDid, + Token: bond.Token, + CancelReason: err.Error(), + }, + ) return } @@ -846,11 +852,13 @@ func (k Keeper) UpdateAlpha(ctx sdk.Context, bondDid string) { bond.FunctionParameters.ReplaceParam("systemAlpha", newSystemAlpha) k.SetBond(ctx, bond.BondDid, bond) - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeEditAlphaSuccess, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, bond.Token), - sdk.NewAttribute(types.AttributeKeyPublicAlpha, newPublicAlpha.String()), - sdk.NewAttribute(types.AttributeKeySystemAlpha, newSystemAlpha.String()), - )) + // emit the events + ctx.EventManager().EmitTypedEvents( + &types.BondEditAlphaSuccessEvent{ + BondDid: bond.BondDid, + Token: bond.Token, + PublicAlpha: newPublicAlpha.String(), + SystemAlpha: newSystemAlpha.String(), + }, + ) } diff --git a/x/bonds/keeper/bonds.go b/x/bonds/keeper/bonds.go index 95e30434..afe8d87b 100644 --- a/x/bonds/keeper/bonds.go +++ b/x/bonds/keeper/bonds.go @@ -220,12 +220,12 @@ func (k Keeper) SetBondState(ctx sdk.Context, bondDid string, newState string) { logger := k.Logger(ctx) logger.Info(fmt.Sprintf("updated state for %s from %s to %s", bond.Token, previousState, newState)) - ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeStateChange, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(types.AttributeKeyOldState, previousState), - sdk.NewAttribute(types.AttributeKeyNewState, newState), - )) + // emit the events + ctx.EventManager().EmitTypedEvents( + &types.BondUpdatedEvent{ + Bond: &bond, + }, + ) } func (k Keeper) ReservedBondToken(ctx sdk.Context, bondToken string) bool { diff --git a/x/bonds/keeper/grpc_query.go b/x/bonds/keeper/grpc_query.go index 751f512d..37454e49 100644 --- a/x/bonds/keeper/grpc_query.go +++ b/x/bonds/keeper/grpc_query.go @@ -11,34 +11,44 @@ import ( "google.golang.org/grpc/status" ) -var _ types.QueryServer = Keeper{} +var _ types.QueryServer = Querier{} -func (k Keeper) Bonds(c context.Context, _ *types.QueryBondsRequest) (*types.QueryBondsResponse, error) { +// Querier defines a wrapper around the x/bonds keeper providing gRPC method +// handlers. +type Querier struct { + Keeper +} + +func NewQuerier(k Keeper) Querier { + return Querier{Keeper: k} +} + +func (q Querier) Bonds(c context.Context, _ *types.QueryBondsRequest) (*types.QueryBondsResponse, error) { ctx := sdk.UnwrapSDKContext(c) var bondsList []string - iterator := k.GetBondIterator(ctx) + iterator := q.Keeper.GetBondIterator(ctx) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { var bond types.Bond - k.cdc.MustUnmarshal(iterator.Value(), &bond) + q.Keeper.cdc.MustUnmarshal(iterator.Value(), &bond) bondsList = append(bondsList, bond.BondDid) } return &types.QueryBondsResponse{Bonds: bondsList}, nil } -func (k Keeper) BondsDetailed(c context.Context, _ *types.QueryBondsDetailedRequest) (*types.QueryBondsDetailedResponse, error) { +func (q Querier) BondsDetailed(c context.Context, _ *types.QueryBondsDetailedRequest) (*types.QueryBondsDetailedResponse, error) { ctx := sdk.UnwrapSDKContext(c) var bondsList []*types.BondDetails - iterator := k.GetBondIterator(ctx) + iterator := q.Keeper.GetBondIterator(ctx) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { var bond types.Bond - k.cdc.MustUnmarshal(iterator.Value(), &bond) + q.Keeper.cdc.MustUnmarshal(iterator.Value(), &bond) - reserveBalances := k.GetReserveBalances(ctx, bond.BondDid) + reserveBalances := q.Keeper.GetReserveBalances(ctx, bond.BondDid) reservePrices, _ := bond.GetCurrentPricesPT(reserveBalances) reservePrices = zeroReserveTokensIfEmptyDec(reservePrices, bond) @@ -53,7 +63,7 @@ func (k Keeper) BondsDetailed(c context.Context, _ *types.QueryBondsDetailedRequ return &types.QueryBondsDetailedResponse{BondsDetailed: bondsList}, nil } -func (k Keeper) Bond(c context.Context, req *types.QueryBondRequest) (*types.QueryBondResponse, error) { +func (q Querier) Bond(c context.Context, req *types.QueryBondRequest) (*types.QueryBondResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -62,7 +72,7 @@ func (k Keeper) Bond(c context.Context, req *types.QueryBondRequest) (*types.Que bondDid := req.BondDid - bond, found := k.GetBond(ctx, bondDid) + bond, found := q.Keeper.GetBond(ctx, bondDid) if !found { return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) } @@ -70,7 +80,7 @@ func (k Keeper) Bond(c context.Context, req *types.QueryBondRequest) (*types.Que return &types.QueryBondResponse{Bond: &bond}, nil } -func (k Keeper) Batch(c context.Context, req *types.QueryBatchRequest) (*types.QueryBatchResponse, error) { +func (q Querier) Batch(c context.Context, req *types.QueryBatchRequest) (*types.QueryBatchResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -79,16 +89,16 @@ func (k Keeper) Batch(c context.Context, req *types.QueryBatchRequest) (*types.Q bondDid := req.BondDid - if !k.BatchExists(ctx, bondDid) { + if !q.Keeper.BatchExists(ctx, bondDid) { return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "batch for '%s' does not exist", bondDid) } - batch := k.MustGetBatch(ctx, bondDid) + batch := q.Keeper.MustGetBatch(ctx, bondDid) return &types.QueryBatchResponse{Batch: &batch}, nil } -func (k Keeper) LastBatch(c context.Context, req *types.QueryLastBatchRequest) (*types.QueryLastBatchResponse, error) { +func (q Querier) LastBatch(c context.Context, req *types.QueryLastBatchRequest) (*types.QueryLastBatchResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -97,16 +107,16 @@ func (k Keeper) LastBatch(c context.Context, req *types.QueryLastBatchRequest) ( bondDid := req.BondDid - if !k.LastBatchExists(ctx, bondDid) { + if !q.Keeper.LastBatchExists(ctx, bondDid) { return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "last batch for '%s' does not exist", bondDid) } - batch := k.MustGetLastBatch(ctx, bondDid) + batch := q.Keeper.MustGetLastBatch(ctx, bondDid) return &types.QueryLastBatchResponse{LastBatch: &batch}, nil } -func (k Keeper) CurrentPrice(c context.Context, req *types.QueryCurrentPriceRequest) (*types.QueryCurrentPriceResponse, error) { +func (q Querier) CurrentPrice(c context.Context, req *types.QueryCurrentPriceRequest) (*types.QueryCurrentPriceResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -115,12 +125,12 @@ func (k Keeper) CurrentPrice(c context.Context, req *types.QueryCurrentPriceRequ bondDid := req.BondDid - bond, found := k.GetBond(ctx, bondDid) + bond, found := q.Keeper.GetBond(ctx, bondDid) if !found { return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) } - reserveBalances := k.GetReserveBalances(ctx, bondDid) + reserveBalances := q.Keeper.GetReserveBalances(ctx, bondDid) reservePrices, err := bond.GetCurrentPricesPT(reserveBalances) if err != nil { return nil, err @@ -130,7 +140,7 @@ func (k Keeper) CurrentPrice(c context.Context, req *types.QueryCurrentPriceRequ return &types.QueryCurrentPriceResponse{CurrentPrice: reservePrices}, nil } -func (k Keeper) CurrentReserve(c context.Context, req *types.QueryCurrentReserveRequest) (*types.QueryCurrentReserveResponse, error) { +func (q Querier) CurrentReserve(c context.Context, req *types.QueryCurrentReserveRequest) (*types.QueryCurrentReserveResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -139,7 +149,7 @@ func (k Keeper) CurrentReserve(c context.Context, req *types.QueryCurrentReserve bondDid := req.BondDid - bond, found := k.GetBond(ctx, bondDid) + bond, found := q.Keeper.GetBond(ctx, bondDid) if !found { return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) } @@ -149,7 +159,7 @@ func (k Keeper) CurrentReserve(c context.Context, req *types.QueryCurrentReserve return &types.QueryCurrentReserveResponse{CurrentReserve: reserveBalances}, nil } -func (k Keeper) AvailableReserve(c context.Context, req *types.QueryAvailableReserveRequest) (*types.QueryAvailableReserveResponse, error) { +func (q Querier) AvailableReserve(c context.Context, req *types.QueryAvailableReserveRequest) (*types.QueryAvailableReserveResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -158,7 +168,7 @@ func (k Keeper) AvailableReserve(c context.Context, req *types.QueryAvailableRes bondDid := req.BondDid - bond, found := k.GetBond(ctx, bondDid) + bond, found := q.Keeper.GetBond(ctx, bondDid) if !found { return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) } @@ -168,7 +178,7 @@ func (k Keeper) AvailableReserve(c context.Context, req *types.QueryAvailableRes return &types.QueryAvailableReserveResponse{AvailableReserve: availableReserve}, nil } -func (k Keeper) CustomPrice(c context.Context, req *types.QueryCustomPriceRequest) (*types.QueryCustomPriceResponse, error) { +func (q Querier) CustomPrice(c context.Context, req *types.QueryCustomPriceRequest) (*types.QueryCustomPriceResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -178,7 +188,7 @@ func (k Keeper) CustomPrice(c context.Context, req *types.QueryCustomPriceReques bondDid := req.BondDid bondAmount := req.BondAmount - bond, found := k.GetBond(ctx, bondDid) + bond, found := q.Keeper.GetBond(ctx, bondDid) if !found { return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) } @@ -197,7 +207,7 @@ func (k Keeper) CustomPrice(c context.Context, req *types.QueryCustomPriceReques return &types.QueryCustomPriceResponse{Price: reservePrices}, nil } -func (k Keeper) BuyPrice(c context.Context, req *types.QueryBuyPriceRequest) (*types.QueryBuyPriceResponse, error) { +func (q Querier) BuyPrice(c context.Context, req *types.QueryBuyPriceRequest) (*types.QueryBuyPriceResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -207,7 +217,7 @@ func (k Keeper) BuyPrice(c context.Context, req *types.QueryBuyPriceRequest) (*t bondDid := req.BondDid bondAmount := req.BondAmount - bond, found := k.GetBond(ctx, bondDid) + bond, found := q.Keeper.GetBond(ctx, bondDid) if !found { return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) } @@ -219,12 +229,12 @@ func (k Keeper) BuyPrice(c context.Context, req *types.QueryBuyPriceRequest) (*t } // Max supply cannot be less than supply (max supply >= supply) - adjustedSupply := k.GetSupplyAdjustedForBuy(ctx, bondDid) + adjustedSupply := q.Keeper.GetSupplyAdjustedForBuy(ctx, bondDid) if bond.MaxSupply.IsLT(adjustedSupply.Add(bondCoin)) { return nil, types.ErrCannotMintMoreThanMaxSupply } - reserveBalances := k.GetReserveBalances(ctx, bondDid) + reserveBalances := q.Keeper.GetReserveBalances(ctx, bondDid) reservePrices, err := bond.GetPricesToMint(bondCoin.Amount, reserveBalances) if err != nil { return nil, err @@ -241,7 +251,7 @@ func (k Keeper) BuyPrice(c context.Context, req *types.QueryBuyPriceRequest) (*t }, nil } -func (k Keeper) SellReturn(c context.Context, req *types.QuerySellReturnRequest) (*types.QuerySellReturnResponse, error) { +func (q Querier) SellReturn(c context.Context, req *types.QuerySellReturnRequest) (*types.QuerySellReturnResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -251,7 +261,7 @@ func (k Keeper) SellReturn(c context.Context, req *types.QuerySellReturnRequest) bondDid := req.BondDid bondAmount := req.BondAmount - bond, found := k.GetBond(ctx, bondDid) + bond, found := q.Keeper.GetBond(ctx, bondDid) if !found { return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) } @@ -266,12 +276,12 @@ func (k Keeper) SellReturn(c context.Context, req *types.QuerySellReturnRequest) } // Cannot burn more tokens than what exists - adjustedSupply := k.GetSupplyAdjustedForSell(ctx, bondDid) + adjustedSupply := q.Keeper.GetSupplyAdjustedForSell(ctx, bondDid) if adjustedSupply.IsLT(bondCoin) { return nil, types.ErrCannotBurnMoreThanSupply } - reserveBalances := k.GetReserveBalances(ctx, bondDid) + reserveBalances := q.Keeper.GetReserveBalances(ctx, bondDid) reserveReturns, err := bond.GetReturnsForBurn(bondCoin.Amount, reserveBalances) if err != nil { return nil, err @@ -292,7 +302,7 @@ func (k Keeper) SellReturn(c context.Context, req *types.QuerySellReturnRequest) }, nil } -func (k Keeper) SwapReturn(c context.Context, req *types.QuerySwapReturnRequest) (*types.QuerySwapReturnResponse, error) { +func (q Querier) SwapReturn(c context.Context, req *types.QuerySwapReturnRequest) (*types.QuerySwapReturnResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -306,12 +316,12 @@ func (k Keeper) SwapReturn(c context.Context, req *types.QuerySwapReturnRequest) return nil, err } - bond, found := k.GetBond(ctx, bondDid) + bond, found := q.Keeper.GetBond(ctx, bondDid) if !found { return nil, sdkerrors.Wrapf(types.ErrBondDoesNotExist, bondDid) } - reserveBalances := k.GetReserveBalances(ctx, bondDid) + reserveBalances := q.Keeper.GetReserveBalances(ctx, bondDid) reserveReturns, txFee, err := bond.GetReturnsForSwap(fromCoin, toToken, reserveBalances) if err != nil { return nil, err @@ -327,7 +337,7 @@ func (k Keeper) SwapReturn(c context.Context, req *types.QuerySwapReturnRequest) }, nil } -func (k Keeper) AlphaMaximums(c context.Context, req *types.QueryAlphaMaximumsRequest) (*types.QueryAlphaMaximumsResponse, error) { +func (q Querier) AlphaMaximums(c context.Context, req *types.QueryAlphaMaximumsRequest) (*types.QueryAlphaMaximumsResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -336,7 +346,7 @@ func (k Keeper) AlphaMaximums(c context.Context, req *types.QueryAlphaMaximumsRe bondDid := req.BondDid - bond, found := k.GetBond(ctx, bondDid) + bond, found := q.Keeper.GetBond(ctx, bondDid) if !found { return nil, sdkerrors.Wrapf(types.ErrBondDoesNotExist, bondDid) } @@ -367,10 +377,35 @@ func (k Keeper) AlphaMaximums(c context.Context, req *types.QueryAlphaMaximumsRe }, nil } -func (k Keeper) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { +func (q Querier) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { ctx := sdk.UnwrapSDKContext(c) - params := k.GetParams(ctx) + params := q.Keeper.GetParams(ctx) return &types.QueryParamsResponse{Params: ¶ms}, nil } + +// HELPERS +// ================================== + +func zeroReserveTokensIfEmpty(reserveCoins sdk.Coins, bond types.Bond) sdk.Coins { + if reserveCoins.IsZero() { + zeroes, _ := bond.GetNewReserveDecCoins(sdk.OneDec()).TruncateDecimal() + for i := range zeroes { + zeroes[i].Amount = sdk.ZeroInt() + } + reserveCoins = zeroes + } + return reserveCoins +} + +func zeroReserveTokensIfEmptyDec(reserveCoins sdk.DecCoins, bond types.Bond) sdk.DecCoins { + if reserveCoins.IsZero() { + zeroes := bond.GetNewReserveDecCoins(sdk.OneDec()) + for i := range zeroes { + zeroes[i].Amount = sdk.ZeroDec() + } + reserveCoins = zeroes + } + return reserveCoins +} diff --git a/x/bonds/keeper/keeper.go b/x/bonds/keeper/keeper.go index 802c8680..5c202cea 100644 --- a/x/bonds/keeper/keeper.go +++ b/x/bonds/keeper/keeper.go @@ -26,8 +26,8 @@ type Keeper struct { cdc codec.BinaryCodec } -func NewKeeper(bankKeeper bankkeeper.Keeper, accountKeeper authkeeper.AccountKeeper, stakingKeeper stakingkeeper.Keeper, - iidKeeper iidkeeper.Keeper, storeKey sdk.StoreKey, paramSpace paramstypes.Subspace, cdc codec.BinaryCodec) Keeper { +func NewKeeper(cdc codec.BinaryCodec, bankKeeper bankkeeper.Keeper, accountKeeper authkeeper.AccountKeeper, stakingKeeper stakingkeeper.Keeper, + iidKeeper iidkeeper.Keeper, storeKey sdk.StoreKey, paramSpace paramstypes.Subspace) Keeper { // ensure batches module account is set if addr := accountKeeper.GetModuleAddress(types.BatchesIntermediaryAccount); addr == nil { diff --git a/x/bonds/keeper/msg_server.go b/x/bonds/keeper/msg_server.go index 43fccde4..06e171c3 100644 --- a/x/bonds/keeper/msg_server.go +++ b/x/bonds/keeper/msg_server.go @@ -3,7 +3,6 @@ package keeper import ( "context" "fmt" - "strconv" "strings" "golang.org/x/exp/slices" @@ -27,10 +26,10 @@ var _ types.MsgServer = msgServer{} func augmentedFunctionBuilder(msg *types.MsgCreateBond) error { paramsMap := msg.FunctionParameters.AsMap() - d0, _ := paramsMap["d0"] - p0, _ := paramsMap["p0"] - theta, _ := paramsMap["theta"] - kappa, _ := paramsMap["kappa"] + d0 := paramsMap["d0"] + p0 := paramsMap["p0"] + theta := paramsMap["theta"] + kappa := paramsMap["kappa"] R0 := d0.Mul(sdk.OneDec().Sub(theta)) S0 := d0.Quo(p0) @@ -138,39 +137,14 @@ func (k msgServer) CreateBond(goCtx context.Context, msg *types.MsgCreateBond) ( logger.Info(fmt.Sprintf("bond %s [%s] with reserve(s) [%s] created by %s", msg.Token, msg.FunctionType, strings.Join(bond.ReserveTokens, ","), msg.CreatorDid)) - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeCreateBond, - sdk.NewAttribute(types.AttributeKeyBondDid, msg.BondDid), - sdk.NewAttribute(types.AttributeKeyToken, msg.Token), - sdk.NewAttribute(types.AttributeKeyName, msg.Name), - sdk.NewAttribute(types.AttributeKeyDescription, msg.Description), - sdk.NewAttribute(types.AttributeKeyFunctionType, msg.FunctionType), - sdk.NewAttribute(types.AttributeKeyFunctionParameters, msg.FunctionParameters.String()), - sdk.NewAttribute(types.AttributeKeyCreatorDid, msg.CreatorDid.String()), - sdk.NewAttribute(types.AttributeKeyControllerDid, msg.ControllerDid.String()), - sdk.NewAttribute(types.AttributeKeyReserveTokens, types.StringsToString(msg.ReserveTokens)), - sdk.NewAttribute(types.AttributeKeyTxFeePercentage, msg.TxFeePercentage.String()), - sdk.NewAttribute(types.AttributeKeyExitFeePercentage, msg.ExitFeePercentage.String()), - sdk.NewAttribute(types.AttributeKeyFeeAddress, msg.FeeAddress), - sdk.NewAttribute(types.AttributeKeyReserveWithdrawalAddress, msg.ReserveWithdrawalAddress), - sdk.NewAttribute(types.AttributeKeyMaxSupply, msg.MaxSupply.String()), - sdk.NewAttribute(types.AttributeKeyOrderQuantityLimits, msg.OrderQuantityLimits.String()), - sdk.NewAttribute(types.AttributeKeySanityRate, msg.SanityRate.String()), - sdk.NewAttribute(types.AttributeKeySanityMarginPercentage, msg.SanityMarginPercentage.String()), - sdk.NewAttribute(types.AttributeKeyAllowSells, strconv.FormatBool(msg.AllowSells)), - sdk.NewAttribute(types.AttributeKeyAllowReserveWithdrawals, strconv.FormatBool(msg.AllowReserveWithdrawals)), - sdk.NewAttribute(types.AttributeKeyAlphaBond, strconv.FormatBool(msg.AlphaBond)), - sdk.NewAttribute(types.AttributeKeyBatchBlocks, msg.BatchBlocks.String()), - sdk.NewAttribute(types.AttributeKeyOutcomePayment, msg.OutcomePayment.String()), - sdk.NewAttribute(types.AttributeKeyState, string(state)), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.CreatorDid.String()), - ), - }) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondCreatedEvent{ + Bond: &bond, + }, + ); err != nil { + return nil, err + } return &types.MsgCreateBondResponse{}, nil } @@ -233,22 +207,14 @@ func (k msgServer) EditBond(goCtx context.Context, msg *types.MsgEditBond) (*typ logger.Info(fmt.Sprintf("bond %s edited by %s", msg.BondDid, msg.EditorDid)) - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeEditBond, - sdk.NewAttribute(types.AttributeKeyBondDid, msg.BondDid), - sdk.NewAttribute(types.AttributeKeyName, msg.Name), - sdk.NewAttribute(types.AttributeKeyDescription, msg.Description), - sdk.NewAttribute(types.AttributeKeyOrderQuantityLimits, msg.OrderQuantityLimits), - sdk.NewAttribute(types.AttributeKeySanityRate, msg.SanityRate), - sdk.NewAttribute(types.AttributeKeySanityMarginPercentage, msg.SanityMarginPercentage), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.EditorDid.String()), - ), - }) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondUpdatedEvent{ + Bond: &bond, + }, + ); err != nil { + return nil, err + } return &types.MsgEditBondResponse{}, nil } @@ -347,23 +313,6 @@ func (k msgServer) SetNextAlpha(goCtx context.Context, msg *types.MsgSetNextAlph batch := k.MustGetBatch(ctx, bond.BondDid) batch.NextPublicAlpha = newPublicAlpha k.SetBatch(ctx, bond.BondDid, batch) - - logger := k.Logger(ctx) - logger.Info(fmt.Sprintf("bond %s next alpha set by %s", - msg.BondDid, msg.OracleDid.String())) - - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeSetNextAlpha, - sdk.NewAttribute(types.AttributeKeyBondDid, msg.BondDid), - sdk.NewAttribute(types.AttributeKeyPublicAlpha, newPublicAlpha.String()), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.OracleDid.String()), - ), - }) } else if bond.FunctionType == types.BondingFunction { // Get supply, reserve, outcome payment. Note that we get the adjusted // supply in order to take into consideration the influence of the buys and @@ -383,31 +332,29 @@ func (k msgServer) SetNextAlpha(goCtx context.Context, msg *types.MsgSetNextAlph algoParams := algo.ExportToMap() // Get batch to set new alpha - ap, err := types.ConvertFloat64ToDec(algoParams["ap"]) + newPublicAlpha, err := types.ConvertFloat64ToDec(algoParams["ap"]) if err != nil { return nil, err } batch := k.MustGetBatch(ctx, bond.BondDid) - batch.NextPublicAlpha = ap + batch.NextPublicAlpha = newPublicAlpha // batch.NextPublicAlphaDelta = sdk.NewDecFromIntWithPrec(sdk.NewIntFromUint64(5), 1) k.SetBatch(ctx, bond.BondDid, batch) + } - logger := k.Logger(ctx) - logger.Info(fmt.Sprintf("bond %s next alpha set by %s", - msg.BondDid, msg.OracleDid.String())) - - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeSetNextAlpha, - sdk.NewAttribute(types.AttributeKeyBondDid, msg.BondDid), - sdk.NewAttribute(types.AttributeKeyPublicAlpha, newPublicAlpha.String()), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.OracleDid.String()), - ), - }) + logger := k.Logger(ctx) + logger.Info(fmt.Sprintf("bond %s next alpha set by %s", + msg.BondDid, msg.OracleDid.String())) + + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondSetNextAlphaEvent{ + BondDid: msg.BondDid, + NextAlpha: newPublicAlpha.String(), + Signer: msg.OracleDid.String(), + }, + ); err != nil { + return nil, err } return &types.MsgSetNextAlphaResponse{}, nil @@ -449,14 +396,8 @@ func (k msgServer) UpdateBondState(goCtx context.Context, msg *types.MsgUpdateBo // Update bond state k.SetBondState(ctx, bond.BondDid, msg.State) - ctx.EventManager().EmitEvents(sdk.Events{ - // No need to emit event/log for state change, as SetBondState does this - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.EditorDid.String()), - ), - }) + // emit the events + // No need to emit event/log for state change, as SetBondState does this return &types.MsgUpdateBondStateResponse{}, nil } @@ -520,19 +461,15 @@ func (k msgServer) Buy(goCtx context.Context, msg *types.MsgBuy) (*types.MsgBuyR // Cancel unfulfillable orders k.CancelUnfulfillableOrders(ctx, bond.BondDid) - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeBuy, - sdk.NewAttribute(types.AttributeKeyBondDid, msg.BondDid), - sdk.NewAttribute(sdk.AttributeKeyAmount, msg.Amount.Amount.String()), - sdk.NewAttribute(types.AttributeKeyMaxPrices, msg.MaxPrices.String()), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.BuyerDid.String()), - ), - }) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondBuyOrderEvent{ + BondDid: msg.BondDid, + Order: &order, + }, + ); err != nil { + return nil, err + } return &types.MsgBuyResponse{}, nil } @@ -586,20 +523,6 @@ func performFirstSwapperFunctionBuy(ctx sdk.Context, keeper Keeper, msg types.Ms // Update supply keeper.SetCurrentSupply(ctx, bond.BondDid, bond.CurrentSupply.Add(msg.Amount)) - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeInitSwapper, - sdk.NewAttribute(types.AttributeKeyBondDid, msg.BondDid), - sdk.NewAttribute(sdk.AttributeKeyAmount, msg.Amount.Amount.String()), - sdk.NewAttribute(types.AttributeKeyChargedPrices, msg.MaxPrices.String()), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.BuyerDid.String()), - ), - }) - return &types.MsgBuyResponse{}, nil } @@ -663,18 +586,15 @@ func (k msgServer) Sell(goCtx context.Context, msg *types.MsgSell) (*types.MsgSe //// Cancel unfulfillable orders (Note: no need) //keeper.CancelUnfulfillableOrders(ctx, bond.BondDid) - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeSell, - sdk.NewAttribute(types.AttributeKeyBondDid, msg.BondDid), - sdk.NewAttribute(sdk.AttributeKeyAmount, msg.Amount.Amount.String()), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.SellerDid.String()), - ), - }) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondSellOrderEvent{ + BondDid: msg.BondDid, + Order: &order, + }, + ); err != nil { + return nil, err + } return &types.MsgSellResponse{}, nil } @@ -730,20 +650,15 @@ func (k msgServer) Swap(goCtx context.Context, msg *types.MsgSwap) (*types.MsgSw //// Cancel unfulfillable orders (Note: no need) //keeper.CancelUnfulfillableOrders(ctx, bond.BondDid) - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeSwap, - sdk.NewAttribute(types.AttributeKeyBondDid, bond.BondDid), - sdk.NewAttribute(sdk.AttributeKeyAmount, msg.From.Amount.String()), - sdk.NewAttribute(types.AttributeKeySwapFromToken, msg.From.Denom), - sdk.NewAttribute(types.AttributeKeySwapToToken, msg.ToToken), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.SwapperDid.String()), - ), - }) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondSwapOrderEvent{ + BondDid: msg.BondDid, + Order: &order, + }, + ); err != nil { + return nil, err + } return &types.MsgSwapResponse{}, nil } @@ -776,19 +691,17 @@ func (k msgServer) MakeOutcomePayment(goCtx context.Context, msg *types.MsgMakeO return nil, err } - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeMakeOutcomePayment, - sdk.NewAttribute(types.AttributeKeyBondDid, msg.BondDid), - sdk.NewAttribute(sdk.AttributeKeyAmount, outcomePayment.String()), - sdk.NewAttribute(types.AttributeKeyAddress, senderAddr.String()), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.SenderDid.String()), - ), - }) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondMakeOutcomePaymentEvent{ + BondDid: msg.BondDid, + SenderDid: msg.SenderDid.Did(), + SenderAddress: senderAddr.String(), + OutcomePayment: outcomePayment, + }, + ); err != nil { + return nil, err + } return &types.MsgMakeOutcomePaymentResponse{}, nil } @@ -850,19 +763,17 @@ func (k msgServer) WithdrawShare(goCtx context.Context, msg *types.MsgWithdrawSh // Update supply k.SetCurrentSupply(ctx, bond.BondDid, bond.CurrentSupply.Sub(bondTokensOwned)) - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeWithdrawShare, - sdk.NewAttribute(types.AttributeKeyBondDid, msg.BondDid), - sdk.NewAttribute(types.AttributeKeyAddress, recipientAddr.String()), - sdk.NewAttribute(sdk.AttributeKeyAmount, reserveOwed.String()), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.RecipientDid.String()), - ), - }) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondWithdrawShareEvent{ + BondDid: msg.BondDid, + RecipientDid: msg.RecipientDid.Did(), + RecipientAddress: recipientAddr.String(), + WithdrawPayment: reserveOwed, + }, + ); err != nil { + return nil, err + } return &types.MsgWithdrawShareResponse{}, nil } @@ -919,19 +830,18 @@ func (k msgServer) WithdrawReserve(goCtx context.Context, msg *types.MsgWithdraw // CurrentReserve (virtual reserve) reported by the bond will be unchanged. k.setAvailableReserve(ctx, bond.BondDid, bond.AvailableReserve.Sub(msg.Amount)) - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeWithdrawReserve, - sdk.NewAttribute(types.AttributeKeyBondDid, msg.BondDid), - sdk.NewAttribute(types.AttributeKeyAddress, bond.ReserveWithdrawalAddress), - sdk.NewAttribute(sdk.AttributeKeyAmount, msg.Amount.String()), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.WithdrawerDid.String()), - ), - }) + // emit the events + if err := ctx.EventManager().EmitTypedEvents( + &types.BondWithdrawReserveEvent{ + BondDid: msg.BondDid, + WithdrawerDid: msg.WithdrawerDid.Did(), + WithdrawerAddress: msg.WithdrawerAddress, + WithdrawAmount: msg.Amount, + ReserveWithdrawalAddress: reserveWithdrawalAddress.String(), + }, + ); err != nil { + return nil, err + } return &types.MsgWithdrawReserveResponse{}, nil } diff --git a/x/bonds/keeper/querier.go b/x/bonds/keeper/querier.go index 6dcb3ee6..40cb4325 100644 --- a/x/bonds/keeper/querier.go +++ b/x/bonds/keeper/querier.go @@ -1,455 +1,392 @@ package keeper -import ( - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/bonds/client" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" - abci "github.com/tendermint/tendermint/abci/types" -) - -const ( - QueryBonds = "bonds" - QueryBondsDetailed = "bonds_detailed" - QueryBond = "bond" - QueryBatch = "batch" - QueryLastBatch = "last_batch" - QueryCurrentPrice = "current_price" - QueryCurrentReserve = "current_reserve" - QueryAvailableReserve = "available_reserve" - QueryCustomPrice = "custom_price" - QueryBuyPrice = "buy_price" - QuerySellReturn = "sell_return" - QuerySwapReturn = "swap_return" - QueryAlphaMaximums = "alpha_maximums" - QueryParams = "params" - QueryBondAccountDetails = "bond_account_details" -) - -// NewQuerier is the module level router for state queries -func NewQuerier(keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return func(ctx sdk.Context, path []string, req abci.RequestQuery) (res []byte, err error) { - switch path[0] { - case QueryBonds: - return queryBonds(ctx, keeper, legacyQuerierCdc) - case QueryBondsDetailed: - return queryBondsDetailed(ctx, keeper, legacyQuerierCdc) - case QueryBond: - return queryBond(ctx, path[1:], keeper, legacyQuerierCdc) - case QueryBatch: - return queryBatch(ctx, path[1:], keeper, legacyQuerierCdc) - case QueryLastBatch: - return queryLastBatch(ctx, path[1:], keeper, legacyQuerierCdc) - case QueryCurrentPrice: - return queryCurrentPrice(ctx, path[1:], keeper, legacyQuerierCdc) - case QueryCurrentReserve: - return queryCurrentReserve(ctx, path[1:], keeper, legacyQuerierCdc) - case QueryAvailableReserve: - return queryAvailableReserve(ctx, path[1:], keeper, legacyQuerierCdc) - case QueryCustomPrice: - return queryCustomPrice(ctx, path[1:], keeper, legacyQuerierCdc) - case QueryBuyPrice: - return queryBuyPrice(ctx, path[1:], keeper, legacyQuerierCdc) - case QuerySellReturn: - return querySellReturn(ctx, path[1:], keeper, legacyQuerierCdc) - case QuerySwapReturn: - return querySwapReturn(ctx, path[1:], keeper, legacyQuerierCdc) - case QueryAlphaMaximums: - return queryAlphaMaximums(ctx, path[1:], keeper, legacyQuerierCdc) - case QueryParams: - return queryParams(ctx, keeper, legacyQuerierCdc) - // case QueryBondAccountDetails: - // return queryBondAccountDetails(ctx, path[1:], keeper, legacyQuerierCdc) - default: - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "unknown bonds query endpoint") - } - } -} - -func zeroReserveTokensIfEmpty(reserveCoins sdk.Coins, bond types.Bond) sdk.Coins { - if reserveCoins.IsZero() { - zeroes, _ := bond.GetNewReserveDecCoins(sdk.OneDec()).TruncateDecimal() - for i := range zeroes { - zeroes[i].Amount = sdk.ZeroInt() - } - reserveCoins = zeroes - } - return reserveCoins -} - -func zeroReserveTokensIfEmptyDec(reserveCoins sdk.DecCoins, bond types.Bond) sdk.DecCoins { - if reserveCoins.IsZero() { - zeroes := bond.GetNewReserveDecCoins(sdk.OneDec()) - for i := range zeroes { - zeroes[i].Amount = sdk.ZeroDec() - } - reserveCoins = zeroes - } - return reserveCoins -} - -func queryBonds(ctx sdk.Context, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - var bondsList []string - iterator := keeper.GetBondIterator(ctx) - defer iterator.Close() - for ; iterator.Valid(); iterator.Next() { - var bond types.Bond - keeper.cdc.MustUnmarshal(iterator.Value(), &bond) - bondsList = append(bondsList, bond.BondDid) - } - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, bondsList) - if err != nil { - panic("could not marshal result to JSON") - // return nil, err - } - - return bz, nil -} - -func queryBondsDetailed(ctx sdk.Context, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - var bondsList []*types.BondDetails - iterator := keeper.GetBondIterator(ctx) - defer iterator.Close() - for ; iterator.Valid(); iterator.Next() { - var bond types.Bond - keeper.cdc.MustUnmarshal(iterator.Value(), &bond) - if bond.State == types.HatchState.String() || bond.State == types.OpenState.String() { - reserveBalances := keeper.GetReserveBalances(ctx, bond.BondDid) - reservePrices, _ := bond.GetCurrentPricesPT(reserveBalances) - reservePrices = zeroReserveTokensIfEmptyDec(reservePrices, bond) - - bondsList = append(bondsList, &types.BondDetails{ - BondDid: bond.BondDid, - SpotPrice: reservePrices, - Supply: bond.CurrentSupply, - Reserve: reserveBalances, - }) - } - } - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, bondsList) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func queryBond(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - - bond, found := keeper.GetBond(ctx, bondDid) - if !found { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) - } - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, bond) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func queryBatch(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - - if !keeper.BatchExists(ctx, bondDid) { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "batch for '%s' does not exist", bondDid) - } - - batch := keeper.MustGetBatch(ctx, bondDid) - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, batch) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func queryLastBatch(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - - if !keeper.LastBatchExists(ctx, bondDid) { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "last batch for '%s' does not exist", bondDid) - } - - batch := keeper.MustGetLastBatch(ctx, bondDid) - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, batch) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func queryCurrentPrice(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - - bond, found := keeper.GetBond(ctx, bondDid) - if !found { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) - } - - reserveBalances := keeper.GetReserveBalances(ctx, bondDid) - reservePrices, err := bond.GetCurrentPricesPT(reserveBalances) - if err != nil { - return nil, err - } - reservePrices = zeroReserveTokensIfEmptyDec(reservePrices, bond) - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, reservePrices) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func queryCurrentReserve(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - - bond, found := keeper.GetBond(ctx, bondDid) - if !found { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) - } - - reserveBalances := zeroReserveTokensIfEmpty(bond.CurrentReserve, bond) - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, reserveBalances) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func queryAvailableReserve(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - - bond, found := keeper.GetBond(ctx, bondDid) - if !found { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) - } - - availableReserve := zeroReserveTokensIfEmpty(bond.AvailableReserve, bond) - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, availableReserve) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func queryCustomPrice(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - bondAmount := path[1] - - bond, found := keeper.GetBond(ctx, bondDid) - if !found { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) - } - - bondCoin, err := client.ParseTwoPartCoin(bondAmount, bond.Token) - if err != nil { - return nil, err - } - - reservePrices, err := bond.GetPricesAtSupply(bondCoin.Amount) - if err != nil { - return nil, err - } - reservePrices = zeroReserveTokensIfEmptyDec(reservePrices, bond) - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, reservePrices) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func queryBuyPrice(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - bondAmount := path[1] - - bond, found := keeper.GetBond(ctx, bondDid) - if !found { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) - } - - bondCoin, err := client.ParseTwoPartCoin(bondAmount, bond.Token) - if err != nil { - return nil, err - - } - - // Max supply cannot be less than supply (max supply >= supply) - adjustedSupply := keeper.GetSupplyAdjustedForBuy(ctx, bondDid) - if bond.MaxSupply.IsLT(adjustedSupply.Add(bondCoin)) { - return nil, types.ErrCannotMintMoreThanMaxSupply - } - - reserveBalances := keeper.GetReserveBalances(ctx, bondDid) - reservePrices, err := bond.GetPricesToMint(bondCoin.Amount, reserveBalances) - if err != nil { - return nil, err - } - reservePricesRounded := types.RoundReservePrices(reservePrices) - txFee := bond.GetTxFees(reservePrices) - - var result = types.QueryBuyPriceResponse{ - AdjustedSupply: adjustedSupply, - Prices: zeroReserveTokensIfEmpty(reservePricesRounded, bond), - TxFees: zeroReserveTokensIfEmpty(txFee, bond), - TotalPrices: zeroReserveTokensIfEmpty(reservePricesRounded.Add(txFee...), bond), - TotalFees: zeroReserveTokensIfEmpty(txFee, bond), - } - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func querySellReturn(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - bondAmount := path[1] - - bond, found := keeper.GetBond(ctx, bondDid) - if !found { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) - } - - bondCoin, err := client.ParseTwoPartCoin(bondAmount, bond.Token) - if err != nil { - return nil, err - } - - if !bond.AllowSells { - return nil, types.ErrBondDoesNotAllowSelling - } - - // Cannot burn more tokens than what exists - adjustedSupply := keeper.GetSupplyAdjustedForSell(ctx, bondDid) - if adjustedSupply.IsLT(bondCoin) { - return nil, types.ErrCannotBurnMoreThanSupply - } - - reserveBalances := keeper.GetReserveBalances(ctx, bondDid) - reserveReturns, err := bond.GetReturnsForBurn(bondCoin.Amount, reserveBalances) - if err != nil { - return nil, err - } - reserveReturnsRounded := types.RoundReserveReturns(reserveReturns) - - txFees := bond.GetTxFees(reserveReturns) - exitFees := bond.GetExitFees(reserveReturns) - totalFees := types.AdjustFees(txFees.Add(exitFees...), reserveReturnsRounded) - - var result = types.QuerySellReturnResponse{ - AdjustedSupply: adjustedSupply, - Returns: zeroReserveTokensIfEmpty(reserveReturnsRounded, bond), - TxFees: zeroReserveTokensIfEmpty(txFees, bond), - ExitFees: zeroReserveTokensIfEmpty(exitFees, bond), - TotalReturns: zeroReserveTokensIfEmpty(reserveReturnsRounded.Sub(totalFees), bond), - TotalFees: zeroReserveTokensIfEmpty(totalFees, bond), - } - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func querySwapReturn(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - fromToken := path[1] - fromAmount := path[2] - toToken := path[3] - - fromCoin, err := client.ParseTwoPartCoin(fromAmount, fromToken) - if err != nil { - return nil, err - } - - bond, found := keeper.GetBond(ctx, bondDid) - if !found { - return nil, sdkerrors.Wrapf(types.ErrBondDoesNotExist, bondDid) - } - - reserveBalances := keeper.GetReserveBalances(ctx, bondDid) - reserveReturns, txFee, err := bond.GetReturnsForSwap(fromCoin, toToken, reserveBalances) - if err != nil { - return nil, err - } - - if reserveReturns.Empty() { - reserveReturns = sdk.Coins{sdk.Coin{Denom: toToken, Amount: sdk.ZeroInt()}} - } - - var result = types.QuerySwapReturnResponse{ - TotalFees: sdk.Coins{txFee}, - TotalReturns: reserveReturns, - } - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -func queryAlphaMaximums(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { - bondDid := path[0] - - bond, found := keeper.GetBond(ctx, bondDid) - if !found { - return nil, sdkerrors.Wrapf(types.ErrBondDoesNotExist, bondDid) - } - - if bond.FunctionType != types.AugmentedFunction { - return nil, sdkerrors.Wrapf(types.ErrFunctionNotAvailableForFunctionType, bond.FunctionType) - } else if !bond.AlphaBond { - return nil, sdkerrors.Wrap(types.ErrFunctionNotAvailableForFunctionType, "bond is not an alpha bond") - } - - var maxSystemAlphaIncrease, maxSystemAlpha sdk.Dec - if len(bond.CurrentReserve) == 0 { - maxSystemAlphaIncrease = sdk.ZeroDec() - maxSystemAlpha = sdk.ZeroDec() - } else { - R := bond.CurrentReserve[0].Amount // common reserve balance - C := bond.OutcomePayment - maxSystemAlphaIncrease = sdk.NewDecFromInt(R).QuoInt(C) - - paramsMap := bond.FunctionParameters.AsMap() - I := paramsMap["I0"] - maxSystemAlpha = I.QuoInt(C) - } - - var result = types.QueryAlphaMaximumsResponse{ - MaxSystemAlphaIncrease: maxSystemAlphaIncrease, - MaxSystemAlpha: maxSystemAlpha, - } - - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) - if err != nil { - panic("could not marshal result to JSON") - } - - return bz, nil -} - -// func queryBondAccountDetails(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// import ( +// "github.com/cosmos/cosmos-sdk/codec" +// sdk "github.com/cosmos/cosmos-sdk/types" +// sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +// "github.com/ixofoundation/ixo-blockchain/x/bonds/client" +// "github.com/ixofoundation/ixo-blockchain/x/bonds/types" +// abci "github.com/tendermint/tendermint/abci/types" +// ) + +// const ( +// QueryBonds = "bonds" +// QueryBondsDetailed = "bonds_detailed" +// QueryBond = "bond" +// QueryBatch = "batch" +// QueryLastBatch = "last_batch" +// QueryCurrentPrice = "current_price" +// QueryCurrentReserve = "current_reserve" +// QueryAvailableReserve = "available_reserve" +// QueryCustomPrice = "custom_price" +// QueryBuyPrice = "buy_price" +// QuerySellReturn = "sell_return" +// QuerySwapReturn = "swap_return" +// QueryAlphaMaximums = "alpha_maximums" +// QueryParams = "params" +// QueryBondAccountDetails = "bond_account_details" +// ) + +// // NewQuerier is the module level router for state queries +// func NewQuerier(keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { +// return func(ctx sdk.Context, path []string, req abci.RequestQuery) (res []byte, err error) { +// switch path[0] { +// case QueryBonds: +// return queryBonds(ctx, keeper, legacyQuerierCdc) +// case QueryBondsDetailed: +// return queryBondsDetailed(ctx, keeper, legacyQuerierCdc) +// case QueryBond: +// return queryBond(ctx, path[1:], keeper, legacyQuerierCdc) +// case QueryBatch: +// return queryBatch(ctx, path[1:], keeper, legacyQuerierCdc) +// case QueryLastBatch: +// return queryLastBatch(ctx, path[1:], keeper, legacyQuerierCdc) +// case QueryCurrentPrice: +// return queryCurrentPrice(ctx, path[1:], keeper, legacyQuerierCdc) +// case QueryCurrentReserve: +// return queryCurrentReserve(ctx, path[1:], keeper, legacyQuerierCdc) +// case QueryAvailableReserve: +// return queryAvailableReserve(ctx, path[1:], keeper, legacyQuerierCdc) +// case QueryCustomPrice: +// return queryCustomPrice(ctx, path[1:], keeper, legacyQuerierCdc) +// case QueryBuyPrice: +// return queryBuyPrice(ctx, path[1:], keeper, legacyQuerierCdc) +// case QuerySellReturn: +// return querySellReturn(ctx, path[1:], keeper, legacyQuerierCdc) +// case QuerySwapReturn: +// return querySwapReturn(ctx, path[1:], keeper, legacyQuerierCdc) +// case QueryAlphaMaximums: +// return queryAlphaMaximums(ctx, path[1:], keeper, legacyQuerierCdc) +// case QueryParams: +// return queryParams(ctx, keeper, legacyQuerierCdc) +// // case QueryBondAccountDetails: +// // return queryBondAccountDetails(ctx, path[1:], keeper, legacyQuerierCdc) +// default: +// return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "unknown bonds query endpoint") +// } +// } +// } + +// func queryBonds(ctx sdk.Context, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// var bondsList []string +// iterator := keeper.GetBondIterator(ctx) +// defer iterator.Close() +// for ; iterator.Valid(); iterator.Next() { +// var bond types.Bond +// keeper.cdc.MustUnmarshal(iterator.Value(), &bond) +// bondsList = append(bondsList, bond.BondDid) +// } + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, bondsList) +// if err != nil { +// panic("could not marshal result to JSON") +// // return nil, err +// } + +// return bz, nil +// } + +// func queryBondsDetailed(ctx sdk.Context, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// var bondsList []*types.BondDetails +// iterator := keeper.GetBondIterator(ctx) +// defer iterator.Close() +// for ; iterator.Valid(); iterator.Next() { +// var bond types.Bond +// keeper.cdc.MustUnmarshal(iterator.Value(), &bond) +// if bond.State == types.HatchState.String() || bond.State == types.OpenState.String() { +// reserveBalances := keeper.GetReserveBalances(ctx, bond.BondDid) +// reservePrices, _ := bond.GetCurrentPricesPT(reserveBalances) +// reservePrices = zeroReserveTokensIfEmptyDec(reservePrices, bond) + +// bondsList = append(bondsList, &types.BondDetails{ +// BondDid: bond.BondDid, +// SpotPrice: reservePrices, +// Supply: bond.CurrentSupply, +// Reserve: reserveBalances, +// }) +// } +// } + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, bondsList) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func queryBond(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// bondDid := path[0] + +// bond, found := keeper.GetBond(ctx, bondDid) +// if !found { +// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) +// } + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, bond) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func queryBatch(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// bondDid := path[0] + +// if !keeper.BatchExists(ctx, bondDid) { +// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "batch for '%s' does not exist", bondDid) +// } + +// batch := keeper.MustGetBatch(ctx, bondDid) + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, batch) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func queryLastBatch(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// bondDid := path[0] + +// if !keeper.LastBatchExists(ctx, bondDid) { +// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "last batch for '%s' does not exist", bondDid) +// } + +// batch := keeper.MustGetLastBatch(ctx, bondDid) + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, batch) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func queryCurrentPrice(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// bondDid := path[0] + +// bond, found := keeper.GetBond(ctx, bondDid) +// if !found { +// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) +// } + +// reserveBalances := keeper.GetReserveBalances(ctx, bondDid) +// reservePrices, err := bond.GetCurrentPricesPT(reserveBalances) +// if err != nil { +// return nil, err +// } +// reservePrices = zeroReserveTokensIfEmptyDec(reservePrices, bond) + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, reservePrices) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func queryCurrentReserve(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// bondDid := path[0] + +// bond, found := keeper.GetBond(ctx, bondDid) +// if !found { +// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) +// } + +// reserveBalances := zeroReserveTokensIfEmpty(bond.CurrentReserve, bond) +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, reserveBalances) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func queryAvailableReserve(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// bondDid := path[0] + +// bond, found := keeper.GetBond(ctx, bondDid) +// if !found { +// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) +// } + +// availableReserve := zeroReserveTokensIfEmpty(bond.AvailableReserve, bond) +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, availableReserve) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func queryCustomPrice(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// bondDid := path[0] +// bondAmount := path[1] + +// bond, found := keeper.GetBond(ctx, bondDid) +// if !found { +// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) +// } + +// bondCoin, err := client.ParseTwoPartCoin(bondAmount, bond.Token) +// if err != nil { +// return nil, err +// } + +// reservePrices, err := bond.GetPricesAtSupply(bondCoin.Amount) +// if err != nil { +// return nil, err +// } +// reservePrices = zeroReserveTokensIfEmptyDec(reservePrices, bond) + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, reservePrices) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func queryBuyPrice(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// bondDid := path[0] +// bondAmount := path[1] + +// bond, found := keeper.GetBond(ctx, bondDid) +// if !found { +// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) +// } + +// bondCoin, err := client.ParseTwoPartCoin(bondAmount, bond.Token) +// if err != nil { +// return nil, err + +// } + +// // Max supply cannot be less than supply (max supply >= supply) +// adjustedSupply := keeper.GetSupplyAdjustedForBuy(ctx, bondDid) +// if bond.MaxSupply.IsLT(adjustedSupply.Add(bondCoin)) { +// return nil, types.ErrCannotMintMoreThanMaxSupply +// } + +// reserveBalances := keeper.GetReserveBalances(ctx, bondDid) +// reservePrices, err := bond.GetPricesToMint(bondCoin.Amount, reserveBalances) +// if err != nil { +// return nil, err +// } +// reservePricesRounded := types.RoundReservePrices(reservePrices) +// txFee := bond.GetTxFees(reservePrices) + +// var result = types.QueryBuyPriceResponse{ +// AdjustedSupply: adjustedSupply, +// Prices: zeroReserveTokensIfEmpty(reservePricesRounded, bond), +// TxFees: zeroReserveTokensIfEmpty(txFee, bond), +// TotalPrices: zeroReserveTokensIfEmpty(reservePricesRounded.Add(txFee...), bond), +// TotalFees: zeroReserveTokensIfEmpty(txFee, bond), +// } + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func querySellReturn(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// bondDid := path[0] +// bondAmount := path[1] + +// bond, found := keeper.GetBond(ctx, bondDid) +// if !found { +// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) +// } + +// bondCoin, err := client.ParseTwoPartCoin(bondAmount, bond.Token) +// if err != nil { +// return nil, err +// } + +// if !bond.AllowSells { +// return nil, types.ErrBondDoesNotAllowSelling +// } + +// // Cannot burn more tokens than what exists +// adjustedSupply := keeper.GetSupplyAdjustedForSell(ctx, bondDid) +// if adjustedSupply.IsLT(bondCoin) { +// return nil, types.ErrCannotBurnMoreThanSupply +// } + +// reserveBalances := keeper.GetReserveBalances(ctx, bondDid) +// reserveReturns, err := bond.GetReturnsForBurn(bondCoin.Amount, reserveBalances) +// if err != nil { +// return nil, err +// } +// reserveReturnsRounded := types.RoundReserveReturns(reserveReturns) + +// txFees := bond.GetTxFees(reserveReturns) +// exitFees := bond.GetExitFees(reserveReturns) +// totalFees := types.AdjustFees(txFees.Add(exitFees...), reserveReturnsRounded) + +// var result = types.QuerySellReturnResponse{ +// AdjustedSupply: adjustedSupply, +// Returns: zeroReserveTokensIfEmpty(reserveReturnsRounded, bond), +// TxFees: zeroReserveTokensIfEmpty(txFees, bond), +// ExitFees: zeroReserveTokensIfEmpty(exitFees, bond), +// TotalReturns: zeroReserveTokensIfEmpty(reserveReturnsRounded.Sub(totalFees), bond), +// TotalFees: zeroReserveTokensIfEmpty(totalFees, bond), +// } + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func querySwapReturn(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// bondDid := path[0] +// fromToken := path[1] +// fromAmount := path[2] +// toToken := path[3] + +// fromCoin, err := client.ParseTwoPartCoin(fromAmount, fromToken) +// if err != nil { +// return nil, err +// } + +// bond, found := keeper.GetBond(ctx, bondDid) +// if !found { +// return nil, sdkerrors.Wrapf(types.ErrBondDoesNotExist, bondDid) +// } + +// reserveBalances := keeper.GetReserveBalances(ctx, bondDid) +// reserveReturns, txFee, err := bond.GetReturnsForSwap(fromCoin, toToken, reserveBalances) +// if err != nil { +// return nil, err +// } + +// if reserveReturns.Empty() { +// reserveReturns = sdk.Coins{sdk.Coin{Denom: toToken, Amount: sdk.ZeroInt()}} +// } + +// var result = types.QuerySwapReturnResponse{ +// TotalFees: sdk.Coins{txFee}, +// TotalReturns: reserveReturns, +// } + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) +// if err != nil { +// panic("could not marshal result to JSON") +// } + +// return bz, nil +// } + +// func queryAlphaMaximums(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { // bondDid := path[0] // bond, found := keeper.GetBond(ctx, bondDid) @@ -457,18 +394,59 @@ func queryAlphaMaximums(ctx sdk.Context, path []string, keeper Keeper, legacyQue // return nil, sdkerrors.Wrapf(types.ErrBondDoesNotExist, bondDid) // } -// keeper.Get +// if bond.FunctionType != types.AugmentedFunction { +// return nil, sdkerrors.Wrapf(types.ErrFunctionNotAvailableForFunctionType, bond.FunctionType) +// } else if !bond.AlphaBond { +// return nil, sdkerrors.Wrap(types.ErrFunctionNotAvailableForFunctionType, "bond is not an alpha bond") +// } + +// var maxSystemAlphaIncrease, maxSystemAlpha sdk.Dec +// if len(bond.CurrentReserve) == 0 { +// maxSystemAlphaIncrease = sdk.ZeroDec() +// maxSystemAlpha = sdk.ZeroDec() +// } else { +// R := bond.CurrentReserve[0].Amount // common reserve balance +// C := bond.OutcomePayment +// maxSystemAlphaIncrease = sdk.NewDecFromInt(R).QuoInt(C) + +// paramsMap := bond.FunctionParameters.AsMap() +// I := paramsMap["I0"] +// maxSystemAlpha = I.QuoInt(C) +// } + +// var result = types.QueryAlphaMaximumsResponse{ +// MaxSystemAlphaIncrease: maxSystemAlphaIncrease, +// MaxSystemAlpha: maxSystemAlpha, +// } + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) +// if err != nil { +// panic("could not marshal result to JSON") +// } // return bz, nil // } -func queryParams(ctx sdk.Context, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { - params := k.GetParams(ctx) +// // func queryBondAccountDetails(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { +// // bondDid := path[0] + +// // bond, found := keeper.GetBond(ctx, bondDid) +// // if !found { +// // return nil, sdkerrors.Wrapf(types.ErrBondDoesNotExist, bondDid) +// // } + +// // keeper.Get - bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, params) - if err != nil { - return nil, sdkerrors.Wrapf(sdkerrors.ErrJSONMarshal, "failed to marshal iid %s", err) - } +// // return bz, nil +// // } - return bz, nil -} +// func queryParams(ctx sdk.Context, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { +// params := k.GetParams(ctx) + +// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, params) +// if err != nil { +// return nil, sdkerrors.Wrapf(sdkerrors.ErrJSONMarshal, "failed to marshal iid %s", err) +// } + +// return bz, nil +// } diff --git a/x/bonds/module.go b/x/bonds/module.go index c95130bf..044b99ed 100644 --- a/x/bonds/module.go +++ b/x/bonds/module.go @@ -14,7 +14,8 @@ import ( "github.com/gorilla/mux" "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/ixofoundation/ixo-blockchain/x/bonds/client/cli" - "github.com/ixofoundation/ixo-blockchain/x/bonds/client/rest" + + // "github.com/ixofoundation/ixo-blockchain/x/bonds/client/rest" "github.com/ixofoundation/ixo-blockchain/x/bonds/keeper" "github.com/ixofoundation/ixo-blockchain/x/bonds/types" "github.com/spf13/cobra" @@ -58,12 +59,12 @@ func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncod // RegisterRESTRoutes registers the REST routes for the bonds module. func (AppModuleBasic) RegisterRESTRoutes(clientCtx client.Context, rtr *mux.Router) { - rest.RegisterHandlers(clientCtx, rtr) + // rest.RegisterHandlers(clientCtx, rtr) } // RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the bonds module. func (a AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux) { - _ = types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(clientCtx)) + types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(clientCtx)) } // GetTxCmd returns the root tx command for the bonds module. @@ -122,14 +123,16 @@ func (AppModule) QuerierRoute() string { // LegacyQuerierHandler returns the bonds module sdk.Querier. func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return keeper.NewQuerier(am.keeper, legacyQuerierCdc) + return func(sdk.Context, []string, abci.RequestQuery) ([]byte, error) { + return nil, fmt.Errorf("legacy querier not supported for the x/%s module", types.ModuleName) + } } // RegisterServices registers a GRPC query service to respond to the // module-specific GRPC queries. func (am AppModule) RegisterServices(cfg module.Configurator) { types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) - types.RegisterQueryServer(cfg.QueryServer(), am.keeper) + types.RegisterQueryServer(cfg.QueryServer(), keeper.NewQuerier(am.keeper)) } // InitGenesis performs genesis initialization for the bonds module. It returns diff --git a/x/bonds/spec/09_stargate_upgrade.md b/x/bonds/spec/09_stargate_upgrade.md deleted file mode 100644 index 4b4aaace..00000000 --- a/x/bonds/spec/09_stargate_upgrade.md +++ /dev/null @@ -1,37 +0,0 @@ -# Stargate Upgrade - -The bonds module has been upgraded to be compatible with the Cosmos SDK v0.40 (a.k.a. Stargate) release. The main -changes are listed below. - -## Protocol buffers (Protobuf) -One of the most significant improvements introduced in Stargate is the use of protocol buffers as the new standard -serialization format for blockchain state & wire communication. Protobuf definitions are organized into packages in the -new `proto/` directory. The three categories of types that must be converted to Protobuf messages are: -* client-facing types: Msgs, query requests and responses. This is because the client will send these types over the - wire to the app. -* objects that are stored in state. This is because the SDK stores the binary representation of these types in state. -* genesis types. These are used when importing and exporting state snapshots during chain upgrades. - -Once all Protobuf messages are defined in the `proto/` directory, we can generate the `*.pb.go` files by running `sudo -make proto-gen`. This in turn uses the `scripts/protocgen.sh` script. - -Existing Amino REST endpoints are all preserved, although they are planned to be deprecated in a future release. New -routes have been added via gRPC-gateway. gRPC-gateway exposes gRPC endpoints as REST endpoints. For each RPC endpoint -defined in a Protobuf service, the SDK offers a REST equivalent, which is defined as an option. For example, in -`query.proto` we have the following. -``` -rpc Bond(QueryBondRequest) returns (QueryBondResponse) { - option (google.api.http).get = "/ixo/bonds/{bond_did}"; -} -``` -To query the bond `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c` using the legacy Amino REST endpoint, use -`/bonds/did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`. To query the bond using the new gRPC-gateway REST -endpoint, use `/ixo/bonds/did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`. - -## Single application binary -ixo-blockchain now compiles to a single application binary, as opposed to separate binaries for running a node and one -for the CLI & REST server. In practice, this means we no longer have an `ixocli` command and now only use `ixod`. - -Note: There is currently no way of configuring the `ixod` command, which means we have to add flags such as the chain -ID every time we use `ixod`. This has been reported and (at the time of writing) is an open issue, available here: -https://github.com/cosmos/cosmos-sdk/issues/8529. diff --git a/x/bonds/types/bonds.pb.go b/x/bonds/types/bonds.pb.go index 00147a64..6fa52310 100644 --- a/x/bonds/types/bonds.pb.go +++ b/x/bonds/types/bonds.pb.go @@ -29,8 +29,8 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // FunctionParam is a key-value pair used for specifying a specific bond // parameter. type FunctionParam struct { - Param string `protobuf:"bytes,1,opt,name=param,proto3" json:"param,omitempty" yaml:"param"` - Value github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=value,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"value" yaml:"value"` + Param string `protobuf:"bytes,1,opt,name=param,proto3" json:"param,omitempty"` + Value github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=value,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"value"` } func (m *FunctionParam) Reset() { *m = FunctionParam{} } @@ -75,10 +75,10 @@ func (m *FunctionParam) GetParam() string { // BondDetails contains details about the current state of a given bond. type BondDetails struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"did" yaml:"did"` - SpotPrice github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,2,rep,name=spot_price,json=spotPrice,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"spot_price" yaml:"spot_price"` - Supply types.Coin `protobuf:"bytes,3,opt,name=supply,proto3" json:"supply" yaml:"supply"` - Reserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=reserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"reserve" yaml:"reserve"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + SpotPrice github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,2,rep,name=spot_price,json=spotPrice,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"spot_price"` + Supply types.Coin `protobuf:"bytes,3,opt,name=supply,proto3" json:"supply"` + Reserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=reserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"reserve"` } func (m *BondDetails) Reset() { *m = BondDetails{} } @@ -144,34 +144,34 @@ func (m *BondDetails) GetReserve() github_com_cosmos_cosmos_sdk_types.Coins { // Bond defines a token bonding curve type with all of its parameters. type Bond struct { - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty" yaml:"token"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" yaml:"name"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty" yaml:"description"` - CreatorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=creator_did,json=creatorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"creator_did,omitempty" yaml:"creator_did"` - ControllerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,5,opt,name=controller_did,json=controllerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"controller_did,omitempty" yaml:"controller_did"` - FunctionType string `protobuf:"bytes,6,opt,name=function_type,json=functionType,proto3" json:"function_type,omitempty" yaml:"function_type"` - FunctionParameters FunctionParams `protobuf:"bytes,7,rep,name=function_parameters,json=functionParameters,proto3,castrepeated=FunctionParams" json:"function_parameters" yaml:"function_parameters"` - ReserveTokens []string `protobuf:"bytes,8,rep,name=reserve_tokens,json=reserveTokens,proto3" json:"reserve_tokens,omitempty" yaml:"reserve_tokens"` - TxFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=tx_fee_percentage,json=txFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"tx_fee_percentage" yaml:"tx_fee_percentage"` - ExitFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=exit_fee_percentage,json=exitFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"exit_fee_percentage" yaml:"exit_fee_percentage"` - FeeAddress string `protobuf:"bytes,11,opt,name=fee_address,json=feeAddress,proto3" json:"fee_address,omitempty" yaml:"fee_address"` - ReserveWithdrawalAddress string `protobuf:"bytes,12,opt,name=reserve_withdrawal_address,json=reserveWithdrawalAddress,proto3" json:"reserve_withdrawal_address,omitempty" yaml:"reserve_withdrawal_address"` - MaxSupply types.Coin `protobuf:"bytes,13,opt,name=max_supply,json=maxSupply,proto3" json:"max_supply" yaml:"max_supply"` - OrderQuantityLimits github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,14,rep,name=order_quantity_limits,json=orderQuantityLimits,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"order_quantity_limits" yaml:"order_quantity_limits"` - SanityRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,15,opt,name=sanity_rate,json=sanityRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_rate" yaml:"sanity_rate"` - SanityMarginPercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,16,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_margin_percentage" yaml:"sanity_margin_percentage"` - CurrentSupply types.Coin `protobuf:"bytes,17,opt,name=current_supply,json=currentSupply,proto3" json:"current_supply" yaml:"current_supply"` - CurrentReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,18,rep,name=current_reserve,json=currentReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"current_reserve" yaml:"current_reserve"` - AvailableReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,19,rep,name=available_reserve,json=availableReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"available_reserve" yaml:"available_reserve"` - CurrentOutcomePaymentReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,20,rep,name=current_outcome_payment_reserve,json=currentOutcomePaymentReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"current_outcome_payment_reserve" yaml:"current_outcome_payment_reserve"` - AllowSells bool `protobuf:"varint,21,opt,name=allow_sells,json=allowSells,proto3" json:"allow_sells,omitempty" yaml:"allow_sells"` - AllowReserveWithdrawals bool `protobuf:"varint,22,opt,name=allow_reserve_withdrawals,json=allowReserveWithdrawals,proto3" json:"allow_reserve_withdrawals,omitempty" yaml:"allow_reserve_withdrawals"` - AlphaBond bool `protobuf:"varint,23,opt,name=alpha_bond,json=alphaBond,proto3" json:"alpha_bond,omitempty" yaml:"alpha_bond"` - BatchBlocks github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,24,opt,name=batch_blocks,json=batchBlocks,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"batch_blocks" yaml:"batch_blocks"` - OutcomePayment github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,25,opt,name=outcome_payment,json=outcomePayment,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"outcome_payment" yaml:"outcome_payment"` - State string `protobuf:"bytes,26,opt,name=state,proto3" json:"state,omitempty" yaml:"state"` - BondDid string `protobuf:"bytes,27,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - OracleDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,28,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"oracle_did,omitempty" yaml:"oracle_did"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + CreatorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=creator_did,json=creatorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"creator_did,omitempty"` + ControllerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,5,opt,name=controller_did,json=controllerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"controller_did,omitempty"` + FunctionType string `protobuf:"bytes,6,opt,name=function_type,json=functionType,proto3" json:"function_type,omitempty"` + FunctionParameters FunctionParams `protobuf:"bytes,7,rep,name=function_parameters,json=functionParameters,proto3,castrepeated=FunctionParams" json:"function_parameters"` + ReserveTokens []string `protobuf:"bytes,8,rep,name=reserve_tokens,json=reserveTokens,proto3" json:"reserve_tokens,omitempty"` + TxFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=tx_fee_percentage,json=txFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"tx_fee_percentage"` + ExitFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=exit_fee_percentage,json=exitFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"exit_fee_percentage"` + FeeAddress string `protobuf:"bytes,11,opt,name=fee_address,json=feeAddress,proto3" json:"fee_address,omitempty"` + ReserveWithdrawalAddress string `protobuf:"bytes,12,opt,name=reserve_withdrawal_address,json=reserveWithdrawalAddress,proto3" json:"reserve_withdrawal_address,omitempty"` + MaxSupply types.Coin `protobuf:"bytes,13,opt,name=max_supply,json=maxSupply,proto3" json:"max_supply"` + OrderQuantityLimits github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,14,rep,name=order_quantity_limits,json=orderQuantityLimits,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"order_quantity_limits"` + SanityRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,15,opt,name=sanity_rate,json=sanityRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_rate"` + SanityMarginPercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,16,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_margin_percentage"` + CurrentSupply types.Coin `protobuf:"bytes,17,opt,name=current_supply,json=currentSupply,proto3" json:"current_supply"` + CurrentReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,18,rep,name=current_reserve,json=currentReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"current_reserve"` + AvailableReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,19,rep,name=available_reserve,json=availableReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"available_reserve"` + CurrentOutcomePaymentReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,20,rep,name=current_outcome_payment_reserve,json=currentOutcomePaymentReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"current_outcome_payment_reserve"` + AllowSells bool `protobuf:"varint,21,opt,name=allow_sells,json=allowSells,proto3" json:"allow_sells,omitempty"` + AllowReserveWithdrawals bool `protobuf:"varint,22,opt,name=allow_reserve_withdrawals,json=allowReserveWithdrawals,proto3" json:"allow_reserve_withdrawals,omitempty"` + AlphaBond bool `protobuf:"varint,23,opt,name=alpha_bond,json=alphaBond,proto3" json:"alpha_bond,omitempty"` + BatchBlocks github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,24,opt,name=batch_blocks,json=batchBlocks,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"batch_blocks"` + OutcomePayment github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,25,opt,name=outcome_payment,json=outcomePayment,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"outcome_payment"` + State string `protobuf:"bytes,26,opt,name=state,proto3" json:"state,omitempty"` + BondDid string `protobuf:"bytes,27,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + OracleDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,28,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"oracle_did,omitempty"` } func (m *Bond) Reset() { *m = Bond{} } @@ -364,10 +364,10 @@ func (m *Bond) GetOracleDid() github_com_ixofoundation_ixo_blockchain_x_iid_type // BaseOrder defines a base order type. It contains all the necessary fields for // specifying the general details about a buy, sell, or swap order. type BaseOrder struct { - AccountDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=account_did,json=accountDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"account_did,omitempty" yaml:"account_did"` - Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount" yaml:"amount"` - Cancelled bool `protobuf:"varint,3,opt,name=cancelled,proto3" json:"cancelled,omitempty" yaml:"cancelled"` - CancelReason string `protobuf:"bytes,4,opt,name=cancel_reason,json=cancelReason,proto3" json:"cancel_reason,omitempty" yaml:"cancel_reason"` + AccountDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=account_did,json=accountDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"account_did,omitempty"` + Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` + Cancelled bool `protobuf:"varint,3,opt,name=cancelled,proto3" json:"cancelled,omitempty"` + CancelReason string `protobuf:"bytes,4,opt,name=cancel_reason,json=cancelReason,proto3" json:"cancel_reason,omitempty"` } func (m *BaseOrder) Reset() { *m = BaseOrder{} } @@ -434,8 +434,8 @@ func (m *BaseOrder) GetCancelReason() string { // BuyOrder defines a type for submitting a buy order on a bond, together with // the maximum amount of reserve tokens the buyer is willing to pay. type BuyOrder struct { - BaseOrder BaseOrder `protobuf:"bytes,1,opt,name=base_order,json=baseOrder,proto3" json:"base_order" yaml:"base_order"` - MaxPrices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=max_prices,json=maxPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"max_prices" yaml:"max_prices"` + BaseOrder BaseOrder `protobuf:"bytes,1,opt,name=base_order,json=baseOrder,proto3" json:"base_order"` + MaxPrices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=max_prices,json=maxPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"max_prices"` } func (m *BuyOrder) Reset() { *m = BuyOrder{} } @@ -487,7 +487,7 @@ func (m *BuyOrder) GetMaxPrices() github_com_cosmos_cosmos_sdk_types.Coins { // SellOrder defines a type for submitting a sell order on a bond. type SellOrder struct { - BaseOrder BaseOrder `protobuf:"bytes,1,opt,name=base_order,json=baseOrder,proto3" json:"base_order" yaml:"base_order"` + BaseOrder BaseOrder `protobuf:"bytes,1,opt,name=base_order,json=baseOrder,proto3" json:"base_order"` } func (m *SellOrder) Reset() { *m = SellOrder{} } @@ -533,8 +533,8 @@ func (m *SellOrder) GetBaseOrder() BaseOrder { // SwapOrder defines a type for submitting a swap order between two tokens on a // bond. type SwapOrder struct { - BaseOrder BaseOrder `protobuf:"bytes,1,opt,name=base_order,json=baseOrder,proto3" json:"base_order" yaml:"base_order"` - ToToken string `protobuf:"bytes,2,opt,name=to_token,json=toToken,proto3" json:"to_token,omitempty" yaml:"to_token"` + BaseOrder BaseOrder `protobuf:"bytes,1,opt,name=base_order,json=baseOrder,proto3" json:"base_order"` + ToToken string `protobuf:"bytes,2,opt,name=to_token,json=toToken,proto3" json:"to_token,omitempty"` } func (m *SwapOrder) Reset() { *m = SwapOrder{} } @@ -587,16 +587,16 @@ func (m *SwapOrder) GetToToken() string { // Batch holds a collection of outstanding buy, sell, and swap orders on a // particular bond. type Batch struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - BlocksRemaining github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,2,opt,name=blocks_remaining,json=blocksRemaining,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"blocks_remaining" yaml:"blocks_remaining"` - NextPublicAlpha github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=next_public_alpha,json=nextPublicAlpha,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"next_public_alpha" yaml:"next_public_alpha"` - TotalBuyAmount types.Coin `protobuf:"bytes,4,opt,name=total_buy_amount,json=totalBuyAmount,proto3" json:"total_buy_amount" yaml:"total_buy_amount"` - TotalSellAmount types.Coin `protobuf:"bytes,5,opt,name=total_sell_amount,json=totalSellAmount,proto3" json:"total_sell_amount" yaml:"total_sell_amount"` - BuyPrices github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,6,rep,name=buy_prices,json=buyPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"buy_prices" yaml:"buy_prices"` - SellPrices github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,7,rep,name=sell_prices,json=sellPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"sell_prices" yaml:"sell_prices"` - Buys []BuyOrder `protobuf:"bytes,8,rep,name=buys,proto3" json:"buys" yaml:"buys"` - Sells []SellOrder `protobuf:"bytes,9,rep,name=sells,proto3" json:"sells" yaml:"sells"` - Swaps []SwapOrder `protobuf:"bytes,10,rep,name=swaps,proto3" json:"swaps" yaml:"swaps"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + BlocksRemaining github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,2,opt,name=blocks_remaining,json=blocksRemaining,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"blocks_remaining"` + NextPublicAlpha github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=next_public_alpha,json=nextPublicAlpha,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"next_public_alpha"` + TotalBuyAmount types.Coin `protobuf:"bytes,4,opt,name=total_buy_amount,json=totalBuyAmount,proto3" json:"total_buy_amount"` + TotalSellAmount types.Coin `protobuf:"bytes,5,opt,name=total_sell_amount,json=totalSellAmount,proto3" json:"total_sell_amount"` + BuyPrices github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,6,rep,name=buy_prices,json=buyPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"buy_prices"` + SellPrices github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,7,rep,name=sell_prices,json=sellPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"sell_prices"` + Buys []BuyOrder `protobuf:"bytes,8,rep,name=buys,proto3" json:"buys"` + Sells []SellOrder `protobuf:"bytes,9,rep,name=sells,proto3" json:"sells"` + Swaps []SwapOrder `protobuf:"bytes,10,rep,name=swaps,proto3" json:"swaps"` } func (m *Batch) Reset() { *m = Batch{} } @@ -690,7 +690,7 @@ func (m *Batch) GetSwaps() []SwapOrder { // Params defines the parameters for the bonds module. type Params struct { - ReservedBondTokens []string `protobuf:"bytes,1,rep,name=reserved_bond_tokens,json=reservedBondTokens,proto3" json:"reserved_bond_tokens,omitempty" yaml:"reserved_bond_tokens"` + ReservedBondTokens []string `protobuf:"bytes,1,rep,name=reserved_bond_tokens,json=reservedBondTokens,proto3" json:"reserved_bond_tokens,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -748,118 +748,92 @@ func init() { func init() { proto.RegisterFile("ixo/bonds/v1beta1/bonds.proto", fileDescriptor_93b4137e78081347) } var fileDescriptor_93b4137e78081347 = []byte{ - // 1773 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xcd, 0x6f, 0xe4, 0x48, - 0x15, 0x1f, 0x6f, 0x3e, 0xfb, 0x75, 0xd2, 0x9d, 0x38, 0xc9, 0x8c, 0x93, 0x99, 0x8d, 0x43, 0x01, - 0x43, 0x24, 0xb4, 0xdd, 0xec, 0xb0, 0x68, 0x11, 0x12, 0x1f, 0x63, 0xc2, 0x28, 0x33, 0x1a, 0x34, - 0x99, 0x9a, 0xe1, 0x6b, 0x41, 0x32, 0xd5, 0x76, 0xa5, 0x63, 0x8d, 0xdb, 0xd5, 0x6b, 0x97, 0x93, - 0x6e, 0x84, 0xc4, 0x01, 0xad, 0x40, 0x20, 0x10, 0x12, 0xdc, 0xb9, 0xf3, 0x37, 0x70, 0xe4, 0xb0, - 0xc7, 0x3d, 0x22, 0x0e, 0x06, 0x25, 0x37, 0x8e, 0x7d, 0xe4, 0x84, 0xea, 0xc3, 0x6d, 0xbb, 0x3b, - 0xbb, 0x9d, 0x5e, 0xcd, 0x9e, 0x92, 0x7a, 0x1f, 0xbf, 0xf7, 0xea, 0xd5, 0x7b, 0xcf, 0xef, 0x35, - 0xbc, 0x19, 0x0c, 0x58, 0xbb, 0xc3, 0x22, 0x3f, 0x69, 0x9f, 0xbf, 0xdd, 0xa1, 0x9c, 0xbc, 0xad, - 0x4e, 0xad, 0x7e, 0xcc, 0x38, 0x33, 0x37, 0x83, 0x01, 0x6b, 0x29, 0x82, 0x66, 0xef, 0x6d, 0x77, - 0x59, 0x97, 0x49, 0x6e, 0x5b, 0xfc, 0xa7, 0x04, 0xf7, 0xf6, 0x3d, 0x96, 0xf4, 0x58, 0xd2, 0xee, - 0x90, 0x84, 0x8e, 0x91, 0x3c, 0x16, 0x44, 0x8a, 0x8f, 0xfe, 0x60, 0xc0, 0xfa, 0xa3, 0x34, 0xf2, - 0x78, 0xc0, 0xa2, 0x13, 0x12, 0x93, 0x9e, 0x79, 0x1f, 0x96, 0xfa, 0xe2, 0x1f, 0xcb, 0x38, 0x30, - 0x0e, 0x6b, 0xce, 0xc6, 0x28, 0xb3, 0xd7, 0x86, 0xa4, 0x17, 0x7e, 0x03, 0x49, 0x32, 0xc2, 0x8a, - 0x6d, 0xbe, 0x84, 0xa5, 0x73, 0x12, 0xa6, 0xd4, 0x7a, 0x43, 0xca, 0x7d, 0xeb, 0xc3, 0xcc, 0xbe, - 0xf5, 0xaf, 0xcc, 0xbe, 0xdf, 0x0d, 0xf8, 0x59, 0xda, 0x69, 0x79, 0xac, 0xd7, 0xd6, 0xb6, 0xd5, - 0x9f, 0xb7, 0x12, 0xff, 0x55, 0x9b, 0x0f, 0xfb, 0x34, 0x69, 0x1d, 0x51, 0xaf, 0x40, 0x95, 0x20, - 0x08, 0x2b, 0x30, 0xf4, 0xbb, 0x05, 0xa8, 0x3b, 0x2c, 0xf2, 0x8f, 0x28, 0x27, 0x41, 0x98, 0x98, - 0x5f, 0x81, 0x55, 0x71, 0x4d, 0xd7, 0x0f, 0x7c, 0xed, 0xd0, 0xce, 0x7f, 0x33, 0x7b, 0xc1, 0x0f, - 0xfc, 0x51, 0x66, 0x83, 0x42, 0xf0, 0x03, 0x1f, 0xe1, 0x15, 0x21, 0x76, 0x14, 0xf8, 0xe6, 0x07, - 0x06, 0x40, 0xd2, 0x67, 0xdc, 0xed, 0xc7, 0x81, 0x27, 0xbc, 0x5b, 0x38, 0xac, 0x3f, 0xb8, 0xd7, - 0x52, 0x4e, 0xb4, 0x44, 0x1c, 0xf2, 0x90, 0x09, 0x3f, 0xbe, 0xcb, 0x82, 0xc8, 0x39, 0x16, 0xbe, - 0x8f, 0x32, 0x7b, 0x53, 0xe1, 0x15, 0xda, 0xe8, 0x6f, 0xff, 0xb6, 0xbf, 0x7c, 0xb3, 0x0b, 0x09, - 0xa0, 0x04, 0xd7, 0x84, 0xee, 0x89, 0x50, 0x35, 0x8f, 0x61, 0x39, 0x49, 0xfb, 0xfd, 0x70, 0x68, - 0x2d, 0x1c, 0x18, 0x87, 0xf5, 0x07, 0xbb, 0xd7, 0xba, 0x20, 0xed, 0xef, 0x68, 0xfb, 0xeb, 0xda, - 0xbe, 0x54, 0x43, 0x58, 0xeb, 0x9b, 0x17, 0xb0, 0x12, 0xd3, 0x84, 0xc6, 0xe7, 0xd4, 0x5a, 0x94, - 0xb7, 0xf9, 0x04, 0x28, 0x47, 0x43, 0x35, 0x14, 0x94, 0xd6, 0x13, 0xf7, 0x38, 0xbc, 0xc1, 0x3d, - 0xd4, 0x25, 0x72, 0x6b, 0xe8, 0x72, 0x07, 0x16, 0xc5, 0x63, 0x88, 0x9c, 0xe0, 0xec, 0x15, 0x8d, - 0xa6, 0x73, 0x42, 0x92, 0x11, 0x56, 0x6c, 0xf3, 0xf3, 0xb0, 0x18, 0x91, 0x5e, 0x9e, 0x12, 0xcd, - 0x51, 0x66, 0xd7, 0x95, 0x98, 0xa0, 0x22, 0x2c, 0x99, 0xe6, 0xd7, 0xa1, 0xee, 0xd3, 0xc4, 0x8b, - 0x83, 0xbe, 0x48, 0x3a, 0x19, 0x9d, 0x9a, 0x73, 0x7b, 0x94, 0xd9, 0xa6, 0x7e, 0xce, 0x82, 0x89, - 0x70, 0x59, 0xd4, 0xfc, 0x05, 0xd4, 0xbd, 0x98, 0x12, 0xce, 0x62, 0x99, 0x0f, 0x8b, 0x52, 0xf3, - 0x27, 0x85, 0x66, 0x89, 0x89, 0xfe, 0x97, 0xd9, 0xdf, 0x2e, 0xdd, 0x38, 0x18, 0xb0, 0x53, 0x96, - 0x46, 0x3e, 0x11, 0x40, 0xe2, 0xf4, 0x56, 0x27, 0x64, 0xde, 0x2b, 0xef, 0x8c, 0x04, 0x51, 0x7b, - 0xd0, 0x0e, 0x02, 0x3f, 0x7f, 0xca, 0xc7, 0x47, 0x8f, 0x62, 0xd2, 0xed, 0xd1, 0x88, 0x63, 0xd0, - 0x80, 0x22, 0xad, 0x7e, 0x6d, 0x40, 0xc3, 0x63, 0x11, 0x8f, 0x59, 0x18, 0x52, 0x65, 0x7f, 0x49, - 0xda, 0xff, 0xd9, 0x28, 0xb3, 0x77, 0xb4, 0xfd, 0x0a, 0xff, 0xb5, 0xb8, 0xb0, 0x5e, 0x60, 0x0a, - 0x2f, 0xbe, 0x09, 0xeb, 0xa7, 0xba, 0x5a, 0x5d, 0x21, 0x6c, 0x2d, 0x4b, 0x1f, 0xac, 0x51, 0x66, - 0x6f, 0x2b, 0x1f, 0x2a, 0x6c, 0x84, 0xd7, 0xf2, 0xf3, 0xcb, 0x61, 0x9f, 0x9a, 0xbf, 0x31, 0x60, - 0x6b, 0x2c, 0x20, 0xcb, 0x98, 0x72, 0x1a, 0x27, 0xd6, 0x8a, 0x4c, 0xab, 0x83, 0xd6, 0x54, 0x57, - 0x69, 0x55, 0x7a, 0x83, 0xf3, 0x8e, 0xce, 0xae, 0xbd, 0x09, 0x5b, 0x05, 0x94, 0xc8, 0xb4, 0x46, - 0x45, 0x29, 0xc1, 0xe6, 0x69, 0xf9, 0x2c, 0xc5, 0xcc, 0xef, 0x40, 0x43, 0x67, 0x99, 0x2b, 0x53, - 0x27, 0xb1, 0x56, 0x0f, 0x16, 0x0e, 0x6b, 0xce, 0x6e, 0x11, 0xcd, 0x2a, 0x1f, 0xe1, 0x75, 0x4d, - 0x78, 0x29, 0xcf, 0xe6, 0x39, 0x6c, 0xf2, 0x81, 0x7b, 0x4a, 0xa9, 0xdb, 0xa7, 0xb1, 0x47, 0x23, - 0x4e, 0xba, 0xd4, 0xaa, 0xc9, 0x70, 0x3c, 0x99, 0xbb, 0x17, 0x59, 0x3a, 0x9b, 0x27, 0x01, 0x11, - 0x6e, 0xf2, 0xc1, 0x23, 0x4a, 0x4f, 0xc6, 0x14, 0xf3, 0x97, 0xb0, 0x45, 0x07, 0x01, 0x9f, 0xb4, - 0x0c, 0xd2, 0xf2, 0xd3, 0xb9, 0x2d, 0xeb, 0x50, 0x5e, 0x03, 0x89, 0xf0, 0xa6, 0xa0, 0x56, 0xad, - 0xbf, 0x0b, 0x75, 0x21, 0x45, 0x7c, 0x3f, 0xa6, 0x49, 0x62, 0xd5, 0x27, 0x8b, 0xa7, 0xc4, 0x44, - 0x18, 0x4e, 0x29, 0x7d, 0xa8, 0x0e, 0xa6, 0x07, 0x7b, 0x79, 0x40, 0x2f, 0x02, 0x7e, 0xe6, 0xc7, - 0xe4, 0x82, 0x84, 0x63, 0x9c, 0x35, 0x89, 0xf3, 0xc5, 0x51, 0x66, 0x7f, 0xae, 0x1a, 0xfc, 0x69, - 0x59, 0x84, 0x2d, 0xcd, 0xfc, 0xd1, 0x98, 0x97, 0x1b, 0x79, 0x01, 0xd0, 0x23, 0x03, 0x57, 0xf7, - 0xbd, 0xf5, 0x59, 0x7d, 0x6f, 0xb7, 0xda, 0x77, 0x0b, 0x55, 0x84, 0x6b, 0x3d, 0x32, 0x78, 0xa1, - 0xda, 0xdf, 0x5f, 0x0d, 0xd8, 0x61, 0xb1, 0x4f, 0x63, 0xf7, 0xfd, 0x94, 0x44, 0x3c, 0xe0, 0x43, - 0x37, 0x0c, 0x7a, 0x01, 0x4f, 0xac, 0xc6, 0xac, 0x6e, 0x78, 0xa2, 0x0d, 0xdc, 0x53, 0x06, 0xae, - 0x45, 0x99, 0xaf, 0x37, 0x6e, 0x49, 0x8c, 0xe7, 0x1a, 0xe2, 0xa9, 0x44, 0x30, 0x29, 0xd4, 0x13, - 0x12, 0x09, 0xc8, 0x98, 0x70, 0x6a, 0x35, 0x65, 0x30, 0x8f, 0xe6, 0x4e, 0x05, 0xfd, 0x84, 0x25, - 0x28, 0x84, 0x41, 0x9d, 0x30, 0xe1, 0xd4, 0xfc, 0xbd, 0x01, 0x96, 0x66, 0xf6, 0x48, 0xdc, 0x0d, - 0xa2, 0x72, 0xfe, 0x6d, 0x48, 0xa3, 0xcf, 0xe7, 0x36, 0x6a, 0x57, 0x8c, 0x4e, 0xe1, 0x22, 0x7c, - 0x5b, 0xb1, 0xbe, 0x2f, 0x39, 0xa5, 0x4c, 0x74, 0xa1, 0xe1, 0xa5, 0x71, 0x4c, 0x23, 0x9e, 0xbf, - 0xf7, 0xe6, 0xac, 0xf7, 0x7e, 0x53, 0x3f, 0x47, 0xde, 0x2e, 0x2b, 0xea, 0x08, 0xaf, 0x6b, 0x82, - 0x7e, 0xf7, 0x3f, 0x1a, 0xd0, 0xcc, 0x45, 0xf2, 0xef, 0x9f, 0x39, 0xeb, 0xc5, 0x9f, 0x68, 0x13, - 0xb7, 0xab, 0x26, 0x3e, 0xd5, 0x77, 0x30, 0xbf, 0x1f, 0x56, 0xca, 0xe6, 0x5f, 0x0c, 0xd8, 0x24, - 0xe7, 0x24, 0x08, 0x49, 0x27, 0xa4, 0x63, 0x97, 0xb6, 0x66, 0xb9, 0xf4, 0x54, 0xbb, 0xa4, 0x7b, - 0xcc, 0x14, 0xc2, 0x7c, 0x4e, 0x6d, 0x8c, 0xf5, 0x73, 0xb7, 0xfe, 0x6e, 0x80, 0x9d, 0xdf, 0x93, - 0xa5, 0xdc, 0x63, 0x3d, 0xea, 0xf6, 0xc9, 0xb0, 0x57, 0x8e, 0xdb, 0xf6, 0x2c, 0x27, 0xdf, 0xd3, - 0x4e, 0xde, 0xaf, 0xc6, 0xed, 0x63, 0xf0, 0xe6, 0x73, 0xf9, 0x9e, 0x46, 0x7b, 0xa6, 0xc0, 0x4e, - 0x14, 0x56, 0xee, 0xfe, 0xbb, 0x50, 0x27, 0x61, 0xc8, 0x2e, 0xdc, 0x84, 0x86, 0x61, 0x62, 0xed, - 0x1c, 0x18, 0x87, 0xab, 0xe5, 0x8e, 0x56, 0x62, 0x22, 0x0c, 0xf2, 0xf4, 0x42, 0x1c, 0xcc, 0x9f, - 0xc3, 0xae, 0xe2, 0x4d, 0xf7, 0xaa, 0xc4, 0xba, 0x2d, 0x61, 0xbe, 0x30, 0xca, 0xec, 0x83, 0x32, - 0xcc, 0x35, 0xa2, 0x08, 0xdf, 0x91, 0x3c, 0x3c, 0xd9, 0xd4, 0x12, 0xf3, 0x1d, 0x00, 0x12, 0xf6, - 0xcf, 0x88, 0x2b, 0xbe, 0x89, 0xd6, 0x1d, 0x09, 0xb9, 0x53, 0xf4, 0xab, 0x82, 0x87, 0x70, 0x4d, - 0x1e, 0xe4, 0xb0, 0x14, 0xc0, 0x5a, 0x87, 0x70, 0xef, 0xcc, 0x95, 0x9f, 0xf7, 0xc4, 0xb2, 0x64, - 0x65, 0x3e, 0xd2, 0x95, 0xf9, 0xa5, 0x1b, 0x84, 0xed, 0x07, 0x41, 0xc4, 0x47, 0x99, 0xbd, 0xa5, - 0xcc, 0x94, 0xc1, 0x10, 0xae, 0xcb, 0xa3, 0x23, 0x4f, 0xe6, 0xfb, 0xd0, 0x9c, 0x78, 0x21, 0x6b, - 0x57, 0x5a, 0x3b, 0x9e, 0xa3, 0x0f, 0x3c, 0x96, 0xc6, 0x74, 0xc1, 0x4c, 0xc0, 0x21, 0xdc, 0x60, - 0x95, 0x57, 0x13, 0xa3, 0x60, 0xc2, 0x45, 0x97, 0xdb, 0x9b, 0x1c, 0x05, 0x25, 0x19, 0x61, 0xc5, - 0x36, 0x5b, 0xa5, 0xc1, 0xfd, 0xae, 0x14, 0xdd, 0x1a, 0x65, 0x76, 0x53, 0x5f, 0x49, 0x73, 0x4a, - 0x63, 0xfb, 0x05, 0x00, 0x8b, 0x89, 0x17, 0x52, 0xa9, 0x71, 0x4f, 0x6a, 0xfc, 0xb8, 0x88, 0x75, - 0xc1, 0x7b, 0x2d, 0x63, 0x55, 0x4d, 0xe1, 0x1d, 0x05, 0x3e, 0xfa, 0xc7, 0x1b, 0x50, 0x73, 0x48, - 0x42, 0x9f, 0x89, 0xc6, 0x2e, 0x46, 0x4c, 0xe2, 0x79, 0x2c, 0x8d, 0x78, 0x69, 0xe5, 0x28, 0x8d, - 0x98, 0x25, 0xe6, 0xeb, 0x19, 0x31, 0x35, 0xa0, 0x08, 0xc1, 0x31, 0x2c, 0x93, 0x9e, 0x38, 0xc8, - 0xf9, 0x79, 0x9e, 0x8d, 0x41, 0xa9, 0x21, 0xac, 0xf5, 0xcd, 0x07, 0x50, 0xf3, 0x48, 0xe4, 0xd1, - 0x30, 0xa4, 0xbe, 0x1c, 0xb0, 0x57, 0x9d, 0xed, 0x51, 0x66, 0x6f, 0xe8, 0xe2, 0xce, 0x59, 0x08, - 0x17, 0x62, 0x62, 0xb4, 0x54, 0x07, 0x37, 0xa6, 0x24, 0x61, 0x91, 0x1e, 0xaf, 0x4b, 0xa3, 0x65, - 0x85, 0x8d, 0xf0, 0x9a, 0x3a, 0x63, 0x75, 0xbc, 0x32, 0x60, 0xd5, 0x49, 0x87, 0x2a, 0x8a, 0x3f, - 0x04, 0x10, 0x3e, 0xbb, 0xf2, 0x63, 0x29, 0x83, 0x28, 0x56, 0xb0, 0xe9, 0xe9, 0x72, 0x1c, 0xf7, - 0xc9, 0x51, 0xa0, 0xd0, 0x46, 0xb8, 0xd6, 0x19, 0xbf, 0xce, 0xaf, 0xd4, 0x7c, 0x21, 0x77, 0xb3, - 0x44, 0xaf, 0x76, 0x9f, 0x10, 0xa5, 0xef, 0x4d, 0xcf, 0x17, 0x4a, 0x75, 0xbe, 0xfe, 0x25, 0x66, - 0x91, 0x13, 0xa5, 0xe7, 0x41, 0x4d, 0x34, 0x9f, 0xcf, 0xf4, 0x96, 0xe8, 0xcf, 0x06, 0xd4, 0x5e, - 0x5c, 0x90, 0xfe, 0x67, 0x1b, 0xcb, 0x16, 0xac, 0x72, 0xa6, 0x86, 0x6b, 0xbd, 0xaf, 0x95, 0x0a, - 0x34, 0xe7, 0x20, 0xbc, 0xc2, 0x99, 0x1c, 0xb8, 0xd1, 0xe5, 0x0a, 0x2c, 0x39, 0xa2, 0xf7, 0x54, - 0x4a, 0xdb, 0xb8, 0x41, 0x69, 0xa7, 0xb0, 0xa1, 0xba, 0x97, 0x1b, 0xd3, 0x1e, 0x09, 0xa2, 0x20, - 0xea, 0x6a, 0x8b, 0x4f, 0xe6, 0x6f, 0x8a, 0x77, 0xb4, 0x99, 0x09, 0x40, 0x84, 0x9b, 0x8a, 0x84, - 0x73, 0x8a, 0x58, 0x10, 0x22, 0x3a, 0xe0, 0x6e, 0x3f, 0xed, 0x84, 0x81, 0xe7, 0xca, 0x06, 0xad, - 0xb7, 0xcd, 0x4f, 0xbd, 0x20, 0x4c, 0x01, 0x22, 0xdc, 0x14, 0xb4, 0x13, 0x49, 0x7a, 0x28, 0x28, - 0xa6, 0x0f, 0x1b, 0x9c, 0x71, 0x12, 0xba, 0x9d, 0x74, 0xe8, 0xea, 0x82, 0x5e, 0x9c, 0x55, 0xd0, - 0xb6, 0x7e, 0xb3, 0x3b, 0x79, 0xfc, 0xab, 0x00, 0x08, 0x37, 0x24, 0xc9, 0x49, 0x87, 0x0f, 0x55, - 0x89, 0x77, 0x61, 0x53, 0x09, 0x89, 0x2f, 0x63, 0x6e, 0x66, 0x69, 0x96, 0x99, 0x83, 0xea, 0x2c, - 0x32, 0x85, 0x20, 0xf6, 0x1d, 0x41, 0x13, 0x49, 0xae, 0x0d, 0x7d, 0x60, 0x00, 0x08, 0x47, 0x74, - 0xd1, 0x2d, 0xcf, 0xff, 0x7b, 0x4a, 0xa1, 0x3d, 0xff, 0xef, 0x29, 0x9d, 0x74, 0xa8, 0x4a, 0xcf, - 0xfc, 0xad, 0x01, 0x75, 0xe9, 0xa9, 0x76, 0x64, 0xe5, 0x06, 0x8e, 0x3c, 0xd6, 0x8e, 0xe4, 0x93, - 0x75, 0xa1, 0x3e, 0xb7, 0x27, 0x20, 0x94, 0xb5, 0x2b, 0x47, 0xb0, 0xd8, 0x49, 0x87, 0x6a, 0x65, - 0xad, 0x3f, 0xb8, 0x7b, 0x5d, 0x31, 0xea, 0x4e, 0xe8, 0x6c, 0x69, 0x0f, 0xea, 0xe3, 0x50, 0x24, - 0x08, 0x4b, 0x6d, 0xf3, 0x18, 0x96, 0xd4, 0xc8, 0x53, 0xd3, 0x37, 0x99, 0x86, 0x19, 0xf7, 0x1a, - 0x67, 0x5b, 0xe3, 0xac, 0x15, 0x37, 0x49, 0xc4, 0xb7, 0x56, 0x4e, 0x42, 0x02, 0xe9, 0x82, 0xf4, - 0x13, 0x0b, 0x3e, 0x1e, 0x29, 0xef, 0x27, 0x53, 0x48, 0x42, 0x51, 0x20, 0xc9, 0xbf, 0x3f, 0x85, - 0x65, 0xb5, 0xb4, 0x9b, 0xcf, 0x61, 0x5b, 0x0f, 0x4b, 0xbe, 0x1c, 0x71, 0xf2, 0x35, 0xdd, 0x90, - 0x6b, 0xba, 0x3d, 0xca, 0xec, 0xbb, 0x95, 0x4d, 0xb1, 0x22, 0x85, 0xb0, 0x99, 0x93, 0xc5, 0x48, - 0xa4, 0x36, 0x76, 0xe7, 0xd9, 0x87, 0x97, 0xfb, 0xc6, 0x47, 0x97, 0xfb, 0xc6, 0x7f, 0x2e, 0xf7, - 0x8d, 0x3f, 0x5d, 0xed, 0xdf, 0xfa, 0xe8, 0x6a, 0xff, 0xd6, 0x3f, 0xaf, 0xf6, 0x6f, 0xbd, 0xf7, - 0xb5, 0x9b, 0x7f, 0x46, 0xd5, 0x6f, 0xa2, 0xf2, 0x71, 0x3a, 0xcb, 0xf2, 0x37, 0xcc, 0xaf, 0xfe, - 0x3f, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x14, 0x49, 0x38, 0x2d, 0x15, 0x00, 0x00, + // 1348 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6e, 0x1b, 0xb7, + 0x13, 0xb7, 0x12, 0x59, 0xb6, 0x46, 0xb6, 0x64, 0xd3, 0x4e, 0xb2, 0x76, 0x1c, 0xc9, 0xd0, 0x1f, + 0xff, 0xd6, 0x40, 0x11, 0x29, 0x1f, 0x08, 0x52, 0x04, 0x45, 0x0b, 0x2b, 0x86, 0x81, 0xa0, 0x1f, + 0x76, 0x37, 0x29, 0x02, 0xe4, 0xd0, 0x05, 0x77, 0x97, 0x96, 0x19, 0xef, 0x2e, 0xb7, 0x4b, 0xae, + 0x2d, 0x9d, 0x7a, 0xe8, 0x0b, 0x14, 0x7d, 0x8c, 0xbe, 0x41, 0xfb, 0x04, 0x39, 0xe6, 0x58, 0xf4, + 0x90, 0x16, 0xc9, 0xb9, 0x2f, 0x50, 0xa0, 0x40, 0xc1, 0x21, 0x57, 0xb1, 0xe3, 0x34, 0x90, 0x0d, + 0xe5, 0x24, 0x71, 0x38, 0xf3, 0xfb, 0x0d, 0x67, 0x38, 0x9c, 0x59, 0xb8, 0xc6, 0x07, 0xa2, 0xeb, + 0x8b, 0x24, 0x94, 0xdd, 0xc3, 0x9b, 0x3e, 0x53, 0xf4, 0xa6, 0x59, 0x75, 0xd2, 0x4c, 0x28, 0x41, + 0x16, 0xf9, 0x40, 0x74, 0x8c, 0xc0, 0x6e, 0xaf, 0x2e, 0xf7, 0x45, 0x5f, 0xe0, 0x6e, 0x57, 0xff, + 0x33, 0x8a, 0xab, 0xcd, 0x40, 0xc8, 0x58, 0xc8, 0xae, 0x4f, 0x25, 0x1b, 0x21, 0x05, 0x82, 0x27, + 0x66, 0xbf, 0x7d, 0x00, 0xf3, 0xdb, 0x79, 0x12, 0x28, 0x2e, 0x92, 0x5d, 0x9a, 0xd1, 0x98, 0x2c, + 0xc3, 0x74, 0xaa, 0xff, 0x38, 0xa5, 0xf5, 0xd2, 0x46, 0xd5, 0x35, 0x0b, 0xb2, 0x05, 0xd3, 0x87, + 0x34, 0xca, 0x99, 0x73, 0x41, 0x4b, 0x7b, 0x9d, 0x67, 0x2f, 0x5a, 0x53, 0xbf, 0xbf, 0x68, 0x7d, + 0xd0, 0xe7, 0x6a, 0x3f, 0xf7, 0x3b, 0x81, 0x88, 0xbb, 0x96, 0xc8, 0xfc, 0x5c, 0x97, 0xe1, 0x41, + 0x57, 0x0d, 0x53, 0x26, 0x3b, 0x5b, 0x2c, 0x70, 0x8d, 0x71, 0xfb, 0xd7, 0x0b, 0x50, 0xeb, 0x89, + 0x24, 0xdc, 0x62, 0x8a, 0xf2, 0x48, 0x92, 0x15, 0x98, 0xd5, 0x67, 0xf0, 0x42, 0x1e, 0x5a, 0xba, + 0x19, 0xbd, 0xde, 0xe2, 0x21, 0x49, 0x01, 0x64, 0x2a, 0x94, 0x97, 0x66, 0x3c, 0xd0, 0xac, 0x17, + 0x37, 0x6a, 0xb7, 0xd6, 0x3a, 0x06, 0xbc, 0xa3, 0x0f, 0x53, 0x9c, 0x5b, 0xe3, 0xdf, 0x17, 0x3c, + 0xe9, 0xdd, 0xd6, 0x3e, 0xfd, 0xfc, 0x47, 0xeb, 0xa3, 0xf1, 0x7c, 0xd2, 0x36, 0xd2, 0xad, 0x6a, + 0x92, 0x5d, 0xcd, 0x41, 0xee, 0x42, 0x45, 0xe6, 0x69, 0x1a, 0x0d, 0x9d, 0x8b, 0xeb, 0xa5, 0x8d, + 0xda, 0xad, 0x95, 0xb7, 0xb2, 0x21, 0x55, 0x59, 0x53, 0xb9, 0x56, 0x9d, 0x30, 0x98, 0xc9, 0x98, + 0x64, 0xd9, 0x21, 0x73, 0xca, 0xe8, 0xe7, 0x3b, 0x2c, 0x6f, 0x58, 0x27, 0x37, 0xc6, 0x70, 0xd2, + 0x78, 0x58, 0x60, 0xb7, 0xff, 0x69, 0x40, 0x59, 0x07, 0x4f, 0x67, 0x48, 0x89, 0x03, 0x96, 0x14, + 0x19, 0xc2, 0x05, 0x21, 0x50, 0x4e, 0x68, 0x6c, 0x13, 0xe4, 0xe2, 0x7f, 0xb2, 0x0e, 0xb5, 0x90, + 0xc9, 0x20, 0xe3, 0xa9, 0xce, 0x2f, 0x9e, 0xab, 0xea, 0x1e, 0x17, 0x91, 0x10, 0x6a, 0x41, 0xc6, + 0xa8, 0x12, 0x19, 0x26, 0xa1, 0x8c, 0xd9, 0xbd, 0xff, 0xf7, 0x8b, 0xd6, 0x67, 0xc7, 0x1c, 0xe4, + 0x03, 0xb1, 0x27, 0xf2, 0x24, 0xa4, 0xda, 0x44, 0xaf, 0xae, 0xfb, 0x91, 0x08, 0x0e, 0x82, 0x7d, + 0xca, 0x93, 0xee, 0xa0, 0xcb, 0x79, 0x58, 0x84, 0xf5, 0xc1, 0xd6, 0x76, 0x46, 0xfb, 0x31, 0x4b, + 0x94, 0x0b, 0x16, 0x57, 0x27, 0xf3, 0x29, 0xd4, 0x03, 0x91, 0xa8, 0x4c, 0x44, 0x11, 0x33, 0x44, + 0xd3, 0x93, 0x23, 0x9a, 0x7f, 0x0d, 0xad, 0xb9, 0xfe, 0x07, 0xf3, 0x7b, 0xf6, 0x42, 0x7b, 0x5a, + 0xd9, 0xa9, 0xe0, 0xa9, 0xe7, 0x0a, 0xe1, 0xa3, 0x61, 0xca, 0x08, 0x87, 0xa5, 0x91, 0x12, 0x5e, + 0x70, 0xa6, 0x58, 0x26, 0x9d, 0x19, 0x4c, 0xdf, 0x7a, 0xe7, 0x54, 0x71, 0x75, 0x4e, 0xd4, 0x48, + 0xef, 0xb2, 0xcd, 0x62, 0xfd, 0x84, 0x58, 0xba, 0x64, 0xef, 0xf8, 0x1a, 0x31, 0xc9, 0xff, 0xa1, + 0x6e, 0x33, 0xe8, 0x61, 0xa2, 0xa4, 0x33, 0xbb, 0x7e, 0x71, 0xa3, 0xea, 0xce, 0x5b, 0xe9, 0x23, + 0x14, 0x92, 0x27, 0xb0, 0xa8, 0x06, 0xde, 0x1e, 0x63, 0x5e, 0xca, 0xb2, 0x80, 0x25, 0x8a, 0xf6, + 0x99, 0x53, 0x3d, 0x57, 0xb1, 0x35, 0xd4, 0x60, 0x9b, 0xb1, 0xdd, 0x11, 0x0c, 0xf9, 0x16, 0x96, + 0xd8, 0x80, 0xab, 0x37, 0xd1, 0xe1, 0x5c, 0xe8, 0x8b, 0x1a, 0xea, 0x24, 0x7e, 0x0b, 0x6a, 0x1a, + 0x9a, 0x86, 0x61, 0xc6, 0xa4, 0x74, 0x6a, 0x18, 0x70, 0xd8, 0x63, 0x6c, 0xd3, 0x48, 0xc8, 0x27, + 0xb0, 0x5a, 0xc4, 0xe0, 0x88, 0xab, 0xfd, 0x30, 0xa3, 0x47, 0x34, 0x1a, 0xe9, 0xcf, 0xa1, 0xbe, + 0x63, 0x35, 0x1e, 0x8f, 0x14, 0x0a, 0xeb, 0x4f, 0x01, 0x62, 0x3a, 0xf0, 0x6c, 0x71, 0xce, 0x8f, + 0x57, 0x9c, 0xd5, 0x98, 0x0e, 0x1e, 0x9a, 0xfa, 0xfc, 0x1e, 0x2e, 0x89, 0x2c, 0x64, 0x99, 0xf7, + 0x5d, 0x4e, 0x13, 0xc5, 0xd5, 0xd0, 0x8b, 0x78, 0xcc, 0x95, 0x74, 0xea, 0x93, 0xaf, 0xd6, 0x25, + 0x64, 0xfa, 0xda, 0x12, 0x7d, 0x81, 0x3c, 0x64, 0x07, 0x6a, 0x92, 0x26, 0x9a, 0x38, 0xa3, 0x8a, + 0x39, 0x8d, 0x73, 0xc5, 0x1d, 0x0c, 0x84, 0x4b, 0x15, 0x23, 0xfb, 0xe0, 0x58, 0xc0, 0x98, 0x66, + 0x7d, 0x9e, 0x1c, 0xcf, 0xea, 0xc2, 0xb9, 0xd0, 0x2f, 0x1b, 0xbc, 0x2f, 0x11, 0xee, 0x58, 0x6a, + 0xb7, 0xa1, 0x1e, 0xe4, 0x59, 0xc6, 0x12, 0x55, 0xc4, 0x7f, 0x71, 0xbc, 0xf8, 0xcf, 0x5b, 0x33, + 0x9b, 0x03, 0x05, 0x8d, 0x02, 0xa7, 0x78, 0x2b, 0xc9, 0xe4, 0xa3, 0x5f, 0xf8, 0xea, 0x1a, 0x0a, + 0x32, 0x80, 0x45, 0x7a, 0x48, 0x79, 0x44, 0xfd, 0x88, 0x8d, 0x78, 0x97, 0x26, 0xcf, 0xbb, 0x30, + 0x62, 0x29, 0x98, 0x7f, 0x2a, 0x41, 0xab, 0x38, 0xb0, 0xc8, 0x55, 0x20, 0x62, 0xe6, 0xa5, 0x74, + 0x18, 0x1f, 0x0f, 0xc0, 0xf2, 0xe4, 0x1d, 0x59, 0xb3, 0x9c, 0x3b, 0x86, 0x72, 0xd7, 0x30, 0x16, + 0x4e, 0xb5, 0xa0, 0x46, 0xa3, 0x48, 0x1c, 0x79, 0x92, 0x45, 0x91, 0x74, 0x2e, 0xad, 0x97, 0x36, + 0x66, 0x5d, 0x40, 0xd1, 0x43, 0x2d, 0x21, 0xf7, 0x60, 0xc5, 0x28, 0x9c, 0xae, 0x56, 0xe9, 0x5c, + 0x46, 0xf5, 0x2b, 0xa8, 0xe0, 0xbe, 0x59, 0xab, 0x92, 0x5c, 0x03, 0xa0, 0x51, 0xba, 0x4f, 0x3d, + 0xfd, 0x70, 0x3a, 0x57, 0x50, 0xb9, 0x8a, 0x12, 0x6c, 0x5a, 0x2e, 0xcc, 0xf9, 0x54, 0x05, 0xfb, + 0x1e, 0xbe, 0xe8, 0xd2, 0x71, 0xf0, 0x9a, 0x76, 0xed, 0x35, 0xfd, 0x70, 0x8c, 0x13, 0x7e, 0xc3, + 0x13, 0xe5, 0xd6, 0x10, 0xa4, 0x87, 0x18, 0xe4, 0x31, 0x34, 0xde, 0x88, 0xad, 0xb3, 0x72, 0xe6, + 0xdb, 0xff, 0x20, 0x51, 0x6e, 0x5d, 0x9c, 0x88, 0x97, 0xee, 0xb0, 0x52, 0xe9, 0x52, 0x5d, 0x35, + 0x1d, 0x16, 0x17, 0x27, 0xa6, 0x95, 0xab, 0x27, 0xa7, 0x15, 0x1f, 0x40, 0x64, 0x34, 0x88, 0x18, + 0x6e, 0xae, 0x4d, 0xae, 0xb9, 0x55, 0x0d, 0xec, 0x16, 0x0f, 0xdb, 0x7f, 0x95, 0xa0, 0xda, 0xa3, + 0x92, 0xed, 0xe8, 0x17, 0x46, 0x37, 0x6e, 0x1a, 0x04, 0x22, 0x4f, 0xd4, 0xeb, 0xe9, 0x69, 0x42, + 0x8d, 0xdb, 0xe2, 0xea, 0x73, 0xdd, 0x85, 0x0a, 0x8d, 0xf5, 0x02, 0xc7, 0x8a, 0x71, 0x66, 0x22, + 0xa3, 0x4e, 0xd6, 0xa0, 0x1a, 0xd0, 0x24, 0x60, 0x51, 0xc4, 0x42, 0x9c, 0x3b, 0x66, 0xdd, 0xd7, + 0x02, 0xdd, 0xa3, 0xcd, 0xc2, 0xcb, 0x18, 0x95, 0x22, 0x31, 0x73, 0x87, 0x3b, 0x67, 0x84, 0x2e, + 0xca, 0xda, 0xbf, 0x94, 0x60, 0xb6, 0x97, 0x0f, 0xcd, 0x71, 0x37, 0x01, 0x34, 0xa5, 0x87, 0xcf, + 0x2b, 0x9e, 0x56, 0x8f, 0x83, 0xa7, 0xfb, 0xf4, 0x28, 0x40, 0x45, 0x1b, 0xf0, 0x47, 0x11, 0x7b, + 0x6a, 0xda, 0x08, 0x0e, 0x94, 0xd2, 0x4e, 0x94, 0x13, 0x2d, 0x3e, 0xdd, 0x72, 0x70, 0x94, 0x94, + 0xed, 0xaf, 0xa0, 0xaa, 0x2b, 0x6a, 0x52, 0xbe, 0xb7, 0x39, 0x54, 0x1f, 0x1e, 0xd1, 0x74, 0x62, + 0xb1, 0x58, 0x81, 0x59, 0x25, 0xcc, 0x3c, 0x62, 0x07, 0xc6, 0x19, 0x25, 0x70, 0x12, 0x69, 0xff, + 0x50, 0x81, 0xe9, 0x9e, 0x2e, 0xb2, 0x77, 0x4d, 0xe7, 0x4f, 0x60, 0xc1, 0xd4, 0xb1, 0x97, 0xb1, + 0x98, 0xf2, 0x84, 0x27, 0x7d, 0xfb, 0x65, 0x70, 0xe6, 0x8a, 0x6e, 0x18, 0x20, 0xb7, 0xc0, 0xd1, + 0x93, 0x50, 0xc2, 0x06, 0xca, 0x4b, 0x73, 0x3f, 0xe2, 0x81, 0x87, 0x4f, 0x88, 0x19, 0x5d, 0xcf, + 0x3e, 0x09, 0x69, 0xa0, 0x5d, 0xc4, 0xd9, 0xd4, 0x30, 0xe4, 0x01, 0x2c, 0x28, 0xa1, 0x68, 0xe4, + 0xf9, 0xf9, 0xd0, 0xb3, 0x37, 0xbb, 0x3c, 0xde, 0xcd, 0xae, 0xa3, 0x61, 0x2f, 0x1f, 0x6e, 0x9a, + 0x1b, 0xfe, 0x39, 0x2c, 0x1a, 0x28, 0xfd, 0x98, 0x16, 0x58, 0xd3, 0xe3, 0x61, 0x35, 0xd0, 0x52, + 0xdf, 0x10, 0x0b, 0x96, 0x02, 0x68, 0x8f, 0xec, 0xdd, 0xac, 0xbc, 0xb7, 0xaf, 0x1d, 0x3f, 0x1f, + 0x9a, 0x1b, 0x4a, 0x32, 0xa8, 0xa1, 0xe3, 0x96, 0x72, 0xe6, 0x7d, 0x51, 0x82, 0x66, 0xb1, 0x9c, + 0x77, 0xa0, 0xec, 0xe7, 0x43, 0x33, 0x00, 0xd7, 0x6e, 0x5d, 0x7d, 0xdb, 0x95, 0xb5, 0xf5, 0x6e, + 0xe3, 0x84, 0xea, 0xe4, 0x63, 0x98, 0x36, 0x0d, 0xab, 0x6a, 0x9d, 0x3c, 0x6d, 0x37, 0x2a, 0x36, + 0x6b, 0x68, 0x0c, 0xd0, 0xf2, 0x88, 0xa6, 0xd2, 0x81, 0xff, 0xb6, 0x2c, 0xca, 0x6a, 0x64, 0xa9, + 0x0d, 0xda, 0xf7, 0xa0, 0x62, 0x66, 0x7a, 0x72, 0x03, 0x96, 0x6d, 0x37, 0x0c, 0xb1, 0xb5, 0x15, + 0x53, 0x7c, 0x09, 0xa7, 0x78, 0x52, 0xec, 0xe9, 0x26, 0x67, 0x46, 0xf9, 0xde, 0xce, 0xb3, 0x97, + 0xcd, 0xd2, 0xf3, 0x97, 0xcd, 0xd2, 0x9f, 0x2f, 0x9b, 0xa5, 0x1f, 0x5f, 0x35, 0xa7, 0x9e, 0xbf, + 0x6a, 0x4e, 0xfd, 0xf6, 0xaa, 0x39, 0xf5, 0xe4, 0xce, 0xf8, 0x6f, 0xb3, 0xf9, 0xf4, 0xc7, 0x60, + 0xfa, 0x15, 0xfc, 0x54, 0xbf, 0xfd, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x84, 0xfe, 0xa7, 0xfc, + 0x14, 0x10, 0x00, 0x00, } func (m *FunctionParam) Marshal() (dAtA []byte, err error) { diff --git a/x/bonds/types/event.pb.go b/x/bonds/types/event.pb.go new file mode 100644 index 00000000..d4d0ccaa --- /dev/null +++ b/x/bonds/types/event.pb.go @@ -0,0 +1,4797 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ixo/bonds/v1beta1/event.proto + +package types + +import ( + fmt "fmt" + github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// BondCreatedEvent is an event triggered on a Bond creation +type BondCreatedEvent struct { + Bond *Bond `protobuf:"bytes,1,opt,name=bond,proto3" json:"bond,omitempty"` +} + +func (m *BondCreatedEvent) Reset() { *m = BondCreatedEvent{} } +func (m *BondCreatedEvent) String() string { return proto.CompactTextString(m) } +func (*BondCreatedEvent) ProtoMessage() {} +func (*BondCreatedEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{0} +} +func (m *BondCreatedEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondCreatedEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondCreatedEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondCreatedEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondCreatedEvent.Merge(m, src) +} +func (m *BondCreatedEvent) XXX_Size() int { + return m.Size() +} +func (m *BondCreatedEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondCreatedEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondCreatedEvent proto.InternalMessageInfo + +func (m *BondCreatedEvent) GetBond() *Bond { + if m != nil { + return m.Bond + } + return nil +} + +// BondUpdatedEvent is an event triggered on a Bond update +type BondUpdatedEvent struct { + Bond *Bond `protobuf:"bytes,1,opt,name=bond,proto3" json:"bond,omitempty"` +} + +func (m *BondUpdatedEvent) Reset() { *m = BondUpdatedEvent{} } +func (m *BondUpdatedEvent) String() string { return proto.CompactTextString(m) } +func (*BondUpdatedEvent) ProtoMessage() {} +func (*BondUpdatedEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{1} +} +func (m *BondUpdatedEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondUpdatedEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondUpdatedEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondUpdatedEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondUpdatedEvent.Merge(m, src) +} +func (m *BondUpdatedEvent) XXX_Size() int { + return m.Size() +} +func (m *BondUpdatedEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondUpdatedEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondUpdatedEvent proto.InternalMessageInfo + +func (m *BondUpdatedEvent) GetBond() *Bond { + if m != nil { + return m.Bond + } + return nil +} + +// BondSetNextAlphaEvent is an event triggered when next batch alpha is set +type BondSetNextAlphaEvent struct { + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + NextAlpha string `protobuf:"bytes,2,opt,name=next_alpha,json=nextAlpha,proto3" json:"next_alpha,omitempty"` + Signer string `protobuf:"bytes,3,opt,name=signer,proto3" json:"signer,omitempty"` +} + +func (m *BondSetNextAlphaEvent) Reset() { *m = BondSetNextAlphaEvent{} } +func (m *BondSetNextAlphaEvent) String() string { return proto.CompactTextString(m) } +func (*BondSetNextAlphaEvent) ProtoMessage() {} +func (*BondSetNextAlphaEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{2} +} +func (m *BondSetNextAlphaEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondSetNextAlphaEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondSetNextAlphaEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondSetNextAlphaEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondSetNextAlphaEvent.Merge(m, src) +} +func (m *BondSetNextAlphaEvent) XXX_Size() int { + return m.Size() +} +func (m *BondSetNextAlphaEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondSetNextAlphaEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondSetNextAlphaEvent proto.InternalMessageInfo + +func (m *BondSetNextAlphaEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +func (m *BondSetNextAlphaEvent) GetNextAlpha() string { + if m != nil { + return m.NextAlpha + } + return "" +} + +func (m *BondSetNextAlphaEvent) GetSigner() string { + if m != nil { + return m.Signer + } + return "" +} + +// BondBuyOrderEvent is an event triggered on a Bond buy order +type BondBuyOrderEvent struct { + Order *BuyOrder `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"` + BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` +} + +func (m *BondBuyOrderEvent) Reset() { *m = BondBuyOrderEvent{} } +func (m *BondBuyOrderEvent) String() string { return proto.CompactTextString(m) } +func (*BondBuyOrderEvent) ProtoMessage() {} +func (*BondBuyOrderEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{3} +} +func (m *BondBuyOrderEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondBuyOrderEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondBuyOrderEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondBuyOrderEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondBuyOrderEvent.Merge(m, src) +} +func (m *BondBuyOrderEvent) XXX_Size() int { + return m.Size() +} +func (m *BondBuyOrderEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondBuyOrderEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondBuyOrderEvent proto.InternalMessageInfo + +func (m *BondBuyOrderEvent) GetOrder() *BuyOrder { + if m != nil { + return m.Order + } + return nil +} + +func (m *BondBuyOrderEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +// BondSellOrderEvent is an event triggered on a Bond sell order +type BondSellOrderEvent struct { + Order *SellOrder `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"` + BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` +} + +func (m *BondSellOrderEvent) Reset() { *m = BondSellOrderEvent{} } +func (m *BondSellOrderEvent) String() string { return proto.CompactTextString(m) } +func (*BondSellOrderEvent) ProtoMessage() {} +func (*BondSellOrderEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{4} +} +func (m *BondSellOrderEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondSellOrderEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondSellOrderEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondSellOrderEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondSellOrderEvent.Merge(m, src) +} +func (m *BondSellOrderEvent) XXX_Size() int { + return m.Size() +} +func (m *BondSellOrderEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondSellOrderEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondSellOrderEvent proto.InternalMessageInfo + +func (m *BondSellOrderEvent) GetOrder() *SellOrder { + if m != nil { + return m.Order + } + return nil +} + +func (m *BondSellOrderEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +// BondSwapOrderEvent is an event triggered on a Bond swap order +type BondSwapOrderEvent struct { + Order *SwapOrder `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"` + BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` +} + +func (m *BondSwapOrderEvent) Reset() { *m = BondSwapOrderEvent{} } +func (m *BondSwapOrderEvent) String() string { return proto.CompactTextString(m) } +func (*BondSwapOrderEvent) ProtoMessage() {} +func (*BondSwapOrderEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{5} +} +func (m *BondSwapOrderEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondSwapOrderEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondSwapOrderEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondSwapOrderEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondSwapOrderEvent.Merge(m, src) +} +func (m *BondSwapOrderEvent) XXX_Size() int { + return m.Size() +} +func (m *BondSwapOrderEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondSwapOrderEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondSwapOrderEvent proto.InternalMessageInfo + +func (m *BondSwapOrderEvent) GetOrder() *SwapOrder { + if m != nil { + return m.Order + } + return nil +} + +func (m *BondSwapOrderEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +// BondMakeOutcomePaymentEvent is an event triggered on a Bond make outcome +// payment +type BondMakeOutcomePaymentEvent struct { + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + OutcomePayment github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=outcome_payment,json=outcomePayment,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"outcome_payment"` + SenderDid string `protobuf:"bytes,3,opt,name=sender_did,json=senderDid,proto3" json:"sender_did,omitempty"` + SenderAddress string `protobuf:"bytes,4,opt,name=sender_address,json=senderAddress,proto3" json:"sender_address,omitempty"` +} + +func (m *BondMakeOutcomePaymentEvent) Reset() { *m = BondMakeOutcomePaymentEvent{} } +func (m *BondMakeOutcomePaymentEvent) String() string { return proto.CompactTextString(m) } +func (*BondMakeOutcomePaymentEvent) ProtoMessage() {} +func (*BondMakeOutcomePaymentEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{6} +} +func (m *BondMakeOutcomePaymentEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondMakeOutcomePaymentEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondMakeOutcomePaymentEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondMakeOutcomePaymentEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondMakeOutcomePaymentEvent.Merge(m, src) +} +func (m *BondMakeOutcomePaymentEvent) XXX_Size() int { + return m.Size() +} +func (m *BondMakeOutcomePaymentEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondMakeOutcomePaymentEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondMakeOutcomePaymentEvent proto.InternalMessageInfo + +func (m *BondMakeOutcomePaymentEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +func (m *BondMakeOutcomePaymentEvent) GetOutcomePayment() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.OutcomePayment + } + return nil +} + +func (m *BondMakeOutcomePaymentEvent) GetSenderDid() string { + if m != nil { + return m.SenderDid + } + return "" +} + +func (m *BondMakeOutcomePaymentEvent) GetSenderAddress() string { + if m != nil { + return m.SenderAddress + } + return "" +} + +// BondWithdrawShareEvent is an event triggered on a Bond share withdrawal +type BondWithdrawShareEvent struct { + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + WithdrawPayment github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=withdraw_payment,json=withdrawPayment,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"withdraw_payment"` + RecipientDid string `protobuf:"bytes,3,opt,name=recipient_did,json=recipientDid,proto3" json:"recipient_did,omitempty"` + RecipientAddress string `protobuf:"bytes,4,opt,name=recipient_address,json=recipientAddress,proto3" json:"recipient_address,omitempty"` +} + +func (m *BondWithdrawShareEvent) Reset() { *m = BondWithdrawShareEvent{} } +func (m *BondWithdrawShareEvent) String() string { return proto.CompactTextString(m) } +func (*BondWithdrawShareEvent) ProtoMessage() {} +func (*BondWithdrawShareEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{7} +} +func (m *BondWithdrawShareEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondWithdrawShareEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondWithdrawShareEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondWithdrawShareEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondWithdrawShareEvent.Merge(m, src) +} +func (m *BondWithdrawShareEvent) XXX_Size() int { + return m.Size() +} +func (m *BondWithdrawShareEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondWithdrawShareEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondWithdrawShareEvent proto.InternalMessageInfo + +func (m *BondWithdrawShareEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +func (m *BondWithdrawShareEvent) GetWithdrawPayment() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.WithdrawPayment + } + return nil +} + +func (m *BondWithdrawShareEvent) GetRecipientDid() string { + if m != nil { + return m.RecipientDid + } + return "" +} + +func (m *BondWithdrawShareEvent) GetRecipientAddress() string { + if m != nil { + return m.RecipientAddress + } + return "" +} + +// BondWithdrawReserveEvent is an event triggered on a Bond reserve withdrawal +type BondWithdrawReserveEvent struct { + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + WithdrawAmount github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=withdraw_amount,json=withdrawAmount,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"withdraw_amount"` + WithdrawerDid string `protobuf:"bytes,3,opt,name=withdrawer_did,json=withdrawerDid,proto3" json:"withdrawer_did,omitempty"` + WithdrawerAddress string `protobuf:"bytes,4,opt,name=withdrawer_address,json=withdrawerAddress,proto3" json:"withdrawer_address,omitempty"` + ReserveWithdrawalAddress string `protobuf:"bytes,5,opt,name=reserve_withdrawal_address,json=reserveWithdrawalAddress,proto3" json:"reserve_withdrawal_address,omitempty"` +} + +func (m *BondWithdrawReserveEvent) Reset() { *m = BondWithdrawReserveEvent{} } +func (m *BondWithdrawReserveEvent) String() string { return proto.CompactTextString(m) } +func (*BondWithdrawReserveEvent) ProtoMessage() {} +func (*BondWithdrawReserveEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{8} +} +func (m *BondWithdrawReserveEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondWithdrawReserveEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondWithdrawReserveEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondWithdrawReserveEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondWithdrawReserveEvent.Merge(m, src) +} +func (m *BondWithdrawReserveEvent) XXX_Size() int { + return m.Size() +} +func (m *BondWithdrawReserveEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondWithdrawReserveEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondWithdrawReserveEvent proto.InternalMessageInfo + +func (m *BondWithdrawReserveEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +func (m *BondWithdrawReserveEvent) GetWithdrawAmount() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.WithdrawAmount + } + return nil +} + +func (m *BondWithdrawReserveEvent) GetWithdrawerDid() string { + if m != nil { + return m.WithdrawerDid + } + return "" +} + +func (m *BondWithdrawReserveEvent) GetWithdrawerAddress() string { + if m != nil { + return m.WithdrawerAddress + } + return "" +} + +func (m *BondWithdrawReserveEvent) GetReserveWithdrawalAddress() string { + if m != nil { + return m.ReserveWithdrawalAddress + } + return "" +} + +// BondEditAlphaSuccessEvent is an event triggered on a successful edit of Bond +// alpha value +type BondEditAlphaSuccessEvent struct { + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + PublicAlpha string `protobuf:"bytes,3,opt,name=public_alpha,json=publicAlpha,proto3" json:"public_alpha,omitempty"` + SystemAlpha string `protobuf:"bytes,4,opt,name=system_alpha,json=systemAlpha,proto3" json:"system_alpha,omitempty"` +} + +func (m *BondEditAlphaSuccessEvent) Reset() { *m = BondEditAlphaSuccessEvent{} } +func (m *BondEditAlphaSuccessEvent) String() string { return proto.CompactTextString(m) } +func (*BondEditAlphaSuccessEvent) ProtoMessage() {} +func (*BondEditAlphaSuccessEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{9} +} +func (m *BondEditAlphaSuccessEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondEditAlphaSuccessEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondEditAlphaSuccessEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondEditAlphaSuccessEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondEditAlphaSuccessEvent.Merge(m, src) +} +func (m *BondEditAlphaSuccessEvent) XXX_Size() int { + return m.Size() +} +func (m *BondEditAlphaSuccessEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondEditAlphaSuccessEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondEditAlphaSuccessEvent proto.InternalMessageInfo + +func (m *BondEditAlphaSuccessEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +func (m *BondEditAlphaSuccessEvent) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *BondEditAlphaSuccessEvent) GetPublicAlpha() string { + if m != nil { + return m.PublicAlpha + } + return "" +} + +func (m *BondEditAlphaSuccessEvent) GetSystemAlpha() string { + if m != nil { + return m.SystemAlpha + } + return "" +} + +// BondEditAlphaFailedEvent is an event triggered on a failed attempt to edit of +// Bond alpha value +type BondEditAlphaFailedEvent struct { + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + CancelReason string `protobuf:"bytes,3,opt,name=cancel_reason,json=cancelReason,proto3" json:"cancel_reason,omitempty"` +} + +func (m *BondEditAlphaFailedEvent) Reset() { *m = BondEditAlphaFailedEvent{} } +func (m *BondEditAlphaFailedEvent) String() string { return proto.CompactTextString(m) } +func (*BondEditAlphaFailedEvent) ProtoMessage() {} +func (*BondEditAlphaFailedEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{10} +} +func (m *BondEditAlphaFailedEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondEditAlphaFailedEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondEditAlphaFailedEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondEditAlphaFailedEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondEditAlphaFailedEvent.Merge(m, src) +} +func (m *BondEditAlphaFailedEvent) XXX_Size() int { + return m.Size() +} +func (m *BondEditAlphaFailedEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondEditAlphaFailedEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondEditAlphaFailedEvent proto.InternalMessageInfo + +func (m *BondEditAlphaFailedEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +func (m *BondEditAlphaFailedEvent) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *BondEditAlphaFailedEvent) GetCancelReason() string { + if m != nil { + return m.CancelReason + } + return "" +} + +// BondBuyOrderFulfilledEvent is an event triggered on a Bond buy order +// fullfillment +type BondBuyOrderFulfilledEvent struct { + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Order *BuyOrder `protobuf:"bytes,2,opt,name=order,proto3" json:"order,omitempty"` + ChargedPrices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=charged_prices,json=chargedPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"charged_prices"` + ChargedFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=charged_fees,json=chargedFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"charged_fees"` + ReturnedToAddress github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,5,rep,name=returned_to_address,json=returnedToAddress,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"returned_to_address"` + NewBondTokenBalance github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,6,opt,name=new_bond_token_balance,json=newBondTokenBalance,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"new_bond_token_balance"` + ChargedPricesOfWhichReserve *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,7,opt,name=charged_prices_of_which_reserve,json=chargedPricesOfWhichReserve,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"charged_prices_of_which_reserve,omitempty"` + ChargedPricesOfWhichFunding github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,8,rep,name=charged_prices_of_which_funding,json=chargedPricesOfWhichFunding,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"charged_prices_of_which_funding"` +} + +func (m *BondBuyOrderFulfilledEvent) Reset() { *m = BondBuyOrderFulfilledEvent{} } +func (m *BondBuyOrderFulfilledEvent) String() string { return proto.CompactTextString(m) } +func (*BondBuyOrderFulfilledEvent) ProtoMessage() {} +func (*BondBuyOrderFulfilledEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{11} +} +func (m *BondBuyOrderFulfilledEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondBuyOrderFulfilledEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondBuyOrderFulfilledEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondBuyOrderFulfilledEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondBuyOrderFulfilledEvent.Merge(m, src) +} +func (m *BondBuyOrderFulfilledEvent) XXX_Size() int { + return m.Size() +} +func (m *BondBuyOrderFulfilledEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondBuyOrderFulfilledEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondBuyOrderFulfilledEvent proto.InternalMessageInfo + +func (m *BondBuyOrderFulfilledEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +func (m *BondBuyOrderFulfilledEvent) GetOrder() *BuyOrder { + if m != nil { + return m.Order + } + return nil +} + +func (m *BondBuyOrderFulfilledEvent) GetChargedPrices() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.ChargedPrices + } + return nil +} + +func (m *BondBuyOrderFulfilledEvent) GetChargedFees() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.ChargedFees + } + return nil +} + +func (m *BondBuyOrderFulfilledEvent) GetReturnedToAddress() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.ReturnedToAddress + } + return nil +} + +func (m *BondBuyOrderFulfilledEvent) GetChargedPricesOfWhichFunding() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.ChargedPricesOfWhichFunding + } + return nil +} + +// BondSellOrderFulfilledEvent is an event triggered on a Bond sell order +// fullfillment +type BondSellOrderFulfilledEvent struct { + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Order *SellOrder `protobuf:"bytes,2,opt,name=order,proto3" json:"order,omitempty"` + ChargedFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=charged_fees,json=chargedFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"charged_fees"` + ReturnedToAddress github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=returned_to_address,json=returnedToAddress,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"returned_to_address"` + NewBondTokenBalance github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=new_bond_token_balance,json=newBondTokenBalance,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"new_bond_token_balance"` +} + +func (m *BondSellOrderFulfilledEvent) Reset() { *m = BondSellOrderFulfilledEvent{} } +func (m *BondSellOrderFulfilledEvent) String() string { return proto.CompactTextString(m) } +func (*BondSellOrderFulfilledEvent) ProtoMessage() {} +func (*BondSellOrderFulfilledEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{12} +} +func (m *BondSellOrderFulfilledEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondSellOrderFulfilledEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondSellOrderFulfilledEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondSellOrderFulfilledEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondSellOrderFulfilledEvent.Merge(m, src) +} +func (m *BondSellOrderFulfilledEvent) XXX_Size() int { + return m.Size() +} +func (m *BondSellOrderFulfilledEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondSellOrderFulfilledEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondSellOrderFulfilledEvent proto.InternalMessageInfo + +func (m *BondSellOrderFulfilledEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +func (m *BondSellOrderFulfilledEvent) GetOrder() *SellOrder { + if m != nil { + return m.Order + } + return nil +} + +func (m *BondSellOrderFulfilledEvent) GetChargedFees() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.ChargedFees + } + return nil +} + +func (m *BondSellOrderFulfilledEvent) GetReturnedToAddress() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.ReturnedToAddress + } + return nil +} + +// BondSwapOrderFulfilledEvent is an event triggered on a Bond swap order +// fullfillment +type BondSwapOrderFulfilledEvent struct { + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Order *SwapOrder `protobuf:"bytes,2,opt,name=order,proto3" json:"order,omitempty"` + ChargedFee types.Coin `protobuf:"bytes,3,opt,name=charged_fee,json=chargedFee,proto3" json:"charged_fee"` + ReturnedToAddress github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=returned_to_address,json=returnedToAddress,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"returned_to_address"` + TokensSwapped types.Coin `protobuf:"bytes,5,opt,name=tokens_swapped,json=tokensSwapped,proto3" json:"tokens_swapped"` +} + +func (m *BondSwapOrderFulfilledEvent) Reset() { *m = BondSwapOrderFulfilledEvent{} } +func (m *BondSwapOrderFulfilledEvent) String() string { return proto.CompactTextString(m) } +func (*BondSwapOrderFulfilledEvent) ProtoMessage() {} +func (*BondSwapOrderFulfilledEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{13} +} +func (m *BondSwapOrderFulfilledEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondSwapOrderFulfilledEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondSwapOrderFulfilledEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondSwapOrderFulfilledEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondSwapOrderFulfilledEvent.Merge(m, src) +} +func (m *BondSwapOrderFulfilledEvent) XXX_Size() int { + return m.Size() +} +func (m *BondSwapOrderFulfilledEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondSwapOrderFulfilledEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondSwapOrderFulfilledEvent proto.InternalMessageInfo + +func (m *BondSwapOrderFulfilledEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +func (m *BondSwapOrderFulfilledEvent) GetOrder() *SwapOrder { + if m != nil { + return m.Order + } + return nil +} + +func (m *BondSwapOrderFulfilledEvent) GetChargedFee() types.Coin { + if m != nil { + return m.ChargedFee + } + return types.Coin{} +} + +func (m *BondSwapOrderFulfilledEvent) GetReturnedToAddress() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.ReturnedToAddress + } + return nil +} + +func (m *BondSwapOrderFulfilledEvent) GetTokensSwapped() types.Coin { + if m != nil { + return m.TokensSwapped + } + return types.Coin{} +} + +// BondBuyOrderCancelledEvent is an event triggered on a Bond buy order +// cancellation +type BondBuyOrderCancelledEvent struct { + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Order *BuyOrder `protobuf:"bytes,2,opt,name=order,proto3" json:"order,omitempty"` +} + +func (m *BondBuyOrderCancelledEvent) Reset() { *m = BondBuyOrderCancelledEvent{} } +func (m *BondBuyOrderCancelledEvent) String() string { return proto.CompactTextString(m) } +func (*BondBuyOrderCancelledEvent) ProtoMessage() {} +func (*BondBuyOrderCancelledEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_8b836af92b7c9cac, []int{14} +} +func (m *BondBuyOrderCancelledEvent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BondBuyOrderCancelledEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BondBuyOrderCancelledEvent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BondBuyOrderCancelledEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_BondBuyOrderCancelledEvent.Merge(m, src) +} +func (m *BondBuyOrderCancelledEvent) XXX_Size() int { + return m.Size() +} +func (m *BondBuyOrderCancelledEvent) XXX_DiscardUnknown() { + xxx_messageInfo_BondBuyOrderCancelledEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_BondBuyOrderCancelledEvent proto.InternalMessageInfo + +func (m *BondBuyOrderCancelledEvent) GetBondDid() string { + if m != nil { + return m.BondDid + } + return "" +} + +func (m *BondBuyOrderCancelledEvent) GetOrder() *BuyOrder { + if m != nil { + return m.Order + } + return nil +} + +func init() { + proto.RegisterType((*BondCreatedEvent)(nil), "ixo.bonds.v1beta1.BondCreatedEvent") + proto.RegisterType((*BondUpdatedEvent)(nil), "ixo.bonds.v1beta1.BondUpdatedEvent") + proto.RegisterType((*BondSetNextAlphaEvent)(nil), "ixo.bonds.v1beta1.BondSetNextAlphaEvent") + proto.RegisterType((*BondBuyOrderEvent)(nil), "ixo.bonds.v1beta1.BondBuyOrderEvent") + proto.RegisterType((*BondSellOrderEvent)(nil), "ixo.bonds.v1beta1.BondSellOrderEvent") + proto.RegisterType((*BondSwapOrderEvent)(nil), "ixo.bonds.v1beta1.BondSwapOrderEvent") + proto.RegisterType((*BondMakeOutcomePaymentEvent)(nil), "ixo.bonds.v1beta1.BondMakeOutcomePaymentEvent") + proto.RegisterType((*BondWithdrawShareEvent)(nil), "ixo.bonds.v1beta1.BondWithdrawShareEvent") + proto.RegisterType((*BondWithdrawReserveEvent)(nil), "ixo.bonds.v1beta1.BondWithdrawReserveEvent") + proto.RegisterType((*BondEditAlphaSuccessEvent)(nil), "ixo.bonds.v1beta1.BondEditAlphaSuccessEvent") + proto.RegisterType((*BondEditAlphaFailedEvent)(nil), "ixo.bonds.v1beta1.BondEditAlphaFailedEvent") + proto.RegisterType((*BondBuyOrderFulfilledEvent)(nil), "ixo.bonds.v1beta1.BondBuyOrderFulfilledEvent") + proto.RegisterType((*BondSellOrderFulfilledEvent)(nil), "ixo.bonds.v1beta1.BondSellOrderFulfilledEvent") + proto.RegisterType((*BondSwapOrderFulfilledEvent)(nil), "ixo.bonds.v1beta1.BondSwapOrderFulfilledEvent") + proto.RegisterType((*BondBuyOrderCancelledEvent)(nil), "ixo.bonds.v1beta1.BondBuyOrderCancelledEvent") +} + +func init() { proto.RegisterFile("ixo/bonds/v1beta1/event.proto", fileDescriptor_8b836af92b7c9cac) } + +var fileDescriptor_8b836af92b7c9cac = []byte{ + // 1002 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xcf, 0x3a, 0x7f, 0xda, 0x8c, 0xe3, 0x34, 0xde, 0x96, 0xb0, 0x49, 0xa8, 0xd3, 0xba, 0x02, + 0x45, 0xaa, 0xb2, 0x26, 0x41, 0xdc, 0x90, 0x20, 0x0e, 0xb5, 0xc4, 0x01, 0x52, 0x39, 0x45, 0x91, + 0xb8, 0xac, 0xc6, 0xbb, 0xcf, 0xf6, 0x90, 0xf5, 0xcc, 0x6a, 0x66, 0x36, 0x76, 0xc4, 0x97, 0x00, + 0x3e, 0x06, 0x1f, 0x81, 0x03, 0x5c, 0x7b, 0xec, 0x11, 0x71, 0x28, 0x28, 0xf9, 0x08, 0x70, 0x45, + 0x42, 0xf3, 0x67, 0x37, 0xde, 0x12, 0x88, 0x83, 0x1c, 0xe5, 0x94, 0xcc, 0xfb, 0xf7, 0x7b, 0xef, + 0xfd, 0xde, 0xbc, 0x1d, 0xa3, 0x87, 0x64, 0xc4, 0x1a, 0x1d, 0x46, 0x23, 0xd1, 0x38, 0xd9, 0xe9, + 0x80, 0xc4, 0x3b, 0x0d, 0x38, 0x01, 0x2a, 0xfd, 0x84, 0x33, 0xc9, 0xdc, 0x2a, 0x19, 0x31, 0x5f, + 0xab, 0x7d, 0xab, 0x5e, 0x7f, 0xd0, 0x63, 0x3d, 0xa6, 0xb5, 0x0d, 0xf5, 0x9f, 0x31, 0x5c, 0xbf, + 0x24, 0x8e, 0x71, 0x33, 0xea, 0x5a, 0xc8, 0xc4, 0x80, 0x89, 0x46, 0x07, 0x0b, 0xc8, 0x0d, 0x42, + 0x46, 0xa8, 0xd1, 0xd7, 0x3f, 0x46, 0x2b, 0x4d, 0x46, 0xa3, 0x7d, 0x0e, 0x58, 0x42, 0xf4, 0x4c, + 0x65, 0xe0, 0x3e, 0x45, 0x73, 0x2a, 0x84, 0xe7, 0x3c, 0x72, 0xb6, 0xca, 0xbb, 0x6f, 0xfb, 0xff, + 0x48, 0xc5, 0x57, 0x2e, 0x6d, 0x6d, 0x94, 0x05, 0xf8, 0x32, 0x89, 0xfe, 0x67, 0x00, 0x82, 0xde, + 0x52, 0xa7, 0x43, 0x90, 0x5f, 0xc0, 0x48, 0xee, 0xc5, 0x49, 0x1f, 0x9b, 0x28, 0x6b, 0xe8, 0xae, + 0x32, 0x08, 0x22, 0x62, 0x22, 0x2d, 0xb6, 0xef, 0xa8, 0xf3, 0xa7, 0x24, 0x72, 0x1f, 0x22, 0x44, + 0x61, 0x24, 0x03, 0xac, 0xac, 0xbd, 0x92, 0x56, 0x2e, 0xd2, 0xcc, 0xdd, 0x5d, 0x45, 0x0b, 0x82, + 0xf4, 0x28, 0x70, 0x6f, 0x56, 0xab, 0xec, 0xa9, 0x8e, 0x51, 0x55, 0x41, 0x35, 0xd3, 0xd3, 0x03, + 0x1e, 0x01, 0x37, 0x30, 0x3b, 0x68, 0x9e, 0xa9, 0x93, 0xcd, 0x76, 0xe3, 0xb2, 0x6c, 0xad, 0x43, + 0xdb, 0x58, 0x16, 0x32, 0x2b, 0x15, 0x32, 0xab, 0x87, 0xc8, 0x35, 0xd5, 0xc4, 0xf1, 0x18, 0xc6, + 0x6e, 0x11, 0xe3, 0x9d, 0x4b, 0x30, 0x72, 0x8f, 0x6b, 0x80, 0x0c, 0x71, 0x72, 0x4d, 0x90, 0xcc, + 0x63, 0x02, 0x90, 0x3f, 0x1d, 0xb4, 0xa1, 0x50, 0x3e, 0xc7, 0xc7, 0x70, 0x90, 0xca, 0x90, 0x0d, + 0xe0, 0x39, 0x3e, 0x1d, 0x00, 0x95, 0x57, 0xd2, 0x23, 0xd1, 0x3d, 0x66, 0x3c, 0x82, 0xc4, 0xb8, + 0x78, 0xa5, 0x47, 0xb3, 0x5b, 0xe5, 0xdd, 0x35, 0xdf, 0x8c, 0xa3, 0xaf, 0xc6, 0x31, 0xcf, 0x6a, + 0x9f, 0x11, 0xda, 0x7c, 0xff, 0xe5, 0xeb, 0xcd, 0x99, 0x1f, 0x7e, 0xdb, 0xdc, 0xea, 0x11, 0xd9, + 0x4f, 0x3b, 0x7e, 0xc8, 0x06, 0x0d, 0x3b, 0xbb, 0xe6, 0xcf, 0xb6, 0x88, 0x8e, 0x1b, 0xf2, 0x34, + 0x01, 0xa1, 0x1d, 0x44, 0x7b, 0x99, 0x15, 0xb2, 0x52, 0x43, 0x21, 0x80, 0x46, 0xc0, 0x75, 0x4a, + 0x86, 0xf9, 0x45, 0x23, 0x51, 0x49, 0xbd, 0x8b, 0x96, 0xad, 0x1a, 0x47, 0x11, 0x07, 0x21, 0xbc, + 0x39, 0x6d, 0x52, 0x31, 0xd2, 0x3d, 0x23, 0xac, 0xff, 0xe5, 0xa0, 0x55, 0x55, 0xf6, 0x11, 0x91, + 0xfd, 0x88, 0xe3, 0xe1, 0x61, 0x1f, 0x73, 0xb8, 0xb2, 0xe2, 0x13, 0xb4, 0x32, 0xb4, 0x0e, 0x37, + 0x59, 0xf2, 0xbd, 0x0c, 0x24, 0xab, 0xf9, 0x09, 0xaa, 0x70, 0x08, 0x49, 0x42, 0x80, 0xca, 0xb1, + 0xb2, 0x97, 0x72, 0xa1, 0x4a, 0xee, 0x29, 0xaa, 0x5e, 0x18, 0x15, 0x8b, 0x5f, 0xc9, 0x15, 0x59, + 0xfd, 0x3f, 0x97, 0x90, 0x37, 0x5e, 0x7f, 0x1b, 0x04, 0xf0, 0x13, 0x98, 0x84, 0xf3, 0xbc, 0x03, + 0x78, 0xc0, 0xd2, 0x1b, 0xe2, 0x3c, 0xc3, 0xd8, 0xd3, 0x10, 0x8a, 0xd4, 0x4c, 0x52, 0xe0, 0xbd, + 0x72, 0x21, 0x55, 0xc9, 0x6d, 0x23, 0x77, 0xcc, 0xac, 0xd8, 0x82, 0xea, 0x85, 0xc6, 0xf6, 0xc0, + 0xfd, 0x08, 0xad, 0x73, 0x53, 0x76, 0x90, 0x29, 0x71, 0x9c, 0xbb, 0xcd, 0x6b, 0x37, 0xcf, 0x5a, + 0x1c, 0xe5, 0x06, 0x59, 0x07, 0xbf, 0x77, 0xd0, 0x9a, 0xea, 0xe0, 0xb3, 0x88, 0x98, 0x7d, 0x74, + 0x98, 0x86, 0x21, 0x08, 0x71, 0x65, 0x0b, 0x1f, 0xa0, 0x79, 0xc9, 0x8e, 0x81, 0xda, 0x9b, 0x68, + 0x0e, 0xee, 0x63, 0xb4, 0x94, 0xa4, 0x9d, 0x98, 0x84, 0x76, 0xdb, 0x99, 0x02, 0xcb, 0x46, 0x66, + 0xf6, 0xdd, 0x63, 0xb4, 0x24, 0x4e, 0x85, 0x84, 0x81, 0x35, 0x31, 0x85, 0x95, 0x8d, 0x4c, 0x9b, + 0xd4, 0x13, 0xc3, 0x6a, 0x9e, 0x53, 0x0b, 0x93, 0x38, 0x5b, 0xd7, 0xd7, 0x4e, 0xe9, 0x09, 0xaa, + 0x84, 0x98, 0x86, 0x10, 0x07, 0x1c, 0xb0, 0x60, 0x34, 0x9b, 0x3a, 0x23, 0x6c, 0x6b, 0x59, 0xfd, + 0xc7, 0x05, 0xb4, 0x3e, 0xbe, 0x6d, 0x5b, 0x69, 0xdc, 0x25, 0xf1, 0x24, 0xa0, 0xf9, 0x46, 0x2e, + 0x4d, 0xbc, 0x91, 0x39, 0x5a, 0x0e, 0xfb, 0x98, 0xf7, 0x20, 0x0a, 0x12, 0x4e, 0x42, 0x10, 0xde, + 0xec, 0xf4, 0x87, 0xaf, 0x62, 0x21, 0x9e, 0x6b, 0x04, 0x97, 0xa2, 0xa5, 0x0c, 0xb3, 0x0b, 0xa0, + 0xc6, 0x69, 0xea, 0x88, 0x65, 0x0b, 0xd0, 0x02, 0x10, 0xee, 0x37, 0xe8, 0x3e, 0x07, 0x99, 0x72, + 0x0a, 0x51, 0x20, 0xd9, 0xd8, 0x38, 0x4e, 0x1d, 0xb6, 0x9a, 0xe1, 0xbc, 0x60, 0xd9, 0x95, 0x08, + 0xd1, 0x2a, 0x85, 0x61, 0xa0, 0x29, 0xd3, 0x43, 0x10, 0x74, 0x70, 0xac, 0xe8, 0xf6, 0x16, 0x14, + 0x79, 0x4d, 0x5f, 0x81, 0xfc, 0xfa, 0x7a, 0xf3, 0xbd, 0x09, 0x40, 0x3e, 0xa3, 0xb2, 0x7d, 0x9f, + 0xc2, 0x50, 0x4d, 0xc7, 0x0b, 0x15, 0xab, 0x69, 0x42, 0xb9, 0x12, 0x6d, 0x16, 0x59, 0x0c, 0x58, + 0x37, 0x18, 0xf6, 0x49, 0xd8, 0x0f, 0xec, 0x6d, 0xf3, 0xee, 0xe4, 0x68, 0xce, 0x35, 0xd0, 0x36, + 0x0a, 0xcc, 0x1d, 0x74, 0x8f, 0x54, 0x4c, 0xbb, 0xd9, 0xdc, 0xef, 0x9c, 0x7f, 0x87, 0xed, 0xa6, + 0x34, 0x22, 0xb4, 0xe7, 0xdd, 0x9d, 0x7e, 0x93, 0x2f, 0xcd, 0xa9, 0x65, 0xf0, 0xea, 0x3f, 0xcd, + 0x9a, 0x8f, 0x6f, 0xfe, 0x2a, 0x98, 0xfc, 0xf6, 0xec, 0x16, 0x6f, 0xcf, 0x44, 0x6f, 0x8d, 0x37, + 0x47, 0x79, 0xf6, 0x76, 0x46, 0x79, 0xee, 0x96, 0x47, 0x79, 0x7e, 0x6a, 0xa3, 0x5c, 0xff, 0xa3, + 0x64, 0x09, 0xcc, 0x5e, 0x5c, 0xd3, 0x25, 0xf0, 0xcd, 0x77, 0xdc, 0x27, 0xa8, 0x3c, 0x46, 0xa0, + 0xde, 0xc7, 0xff, 0xd9, 0xc8, 0x39, 0x55, 0x63, 0x1b, 0x5d, 0x70, 0x72, 0xbb, 0x94, 0xb4, 0xd0, + 0xb2, 0x66, 0x42, 0x04, 0x62, 0x88, 0x93, 0x04, 0x22, 0x4d, 0xc5, 0x04, 0x15, 0x54, 0x8c, 0xdb, + 0xa1, 0xf1, 0xaa, 0x7f, 0x5d, 0xfc, 0xe4, 0xec, 0xeb, 0xef, 0xd1, 0xcd, 0x7c, 0x72, 0x9a, 0x07, + 0x2f, 0xcf, 0x6a, 0xce, 0xab, 0xb3, 0x9a, 0xf3, 0xfb, 0x59, 0xcd, 0xf9, 0xf6, 0xbc, 0x36, 0xf3, + 0xea, 0xbc, 0x36, 0xf3, 0xcb, 0x79, 0x6d, 0xe6, 0xab, 0x0f, 0xc7, 0x5a, 0x41, 0x46, 0xac, 0xcb, + 0x52, 0x1a, 0x61, 0x49, 0x18, 0x55, 0xa7, 0xed, 0x4e, 0xcc, 0xc2, 0xe3, 0xb0, 0x8f, 0x09, 0x6d, + 0x8c, 0xec, 0x0f, 0x37, 0xdd, 0x9d, 0xce, 0x82, 0xfe, 0x45, 0xf6, 0xc1, 0xdf, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x4a, 0xe4, 0x3b, 0xda, 0x1a, 0x0e, 0x00, 0x00, +} + +func (m *BondCreatedEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondCreatedEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondCreatedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Bond != nil { + { + size, err := m.Bond.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondUpdatedEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondUpdatedEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondUpdatedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Bond != nil { + { + size, err := m.Bond.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondSetNextAlphaEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondSetNextAlphaEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondSetNextAlphaEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Signer) > 0 { + i -= len(m.Signer) + copy(dAtA[i:], m.Signer) + i = encodeVarintEvent(dAtA, i, uint64(len(m.Signer))) + i-- + dAtA[i] = 0x1a + } + if len(m.NextAlpha) > 0 { + i -= len(m.NextAlpha) + copy(dAtA[i:], m.NextAlpha) + i = encodeVarintEvent(dAtA, i, uint64(len(m.NextAlpha))) + i-- + dAtA[i] = 0x12 + } + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondBuyOrderEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondBuyOrderEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondBuyOrderEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0x12 + } + if m.Order != nil { + { + size, err := m.Order.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondSellOrderEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondSellOrderEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondSellOrderEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0x12 + } + if m.Order != nil { + { + size, err := m.Order.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondSwapOrderEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondSwapOrderEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondSwapOrderEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0x12 + } + if m.Order != nil { + { + size, err := m.Order.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondMakeOutcomePaymentEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondMakeOutcomePaymentEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondMakeOutcomePaymentEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SenderAddress) > 0 { + i -= len(m.SenderAddress) + copy(dAtA[i:], m.SenderAddress) + i = encodeVarintEvent(dAtA, i, uint64(len(m.SenderAddress))) + i-- + dAtA[i] = 0x22 + } + if len(m.SenderDid) > 0 { + i -= len(m.SenderDid) + copy(dAtA[i:], m.SenderDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.SenderDid))) + i-- + dAtA[i] = 0x1a + } + if len(m.OutcomePayment) > 0 { + for iNdEx := len(m.OutcomePayment) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.OutcomePayment[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondWithdrawShareEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondWithdrawShareEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondWithdrawShareEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.RecipientAddress) > 0 { + i -= len(m.RecipientAddress) + copy(dAtA[i:], m.RecipientAddress) + i = encodeVarintEvent(dAtA, i, uint64(len(m.RecipientAddress))) + i-- + dAtA[i] = 0x22 + } + if len(m.RecipientDid) > 0 { + i -= len(m.RecipientDid) + copy(dAtA[i:], m.RecipientDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.RecipientDid))) + i-- + dAtA[i] = 0x1a + } + if len(m.WithdrawPayment) > 0 { + for iNdEx := len(m.WithdrawPayment) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.WithdrawPayment[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondWithdrawReserveEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondWithdrawReserveEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondWithdrawReserveEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ReserveWithdrawalAddress) > 0 { + i -= len(m.ReserveWithdrawalAddress) + copy(dAtA[i:], m.ReserveWithdrawalAddress) + i = encodeVarintEvent(dAtA, i, uint64(len(m.ReserveWithdrawalAddress))) + i-- + dAtA[i] = 0x2a + } + if len(m.WithdrawerAddress) > 0 { + i -= len(m.WithdrawerAddress) + copy(dAtA[i:], m.WithdrawerAddress) + i = encodeVarintEvent(dAtA, i, uint64(len(m.WithdrawerAddress))) + i-- + dAtA[i] = 0x22 + } + if len(m.WithdrawerDid) > 0 { + i -= len(m.WithdrawerDid) + copy(dAtA[i:], m.WithdrawerDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.WithdrawerDid))) + i-- + dAtA[i] = 0x1a + } + if len(m.WithdrawAmount) > 0 { + for iNdEx := len(m.WithdrawAmount) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.WithdrawAmount[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondEditAlphaSuccessEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondEditAlphaSuccessEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondEditAlphaSuccessEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SystemAlpha) > 0 { + i -= len(m.SystemAlpha) + copy(dAtA[i:], m.SystemAlpha) + i = encodeVarintEvent(dAtA, i, uint64(len(m.SystemAlpha))) + i-- + dAtA[i] = 0x22 + } + if len(m.PublicAlpha) > 0 { + i -= len(m.PublicAlpha) + copy(dAtA[i:], m.PublicAlpha) + i = encodeVarintEvent(dAtA, i, uint64(len(m.PublicAlpha))) + i-- + dAtA[i] = 0x1a + } + if len(m.Token) > 0 { + i -= len(m.Token) + copy(dAtA[i:], m.Token) + i = encodeVarintEvent(dAtA, i, uint64(len(m.Token))) + i-- + dAtA[i] = 0x12 + } + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondEditAlphaFailedEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondEditAlphaFailedEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondEditAlphaFailedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.CancelReason) > 0 { + i -= len(m.CancelReason) + copy(dAtA[i:], m.CancelReason) + i = encodeVarintEvent(dAtA, i, uint64(len(m.CancelReason))) + i-- + dAtA[i] = 0x1a + } + if len(m.Token) > 0 { + i -= len(m.Token) + copy(dAtA[i:], m.Token) + i = encodeVarintEvent(dAtA, i, uint64(len(m.Token))) + i-- + dAtA[i] = 0x12 + } + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondBuyOrderFulfilledEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondBuyOrderFulfilledEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondBuyOrderFulfilledEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ChargedPricesOfWhichFunding) > 0 { + for iNdEx := len(m.ChargedPricesOfWhichFunding) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ChargedPricesOfWhichFunding[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + } + } + if m.ChargedPricesOfWhichReserve != nil { + { + size := m.ChargedPricesOfWhichReserve.Size() + i -= size + if _, err := m.ChargedPricesOfWhichReserve.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + } + { + size := m.NewBondTokenBalance.Size() + i -= size + if _, err := m.NewBondTokenBalance.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + if len(m.ReturnedToAddress) > 0 { + for iNdEx := len(m.ReturnedToAddress) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ReturnedToAddress[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + } + if len(m.ChargedFees) > 0 { + for iNdEx := len(m.ChargedFees) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ChargedFees[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if len(m.ChargedPrices) > 0 { + for iNdEx := len(m.ChargedPrices) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ChargedPrices[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if m.Order != nil { + { + size, err := m.Order.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondSellOrderFulfilledEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondSellOrderFulfilledEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondSellOrderFulfilledEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.NewBondTokenBalance.Size() + i -= size + if _, err := m.NewBondTokenBalance.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + if len(m.ReturnedToAddress) > 0 { + for iNdEx := len(m.ReturnedToAddress) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ReturnedToAddress[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if len(m.ChargedFees) > 0 { + for iNdEx := len(m.ChargedFees) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ChargedFees[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if m.Order != nil { + { + size, err := m.Order.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondSwapOrderFulfilledEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondSwapOrderFulfilledEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondSwapOrderFulfilledEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.TokensSwapped.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + if len(m.ReturnedToAddress) > 0 { + for iNdEx := len(m.ReturnedToAddress) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ReturnedToAddress[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + { + size, err := m.ChargedFee.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if m.Order != nil { + { + size, err := m.Order.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BondBuyOrderCancelledEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BondBuyOrderCancelledEvent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BondBuyOrderCancelledEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Order != nil { + { + size, err := m.Order.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.BondDid) > 0 { + i -= len(m.BondDid) + copy(dAtA[i:], m.BondDid) + i = encodeVarintEvent(dAtA, i, uint64(len(m.BondDid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintEvent(dAtA []byte, offset int, v uint64) int { + offset -= sovEvent(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *BondCreatedEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Bond != nil { + l = m.Bond.Size() + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondUpdatedEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Bond != nil { + l = m.Bond.Size() + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondSetNextAlphaEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.NextAlpha) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.Signer) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondBuyOrderEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Order != nil { + l = m.Order.Size() + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondSellOrderEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Order != nil { + l = m.Order.Size() + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondSwapOrderEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Order != nil { + l = m.Order.Size() + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondMakeOutcomePaymentEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + if len(m.OutcomePayment) > 0 { + for _, e := range m.OutcomePayment { + l = e.Size() + n += 1 + l + sovEvent(uint64(l)) + } + } + l = len(m.SenderDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.SenderAddress) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondWithdrawShareEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + if len(m.WithdrawPayment) > 0 { + for _, e := range m.WithdrawPayment { + l = e.Size() + n += 1 + l + sovEvent(uint64(l)) + } + } + l = len(m.RecipientDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.RecipientAddress) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondWithdrawReserveEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + if len(m.WithdrawAmount) > 0 { + for _, e := range m.WithdrawAmount { + l = e.Size() + n += 1 + l + sovEvent(uint64(l)) + } + } + l = len(m.WithdrawerDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.WithdrawerAddress) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.ReserveWithdrawalAddress) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondEditAlphaSuccessEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.Token) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.PublicAlpha) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.SystemAlpha) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondEditAlphaFailedEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.Token) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + l = len(m.CancelReason) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func (m *BondBuyOrderFulfilledEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + if m.Order != nil { + l = m.Order.Size() + n += 1 + l + sovEvent(uint64(l)) + } + if len(m.ChargedPrices) > 0 { + for _, e := range m.ChargedPrices { + l = e.Size() + n += 1 + l + sovEvent(uint64(l)) + } + } + if len(m.ChargedFees) > 0 { + for _, e := range m.ChargedFees { + l = e.Size() + n += 1 + l + sovEvent(uint64(l)) + } + } + if len(m.ReturnedToAddress) > 0 { + for _, e := range m.ReturnedToAddress { + l = e.Size() + n += 1 + l + sovEvent(uint64(l)) + } + } + l = m.NewBondTokenBalance.Size() + n += 1 + l + sovEvent(uint64(l)) + if m.ChargedPricesOfWhichReserve != nil { + l = m.ChargedPricesOfWhichReserve.Size() + n += 1 + l + sovEvent(uint64(l)) + } + if len(m.ChargedPricesOfWhichFunding) > 0 { + for _, e := range m.ChargedPricesOfWhichFunding { + l = e.Size() + n += 1 + l + sovEvent(uint64(l)) + } + } + return n +} + +func (m *BondSellOrderFulfilledEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + if m.Order != nil { + l = m.Order.Size() + n += 1 + l + sovEvent(uint64(l)) + } + if len(m.ChargedFees) > 0 { + for _, e := range m.ChargedFees { + l = e.Size() + n += 1 + l + sovEvent(uint64(l)) + } + } + if len(m.ReturnedToAddress) > 0 { + for _, e := range m.ReturnedToAddress { + l = e.Size() + n += 1 + l + sovEvent(uint64(l)) + } + } + l = m.NewBondTokenBalance.Size() + n += 1 + l + sovEvent(uint64(l)) + return n +} + +func (m *BondSwapOrderFulfilledEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + if m.Order != nil { + l = m.Order.Size() + n += 1 + l + sovEvent(uint64(l)) + } + l = m.ChargedFee.Size() + n += 1 + l + sovEvent(uint64(l)) + if len(m.ReturnedToAddress) > 0 { + for _, e := range m.ReturnedToAddress { + l = e.Size() + n += 1 + l + sovEvent(uint64(l)) + } + } + l = m.TokensSwapped.Size() + n += 1 + l + sovEvent(uint64(l)) + return n +} + +func (m *BondBuyOrderCancelledEvent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BondDid) + if l > 0 { + n += 1 + l + sovEvent(uint64(l)) + } + if m.Order != nil { + l = m.Order.Size() + n += 1 + l + sovEvent(uint64(l)) + } + return n +} + +func sovEvent(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozEvent(x uint64) (n int) { + return sovEvent(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *BondCreatedEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondCreatedEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondCreatedEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bond", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Bond == nil { + m.Bond = &Bond{} + } + if err := m.Bond.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondUpdatedEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondUpdatedEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondUpdatedEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bond", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Bond == nil { + m.Bond = &Bond{} + } + if err := m.Bond.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondSetNextAlphaEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondSetNextAlphaEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondSetNextAlphaEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NextAlpha", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NextAlpha = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondBuyOrderEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondBuyOrderEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondBuyOrderEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Order == nil { + m.Order = &BuyOrder{} + } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondSellOrderEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondSellOrderEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondSellOrderEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Order == nil { + m.Order = &SellOrder{} + } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondSwapOrderEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondSwapOrderEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondSwapOrderEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Order == nil { + m.Order = &SwapOrder{} + } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondMakeOutcomePaymentEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondMakeOutcomePaymentEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondMakeOutcomePaymentEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OutcomePayment", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OutcomePayment = append(m.OutcomePayment, types.Coin{}) + if err := m.OutcomePayment[len(m.OutcomePayment)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SenderDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SenderDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SenderAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SenderAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondWithdrawShareEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondWithdrawShareEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondWithdrawShareEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WithdrawPayment", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WithdrawPayment = append(m.WithdrawPayment, types.Coin{}) + if err := m.WithdrawPayment[len(m.WithdrawPayment)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RecipientDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RecipientDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RecipientAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RecipientAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondWithdrawReserveEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondWithdrawReserveEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondWithdrawReserveEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WithdrawAmount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WithdrawAmount = append(m.WithdrawAmount, types.Coin{}) + if err := m.WithdrawAmount[len(m.WithdrawAmount)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WithdrawerDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WithdrawerDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WithdrawerAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WithdrawerAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReserveWithdrawalAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReserveWithdrawalAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondEditAlphaSuccessEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondEditAlphaSuccessEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondEditAlphaSuccessEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Token = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PublicAlpha", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PublicAlpha = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SystemAlpha", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SystemAlpha = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondEditAlphaFailedEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondEditAlphaFailedEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondEditAlphaFailedEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Token = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CancelReason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CancelReason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondBuyOrderFulfilledEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondBuyOrderFulfilledEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondBuyOrderFulfilledEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Order == nil { + m.Order = &BuyOrder{} + } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChargedPrices", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChargedPrices = append(m.ChargedPrices, types.Coin{}) + if err := m.ChargedPrices[len(m.ChargedPrices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChargedFees", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChargedFees = append(m.ChargedFees, types.Coin{}) + if err := m.ChargedFees[len(m.ChargedFees)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReturnedToAddress", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReturnedToAddress = append(m.ReturnedToAddress, types.Coin{}) + if err := m.ReturnedToAddress[len(m.ReturnedToAddress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewBondTokenBalance", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.NewBondTokenBalance.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChargedPricesOfWhichReserve", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v github_com_cosmos_cosmos_sdk_types.Int + m.ChargedPricesOfWhichReserve = &v + if err := m.ChargedPricesOfWhichReserve.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChargedPricesOfWhichFunding", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChargedPricesOfWhichFunding = append(m.ChargedPricesOfWhichFunding, types.Coin{}) + if err := m.ChargedPricesOfWhichFunding[len(m.ChargedPricesOfWhichFunding)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondSellOrderFulfilledEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondSellOrderFulfilledEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondSellOrderFulfilledEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Order == nil { + m.Order = &SellOrder{} + } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChargedFees", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChargedFees = append(m.ChargedFees, types.Coin{}) + if err := m.ChargedFees[len(m.ChargedFees)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReturnedToAddress", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReturnedToAddress = append(m.ReturnedToAddress, types.Coin{}) + if err := m.ReturnedToAddress[len(m.ReturnedToAddress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewBondTokenBalance", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.NewBondTokenBalance.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondSwapOrderFulfilledEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondSwapOrderFulfilledEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondSwapOrderFulfilledEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Order == nil { + m.Order = &SwapOrder{} + } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChargedFee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ChargedFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReturnedToAddress", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReturnedToAddress = append(m.ReturnedToAddress, types.Coin{}) + if err := m.ReturnedToAddress[len(m.ReturnedToAddress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TokensSwapped", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TokensSwapped.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BondBuyOrderCancelledEvent) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BondBuyOrderCancelledEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BondBuyOrderCancelledEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BondDid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BondDid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvent + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvent + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Order == nil { + m.Order = &BuyOrder{} + } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipEvent(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEvent + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEvent + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEvent + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthEvent + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupEvent + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthEvent + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthEvent = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowEvent = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupEvent = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/bonds/types/events.go b/x/bonds/types/events.go deleted file mode 100644 index fabb17b2..00000000 --- a/x/bonds/types/events.go +++ /dev/null @@ -1,67 +0,0 @@ -package types - -const ( - EventTypeCreateBond = "create_bond" - EventTypeEditBond = "edit_bond" - EventTypeSetNextAlpha = "set_next_alpha" - EventTypeEditAlphaSuccess = "edit_alpha_success" - EventTypeEditAlphaFailed = "edit_alpha_failed" - EventTypeInitSwapper = "init_swapper" - EventTypeBuy = "buy" - EventTypeSell = "sell" - EventTypeSwap = "swap" - EventTypeMakeOutcomePayment = "make_outcome_payment" - EventTypeWithdrawShare = "withdraw_share" - EventTypeWithdrawReserve = "withdraw_reserve" - EventTypeOrderCancel = "order_cancel" - EventTypeOrderFulfill = "order_fulfill" - EventTypeStateChange = "state_change" - - AttributeKeyBondDid = "bond_did" - AttributeKeyToken = "token" - AttributeKeyName = "name" - AttributeKeyDescription = "description" - AttributeKeyFunctionType = "function_type" - AttributeKeyFunctionParameters = "function_parameters" - AttributeKeyCreatorDid = "creator_did" - AttributeKeyControllerDid = "controller_did" - AttributeKeyReserveTokens = "reserve_tokens" - AttributeKeyTxFeePercentage = "tx_fee_percentage" - AttributeKeyExitFeePercentage = "exit_fee_percentage" - AttributeKeyFeeAddress = "fee_address" - AttributeKeyReserveWithdrawalAddress = "reserve_withdrawal_address" - AttributeKeyMaxSupply = "max_supply" - AttributeKeyOrderQuantityLimits = "order_quantity_limits" - AttributeKeySanityRate = "sanity_rate" - AttributeKeySanityMarginPercentage = "sanity_margin_percentage" - AttributeKeyAllowSells = "allow_sells" - AttributeKeyAllowReserveWithdrawals = "allow_reserve_withdrawals" - AttributeKeyAlphaBond = "alpha_bond" - AttributeKeyBatchBlocks = "batch_blocks" - AttributeKeyOutcomePayment = "outcome_payment" - AttributeKeyState = "state" - AttributeKeyMaxPrices = "max_prices" - AttributeKeySwapFromToken = "from_token" - AttributeKeySwapToToken = "to_token" - AttributeKeyOrderType = "order_type" - AttributeKeyAddress = "address" - AttributeKeyCancelReason = "cancel_reason" - AttributeKeyTokensMinted = "tokens_minted" - AttributeKeyTokensBurned = "tokens_burned" - AttributeKeyTokensSwapped = "tokens_swapped" - AttributeKeyChargedPrices = "charged_prices" - AttributeKeyChargedPricesReserve = "charged_prices_of_which_reserve" - AttributeKeyChargedPricesFunding = "charged_prices_of_which_funding" - AttributeKeyChargedFees = "charged_fees" - AttributeKeyReturnedToAddress = "returned_to_address" - AttributeKeyNewBondTokenBalance = "new_bond_token_balance" - AttributeKeyOldState = "old_state" - AttributeKeyNewState = "new_state" - AttributeKeyPublicAlpha = "public_alpha" - AttributeKeySystemAlpha = "system_alpha" - - AttributeValueBuyOrder = "buy" - AttributeValueSellOrder = "sell" - AttributeValueSwapOrder = "swap" - AttributeValueCategory = ModuleName -) diff --git a/x/bonds/types/genesis.pb.go b/x/bonds/types/genesis.pb.go index a1dc9fab..8ae73585 100644 --- a/x/bonds/types/genesis.pb.go +++ b/x/bonds/types/genesis.pb.go @@ -25,9 +25,9 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // GenesisState defines the bonds module's genesis state. type GenesisState struct { - Bonds []Bond `protobuf:"bytes,1,rep,name=bonds,proto3" json:"bonds" yaml:"bonds"` - Batches []Batch `protobuf:"bytes,2,rep,name=batches,proto3" json:"batches" yaml:"batches"` - Params Params `protobuf:"bytes,3,opt,name=params,proto3" json:"params" yaml:"params"` + Bonds []Bond `protobuf:"bytes,1,rep,name=bonds,proto3" json:"bonds"` + Batches []Batch `protobuf:"bytes,2,rep,name=batches,proto3" json:"batches"` + Params Params `protobuf:"bytes,3,opt,name=params,proto3" json:"params"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -91,26 +91,24 @@ func init() { func init() { proto.RegisterFile("ixo/bonds/v1beta1/genesis.proto", fileDescriptor_fde2e5d90b05b087) } var fileDescriptor_fde2e5d90b05b087 = []byte{ - // 297 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x31, 0x4f, 0x32, 0x31, - 0x1c, 0x87, 0xaf, 0x2f, 0x79, 0x31, 0x39, 0xd0, 0xc4, 0x0b, 0xea, 0x49, 0x62, 0x21, 0x37, 0xb1, - 0xd8, 0x06, 0x8c, 0x8b, 0xe3, 0x39, 0x68, 0x5c, 0x34, 0xb8, 0xb9, 0xb5, 0x47, 0x3d, 0x1a, 0xa1, - 0x7f, 0x42, 0x8b, 0x39, 0xbe, 0x85, 0x1f, 0x8b, 0x91, 0xd1, 0x89, 0x18, 0x6e, 0x72, 0xf5, 0x13, - 0x98, 0x6b, 0xeb, 0x04, 0xdb, 0x5d, 0x7e, 0xcf, 0xf3, 0x34, 0xf9, 0x87, 0x1d, 0x59, 0x00, 0xe5, - 0xa0, 0x46, 0x9a, 0xbe, 0xf7, 0xb9, 0x30, 0xac, 0x4f, 0x73, 0xa1, 0x84, 0x96, 0x9a, 0xcc, 0xe6, - 0x60, 0x20, 0x3a, 0x96, 0x05, 0x10, 0x0b, 0x10, 0x0f, 0xb4, 0x5b, 0x39, 0xe4, 0x60, 0x57, 0x5a, - 0x7d, 0x39, 0xb0, 0x7d, 0xb1, 0x5b, 0x72, 0x9a, 0x9d, 0x93, 0x6f, 0x14, 0x36, 0xef, 0x5c, 0xf9, - 0xd9, 0x30, 0x23, 0xa2, 0xdb, 0xf0, 0xbf, 0xdd, 0x63, 0xd4, 0xad, 0xf5, 0x1a, 0x83, 0x33, 0xb2, - 0xf3, 0x10, 0x49, 0x41, 0x8d, 0xd2, 0xd6, 0x6a, 0xd3, 0x09, 0x7e, 0x36, 0x9d, 0xe6, 0x92, 0x4d, - 0x27, 0x37, 0x89, 0x25, 0x92, 0xa1, 0x73, 0xa3, 0x87, 0xf0, 0x80, 0x33, 0x93, 0x8d, 0x85, 0x8e, - 0xff, 0xd9, 0x4c, 0xbc, 0x2f, 0x53, 0x11, 0xe9, 0xa9, 0xef, 0x1c, 0xf9, 0x8e, 0xd3, 0x92, 0xe1, - 0x5f, 0x20, 0xba, 0x0f, 0xeb, 0x33, 0x36, 0x67, 0x53, 0x1d, 0xd7, 0xba, 0xa8, 0xd7, 0x18, 0x9c, - 0xef, 0x49, 0x3d, 0x59, 0x20, 0x3d, 0xf1, 0xad, 0x43, 0xd7, 0x72, 0x5a, 0x32, 0xf4, 0x7e, 0xfa, - 0xb8, 0xda, 0x62, 0xb4, 0xde, 0x62, 0xf4, 0xb5, 0xc5, 0xe8, 0xa3, 0xc4, 0xc1, 0xba, 0xc4, 0xc1, - 0x67, 0x89, 0x83, 0x97, 0xeb, 0x5c, 0x9a, 0xf1, 0x82, 0x93, 0x0c, 0xa6, 0x54, 0x16, 0xf0, 0x0a, - 0x0b, 0x35, 0x62, 0x46, 0x82, 0xaa, 0xfe, 0x2e, 0xf9, 0x04, 0xb2, 0xb7, 0x6c, 0xcc, 0xa4, 0xa2, - 0x85, 0x3f, 0xa5, 0x59, 0xce, 0x84, 0xe6, 0x75, 0x7b, 0xc3, 0xab, 0xdf, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x57, 0x32, 0xaf, 0x59, 0xae, 0x01, 0x00, 0x00, + // 266 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x31, 0x4e, 0xc3, 0x30, + 0x18, 0x85, 0x63, 0x0a, 0x45, 0x72, 0x59, 0x88, 0x90, 0x08, 0x95, 0x70, 0x2b, 0xa6, 0x2e, 0xd8, + 0x6a, 0x2b, 0x04, 0x73, 0x16, 0x46, 0x10, 0x6c, 0x6c, 0x76, 0x62, 0x12, 0x0b, 0xea, 0x3f, 0xaa, + 0x5d, 0x14, 0x6e, 0xc1, 0x69, 0x38, 0x43, 0xc7, 0x8e, 0x4c, 0x08, 0x25, 0x17, 0x41, 0xb1, 0xdd, + 0xa9, 0xdd, 0x6c, 0xbd, 0xef, 0x7b, 0xbf, 0xf4, 0xf0, 0x48, 0xd5, 0xc0, 0x04, 0xe8, 0xdc, 0xb0, + 0x8f, 0xa9, 0x90, 0x96, 0x4f, 0x59, 0x21, 0xb5, 0x34, 0xca, 0xd0, 0x6a, 0x09, 0x16, 0xe2, 0x53, + 0x55, 0x03, 0x75, 0x00, 0x0d, 0xc0, 0xf0, 0xac, 0x80, 0x02, 0x5c, 0xca, 0xba, 0x97, 0x07, 0x87, + 0x97, 0xbb, 0x4d, 0x5e, 0x73, 0xf1, 0xd5, 0x37, 0xc2, 0x27, 0xf7, 0xbe, 0xf9, 0xd9, 0x72, 0x2b, + 0xe3, 0x39, 0x3e, 0x72, 0x79, 0x82, 0xc6, 0xbd, 0xc9, 0x60, 0x76, 0x4e, 0x77, 0x0e, 0xd1, 0x14, + 0x74, 0x9e, 0x1e, 0xae, 0x7f, 0x47, 0xd1, 0x93, 0x67, 0xe3, 0x3b, 0x7c, 0x2c, 0xb8, 0xcd, 0x4a, + 0x69, 0x92, 0x03, 0xa7, 0x25, 0xfb, 0xb4, 0x8e, 0x08, 0xde, 0x16, 0x8f, 0x6f, 0x71, 0xbf, 0xe2, + 0x4b, 0xbe, 0x30, 0x49, 0x6f, 0x8c, 0x26, 0x83, 0xd9, 0xc5, 0x1e, 0xf1, 0xd1, 0x01, 0xc1, 0x0c, + 0x78, 0xfa, 0xb0, 0x6e, 0x08, 0xda, 0x34, 0x04, 0xfd, 0x35, 0x04, 0x7d, 0xb5, 0x24, 0xda, 0xb4, + 0x24, 0xfa, 0x69, 0x49, 0xf4, 0x72, 0x53, 0x28, 0x5b, 0xae, 0x04, 0xcd, 0x60, 0xc1, 0x54, 0x0d, + 0xaf, 0xb0, 0xd2, 0x39, 0xb7, 0x0a, 0x74, 0xf7, 0xbb, 0x16, 0xef, 0x90, 0xbd, 0x65, 0x25, 0x57, + 0x9a, 0xd5, 0x61, 0x17, 0xfb, 0x59, 0x49, 0x23, 0xfa, 0x6e, 0x90, 0xf9, 0x7f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x07, 0xe8, 0x94, 0x29, 0x7b, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/bonds/types/params.go b/x/bonds/types/params.go index 0a6c1c26..140d33ec 100644 --- a/x/bonds/types/params.go +++ b/x/bonds/types/params.go @@ -46,6 +46,6 @@ func validateReservedBondTokens(i interface{}) error { // Implements params.ParamSet func (p *Params) ParamSetPairs() paramstypes.ParamSetPairs { return paramstypes.ParamSetPairs{ - {KeyReservedBondTokens, &p.ReservedBondTokens, validateReservedBondTokens}, + paramstypes.ParamSetPair{Key: KeyReservedBondTokens, Value: &p.ReservedBondTokens, ValidatorFn: validateReservedBondTokens}, } } diff --git a/x/bonds/types/query.pb.go b/x/bonds/types/query.pb.go index 83b6a297..3363194a 100644 --- a/x/bonds/types/query.pb.go +++ b/x/bonds/types/query.pb.go @@ -70,7 +70,7 @@ var xxx_messageInfo_QueryBondsRequest proto.InternalMessageInfo // QueryBondsResponse is the response type for the Query/Bonds RPC method. type QueryBondsResponse struct { - Bonds []string `protobuf:"bytes,1,rep,name=bonds,proto3" json:"bonds,omitempty" yaml:"bonds"` + Bonds []string `protobuf:"bytes,1,rep,name=bonds,proto3" json:"bonds,omitempty"` } func (m *QueryBondsResponse) Reset() { *m = QueryBondsResponse{} } @@ -154,7 +154,7 @@ var xxx_messageInfo_QueryBondsDetailedRequest proto.InternalMessageInfo // QueryBondsDetailedResponse is the response type for the Query/BondsDetailed // RPC method. type QueryBondsDetailedResponse struct { - BondsDetailed []*BondDetails `protobuf:"bytes,1,rep,name=bonds_detailed,json=bondsDetailed,proto3" json:"bonds_detailed,omitempty" yaml:"bonds_detailed"` + BondsDetailed []*BondDetails `protobuf:"bytes,1,rep,name=bonds_detailed,json=bondsDetailed,proto3" json:"bonds_detailed,omitempty"` } func (m *QueryBondsDetailedResponse) Reset() { *m = QueryBondsDetailedResponse{} } @@ -199,7 +199,7 @@ func (m *QueryBondsDetailedResponse) GetBondsDetailed() []*BondDetails { // QueryBondRequest is the request type for the Query/Bond RPC method. type QueryBondRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` } func (m *QueryBondRequest) Reset() { *m = QueryBondRequest{} } @@ -244,7 +244,7 @@ func (m *QueryBondRequest) GetBondDid() string { // QueryBondResponse is the response type for the Query/Bond RPC method. type QueryBondResponse struct { - Bond *Bond `protobuf:"bytes,1,opt,name=bond,proto3" json:"bond,omitempty" yaml:"bond"` + Bond *Bond `protobuf:"bytes,1,opt,name=bond,proto3" json:"bond,omitempty"` } func (m *QueryBondResponse) Reset() { *m = QueryBondResponse{} } @@ -289,7 +289,7 @@ func (m *QueryBondResponse) GetBond() *Bond { // QueryBatchRequest is the request type for the Query/Batch RPC method. type QueryBatchRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` } func (m *QueryBatchRequest) Reset() { *m = QueryBatchRequest{} } @@ -334,7 +334,7 @@ func (m *QueryBatchRequest) GetBondDid() string { // QueryBatchResponse is the response type for the Query/Batch RPC method. type QueryBatchResponse struct { - Batch *Batch `protobuf:"bytes,1,opt,name=batch,proto3" json:"batch,omitempty" yaml:"batch"` + Batch *Batch `protobuf:"bytes,1,opt,name=batch,proto3" json:"batch,omitempty"` } func (m *QueryBatchResponse) Reset() { *m = QueryBatchResponse{} } @@ -379,7 +379,7 @@ func (m *QueryBatchResponse) GetBatch() *Batch { // QueryLastBatchRequest is the request type for the Query/LastBatch RPC method. type QueryLastBatchRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` } func (m *QueryLastBatchRequest) Reset() { *m = QueryLastBatchRequest{} } @@ -425,7 +425,7 @@ func (m *QueryLastBatchRequest) GetBondDid() string { // QueryLastBatchResponse is the response type for the Query/LastBatch RPC // method. type QueryLastBatchResponse struct { - LastBatch *Batch `protobuf:"bytes,1,opt,name=last_batch,json=lastBatch,proto3" json:"last_batch,omitempty" yaml:"last_batch"` + LastBatch *Batch `protobuf:"bytes,1,opt,name=last_batch,json=lastBatch,proto3" json:"last_batch,omitempty"` } func (m *QueryLastBatchResponse) Reset() { *m = QueryLastBatchResponse{} } @@ -471,7 +471,7 @@ func (m *QueryLastBatchResponse) GetLastBatch() *Batch { // QueryCurrentPriceRequest is the request type for the Query/CurrentPrice RPC // method. type QueryCurrentPriceRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` } func (m *QueryCurrentPriceRequest) Reset() { *m = QueryCurrentPriceRequest{} } @@ -517,7 +517,7 @@ func (m *QueryCurrentPriceRequest) GetBondDid() string { // QueryCurrentPriceResponse is the response type for the Query/CurrentPrice RPC // method. type QueryCurrentPriceResponse struct { - CurrentPrice github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,1,rep,name=current_price,json=currentPrice,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"current_price" yaml:"current_price"` + CurrentPrice github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,1,rep,name=current_price,json=currentPrice,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"current_price"` } func (m *QueryCurrentPriceResponse) Reset() { *m = QueryCurrentPriceResponse{} } @@ -563,7 +563,7 @@ func (m *QueryCurrentPriceResponse) GetCurrentPrice() github_com_cosmos_cosmos_s // QueryCurrentReserveRequest is the request type for the Query/CurrentReserve // RPC method. type QueryCurrentReserveRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` } func (m *QueryCurrentReserveRequest) Reset() { *m = QueryCurrentReserveRequest{} } @@ -609,7 +609,7 @@ func (m *QueryCurrentReserveRequest) GetBondDid() string { // QueryCurrentReserveResponse is the response type for the Query/CurrentReserve // RPC method. type QueryCurrentReserveResponse struct { - CurrentReserve []types.Coin `protobuf:"bytes,1,rep,name=current_reserve,json=currentReserve,proto3" json:"current_reserve" yaml:"current_reserve"` + CurrentReserve []types.Coin `protobuf:"bytes,1,rep,name=current_reserve,json=currentReserve,proto3" json:"current_reserve"` } func (m *QueryCurrentReserveResponse) Reset() { *m = QueryCurrentReserveResponse{} } @@ -655,7 +655,7 @@ func (m *QueryCurrentReserveResponse) GetCurrentReserve() []types.Coin { // QueryAvailableReserveRequest is the request type for the // Query/AvailableReserve RPC method. type QueryAvailableReserveRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` } func (m *QueryAvailableReserveRequest) Reset() { *m = QueryAvailableReserveRequest{} } @@ -701,7 +701,7 @@ func (m *QueryAvailableReserveRequest) GetBondDid() string { // QueryAvailableReserveResponse is the response type for the // Query/AvailableReserve RPC method. type QueryAvailableReserveResponse struct { - AvailableReserve []types.Coin `protobuf:"bytes,1,rep,name=available_reserve,json=availableReserve,proto3" json:"available_reserve" yaml:"available_reserve"` + AvailableReserve []types.Coin `protobuf:"bytes,1,rep,name=available_reserve,json=availableReserve,proto3" json:"available_reserve"` } func (m *QueryAvailableReserveResponse) Reset() { *m = QueryAvailableReserveResponse{} } @@ -747,8 +747,8 @@ func (m *QueryAvailableReserveResponse) GetAvailableReserve() []types.Coin { // QueryCustomPriceRequest is the request type for the Query/CustomPrice RPC // method. type QueryCustomPriceRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - BondAmount string `protobuf:"bytes,2,opt,name=bond_amount,json=bondAmount,proto3" json:"bond_amount,omitempty" yaml:"bond_amount"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + BondAmount string `protobuf:"bytes,2,opt,name=bond_amount,json=bondAmount,proto3" json:"bond_amount,omitempty"` } func (m *QueryCustomPriceRequest) Reset() { *m = QueryCustomPriceRequest{} } @@ -801,7 +801,7 @@ func (m *QueryCustomPriceRequest) GetBondAmount() string { // QueryCustomPriceResponse is the response type for the Query/CustomPrice RPC // method. type QueryCustomPriceResponse struct { - Price github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,1,rep,name=price,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"price" yaml:"price"` + Price github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,1,rep,name=price,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"price"` } func (m *QueryCustomPriceResponse) Reset() { *m = QueryCustomPriceResponse{} } @@ -847,8 +847,8 @@ func (m *QueryCustomPriceResponse) GetPrice() github_com_cosmos_cosmos_sdk_types // QueryCustomPriceRequest is the request type for the Query/BuyPrice RPC // method. type QueryBuyPriceRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - BondAmount string `protobuf:"bytes,2,opt,name=bond_amount,json=bondAmount,proto3" json:"bond_amount,omitempty" yaml:"bond_amount"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + BondAmount string `protobuf:"bytes,2,opt,name=bond_amount,json=bondAmount,proto3" json:"bond_amount,omitempty"` } func (m *QueryBuyPriceRequest) Reset() { *m = QueryBuyPriceRequest{} } @@ -901,11 +901,11 @@ func (m *QueryBuyPriceRequest) GetBondAmount() string { // QueryCustomPriceResponse is the response type for the Query/BuyPrice RPC // method. type QueryBuyPriceResponse struct { - AdjustedSupply types.Coin `protobuf:"bytes,1,opt,name=adjusted_supply,json=adjustedSupply,proto3" json:"adjusted_supply" yaml:"adjusted_supply"` - Prices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=prices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"prices" yaml:"prices"` - TxFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=tx_fees,json=txFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"tx_fees" yaml:"tx_fees"` - TotalPrices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=total_prices,json=totalPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_prices" yaml:"total_prices"` - TotalFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,5,rep,name=total_fees,json=totalFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_fees" yaml:"total_fees"` + AdjustedSupply types.Coin `protobuf:"bytes,1,opt,name=adjusted_supply,json=adjustedSupply,proto3" json:"adjusted_supply"` + Prices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=prices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"prices"` + TxFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=tx_fees,json=txFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"tx_fees"` + TotalPrices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=total_prices,json=totalPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_prices"` + TotalFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,5,rep,name=total_fees,json=totalFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_fees"` } func (m *QueryBuyPriceResponse) Reset() { *m = QueryBuyPriceResponse{} } @@ -979,8 +979,8 @@ func (m *QueryBuyPriceResponse) GetTotalFees() github_com_cosmos_cosmos_sdk_type // QuerySellReturnRequest is the request type for the Query/SellReturn RPC // method. type QuerySellReturnRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - BondAmount string `protobuf:"bytes,2,opt,name=bond_amount,json=bondAmount,proto3" json:"bond_amount,omitempty" yaml:"bond_amount"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + BondAmount string `protobuf:"bytes,2,opt,name=bond_amount,json=bondAmount,proto3" json:"bond_amount,omitempty"` } func (m *QuerySellReturnRequest) Reset() { *m = QuerySellReturnRequest{} } @@ -1033,12 +1033,12 @@ func (m *QuerySellReturnRequest) GetBondAmount() string { // QuerySellReturnResponse is the response type for the Query/SellReturn RPC // method. type QuerySellReturnResponse struct { - AdjustedSupply types.Coin `protobuf:"bytes,1,opt,name=adjusted_supply,json=adjustedSupply,proto3" json:"adjusted_supply" yaml:"adjusted_supply"` - Returns github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=returns,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"returns" yaml:"returns"` - TxFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=tx_fees,json=txFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"tx_fees" yaml:"tx_fees"` - ExitFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=exit_fees,json=exitFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"exit_fees" yaml:"exit_fees"` - TotalReturns github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,5,rep,name=total_returns,json=totalReturns,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_returns" yaml:"total_returns"` - TotalFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,6,rep,name=total_fees,json=totalFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_fees" yaml:"total_fees"` + AdjustedSupply types.Coin `protobuf:"bytes,1,opt,name=adjusted_supply,json=adjustedSupply,proto3" json:"adjusted_supply"` + Returns github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=returns,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"returns"` + TxFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=tx_fees,json=txFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"tx_fees"` + ExitFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=exit_fees,json=exitFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"exit_fees"` + TotalReturns github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,5,rep,name=total_returns,json=totalReturns,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_returns"` + TotalFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,6,rep,name=total_fees,json=totalFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_fees"` } func (m *QuerySellReturnResponse) Reset() { *m = QuerySellReturnResponse{} } @@ -1119,9 +1119,9 @@ func (m *QuerySellReturnResponse) GetTotalFees() github_com_cosmos_cosmos_sdk_ty // QuerySwapReturnRequest is the request type for the Query/SwapReturn RPC // method. type QuerySwapReturnRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - FromTokenWithAmount string `protobuf:"bytes,2,opt,name=from_token_with_amount,json=fromTokenWithAmount,proto3" json:"from_token_with_amount,omitempty" yaml:"from_token_with_amount"` - ToToken string `protobuf:"bytes,3,opt,name=to_token,json=toToken,proto3" json:"to_token,omitempty" yaml:"to_token"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + FromTokenWithAmount string `protobuf:"bytes,2,opt,name=from_token_with_amount,json=fromTokenWithAmount,proto3" json:"from_token_with_amount,omitempty"` + ToToken string `protobuf:"bytes,3,opt,name=to_token,json=toToken,proto3" json:"to_token,omitempty"` } func (m *QuerySwapReturnRequest) Reset() { *m = QuerySwapReturnRequest{} } @@ -1181,8 +1181,8 @@ func (m *QuerySwapReturnRequest) GetToToken() string { // QuerySwapReturnResponse is the response type for the Query/SwapReturn RPC // method. type QuerySwapReturnResponse struct { - TotalReturns github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=total_returns,json=totalReturns,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_returns" yaml:"total_returns"` - TotalFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=total_fees,json=totalFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_fees" yaml:"total_fees"` + TotalReturns github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=total_returns,json=totalReturns,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_returns"` + TotalFees github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=total_fees,json=totalFees,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"total_fees"` } func (m *QuerySwapReturnResponse) Reset() { *m = QuerySwapReturnResponse{} } @@ -1235,7 +1235,7 @@ func (m *QuerySwapReturnResponse) GetTotalFees() github_com_cosmos_cosmos_sdk_ty // QueryAlphaMaximumsRequest is the request type for the Query/AlphaMaximums RPC // method. type QueryAlphaMaximumsRequest struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` } func (m *QueryAlphaMaximumsRequest) Reset() { *m = QueryAlphaMaximumsRequest{} } @@ -1281,8 +1281,8 @@ func (m *QueryAlphaMaximumsRequest) GetBondDid() string { // QueryAlphaMaximumsResponse is the response type for the Query/AlphaMaximums // RPC method. type QueryAlphaMaximumsResponse struct { - MaxSystemAlphaIncrease github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=max_system_alpha_increase,json=maxSystemAlphaIncrease,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"max_system_alpha_increase" yaml:"max_system_alpha_increase"` - MaxSystemAlpha github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=max_system_alpha,json=maxSystemAlpha,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"max_system_alpha" yaml:"max_system_alpha"` + MaxSystemAlphaIncrease github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=max_system_alpha_increase,json=maxSystemAlphaIncrease,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"max_system_alpha_increase"` + MaxSystemAlpha github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=max_system_alpha,json=maxSystemAlpha,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"max_system_alpha"` } func (m *QueryAlphaMaximumsResponse) Reset() { *m = QueryAlphaMaximumsResponse{} } @@ -1357,7 +1357,7 @@ var xxx_messageInfo_QueryParamsRequest proto.InternalMessageInfo // QueryParamsResponse is the response type for the Query/Params RPC method. type QueryParamsResponse struct { - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty" yaml:"params"` + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` } func (m *QueryParamsResponse) Reset() { *m = QueryParamsResponse{} } @@ -1434,112 +1434,98 @@ func init() { func init() { proto.RegisterFile("ixo/bonds/v1beta1/query.proto", fileDescriptor_7fa71bc30097837d) } var fileDescriptor_7fa71bc30097837d = []byte{ - // 1669 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcf, 0x6f, 0x1b, 0xd5, - 0x13, 0xcf, 0xa6, 0x71, 0xd2, 0x4c, 0x7e, 0xbf, 0xfc, 0x72, 0x9c, 0xc6, 0xce, 0xf7, 0xb5, 0x4d, - 0xd3, 0xa6, 0xf1, 0x7e, 0x53, 0x54, 0x55, 0x42, 0x3d, 0x10, 0x27, 0xa5, 0x94, 0xfe, 0xa0, 0xdd, - 0xa2, 0x22, 0xc1, 0xc1, 0xac, 0xed, 0xd7, 0x78, 0xa9, 0xed, 0x75, 0xbd, 0xeb, 0xc4, 0x56, 0x09, - 0x15, 0x95, 0x90, 0x28, 0x12, 0x08, 0xa9, 0x08, 0x09, 0x84, 0x90, 0x38, 0xc0, 0x01, 0x71, 0xe2, - 0xaf, 0xe8, 0xb1, 0x12, 0x17, 0xc4, 0xc1, 0xa0, 0x96, 0xbf, 0xc0, 0x27, 0x8e, 0x68, 0xdf, 0x9b, - 0x5d, 0xef, 0xda, 0xbb, 0xb6, 0x93, 0x48, 0x29, 0x27, 0xdb, 0x6f, 0xde, 0xcc, 0xe7, 0x33, 0xf3, - 0x66, 0x76, 0xe7, 0x8d, 0x61, 0x41, 0xab, 0xe8, 0x72, 0x4a, 0x2f, 0x64, 0x0c, 0x79, 0x7b, 0x2d, - 0xc5, 0x4c, 0x75, 0x4d, 0xbe, 0x5f, 0x66, 0xa5, 0x6a, 0xbc, 0x58, 0xd2, 0x4d, 0x9d, 0x4c, 0x68, - 0x15, 0x3d, 0xce, 0xc5, 0x71, 0x14, 0x47, 0xa6, 0xb6, 0xf4, 0x2d, 0x9d, 0x4b, 0x65, 0xeb, 0x9b, - 0xd8, 0x18, 0x39, 0xb6, 0xa5, 0xeb, 0x5b, 0x39, 0x26, 0xab, 0x45, 0x4d, 0x56, 0x0b, 0x05, 0xdd, - 0x54, 0x4d, 0x4d, 0x2f, 0x18, 0x28, 0x8d, 0xa6, 0x75, 0x23, 0xaf, 0x1b, 0x72, 0x4a, 0x35, 0x98, - 0x83, 0x93, 0xd6, 0xb5, 0x02, 0xca, 0x7d, 0x58, 0x08, 0x50, 0x2e, 0xa6, 0x93, 0x30, 0x71, 0xcb, - 0x22, 0x95, 0xb0, 0xd6, 0x14, 0x76, 0xbf, 0xcc, 0x0c, 0x93, 0x5e, 0x04, 0xe2, 0x5e, 0x34, 0x8a, - 0x7a, 0xc1, 0x60, 0x64, 0x09, 0x42, 0x5c, 0x33, 0x2c, 0x2d, 0x1e, 0x59, 0x1e, 0x4c, 0x8c, 0xd7, - 0x6b, 0xb1, 0xe1, 0xaa, 0x9a, 0xcf, 0xbd, 0x4a, 0xf9, 0x32, 0x55, 0x84, 0x98, 0xce, 0xc3, 0x5c, - 0x43, 0x7b, 0x93, 0x99, 0xaa, 0x96, 0x63, 0x19, 0xdb, 0xf4, 0x47, 0x10, 0xf1, 0x13, 0x22, 0xc4, - 0xfb, 0x30, 0xca, 0x6d, 0x24, 0x33, 0x28, 0xe1, 0x58, 0x43, 0xe7, 0xa2, 0xf1, 0x96, 0x60, 0xc5, - 0x2d, 0x0b, 0xc2, 0x80, 0x91, 0x98, 0xab, 0xd7, 0x62, 0xd3, 0x2e, 0x2e, 0x8e, 0x3e, 0x55, 0x46, - 0x52, 0x6e, 0x24, 0x9a, 0x80, 0x71, 0x07, 0x1f, 0x39, 0x91, 0x38, 0x1c, 0xb5, 0x36, 0x25, 0x33, - 0x9a, 0x85, 0x27, 0x2d, 0x0f, 0x26, 0x26, 0xeb, 0xb5, 0xd8, 0x58, 0xc3, 0x9e, 0x25, 0xa1, 0xca, - 0x80, 0xf5, 0x75, 0x53, 0xcb, 0xd0, 0x5b, 0xae, 0x98, 0x39, 0xd4, 0x2f, 0x42, 0x9f, 0x25, 0xe7, - 0x06, 0x86, 0xce, 0xcd, 0x06, 0x10, 0x4e, 0x8c, 0xd5, 0x6b, 0xb1, 0xa1, 0x86, 0x65, 0xaa, 0x70, - 0x2d, 0xba, 0x61, 0x9b, 0x54, 0xcd, 0x74, 0x76, 0xbf, 0xbc, 0xee, 0xd8, 0xc7, 0x26, 0x8c, 0x20, - 0xb1, 0xd7, 0x20, 0x94, 0xb2, 0x16, 0x90, 0x59, 0xd8, 0x8f, 0x99, 0x25, 0xf7, 0x1c, 0xa8, 0xb5, - 0x60, 0x1d, 0x28, 0xff, 0xbc, 0x0c, 0xd3, 0xdc, 0xee, 0x35, 0xd5, 0x30, 0x0f, 0x44, 0x30, 0x0b, - 0x33, 0xcd, 0x86, 0x90, 0xe4, 0x0d, 0x80, 0x9c, 0x6a, 0x98, 0xc9, 0xee, 0x98, 0x4e, 0xd7, 0x6b, - 0xb1, 0x09, 0x81, 0xd2, 0xd0, 0xa2, 0xca, 0x60, 0xce, 0xb6, 0x4b, 0xdf, 0x84, 0x30, 0x47, 0xda, - 0x28, 0x97, 0x4a, 0xac, 0x60, 0xde, 0x2c, 0x69, 0x69, 0xb6, 0x5f, 0xd6, 0xbf, 0x48, 0x98, 0xd0, - 0x5e, 0x63, 0xc8, 0xfc, 0x0b, 0x09, 0x46, 0xd2, 0x42, 0x90, 0x2c, 0x5a, 0x12, 0x4c, 0xd9, 0x63, - 0x71, 0x51, 0x98, 0x71, 0xab, 0x30, 0x1d, 0xfe, 0x9b, 0x2c, 0xbd, 0xa1, 0x6b, 0x85, 0xc4, 0xd5, - 0xa7, 0xb5, 0x58, 0x4f, 0xbd, 0x16, 0x9b, 0x12, 0xa8, 0x1e, 0x03, 0xf4, 0xe7, 0x3f, 0x63, 0x2b, - 0x5b, 0x9a, 0x99, 0x2d, 0xa7, 0xe2, 0x69, 0x3d, 0x2f, 0x63, 0x81, 0x8b, 0x8f, 0x55, 0x23, 0x73, - 0x4f, 0x36, 0xab, 0x45, 0x66, 0xd8, 0xb6, 0x0c, 0x65, 0x38, 0xed, 0x22, 0x46, 0xaf, 0x61, 0x85, - 0x21, 0x5b, 0x85, 0x19, 0xac, 0xb4, 0xbd, 0x6f, 0xe7, 0x3f, 0x96, 0x60, 0xde, 0xd7, 0x1c, 0xba, - 0x9f, 0x82, 0x31, 0x9b, 0x7c, 0x49, 0x88, 0xd0, 0xff, 0x39, 0x5f, 0xff, 0xb9, 0xf3, 0x51, 0x74, - 0x7e, 0xc6, 0xeb, 0x3c, 0xea, 0x53, 0x65, 0x34, 0xed, 0xc1, 0xa2, 0x37, 0xe0, 0x18, 0xa7, 0xb0, - 0xbe, 0xad, 0x6a, 0x39, 0x35, 0x95, 0x63, 0x07, 0xf4, 0xe9, 0xb1, 0x04, 0x0b, 0x01, 0x06, 0xd1, - 0xab, 0x2c, 0x4c, 0xa8, 0xb6, 0xac, 0x7b, 0xbf, 0x16, 0xd1, 0xaf, 0xb0, 0x40, 0x6e, 0xb1, 0x40, - 0x95, 0x71, 0xb5, 0x09, 0x91, 0x3e, 0x92, 0x60, 0x16, 0xe3, 0x6b, 0x98, 0x7a, 0xfe, 0x20, 0x89, - 0x4a, 0x2e, 0xc0, 0x10, 0x5f, 0x55, 0xf3, 0x7a, 0xb9, 0x60, 0x86, 0x7b, 0xb9, 0xca, 0x4c, 0xbd, - 0x16, 0x23, 0x2e, 0x15, 0x21, 0xa4, 0x0a, 0x58, 0xbf, 0xd6, 0xc5, 0x8f, 0x27, 0x92, 0x53, 0x2e, - 0x2e, 0x12, 0x18, 0x8b, 0x1d, 0x08, 0x75, 0x9f, 0xd7, 0x1b, 0x18, 0x02, 0x7c, 0x8e, 0xec, 0x2f, - 0x9f, 0x05, 0x1e, 0x7d, 0x08, 0x53, 0xe2, 0x71, 0x56, 0xae, 0xbe, 0x9c, 0xb0, 0xd4, 0xfb, 0xf0, - 0xc1, 0xd7, 0x60, 0xd0, 0xc8, 0x7a, 0x35, 0xf3, 0x41, 0xd9, 0x30, 0x59, 0x26, 0x69, 0x94, 0x8b, - 0xc5, 0x5c, 0x15, 0x9f, 0x59, 0xdd, 0x67, 0x7d, 0x93, 0x3e, 0x55, 0x46, 0xed, 0x95, 0xdb, 0x7c, - 0x81, 0x98, 0xd0, 0xcf, 0xe3, 0x60, 0x84, 0x7b, 0x3b, 0x25, 0xde, 0x3a, 0x9a, 0x1e, 0x71, 0x45, - 0xdd, 0xb0, 0xc2, 0xbe, 0xdc, 0x45, 0xd8, 0x45, 0xcc, 0x11, 0x8b, 0x6c, 0xc3, 0x80, 0x59, 0x49, - 0xde, 0x65, 0xcc, 0x08, 0x1f, 0xe9, 0x04, 0x9b, 0x40, 0xd8, 0x51, 0x01, 0x8b, 0x7a, 0x7b, 0xc4, - 0x35, 0x2b, 0xaf, 0x33, 0x66, 0x90, 0x4f, 0x24, 0x18, 0x36, 0x75, 0x53, 0xcd, 0x25, 0xd1, 0xe9, - 0xbe, 0x4e, 0xe8, 0x97, 0x11, 0x7d, 0x12, 0xd1, 0x5d, 0xca, 0x7b, 0xa3, 0x30, 0xc4, 0x55, 0x6f, - 0x0a, 0xff, 0x1f, 0x02, 0x08, 0x4b, 0x3c, 0x04, 0xa1, 0x4e, 0x24, 0x2e, 0x21, 0x89, 0x09, 0x37, - 0x89, 0xbd, 0x47, 0x61, 0x90, 0x2b, 0x5a, 0x81, 0xb0, 0x1e, 0xb8, 0xe2, 0x25, 0x79, 0x9b, 0xe5, - 0x72, 0x0a, 0x33, 0xcb, 0xa5, 0xc2, 0xa1, 0x27, 0xfe, 0x3f, 0x21, 0x7c, 0x28, 0xb9, 0x39, 0x1c, - 0x62, 0xea, 0xef, 0xc0, 0x40, 0x89, 0xa3, 0x76, 0x91, 0xfb, 0x4d, 0x49, 0x88, 0x7a, 0x7b, 0x0b, - 0xbf, 0x8d, 0xf6, 0xd2, 0xb2, 0xff, 0x43, 0x18, 0x64, 0x15, 0xcd, 0x14, 0xc8, 0x1d, 0x33, 0x7f, - 0x13, 0x91, 0xc7, 0x05, 0xb2, 0xa3, 0xb9, 0x37, 0xec, 0xa3, 0x96, 0x1e, 0x47, 0xff, 0x54, 0x82, - 0x11, 0x91, 0xb9, 0x76, 0xd4, 0x3b, 0xe6, 0xfd, 0x1b, 0xde, 0xfe, 0xc5, 0xa3, 0xbd, 0x37, 0x1a, - 0xa2, 0xea, 0x15, 0x3c, 0x00, 0x6f, 0xf9, 0xf5, 0x1f, 0x7e, 0xf9, 0x3d, 0x73, 0xca, 0x6f, 0x47, - 0x2d, 0x1e, 0xac, 0xfc, 0xee, 0xc0, 0xcc, 0xdd, 0x92, 0x9e, 0x4f, 0x9a, 0xfa, 0x3d, 0x56, 0x48, - 0xee, 0x68, 0x66, 0xd6, 0x5b, 0x89, 0xff, 0xab, 0xd7, 0x62, 0x0b, 0x42, 0xdb, 0x7f, 0x1f, 0x55, - 0x26, 0x2d, 0xc1, 0xdb, 0xd6, 0xfa, 0x3b, 0x9a, 0x99, 0x15, 0xd5, 0x69, 0xf1, 0x30, 0x75, 0xb1, - 0x3b, 0x7c, 0xa4, 0x99, 0x87, 0x2d, 0xa1, 0xca, 0x80, 0xa9, 0x73, 0x4d, 0xfa, 0x63, 0xaf, 0x5d, - 0xcd, 0x2e, 0x97, 0xb0, 0x9a, 0x5b, 0x8f, 0x5e, 0xfa, 0x6f, 0x1c, 0x7d, 0xef, 0xe1, 0x1f, 0xfd, - 0x55, 0x6c, 0xf3, 0xd7, 0x73, 0xc5, 0xac, 0x7a, 0x5d, 0xad, 0x68, 0xf9, 0x72, 0xde, 0xd8, 0x6f, - 0x8f, 0xf9, 0x43, 0x2f, 0xb6, 0xe1, 0x4d, 0xd6, 0x30, 0xee, 0x9f, 0x4b, 0x30, 0x97, 0x57, 0x2b, - 0x49, 0xa3, 0x6a, 0x98, 0x2c, 0x9f, 0x54, 0xad, 0x4d, 0x49, 0xad, 0x90, 0x2e, 0x31, 0xd5, 0x60, - 0x08, 0xa0, 0x58, 0x1e, 0xfe, 0x51, 0x8b, 0x2d, 0x75, 0xd7, 0x3b, 0xd5, 0x6b, 0xb1, 0x45, 0x41, - 0x27, 0xd0, 0x30, 0x55, 0x66, 0xf2, 0x6a, 0xe5, 0x36, 0x17, 0x71, 0x5e, 0x57, 0x50, 0x40, 0x0c, - 0x18, 0x6f, 0xd6, 0xc2, 0x2c, 0xbd, 0xb2, 0x67, 0x16, 0xb3, 0xfe, 0x2c, 0xa8, 0x32, 0xea, 0x05, - 0xa7, 0x53, 0x78, 0x5f, 0xbd, 0xa9, 0x96, 0x54, 0x27, 0xd2, 0xf4, 0x3d, 0x98, 0xf4, 0xac, 0x62, - 0xc4, 0x36, 0xa1, 0xbf, 0xc8, 0x57, 0x9c, 0xd7, 0x4d, 0xeb, 0xed, 0x50, 0xa8, 0x24, 0x26, 0x5c, - 0xad, 0x10, 0x5f, 0xa1, 0x0a, 0xea, 0x9e, 0xab, 0x8f, 0x41, 0x88, 0x5b, 0x27, 0x59, 0x08, 0xf1, - 0x19, 0x04, 0x39, 0xe1, 0x63, 0xa8, 0x65, 0x24, 0x12, 0x39, 0xd9, 0x61, 0x97, 0x60, 0x49, 0xc9, - 0xa3, 0xdf, 0xfe, 0x7e, 0xd2, 0x3b, 0x4c, 0x40, 0x76, 0xc6, 0x2e, 0xe4, 0xb1, 0x04, 0x23, 0x9e, - 0x71, 0x07, 0x39, 0xdb, 0xd6, 0x58, 0xd3, 0xc8, 0x24, 0xb2, 0xda, 0xe5, 0x6e, 0xa4, 0x30, 0xcf, - 0x29, 0x4c, 0x93, 0xc9, 0x06, 0x05, 0x67, 0x1c, 0x42, 0x4a, 0xd0, 0x2f, 0x82, 0x44, 0x02, 0x1d, - 0xf2, 0x9c, 0x46, 0x64, 0xa9, 0xd3, 0x36, 0x44, 0x9d, 0xe3, 0xa8, 0x93, 0x64, 0xa2, 0x81, 0x2a, - 0x8b, 0x98, 0x93, 0x22, 0xf4, 0x59, 0x4c, 0xc9, 0xf1, 0x76, 0x7e, 0xd8, 0x78, 0x27, 0xda, 0x6f, - 0x42, 0xb4, 0x05, 0x8e, 0x36, 0x4b, 0xa6, 0x5d, 0x68, 0x0f, 0xec, 0x2a, 0xdc, 0x25, 0x55, 0x08, - 0xf1, 0x31, 0x40, 0x9b, 0xb3, 0x75, 0x8d, 0x31, 0xda, 0x9c, 0xad, 0x7b, 0x46, 0x41, 0x8f, 0x73, - 0xd0, 0x05, 0x32, 0xef, 0x0b, 0x2a, 0xf3, 0x21, 0x04, 0xf9, 0x4c, 0x82, 0x41, 0x67, 0xbc, 0x41, - 0x96, 0x83, 0x2c, 0x37, 0x8f, 0x52, 0x22, 0xa7, 0xbb, 0xd8, 0x89, 0x3c, 0x96, 0x39, 0x0f, 0x4a, - 0x16, 0xfd, 0x79, 0x34, 0x26, 0x22, 0xe4, 0x6b, 0x09, 0x86, 0xdd, 0x43, 0x0b, 0xb2, 0x12, 0x84, - 0xe2, 0x33, 0x27, 0x89, 0x9c, 0xed, 0x6e, 0x33, 0xb2, 0x5a, 0xe1, 0xac, 0x4e, 0x92, 0xe3, 0xfe, - 0xac, 0x3c, 0x13, 0x0e, 0xf2, 0xbd, 0x04, 0xa3, 0xde, 0x81, 0x02, 0x59, 0xed, 0x80, 0xe6, 0xbd, - 0xf3, 0x47, 0xe2, 0xdd, 0x6e, 0x47, 0x7a, 0xab, 0x9c, 0xde, 0x29, 0x72, 0xb2, 0x3d, 0x3d, 0xbc, - 0xa9, 0x93, 0x9f, 0x24, 0x18, 0x6f, 0x9e, 0x0e, 0x10, 0x39, 0x08, 0x33, 0x60, 0x30, 0x11, 0xf9, - 0x7f, 0xf7, 0x0a, 0x48, 0x53, 0xe6, 0x34, 0x4f, 0x93, 0x53, 0xfe, 0x34, 0x5b, 0x46, 0x0a, 0xe4, - 0x1b, 0x09, 0x86, 0x5c, 0xb7, 0x76, 0x72, 0x26, 0x38, 0x2e, 0xcd, 0xf3, 0x85, 0xc8, 0x4a, 0x57, - 0x7b, 0x91, 0xd9, 0x1a, 0x67, 0xb6, 0x42, 0x4e, 0xfb, 0x33, 0xe3, 0xe7, 0x8a, 0x0b, 0xa2, 0x7b, - 0xd9, 0x25, 0x5f, 0x49, 0x70, 0xd4, 0xbe, 0x3a, 0x93, 0x53, 0x81, 0x45, 0xe6, 0xbd, 0xde, 0x47, - 0x96, 0x3b, 0x6f, 0x44, 0x4a, 0xe7, 0x39, 0x25, 0x99, 0xac, 0x06, 0x14, 0x64, 0xb9, 0x9a, 0xf4, - 0xa3, 0xf5, 0x9d, 0x04, 0xd0, 0xb8, 0xd8, 0x90, 0xc0, 0xca, 0x6b, 0xb9, 0x80, 0x45, 0xce, 0x74, - 0xb3, 0x15, 0xc9, 0x5d, 0xe0, 0xe4, 0xd6, 0x88, 0xec, 0x4f, 0xce, 0x60, 0x39, 0xbb, 0x6b, 0x6a, - 0xa2, 0xf7, 0xab, 0x45, 0xcf, 0xe9, 0xd4, 0xda, 0xd0, 0x6b, 0x6e, 0x50, 0xdb, 0xd0, 0x6b, 0x69, - 0xfc, 0xe8, 0x75, 0x4e, 0xef, 0x32, 0xb9, 0x14, 0x40, 0x6f, 0x47, 0x2d, 0x3a, 0xf4, 0xfc, 0xbb, - 0xd3, 0x5d, 0xf9, 0x81, 0xdd, 0x6c, 0xee, 0x92, 0x6f, 0x25, 0x18, 0xf1, 0x74, 0x3a, 0xc1, 0xef, - 0x38, 0xbf, 0xf6, 0x2a, 0xf8, 0x1d, 0xe7, 0xdb, 0x3e, 0xd1, 0xb3, 0x9c, 0xfd, 0x12, 0x39, 0x11, - 0x50, 0x26, 0xbc, 0xeb, 0xc9, 0xa3, 0x56, 0xe2, 0xad, 0xa7, 0xcf, 0xa3, 0xd2, 0xb3, 0xe7, 0x51, - 0xe9, 0xaf, 0xe7, 0x51, 0xe9, 0xcb, 0x17, 0xd1, 0x9e, 0x67, 0x2f, 0xa2, 0x3d, 0xbf, 0xbf, 0x88, - 0xf6, 0xbc, 0x7b, 0xde, 0xd5, 0xd4, 0x68, 0x15, 0xfd, 0xae, 0x5e, 0x2e, 0x64, 0xf8, 0xbf, 0x2b, - 0xd6, 0xaf, 0xd5, 0x54, 0x4e, 0x4f, 0xdf, 0x4b, 0x67, 0x55, 0xad, 0x20, 0x57, 0x10, 0x84, 0xf7, - 0x39, 0xa9, 0x7e, 0xfe, 0xdf, 0xc9, 0x2b, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xcb, 0x51, 0xce, - 0xe2, 0xe2, 0x19, 0x00, 0x00, + // 1448 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcf, 0x6f, 0x13, 0xc7, + 0x17, 0xcf, 0x86, 0x38, 0x90, 0x17, 0x12, 0x92, 0x49, 0x00, 0xc7, 0x21, 0x0e, 0xdf, 0xe5, 0x57, + 0x20, 0xd8, 0x4b, 0x82, 0xf8, 0xa2, 0xde, 0x4a, 0x08, 0x2d, 0x95, 0x40, 0x05, 0x43, 0xd5, 0xaa, + 0x97, 0xd5, 0x78, 0x3d, 0xd8, 0x0b, 0xeb, 0x9d, 0x65, 0x67, 0x1c, 0x6c, 0xa1, 0x5c, 0xca, 0xa5, + 0xea, 0xa5, 0x95, 0xa8, 0x2a, 0xb5, 0xaa, 0x7a, 0xec, 0xa1, 0xc7, 0xfe, 0x15, 0x1c, 0x91, 0x7a, + 0xa9, 0x7a, 0xa0, 0x2d, 0xe9, 0xff, 0xd0, 0x9e, 0xaa, 0x6a, 0x67, 0x66, 0x9d, 0x5d, 0x7b, 0xd7, + 0x59, 0xa4, 0x98, 0x0b, 0xc4, 0xf3, 0xde, 0xfb, 0x7c, 0x3e, 0xef, 0xed, 0x1b, 0xef, 0x7b, 0x86, + 0x25, 0xbb, 0x4d, 0x8d, 0x2a, 0x75, 0x6b, 0xcc, 0xd8, 0x5a, 0xab, 0x12, 0x8e, 0xd7, 0x8c, 0xc7, + 0x2d, 0xe2, 0x77, 0xca, 0x9e, 0x4f, 0x39, 0x45, 0xb3, 0x76, 0x9b, 0x96, 0x85, 0xb9, 0xac, 0xcc, + 0x85, 0xf9, 0x3a, 0xad, 0x53, 0x61, 0x35, 0x82, 0xbf, 0xa4, 0x63, 0xe1, 0x44, 0x9d, 0xd2, 0xba, + 0x43, 0x0c, 0xec, 0xd9, 0x06, 0x76, 0x5d, 0xca, 0x31, 0xb7, 0xa9, 0xcb, 0x94, 0xb5, 0x68, 0x51, + 0xd6, 0xa4, 0xcc, 0xa8, 0x62, 0x46, 0xba, 0x3c, 0x16, 0xb5, 0x5d, 0x65, 0x4f, 0x50, 0x21, 0x49, + 0x85, 0x59, 0x9f, 0x83, 0xd9, 0xbb, 0x81, 0xa8, 0x8d, 0xe0, 0xac, 0x42, 0x1e, 0xb7, 0x08, 0xe3, + 0xfa, 0x05, 0x40, 0xd1, 0x43, 0xe6, 0x51, 0x97, 0x11, 0x34, 0x0f, 0x39, 0x11, 0x99, 0xd7, 0x4e, + 0x1e, 0x58, 0x99, 0xa8, 0xc8, 0x0f, 0xfa, 0x22, 0x2c, 0xec, 0xfa, 0x6e, 0x12, 0x8e, 0x6d, 0x87, + 0xd4, 0x42, 0x20, 0x0b, 0x0a, 0x49, 0x46, 0x05, 0x78, 0x03, 0xa6, 0x05, 0x86, 0x59, 0x53, 0x16, + 0x81, 0x3c, 0xb9, 0x5e, 0x2c, 0xf7, 0x95, 0xa6, 0x1c, 0x20, 0x48, 0x00, 0x56, 0x99, 0xaa, 0x46, + 0xe1, 0xf4, 0x12, 0xcc, 0x74, 0x49, 0x14, 0x31, 0x5a, 0x80, 0x43, 0x81, 0x93, 0x59, 0xb3, 0x03, + 0x50, 0x6d, 0x65, 0xa2, 0x72, 0x30, 0xf8, 0xbc, 0x69, 0xd7, 0xf4, 0x77, 0x23, 0x19, 0x77, 0xa5, + 0xac, 0xc2, 0x58, 0x60, 0x17, 0xbe, 0x93, 0xeb, 0xc7, 0x53, 0x04, 0x54, 0x84, 0x93, 0x5e, 0x0e, + 0x11, 0x30, 0xb7, 0x1a, 0x19, 0x18, 0x37, 0xc3, 0x72, 0x4a, 0x7f, 0x45, 0x59, 0x86, 0x5c, 0x35, + 0x38, 0x50, 0x9c, 0xf9, 0x24, 0x4e, 0x11, 0x20, 0xdd, 0xf4, 0x75, 0x38, 0x2a, 0x50, 0x6e, 0x61, + 0xc6, 0xb3, 0x32, 0xdf, 0x85, 0x63, 0xbd, 0x31, 0x8a, 0xfd, 0x2a, 0x80, 0x83, 0x19, 0x37, 0xb3, + 0x49, 0x98, 0x70, 0x42, 0x00, 0xfd, 0x0a, 0xe4, 0x05, 0xe4, 0xf5, 0x96, 0xef, 0x13, 0x97, 0xdf, + 0xf1, 0x6d, 0x8b, 0x64, 0x50, 0xf2, 0x5c, 0x53, 0x7d, 0x12, 0x8f, 0x53, 0x6a, 0xb6, 0x60, 0xca, + 0x92, 0xe7, 0xa6, 0x17, 0x18, 0x54, 0x23, 0x9c, 0x28, 0xcb, 0xe6, 0x2e, 0x07, 0xcd, 0xdd, 0x95, + 0xb4, 0x49, 0xac, 0xeb, 0xd4, 0x76, 0x37, 0x2e, 0xbf, 0x78, 0xb5, 0x3c, 0xf2, 0xd3, 0xef, 0xcb, + 0xab, 0x75, 0x9b, 0x37, 0x5a, 0xd5, 0xb2, 0x45, 0x9b, 0x86, 0xba, 0x0c, 0xf2, 0xbf, 0x12, 0xab, + 0x3d, 0x32, 0x78, 0xc7, 0x23, 0x2c, 0x8c, 0x61, 0x95, 0xc3, 0x56, 0x84, 0x5f, 0xbf, 0xaa, 0xfa, + 0x53, 0x89, 0xaa, 0x10, 0x46, 0xfc, 0xad, 0x2c, 0xe9, 0xd4, 0x61, 0x31, 0x31, 0x50, 0xe5, 0x73, + 0x13, 0x8e, 0x84, 0xf9, 0xf8, 0xd2, 0xa4, 0x32, 0x5a, 0x48, 0xcc, 0x48, 0xa4, 0x33, 0x16, 0xa4, + 0x53, 0x99, 0xb6, 0x62, 0x88, 0xfa, 0x3b, 0x70, 0x42, 0x10, 0x5d, 0xdb, 0xc2, 0xb6, 0x83, 0xab, + 0x0e, 0xc9, 0xae, 0xb1, 0x09, 0x4b, 0x29, 0xa1, 0x4a, 0xe5, 0x2d, 0x98, 0xc5, 0xa1, 0xed, 0x4d, + 0x75, 0xce, 0xe0, 0x1e, 0x54, 0xfd, 0x23, 0x38, 0xae, 0x4a, 0xc2, 0x38, 0x6d, 0x66, 0xec, 0x0b, + 0xb4, 0x0c, 0x93, 0xc2, 0x84, 0x9b, 0xb4, 0xe5, 0xf2, 0xfc, 0xa8, 0xb0, 0x42, 0x70, 0x74, 0x4d, + 0x9c, 0xe8, 0xcf, 0xb4, 0x6e, 0xc3, 0x45, 0x70, 0x55, 0x06, 0x75, 0xc8, 0x0d, 0xb9, 0x5f, 0x24, + 0xbe, 0x5e, 0x81, 0x79, 0x79, 0x85, 0x5b, 0x9d, 0x7d, 0xcb, 0xec, 0xf3, 0x31, 0x75, 0xa3, 0x77, + 0x41, 0x77, 0xdb, 0x07, 0xd7, 0x1e, 0xb6, 0x18, 0x27, 0x35, 0x93, 0xb5, 0x3c, 0xcf, 0xe9, 0xa8, + 0x1b, 0xba, 0x77, 0xfb, 0x84, 0x71, 0xf7, 0x44, 0x18, 0xb2, 0x60, 0x5c, 0x24, 0xc0, 0xf2, 0xa3, + 0x7b, 0x3d, 0xd7, 0x4b, 0xaa, 0x3c, 0x2b, 0x19, 0xca, 0x23, 0x6b, 0xa3, 0xa0, 0x51, 0x0d, 0x0e, + 0xf2, 0xb6, 0xf9, 0x80, 0x10, 0x96, 0x3f, 0x30, 0x04, 0x16, 0xde, 0x7e, 0x8f, 0x10, 0x86, 0x5c, + 0x38, 0xcc, 0x29, 0xc7, 0x8e, 0xa9, 0x12, 0x1a, 0xdb, 0x7f, 0xaa, 0x49, 0x41, 0x70, 0x47, 0x66, + 0xf5, 0x10, 0x40, 0xf2, 0x89, 0xc4, 0x72, 0xfb, 0xcf, 0x36, 0x21, 0xe0, 0x83, 0xdc, 0xf4, 0xfb, + 0xea, 0x7b, 0xfa, 0x1e, 0x71, 0x9c, 0x0a, 0xe1, 0x2d, 0xdf, 0xdd, 0x8f, 0x06, 0xfb, 0x67, 0x4c, + 0x5d, 0xc9, 0x28, 0xec, 0xbe, 0xb7, 0x18, 0x81, 0x83, 0xbe, 0xc0, 0x1e, 0x4a, 0x8f, 0x85, 0xd8, + 0x6f, 0xa9, 0xc9, 0x1a, 0x30, 0x41, 0xda, 0x36, 0x97, 0x3c, 0x43, 0xe8, 0xb0, 0x43, 0x01, 0xba, + 0x60, 0xf2, 0x60, 0x4a, 0xb6, 0x57, 0x58, 0xbc, 0x21, 0x74, 0x98, 0xbc, 0x30, 0x15, 0x55, 0xc1, + 0x78, 0x43, 0x8f, 0x0f, 0xb5, 0xa1, 0x9f, 0x69, 0x61, 0x47, 0x3f, 0xc1, 0x5e, 0xe6, 0x8e, 0xbe, + 0x0c, 0xc7, 0x1e, 0xf8, 0xb4, 0x69, 0x72, 0xfa, 0x88, 0xb8, 0xe6, 0x13, 0x9b, 0x37, 0xe2, 0xcd, + 0x3d, 0x17, 0x58, 0xef, 0x07, 0xc6, 0x8f, 0x6d, 0xde, 0x90, 0x5d, 0x1e, 0xe0, 0x71, 0x2a, 0x43, + 0xf2, 0x07, 0x24, 0x1e, 0xa7, 0xc2, 0x49, 0xff, 0x5b, 0x0b, 0x2f, 0x40, 0x44, 0x85, 0xba, 0x00, + 0x7d, 0xf5, 0xd7, 0xde, 0x6e, 0xfd, 0x47, 0x87, 0x5a, 0xff, 0xff, 0xab, 0x69, 0xeb, 0x9a, 0xe3, + 0x35, 0xf0, 0x6d, 0xdc, 0xb6, 0x9b, 0xad, 0x26, 0xcb, 0x30, 0x33, 0xfc, 0xa9, 0xa9, 0x89, 0xa8, + 0x27, 0x50, 0x15, 0xcd, 0x86, 0x85, 0x26, 0x6e, 0x9b, 0xac, 0xc3, 0x38, 0x69, 0x9a, 0x38, 0xf0, + 0x31, 0x6d, 0xd7, 0xf2, 0x09, 0x66, 0x44, 0x42, 0x6d, 0x94, 0x03, 0xd9, 0xbf, 0xbd, 0x5a, 0x3e, + 0x9b, 0xed, 0x2d, 0x5b, 0x39, 0xd6, 0xc4, 0xed, 0x7b, 0x02, 0x4f, 0x50, 0x7e, 0xa0, 0xd0, 0xd0, + 0x27, 0x30, 0xd3, 0x4b, 0x25, 0xbb, 0xe0, 0x8d, 0x19, 0xa6, 0xe3, 0x0c, 0xfa, 0xbc, 0x1a, 0xc7, + 0xef, 0x60, 0x1f, 0x77, 0x8b, 0xa2, 0xdf, 0x84, 0xb9, 0xd8, 0xa9, 0xca, 0x78, 0x0d, 0xc6, 0x3d, + 0x71, 0xd2, 0xfd, 0x7a, 0xec, 0x9f, 0x91, 0x55, 0x88, 0x72, 0x5c, 0xff, 0xf7, 0x08, 0xe4, 0x04, + 0x14, 0x72, 0x21, 0x27, 0x36, 0x1f, 0x74, 0x3a, 0x21, 0xaa, 0x6f, 0xed, 0x2a, 0x9c, 0xd9, 0xc3, + 0x4b, 0x4a, 0xd2, 0xf3, 0x9f, 0xfd, 0xf2, 0xd7, 0xf3, 0x51, 0x84, 0x66, 0x8c, 0xdd, 0xd5, 0x4e, + 0xfc, 0x8b, 0xbe, 0xd4, 0x60, 0x2a, 0xb6, 0x6a, 0xa1, 0x8b, 0x03, 0x21, 0x7b, 0xd6, 0xb5, 0x42, + 0x29, 0xa3, 0xb7, 0x12, 0xf2, 0x3f, 0x21, 0x64, 0x11, 0x2d, 0xf4, 0x0a, 0xe9, 0x2e, 0x74, 0xc8, + 0x87, 0x71, 0x59, 0x1d, 0x94, 0x9a, 0x5c, 0xec, 0x31, 0x14, 0xce, 0xee, 0xe5, 0xa6, 0xb8, 0x17, + 0x04, 0xf7, 0x1c, 0x9a, 0x8d, 0x70, 0xcb, 0xfa, 0x23, 0x0f, 0xc6, 0x02, 0xbd, 0xe8, 0xd4, 0xa0, + 0x6c, 0x42, 0xbe, 0xd3, 0x83, 0x9d, 0x14, 0xdb, 0x92, 0x60, 0x3b, 0x8e, 0x8e, 0x46, 0xd8, 0x9e, + 0x86, 0x77, 0x68, 0x1b, 0x75, 0x20, 0x27, 0x96, 0xa3, 0x01, 0xcf, 0x39, 0xb2, 0xb0, 0x0d, 0x78, + 0xce, 0xd1, 0x15, 0x4d, 0x3f, 0x25, 0x48, 0x97, 0xd0, 0x62, 0x22, 0xa9, 0x21, 0x36, 0x37, 0xf4, + 0x85, 0x06, 0x13, 0xdd, 0xed, 0x0e, 0xad, 0xa4, 0x21, 0xf7, 0x2e, 0x8d, 0x85, 0xf3, 0x19, 0x3c, + 0x95, 0x8e, 0x15, 0xa1, 0x43, 0x47, 0x27, 0x93, 0x75, 0xec, 0xae, 0x91, 0xe8, 0x1b, 0x0d, 0x0e, + 0x47, 0xf7, 0x3b, 0xb4, 0x9a, 0xc6, 0x92, 0xb0, 0x3d, 0x16, 0x2e, 0x66, 0x73, 0x56, 0xaa, 0x56, + 0x85, 0xaa, 0x33, 0xe8, 0x54, 0xb2, 0xaa, 0xd8, 0x3a, 0x89, 0x7e, 0xd0, 0x60, 0x3a, 0xbe, 0xaa, + 0xa1, 0xd2, 0x1e, 0x6c, 0xf1, 0x3d, 0xab, 0x50, 0xce, 0xea, 0xae, 0xe4, 0x95, 0x84, 0xbc, 0x73, + 0xe8, 0xcc, 0x60, 0x79, 0x6a, 0xeb, 0x42, 0x3f, 0x6a, 0x30, 0xd3, 0xbb, 0xa7, 0x21, 0x23, 0x8d, + 0x33, 0x65, 0x19, 0x2c, 0x5c, 0xca, 0x1e, 0xa0, 0x64, 0x1a, 0x42, 0xe6, 0x79, 0x74, 0x2e, 0x59, + 0x66, 0xdf, 0x7a, 0x88, 0xbe, 0xd5, 0x60, 0x32, 0xb2, 0x89, 0xa1, 0x0b, 0xe9, 0x75, 0xe9, 0x5d, + 0x03, 0x0b, 0xab, 0x99, 0x7c, 0x95, 0xb2, 0x35, 0xa1, 0x6c, 0x15, 0x9d, 0x4f, 0x56, 0x26, 0x9e, + 0xab, 0x3a, 0x90, 0x33, 0xc2, 0x36, 0xfa, 0x5a, 0x83, 0x43, 0xe1, 0x2e, 0x85, 0xce, 0xa5, 0x5e, + 0xb2, 0xf8, 0x0a, 0x57, 0x58, 0xd9, 0xdb, 0x51, 0x49, 0xba, 0x22, 0x24, 0x19, 0xa8, 0x94, 0x72, + 0x21, 0x5b, 0x1d, 0x33, 0x49, 0xd6, 0xf7, 0x1a, 0xc0, 0xee, 0x04, 0x8e, 0x52, 0x6f, 0x5e, 0xdf, + 0xf0, 0x5f, 0xb8, 0x90, 0xc5, 0x55, 0x89, 0xbb, 0x2a, 0xc4, 0xad, 0x21, 0x23, 0x59, 0x1c, 0x23, + 0x4e, 0x38, 0xea, 0xf4, 0xc8, 0xfb, 0x39, 0x90, 0xd7, 0x9d, 0x8f, 0x06, 0xc8, 0xeb, 0x9d, 0xe4, + 0x06, 0xc8, 0xeb, 0x1b, 0xb7, 0xf4, 0xdb, 0x42, 0xde, 0xfb, 0xe8, 0x46, 0x8a, 0xbc, 0x27, 0xd8, + 0xeb, 0xca, 0x4b, 0x9e, 0x01, 0xb7, 0x8d, 0xa7, 0xe1, 0x9c, 0xb7, 0x8d, 0xbe, 0xd3, 0x60, 0x2a, + 0x36, 0xa2, 0xa4, 0xbf, 0xe9, 0x92, 0x46, 0xa0, 0xf4, 0x37, 0x5d, 0xe2, 0xdc, 0xa3, 0x5f, 0x14, + 0xea, 0xcf, 0xa2, 0xd3, 0x29, 0xd7, 0x44, 0x0c, 0x42, 0x4d, 0x15, 0xb5, 0xf1, 0xe1, 0x8b, 0xd7, + 0x45, 0xed, 0xe5, 0xeb, 0xa2, 0xf6, 0xc7, 0xeb, 0xa2, 0xf6, 0xd5, 0x4e, 0x71, 0xe4, 0xe5, 0x4e, + 0x71, 0xe4, 0xd7, 0x9d, 0xe2, 0xc8, 0xa7, 0x57, 0x22, 0x23, 0x8b, 0xdd, 0xa6, 0x0f, 0x68, 0xcb, + 0xad, 0x89, 0x5f, 0x73, 0x83, 0x4f, 0xa5, 0xaa, 0x43, 0xad, 0x47, 0x56, 0x03, 0xdb, 0xae, 0xd1, + 0x56, 0x24, 0x62, 0x8a, 0xa9, 0x8e, 0x8b, 0xdf, 0x6a, 0x2f, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, + 0xb8, 0xaa, 0x10, 0x6c, 0x52, 0x16, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/bonds/types/query.pb.gw.go b/x/bonds/types/query.pb.gw.go index 98e90523..bb7d233a 100644 --- a/x/bonds/types/query.pb.gw.go +++ b/x/bonds/types/query.pb.gw.go @@ -1400,9 +1400,9 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( - pattern_Query_Bonds_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"ixo", "bonds"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Bonds_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1}, []string{"ixo", "bonds"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_BondsDetailed_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"ixo", "bonds_detailed"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_BondsDetailed_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"ixo", "bonds", "bonds_detailed"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"ixo", "bonds", "params"}, "", runtime.AssumeColonVerbOpt(false))) diff --git a/x/bonds/types/tx.pb.go b/x/bonds/types/tx.pb.go index adb05819..992f18dc 100644 --- a/x/bonds/types/tx.pb.go +++ b/x/bonds/types/tx.pb.go @@ -33,30 +33,30 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // MsgCreateBond defines a message for creating a new bond. type MsgCreateBond struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty" yaml:"token"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty" yaml:"name"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty" yaml:"description"` - FunctionType string `protobuf:"bytes,5,opt,name=function_type,json=functionType,proto3" json:"function_type,omitempty" yaml:"function_type"` - FunctionParameters FunctionParams `protobuf:"bytes,6,rep,name=function_parameters,json=functionParameters,proto3,castrepeated=FunctionParams" json:"function_parameters" yaml:"function_parameters"` - CreatorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,7,opt,name=creator_did,json=creatorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"creator_did,omitempty" yaml:"creator_did"` - ControllerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,8,opt,name=controller_did,json=controllerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"controller_did,omitempty" yaml:"controller_did"` - OracleDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,9,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"oracle_did,omitempty" yaml:"oracle_did"` - ReserveTokens []string `protobuf:"bytes,10,rep,name=reserve_tokens,json=reserveTokens,proto3" json:"reserve_tokens,omitempty" yaml:"reserve_tokens"` - TxFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=tx_fee_percentage,json=txFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"tx_fee_percentage" yaml:"tx_fee_percentage"` - ExitFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=exit_fee_percentage,json=exitFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"exit_fee_percentage" yaml:"exit_fee_percentage"` - FeeAddress string `protobuf:"bytes,13,opt,name=fee_address,json=feeAddress,proto3" json:"fee_address,omitempty" yaml:"fee_address"` - ReserveWithdrawalAddress string `protobuf:"bytes,14,opt,name=reserve_withdrawal_address,json=reserveWithdrawalAddress,proto3" json:"reserve_withdrawal_address,omitempty" yaml:"reserve_withdrawal_address"` - MaxSupply types.Coin `protobuf:"bytes,15,opt,name=max_supply,json=maxSupply,proto3" json:"max_supply" yaml:"max_supply"` - OrderQuantityLimits github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,16,rep,name=order_quantity_limits,json=orderQuantityLimits,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"order_quantity_limits" yaml:"order_quantity_limits"` - SanityRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,17,opt,name=sanity_rate,json=sanityRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_rate" yaml:"sanity_rate"` - SanityMarginPercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,18,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_margin_percentage" yaml:"sanity_margin_percentage"` - AllowSells bool `protobuf:"varint,19,opt,name=allow_sells,json=allowSells,proto3" json:"allow_sells,omitempty" yaml:"allow_sells"` - AllowReserveWithdrawals bool `protobuf:"varint,20,opt,name=allow_reserve_withdrawals,json=allowReserveWithdrawals,proto3" json:"allow_reserve_withdrawals,omitempty" yaml:"allow_reserve_withdrawals"` - AlphaBond bool `protobuf:"varint,21,opt,name=alpha_bond,json=alphaBond,proto3" json:"alpha_bond,omitempty" yaml:"alpha_bond"` - BatchBlocks github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,22,opt,name=batch_blocks,json=batchBlocks,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"batch_blocks" yaml:"batch_blocks"` - OutcomePayment github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,23,opt,name=outcome_payment,json=outcomePayment,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"outcome_payment" yaml:"outcome_payment"` - CreatorAddress string `protobuf:"bytes,24,opt,name=creator_address,json=creatorAddress,proto3" json:"creator_address" yaml:"creator_address"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + FunctionType string `protobuf:"bytes,5,opt,name=function_type,json=functionType,proto3" json:"function_type,omitempty"` + FunctionParameters FunctionParams `protobuf:"bytes,6,rep,name=function_parameters,json=functionParameters,proto3,castrepeated=FunctionParams" json:"function_parameters"` + CreatorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,7,opt,name=creator_did,json=creatorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"creator_did,omitempty"` + ControllerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,8,opt,name=controller_did,json=controllerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"controller_did,omitempty"` + OracleDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,9,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"oracle_did,omitempty"` + ReserveTokens []string `protobuf:"bytes,10,rep,name=reserve_tokens,json=reserveTokens,proto3" json:"reserve_tokens,omitempty"` + TxFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=tx_fee_percentage,json=txFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"tx_fee_percentage"` + ExitFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=exit_fee_percentage,json=exitFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"exit_fee_percentage"` + FeeAddress string `protobuf:"bytes,13,opt,name=fee_address,json=feeAddress,proto3" json:"fee_address,omitempty"` + ReserveWithdrawalAddress string `protobuf:"bytes,14,opt,name=reserve_withdrawal_address,json=reserveWithdrawalAddress,proto3" json:"reserve_withdrawal_address,omitempty"` + MaxSupply types.Coin `protobuf:"bytes,15,opt,name=max_supply,json=maxSupply,proto3" json:"max_supply"` + OrderQuantityLimits github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,16,rep,name=order_quantity_limits,json=orderQuantityLimits,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"order_quantity_limits"` + SanityRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,17,opt,name=sanity_rate,json=sanityRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_rate"` + SanityMarginPercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,18,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_margin_percentage"` + AllowSells bool `protobuf:"varint,19,opt,name=allow_sells,json=allowSells,proto3" json:"allow_sells,omitempty"` + AllowReserveWithdrawals bool `protobuf:"varint,20,opt,name=allow_reserve_withdrawals,json=allowReserveWithdrawals,proto3" json:"allow_reserve_withdrawals,omitempty"` + AlphaBond bool `protobuf:"varint,21,opt,name=alpha_bond,json=alphaBond,proto3" json:"alpha_bond,omitempty"` + BatchBlocks github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,22,opt,name=batch_blocks,json=batchBlocks,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"batch_blocks"` + OutcomePayment github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,23,opt,name=outcome_payment,json=outcomePayment,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"outcome_payment"` + CreatorAddress string `protobuf:"bytes,24,opt,name=creator_address,json=creatorAddress,proto3" json:"creator_address,omitempty"` } func (m *MsgCreateBond) Reset() { *m = MsgCreateBond{} } @@ -257,14 +257,14 @@ var xxx_messageInfo_MsgCreateBondResponse proto.InternalMessageInfo // MsgEditBond defines a message for editing an existing bond. type MsgEditBond struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" yaml:"name"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty" yaml:"description"` - OrderQuantityLimits string `protobuf:"bytes,4,opt,name=order_quantity_limits,json=orderQuantityLimits,proto3" json:"order_quantity_limits,omitempty" yaml:"order_quantity_limits"` - SanityRate string `protobuf:"bytes,5,opt,name=sanity_rate,json=sanityRate,proto3" json:"sanity_rate,omitempty" yaml:"sanity_rate"` - SanityMarginPercentage string `protobuf:"bytes,6,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3" json:"sanity_margin_percentage,omitempty" yaml:"sanity_margin_percentage"` - EditorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,7,opt,name=editor_did,json=editorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"editor_did,omitempty" yaml:"editor_did"` - EditorAddress string `protobuf:"bytes,8,opt,name=editor_address,json=editorAddress,proto3" json:"editor_address" yaml:"editor_address"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + OrderQuantityLimits string `protobuf:"bytes,4,opt,name=order_quantity_limits,json=orderQuantityLimits,proto3" json:"order_quantity_limits,omitempty"` + SanityRate string `protobuf:"bytes,5,opt,name=sanity_rate,json=sanityRate,proto3" json:"sanity_rate,omitempty"` + SanityMarginPercentage string `protobuf:"bytes,6,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3" json:"sanity_margin_percentage,omitempty"` + EditorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,7,opt,name=editor_did,json=editorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"editor_did,omitempty"` + EditorAddress string `protobuf:"bytes,8,opt,name=editor_address,json=editorAddress,proto3" json:"editor_address,omitempty"` } func (m *MsgEditBond) Reset() { *m = MsgEditBond{} } @@ -395,11 +395,11 @@ var xxx_messageInfo_MsgEditBondResponse proto.InternalMessageInfo // MsgSetNextAlpha defines a message for editing a bond's alpha parameter. type MsgSetNextAlpha struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - Alpha github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=alpha,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"alpha" yaml:"alpha"` - Delta *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=delta,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"delta,omitempty" yaml:"delta"` - OracleDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"oracle_did,omitempty" yaml:"editor_did"` - OracleAddress string `protobuf:"bytes,5,opt,name=oracle_address,json=oracleAddress,proto3" json:"editor_address" yaml:"editor_address"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Alpha github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=alpha,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"alpha"` + Delta *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=delta,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"delta,omitempty"` + OracleDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"oracle_did,omitempty"` + OracleAddress string `protobuf:"bytes,5,opt,name=oracle_address,json=oracleAddress,proto3" json:"oracle_address,omitempty"` } func (m *MsgSetNextAlpha) Reset() { *m = MsgSetNextAlpha{} } @@ -494,10 +494,10 @@ var xxx_messageInfo_MsgSetNextAlphaResponse proto.InternalMessageInfo // MsgUpdateBondState defines a message for updating a bond's current state. type MsgUpdateBondState struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty" yaml:"state"` - EditorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,3,opt,name=editor_did,json=editorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"editor_did,omitempty" yaml:"oracle_did"` - EditorAddress string `protobuf:"bytes,4,opt,name=editor_address,json=editorAddress,proto3" json:"oracle_address" yaml:"oracle_address"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` + EditorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,3,opt,name=editor_did,json=editorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"editor_did,omitempty"` + EditorAddress string `protobuf:"bytes,4,opt,name=editor_address,json=editorAddress,proto3" json:"editor_address,omitempty"` } func (m *MsgUpdateBondState) Reset() { *m = MsgUpdateBondState{} } @@ -600,11 +600,11 @@ var xxx_messageInfo_MsgUpdateBondStateResponse proto.InternalMessageInfo // MsgBuy defines a message for buying from a bond. type MsgBuy struct { - BuyerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=buyer_did,json=buyerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"buyer_did,omitempty" yaml:"buyer_did"` - Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount" yaml:"amount"` - MaxPrices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=max_prices,json=maxPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"max_prices" yaml:"max_prices"` - BondDid string `protobuf:"bytes,4,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - BuyerAddress string `protobuf:"bytes,5,opt,name=buyer_address,json=buyerAddress,proto3" json:"buyer_address" yaml:"buyer_address"` + BuyerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=buyer_did,json=buyerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"buyer_did,omitempty"` + Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` + MaxPrices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=max_prices,json=maxPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"max_prices"` + BondDid string `protobuf:"bytes,4,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + BuyerAddress string `protobuf:"bytes,5,opt,name=buyer_address,json=buyerAddress,proto3" json:"buyer_address"` } func (m *MsgBuy) Reset() { *m = MsgBuy{} } @@ -714,10 +714,10 @@ var xxx_messageInfo_MsgBuyResponse proto.InternalMessageInfo // MsgSell defines a message for selling from a bond. type MsgSell struct { - SellerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=seller_did,json=sellerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"seller_did,omitempty" yaml:"seller_did"` - Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount" yaml:"amount"` - BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - SellerAddress string `protobuf:"bytes,4,opt,name=seller_address,json=sellerAddress,proto3" json:"seller_address" yaml:"seller_address"` + SellerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=seller_did,json=sellerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"seller_did,omitempty"` + Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` + BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + SellerAddress string `protobuf:"bytes,4,opt,name=seller_address,json=sellerAddress,proto3" json:"seller_address,omitempty"` } func (m *MsgSell) Reset() { *m = MsgSell{} } @@ -821,11 +821,11 @@ var xxx_messageInfo_MsgSellResponse proto.InternalMessageInfo // MsgSwap defines a message for swapping from one reserve bond token to // another. type MsgSwap struct { - SwapperDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=swapper_did,json=swapperDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"swapper_did,omitempty" yaml:"swapper_did"` - BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - From types.Coin `protobuf:"bytes,3,opt,name=from,proto3" json:"from" yaml:"from"` - ToToken string `protobuf:"bytes,4,opt,name=to_token,json=toToken,proto3" json:"to_token,omitempty" yaml:"to_token"` - SwapperAddress string `protobuf:"bytes,5,opt,name=swapper_address,json=swapperAddress,proto3" json:"swapper_address" yaml:"swapper_address"` + SwapperDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=swapper_did,json=swapperDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"swapper_did,omitempty"` + BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + From types.Coin `protobuf:"bytes,3,opt,name=from,proto3" json:"from"` + ToToken string `protobuf:"bytes,4,opt,name=to_token,json=toToken,proto3" json:"to_token,omitempty"` + SwapperAddress string `protobuf:"bytes,5,opt,name=swapper_address,json=swapperAddress,proto3" json:"swapper_address,omitempty"` } func (m *MsgSwap) Reset() { *m = MsgSwap{} } @@ -936,10 +936,10 @@ var xxx_messageInfo_MsgSwapResponse proto.InternalMessageInfo // MsgMakeOutcomePayment defines a message for making an outcome payment to a // bond. type MsgMakeOutcomePayment struct { - SenderDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=sender_did,json=senderDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"sender_did,omitempty" yaml:"sender_did"` - Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount" yaml:"amount"` - BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - SenderAddress string `protobuf:"bytes,4,opt,name=sender_address,json=senderAddress,proto3" json:"sender_address" yaml:"sender_address"` + SenderDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=sender_did,json=senderDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"sender_did,omitempty"` + Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount"` + BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + SenderAddress string `protobuf:"bytes,4,opt,name=sender_address,json=senderAddress,proto3" json:"sender_address,omitempty"` } func (m *MsgMakeOutcomePayment) Reset() { *m = MsgMakeOutcomePayment{} } @@ -1037,9 +1037,9 @@ var xxx_messageInfo_MsgMakeOutcomePaymentResponse proto.InternalMessageInfo // MsgWithdrawShare defines a message for withdrawing a share from a bond that // is in the SETTLE stage. type MsgWithdrawShare struct { - RecipientDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=recipient_did,json=recipientDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"recipient_did,omitempty" yaml:"recipient_did"` - BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - RecipientAddress string `protobuf:"bytes,3,opt,name=recipient_address,json=recipientAddress,proto3" json:"recipient_address" yaml:"recipient_address"` + RecipientDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=recipient_did,json=recipientDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"recipient_did,omitempty"` + BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + RecipientAddress string `protobuf:"bytes,3,opt,name=recipient_address,json=recipientAddress,proto3" json:"recipient_address,omitempty"` } func (m *MsgWithdrawShare) Reset() { *m = MsgWithdrawShare{} } @@ -1135,10 +1135,10 @@ var xxx_messageInfo_MsgWithdrawShareResponse proto.InternalMessageInfo // MsgWithdrawReserve defines a message for withdrawing reserve from a bond. type MsgWithdrawReserve struct { - WithdrawerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=withdrawer_did,json=withdrawerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"withdrawer_did,omitempty" yaml:"withdrawer_did"` - Amount github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=amount,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"amount" yaml:"amount"` - BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty" yaml:"bond_did"` - WithdrawerAddress string `protobuf:"bytes,4,opt,name=withdrawer_address,json=withdrawerAddress,proto3" json:"withdrawer_address" yaml:"withdrawer_address"` + WithdrawerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=withdrawer_did,json=withdrawerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"withdrawer_did,omitempty"` + Amount github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=amount,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"amount"` + BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + WithdrawerAddress string `protobuf:"bytes,4,opt,name=withdrawer_address,json=withdrawerAddress,proto3" json:"withdrawer_address,omitempty"` } func (m *MsgWithdrawReserve) Reset() { *m = MsgWithdrawReserve{} } @@ -1265,131 +1265,104 @@ func init() { func init() { proto.RegisterFile("ixo/bonds/v1beta1/tx.proto", fileDescriptor_07d2c835566a272e) } var fileDescriptor_07d2c835566a272e = []byte{ - // 1972 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x4d, 0x6f, 0x1b, 0xc7, - 0xf9, 0x37, 0x45, 0xbd, 0x0e, 0x45, 0x4a, 0x5c, 0x59, 0xf6, 0x8a, 0x48, 0xb4, 0xca, 0xf8, 0x6f, - 0xff, 0xd5, 0x06, 0x26, 0x6b, 0x27, 0x45, 0x8a, 0x02, 0x6d, 0x6a, 0xda, 0x11, 0x92, 0x22, 0x4c, - 0x94, 0x91, 0x53, 0xa7, 0x6f, 0x61, 0x87, 0xdc, 0x11, 0xb5, 0xf0, 0x72, 0x77, 0xb3, 0x3b, 0x34, - 0xc9, 0xa0, 0x40, 0x5b, 0xf4, 0xd0, 0x43, 0x0f, 0xed, 0x37, 0xe8, 0xa5, 0xbd, 0xf4, 0x1b, 0xb4, - 0x9f, 0x20, 0xbd, 0x19, 0xe8, 0xa1, 0x45, 0x0f, 0xdb, 0xc2, 0xbe, 0x09, 0xe8, 0x85, 0xc7, 0x9e, - 0x8a, 0x79, 0xd9, 0x97, 0x59, 0x92, 0x12, 0xa9, 0x32, 0x27, 0x71, 0x9e, 0xdf, 0x33, 0xbf, 0x67, - 0xe6, 0x79, 0x99, 0x79, 0x66, 0x05, 0x2a, 0xd6, 0xc0, 0xad, 0xb5, 0x5c, 0xc7, 0x0c, 0x6a, 0xcf, - 0xee, 0xb5, 0x08, 0xc5, 0xf7, 0x6a, 0x74, 0x50, 0xf5, 0x7c, 0x97, 0xba, 0x5a, 0xd9, 0x1a, 0xb8, - 0x55, 0x8e, 0x55, 0x25, 0x56, 0xb9, 0xde, 0x71, 0x3b, 0x2e, 0x47, 0x6b, 0xec, 0x97, 0x50, 0xac, - 0xec, 0xb7, 0xdd, 0xa0, 0xeb, 0x06, 0xb5, 0x16, 0x0e, 0x48, 0x4c, 0xd3, 0x76, 0x2d, 0x47, 0xe2, - 0xaf, 0x8e, 0x1b, 0x11, 0xb4, 0x1c, 0x86, 0x7f, 0x2d, 0x83, 0x62, 0x23, 0xe8, 0x3c, 0xf4, 0x09, - 0xa6, 0xa4, 0xee, 0x3a, 0xa6, 0x56, 0x05, 0xeb, 0x4c, 0xa1, 0x69, 0x5a, 0xa6, 0x9e, 0x3b, 0xc8, - 0x1d, 0x6e, 0xd4, 0x77, 0x46, 0xa1, 0xb1, 0x35, 0xc4, 0x5d, 0xfb, 0x9b, 0x30, 0x42, 0x20, 0x5a, - 0x63, 0x3f, 0x1f, 0x59, 0xa6, 0x76, 0x07, 0xac, 0x50, 0xf7, 0x29, 0x71, 0xf4, 0x25, 0xae, 0xbc, - 0x3d, 0x0a, 0x8d, 0x4d, 0xa1, 0xcc, 0xc5, 0x10, 0x09, 0x58, 0xbb, 0x05, 0x96, 0x1d, 0xdc, 0x25, - 0x7a, 0x9e, 0xab, 0x6d, 0x8d, 0x42, 0xa3, 0x20, 0xd4, 0x98, 0x14, 0x22, 0x0e, 0x6a, 0xdf, 0x00, - 0x05, 0x93, 0x04, 0x6d, 0xdf, 0xf2, 0xa8, 0xe5, 0x3a, 0xfa, 0x32, 0xd7, 0xbd, 0x31, 0x0a, 0x0d, - 0x4d, 0xe8, 0xa6, 0x40, 0x88, 0xd2, 0xaa, 0xda, 0xb7, 0x40, 0xf1, 0xb4, 0xe7, 0xb4, 0xd9, 0xef, - 0x26, 0x1d, 0x7a, 0x44, 0x5f, 0xe1, 0x73, 0xf5, 0x51, 0x68, 0x5c, 0x17, 0x73, 0x15, 0x18, 0xa2, - 0xcd, 0x68, 0xfc, 0x78, 0xe8, 0x11, 0xed, 0x57, 0x39, 0xb0, 0x13, 0x2b, 0x78, 0xd8, 0xc7, 0x5d, - 0x42, 0x89, 0x1f, 0xe8, 0xab, 0x07, 0xf9, 0xc3, 0xc2, 0xfd, 0x83, 0xea, 0x58, 0x38, 0xaa, 0x47, - 0x52, 0xfb, 0x98, 0x29, 0xd7, 0xdf, 0xfc, 0x22, 0x34, 0xae, 0x8d, 0x42, 0xa3, 0x92, 0xb1, 0x95, - 0x50, 0xc1, 0x3f, 0xfe, 0xd3, 0x28, 0x29, 0x93, 0x02, 0xa4, 0x9d, 0xa6, 0xc7, 0x5c, 0x4d, 0xfb, - 0x1c, 0x14, 0xda, 0x2c, 0x1a, 0xae, 0xcf, 0x43, 0xb0, 0xc6, 0xb7, 0xf1, 0xfd, 0xc4, 0x05, 0x29, - 0x10, 0xfe, 0x27, 0x34, 0xde, 0xee, 0x58, 0xf4, 0xac, 0xd7, 0xaa, 0xb6, 0xdd, 0x6e, 0xcd, 0x1a, - 0xb8, 0xa7, 0x6e, 0xcf, 0x31, 0x31, 0xa3, 0x64, 0xa3, 0xbb, 0x2d, 0xdb, 0x6d, 0x3f, 0x6d, 0x9f, - 0x61, 0xcb, 0xa9, 0x0d, 0x6a, 0x96, 0x65, 0xd6, 0xd8, 0xde, 0x83, 0xea, 0xa3, 0xf7, 0x1e, 0x1d, - 0xf9, 0xb8, 0xd3, 0x25, 0x0e, 0x45, 0x40, 0x12, 0xb2, 0x58, 0xfe, 0x32, 0x07, 0x4a, 0x6d, 0xd7, - 0xa1, 0xbe, 0x6b, 0xdb, 0x44, 0xd8, 0x5f, 0xe7, 0xf6, 0x7f, 0x34, 0x0a, 0x8d, 0x5d, 0x69, 0x5f, - 0xc1, 0x17, 0xb2, 0x84, 0x62, 0xc2, 0xc9, 0x56, 0xd1, 0x07, 0xc0, 0xf5, 0x71, 0xdb, 0x26, 0x7c, - 0x01, 0x1b, 0x7c, 0x01, 0x9f, 0x8c, 0x42, 0xa3, 0x2c, 0x16, 0x90, 0x60, 0x0b, 0x31, 0xbe, 0x21, - 0xf8, 0x98, 0xe1, 0xef, 0x80, 0x92, 0x4f, 0x02, 0xe2, 0x3f, 0x23, 0x4d, 0x9e, 0xb3, 0x81, 0x0e, - 0x0e, 0xf2, 0x87, 0x1b, 0xf5, 0xbd, 0x64, 0xf7, 0x2a, 0x0e, 0x51, 0x51, 0x0a, 0x1e, 0xf3, 0xb1, - 0xf6, 0x0c, 0x94, 0xe9, 0xa0, 0x79, 0x4a, 0x48, 0xd3, 0x23, 0x7e, 0x9b, 0x38, 0x14, 0x77, 0x88, - 0x5e, 0xe0, 0x3b, 0xf8, 0x2e, 0xcb, 0x90, 0x7f, 0x84, 0xc6, 0x9d, 0xd4, 0x82, 0x65, 0xed, 0x8a, - 0x3f, 0x77, 0x03, 0xf3, 0x69, 0xb4, 0x3e, 0xd2, 0x1e, 0x85, 0x86, 0x2e, 0xcb, 0x28, 0x4b, 0x08, - 0xd1, 0x16, 0x1d, 0x1c, 0x11, 0x72, 0x1c, 0x4b, 0xb4, 0x9f, 0x82, 0x1d, 0x32, 0xb0, 0x68, 0xd6, - 0xf2, 0x26, 0xb7, 0xfc, 0xfe, 0xdc, 0x96, 0x65, 0x16, 0x4f, 0xa0, 0x84, 0xa8, 0xcc, 0xa4, 0xaa, - 0xf5, 0xb7, 0x40, 0x81, 0x69, 0x61, 0xd3, 0xf4, 0x49, 0x10, 0xe8, 0xc5, 0x6c, 0xd5, 0xa6, 0x40, - 0x88, 0xc0, 0x29, 0x21, 0x0f, 0xc4, 0x40, 0x6b, 0x83, 0x4a, 0xe4, 0xd0, 0xbe, 0x45, 0xcf, 0x4c, - 0x1f, 0xf7, 0xb1, 0x1d, 0xf3, 0x94, 0x38, 0xcf, 0xed, 0x51, 0x68, 0xbc, 0xa6, 0x3a, 0x7f, 0x5c, - 0x17, 0x22, 0x5d, 0x82, 0x4f, 0x62, 0x2c, 0x32, 0x72, 0x02, 0x40, 0x17, 0x0f, 0x9a, 0x41, 0xcf, - 0xf3, 0xec, 0xa1, 0xbe, 0x75, 0x90, 0x3b, 0x2c, 0xdc, 0xdf, 0xab, 0x8a, 0x9d, 0x57, 0xd9, 0xb1, - 0x19, 0x97, 0xf4, 0x43, 0xd7, 0x72, 0xea, 0x7b, 0xb2, 0x92, 0x65, 0xb6, 0x25, 0x53, 0x21, 0xda, - 0xe8, 0xe2, 0xc1, 0x09, 0xff, 0xad, 0xfd, 0x2e, 0x07, 0x76, 0x5d, 0xdf, 0x24, 0x7e, 0xf3, 0xb3, - 0x1e, 0x76, 0xa8, 0x45, 0x87, 0x4d, 0xdb, 0xea, 0x5a, 0x34, 0xd0, 0xb7, 0xf9, 0x89, 0x71, 0x81, - 0x81, 0x63, 0x69, 0xe0, 0x95, 0x28, 0x9d, 0x27, 0xb0, 0xb0, 0xc3, 0xe2, 0x70, 0x86, 0x70, 0x31, - 0xc2, 0x00, 0xed, 0x70, 0x8e, 0x8f, 0x24, 0xc5, 0xfb, 0x9c, 0x41, 0x23, 0xa0, 0x10, 0x60, 0x87, - 0x51, 0xfa, 0x98, 0x12, 0xbd, 0xcc, 0x9d, 0xf9, 0x68, 0xee, 0x54, 0x90, 0x21, 0x4c, 0x51, 0x41, - 0x04, 0xc4, 0x08, 0x61, 0x4a, 0xb4, 0x5f, 0xe7, 0x80, 0x2e, 0xc1, 0x2e, 0xf6, 0x3b, 0x96, 0x93, - 0xce, 0x3f, 0x8d, 0x1b, 0xfd, 0x68, 0x6e, 0xa3, 0x86, 0x62, 0x74, 0x8c, 0x17, 0xa2, 0x1b, 0x02, - 0x6a, 0x70, 0x44, 0xcd, 0x44, 0x6c, 0xdb, 0x6e, 0xbf, 0x19, 0x10, 0xdb, 0x0e, 0xf4, 0x9d, 0x83, - 0xdc, 0xe1, 0x7a, 0x3a, 0x13, 0x53, 0x20, 0x44, 0x80, 0x8f, 0x4e, 0xd8, 0x40, 0xfb, 0x09, 0xd8, - 0x13, 0xd8, 0x78, 0x8e, 0x05, 0xfa, 0x75, 0x4e, 0xf3, 0x7f, 0xa3, 0xd0, 0x38, 0x48, 0xd3, 0x4c, - 0x50, 0x85, 0xe8, 0x26, 0xc7, 0x50, 0x36, 0x19, 0x03, 0xed, 0x4d, 0x00, 0xb0, 0xed, 0x9d, 0xe1, - 0x26, 0xbb, 0x46, 0xf4, 0x5d, 0x4e, 0xb9, 0x9b, 0xe4, 0x59, 0x82, 0x41, 0xb4, 0xc1, 0x07, 0xfc, - 0x36, 0xb6, 0xc0, 0x66, 0x0b, 0xd3, 0xf6, 0x59, 0x93, 0x9f, 0x64, 0x81, 0x7e, 0x83, 0x7b, 0xf4, - 0x48, 0x7a, 0xf4, 0xff, 0x67, 0xf0, 0xe8, 0xc7, 0x96, 0x43, 0x47, 0xa1, 0xb1, 0x23, 0x2f, 0xf0, - 0x14, 0x19, 0x44, 0x05, 0x3e, 0xac, 0xf3, 0x91, 0xf6, 0x19, 0xd8, 0x72, 0x7b, 0xb4, 0xed, 0x76, - 0x49, 0xd3, 0xc3, 0x43, 0x76, 0x36, 0xea, 0x37, 0xb9, 0xb5, 0x77, 0xe7, 0x88, 0xdf, 0x7b, 0xdc, - 0xd8, 0x0d, 0x99, 0xda, 0x2a, 0x1d, 0x44, 0x25, 0x29, 0x39, 0x16, 0x02, 0xed, 0x7b, 0x60, 0x2b, - 0xba, 0xce, 0xa2, 0xa2, 0xd7, 0xb9, 0xc9, 0xbb, 0xe7, 0xa1, 0x91, 0x85, 0x12, 0xde, 0x0c, 0x00, - 0x51, 0x49, 0x4a, 0x64, 0xc9, 0xc3, 0x9b, 0x60, 0x57, 0x69, 0x6a, 0x10, 0x09, 0x3c, 0xd7, 0x09, - 0x08, 0xfc, 0xdb, 0x32, 0x28, 0x34, 0x82, 0xce, 0x3b, 0xa6, 0x45, 0xaf, 0xd4, 0xec, 0x44, 0x4d, - 0xcc, 0xd2, 0x1c, 0x4d, 0x4c, 0x7e, 0xf6, 0x26, 0xe6, 0xf1, 0xb4, 0x43, 0x45, 0x34, 0x42, 0x07, - 0x97, 0x9d, 0x1a, 0x93, 0x4f, 0x82, 0xb7, 0xd4, 0x93, 0x60, 0x25, 0xbb, 0x9e, 0xa9, 0xb5, 0xfd, - 0xe3, 0x0b, 0x4a, 0x7b, 0x95, 0xb3, 0xdc, 0xfa, 0x5f, 0x8a, 0xb5, 0x0f, 0x00, 0x31, 0x2d, 0xb5, - 0xd1, 0x49, 0xdd, 0xf3, 0x09, 0xb6, 0x98, 0x7b, 0x5e, 0xf0, 0xb1, 0x28, 0x22, 0x50, 0x92, 0xe4, - 0x51, 0xd6, 0x89, 0x2e, 0xe7, 0xf5, 0xf3, 0xd0, 0xc8, 0x20, 0xc9, 0xcd, 0xaf, 0xca, 0x21, 0x2a, - 0x0a, 0x41, 0x94, 0x72, 0xbb, 0x60, 0x27, 0x95, 0x58, 0x71, 0xc2, 0xfd, 0x39, 0x0f, 0xb6, 0x1a, - 0x41, 0xe7, 0x84, 0xd0, 0x0f, 0xc8, 0x80, 0x3e, 0x60, 0x75, 0x3d, 0x77, 0xd2, 0x3d, 0x06, 0x2b, - 0xfc, 0x40, 0x90, 0x59, 0xf7, 0xed, 0xb9, 0x8f, 0xd3, 0xcd, 0xd4, 0x11, 0x03, 0x91, 0x20, 0x63, - 0xac, 0x26, 0xb1, 0x29, 0x96, 0xf9, 0xc9, 0x58, 0x73, 0x57, 0x61, 0xe5, 0x24, 0x10, 0x09, 0xb2, - 0x4c, 0xef, 0xb6, 0xfc, 0x65, 0xc7, 0x34, 0xe9, 0xdd, 0x10, 0x28, 0x49, 0xc3, 0x51, 0x4c, 0x57, - 0xae, 0x10, 0x53, 0x41, 0x11, 0xc5, 0x74, 0x0f, 0xdc, 0xcc, 0xc4, 0x2e, 0x8e, 0xeb, 0x9f, 0x96, - 0x80, 0xd6, 0x08, 0x3a, 0x1f, 0x7b, 0xa6, 0x3c, 0x62, 0x4e, 0x28, 0xab, 0x98, 0x2b, 0x3c, 0x9e, - 0x02, 0x36, 0x71, 0xfc, 0xf1, 0xc4, 0xc5, 0x10, 0x09, 0x38, 0x53, 0x2a, 0xf9, 0x2f, 0xbb, 0x25, - 0xbe, 0xa8, 0x54, 0x96, 0x13, 0xb7, 0xaa, 0x0e, 0x4f, 0xdc, 0xaa, 0xca, 0xc7, 0x4a, 0xe5, 0x15, - 0x50, 0x19, 0x77, 0x5d, 0xec, 0xd9, 0xbf, 0xe4, 0xc1, 0x6a, 0x23, 0xe8, 0xd4, 0x7b, 0x43, 0x8d, - 0x82, 0x8d, 0x56, 0x6f, 0x28, 0x1f, 0x22, 0xc2, 0x9d, 0x4f, 0x46, 0xa1, 0xb1, 0x2d, 0xdd, 0x19, - 0x41, 0x0b, 0xd9, 0xf3, 0x3a, 0xa7, 0x63, 0x5b, 0x7e, 0x17, 0xac, 0xe2, 0xae, 0xdb, 0x73, 0x28, - 0x0f, 0xca, 0x85, 0xad, 0xdc, 0xae, 0x6c, 0xe5, 0x8a, 0xb2, 0xc0, 0xf8, 0x34, 0x88, 0xe4, 0x7c, - 0xed, 0x67, 0xa2, 0xf3, 0xf4, 0x7c, 0xab, 0x4d, 0x02, 0x3d, 0x7f, 0x59, 0x63, 0xf8, 0xce, 0x78, - 0xe7, 0x29, 0xa6, 0xce, 0xd7, 0x0d, 0xb2, 0x2e, 0xf5, 0x98, 0xcf, 0x53, 0xd2, 0x71, 0x79, 0x86, - 0x74, 0xfc, 0x00, 0x14, 0x85, 0x57, 0xd5, 0x1a, 0xfa, 0xca, 0x79, 0x68, 0xa8, 0x40, 0xf2, 0xaa, - 0x56, 0xc4, 0x10, 0x6d, 0xf2, 0x71, 0x14, 0xe9, 0x6d, 0x50, 0x12, 0xa1, 0x8c, 0xa3, 0xfb, 0x7c, - 0x09, 0xac, 0xf1, 0x9a, 0xb2, 0x6d, 0x96, 0xd4, 0xac, 0x13, 0x53, 0xe2, 0x9b, 0x4a, 0xea, 0x04, - 0x5b, 0x4c, 0x52, 0x0b, 0xbe, 0xc5, 0x46, 0x38, 0xed, 0xe0, 0xfc, 0x0c, 0x0e, 0x46, 0xa0, 0x24, - 0xb7, 0x35, 0xa1, 0x9c, 0x54, 0x24, 0x29, 0x27, 0x55, 0x0e, 0x51, 0x51, 0x08, 0x22, 0x27, 0x97, - 0xe5, 0x0d, 0x63, 0xdb, 0xb1, 0x97, 0x7f, 0x91, 0x17, 0x5e, 0xee, 0x63, 0x4f, 0xfb, 0x1c, 0x14, - 0x82, 0x3e, 0xf6, 0x3c, 0xc5, 0xcd, 0xa9, 0xef, 0x09, 0x29, 0x70, 0x31, 0xdf, 0x13, 0x24, 0x21, - 0xdb, 0x6e, 0xda, 0x3d, 0x4b, 0x33, 0xb8, 0xa7, 0x0e, 0x96, 0x4f, 0x7d, 0xb7, 0xcb, 0x5d, 0x79, - 0x61, 0x58, 0x76, 0x64, 0x58, 0x64, 0xf7, 0xc5, 0x26, 0x41, 0xc4, 0xe7, 0x32, 0x9b, 0xd4, 0x15, - 0xef, 0xf3, 0xf1, 0x9c, 0x8f, 0x10, 0x88, 0xd6, 0xa8, 0xcb, 0xdf, 0xec, 0xac, 0x07, 0x8d, 0x5c, - 0xa0, 0x66, 0x3d, 0xef, 0x41, 0x33, 0x50, 0xd2, 0x83, 0x66, 0x00, 0x88, 0x4a, 0x52, 0x92, 0x09, - 0x4b, 0x1f, 0x7b, 0x71, 0x58, 0xfe, 0xbd, 0xc4, 0xfb, 0xd2, 0x06, 0x7e, 0x4a, 0x3e, 0x54, 0x1b, - 0x61, 0x5e, 0x0a, 0x8e, 0x39, 0xbd, 0x14, 0x22, 0x6c, 0x51, 0xa5, 0xc0, 0xf8, 0x98, 0xc7, 0x9f, - 0x28, 0xa5, 0xb0, 0x51, 0x7f, 0x7b, 0xee, 0x5e, 0x7f, 0x91, 0x95, 0xc1, 0x77, 0x39, 0xb1, 0x32, - 0xd2, 0x48, 0xba, 0x32, 0xd2, 0x72, 0x5e, 0x19, 0x4c, 0x10, 0x85, 0xc0, 0x00, 0xaf, 0x4e, 0x74, - 0x77, 0x1c, 0x90, 0x3f, 0x2c, 0x81, 0xed, 0x46, 0xd0, 0x89, 0x9e, 0x69, 0x27, 0x67, 0xd8, 0x27, - 0xda, 0xcf, 0x73, 0xa0, 0xe8, 0x93, 0xb6, 0xe5, 0x59, 0xc4, 0xa1, 0xa9, 0x78, 0xfc, 0x30, 0x39, - 0xf4, 0x14, 0x78, 0x21, 0x21, 0xd9, 0x8c, 0x29, 0xaf, 0x52, 0x37, 0x9f, 0x82, 0x72, 0xb2, 0xa4, - 0xc8, 0x7f, 0xc2, 0xeb, 0xf7, 0xce, 0x43, 0x63, 0x1c, 0x4c, 0xbe, 0x2e, 0x8d, 0x41, 0x10, 0x6d, - 0xc7, 0xb2, 0xc8, 0x91, 0x15, 0xa0, 0x67, 0xdd, 0x14, 0xfb, 0xf0, 0xf7, 0x79, 0xde, 0x09, 0x45, - 0xa0, 0x7c, 0xf9, 0xf2, 0x4f, 0x89, 0xd1, 0xc3, 0x58, 0x49, 0xeb, 0xd4, 0xa7, 0x44, 0x15, 0x5f, - 0xcc, 0xa7, 0xc4, 0x84, 0x93, 0x39, 0x86, 0xa6, 0xd2, 0xfb, 0x92, 0xdb, 0xf7, 0xc1, 0xc4, 0x93, - 0x7e, 0xae, 0x9b, 0xf7, 0xaa, 0xb9, 0xdf, 0x02, 0x5a, 0xca, 0x15, 0x6a, 0xfe, 0xbf, 0x71, 0x1e, - 0x1a, 0x13, 0xd0, 0x51, 0x68, 0xec, 0x8d, 0x39, 0x31, 0x8e, 0x60, 0x39, 0x11, 0xaa, 0x4d, 0x57, - 0x26, 0x4a, 0x51, 0x10, 0xef, 0xff, 0x66, 0x0d, 0xe4, 0x1b, 0x41, 0x47, 0xfb, 0x04, 0x80, 0xd4, - 0xbf, 0x02, 0x26, 0x7d, 0xf6, 0x56, 0xde, 0xd5, 0x95, 0xc3, 0xcb, 0x34, 0x22, 0x0b, 0x1a, 0x02, - 0xeb, 0xf1, 0xab, 0x7b, 0x7f, 0xf2, 0xac, 0x08, 0xaf, 0xdc, 0xb9, 0x18, 0x8f, 0x39, 0x3f, 0x05, - 0x9b, 0xca, 0xc3, 0x0a, 0x4e, 0x9e, 0x97, 0xd6, 0xa9, 0x7c, 0xf5, 0x72, 0x9d, 0x98, 0xbf, 0x03, - 0xb6, 0xb2, 0x0d, 0xfe, 0xed, 0xc9, 0xd3, 0x33, 0x6a, 0x95, 0xbb, 0x33, 0xa9, 0xc5, 0x86, 0x1e, - 0x82, 0x3c, 0xeb, 0x77, 0xf7, 0x26, 0xcf, 0xaa, 0xf7, 0x86, 0x95, 0xd7, 0xa6, 0x42, 0x31, 0xc9, - 0x11, 0x58, 0xe6, 0x6d, 0x55, 0x65, 0xda, 0x0e, 0x6d, 0xbb, 0x02, 0xa7, 0x63, 0x0a, 0x0f, 0x6b, - 0x1c, 0xa6, 0xf1, 0xf4, 0xb1, 0x37, 0x95, 0x27, 0x75, 0xdb, 0x69, 0x1e, 0xd0, 0x26, 0xdc, 0x74, - 0x53, 0x32, 0x66, 0x5c, 0xb3, 0xf2, 0xb5, 0x59, 0x35, 0x63, 0x8b, 0x18, 0x14, 0xd5, 0xa3, 0xfc, - 0xd6, 0x64, 0x0a, 0x45, 0xa9, 0xf2, 0xfa, 0x0c, 0x4a, 0xe9, 0x94, 0xc8, 0x9e, 0x74, 0xb7, 0x2f, - 0x9e, 0x2f, 0xd5, 0xa6, 0xa5, 0xc4, 0x94, 0x8a, 0xac, 0x7f, 0xf8, 0xc5, 0x8b, 0xfd, 0xdc, 0xf3, - 0x17, 0xfb, 0xb9, 0x7f, 0xbd, 0xd8, 0xcf, 0xfd, 0xf6, 0xe5, 0xfe, 0xb5, 0xe7, 0x2f, 0xf7, 0xaf, - 0xfd, 0xfd, 0xe5, 0xfe, 0xb5, 0x1f, 0x7c, 0x7d, 0xf6, 0x33, 0x52, 0xfc, 0xdf, 0x8f, 0x1f, 0x51, - 0xad, 0x55, 0xfe, 0x0f, 0xbf, 0x37, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x64, 0x59, 0x6c, 0x62, - 0x76, 0x1c, 0x00, 0x00, + // 1545 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6e, 0x1b, 0xb7, + 0x16, 0xb6, 0x7e, 0x62, 0x5b, 0x47, 0x96, 0x6c, 0xd1, 0x71, 0x3c, 0x1e, 0xdc, 0x48, 0xbe, 0x0e, + 0x9c, 0x18, 0x37, 0xb0, 0x94, 0x38, 0xb8, 0xf7, 0x16, 0x45, 0xd1, 0x22, 0xb2, 0x6b, 0x20, 0x40, + 0xd5, 0xb8, 0xe3, 0x04, 0x29, 0xb2, 0x88, 0x4a, 0xcd, 0xd0, 0xf2, 0xc4, 0xa3, 0xe1, 0x74, 0x48, + 0xc5, 0xd2, 0xaa, 0x8b, 0xa2, 0xeb, 0xf6, 0x39, 0xba, 0xe9, 0x43, 0xb4, 0x8b, 0x2c, 0xba, 0xc8, + 0xb2, 0xe8, 0xc2, 0x2d, 0x9c, 0x4d, 0xd1, 0x27, 0x28, 0xba, 0x2a, 0x48, 0xce, 0x8c, 0x35, 0xfa, + 0xb1, 0xe5, 0x54, 0xe9, 0xca, 0xe2, 0xe1, 0xe1, 0x77, 0x78, 0x3e, 0x7e, 0xe4, 0x39, 0x1e, 0xd0, + 0xed, 0x0e, 0xad, 0x34, 0xa8, 0x6b, 0xb1, 0xca, 0x8b, 0xbb, 0x0d, 0xc2, 0xf1, 0xdd, 0x0a, 0xef, + 0x94, 0x3d, 0x9f, 0x72, 0x8a, 0x0a, 0x76, 0x87, 0x96, 0xe5, 0x5c, 0x39, 0x98, 0xd3, 0xaf, 0x36, + 0x69, 0x93, 0xca, 0xd9, 0x8a, 0xf8, 0xa5, 0x1c, 0xf5, 0xa2, 0x49, 0x59, 0x8b, 0xb2, 0x4a, 0x03, + 0x33, 0x12, 0xc1, 0x98, 0xd4, 0x76, 0x83, 0xf9, 0xeb, 0x83, 0x41, 0x14, 0xac, 0x9c, 0x5e, 0xfb, + 0x71, 0x0e, 0x72, 0x35, 0xd6, 0xdc, 0xf6, 0x09, 0xe6, 0xa4, 0x4a, 0x5d, 0x0b, 0xad, 0xc0, 0xac, + 0x70, 0xa8, 0x5b, 0xb6, 0xa5, 0x25, 0x56, 0x13, 0x1b, 0x19, 0x63, 0x46, 0x8c, 0x77, 0x6c, 0x0b, + 0x5d, 0x85, 0x2b, 0x9c, 0x1e, 0x11, 0x57, 0x4b, 0x4a, 0xbb, 0x1a, 0x20, 0x04, 0x69, 0x17, 0xb7, + 0x88, 0x96, 0x92, 0x46, 0xf9, 0x1b, 0xad, 0x42, 0xd6, 0x22, 0xcc, 0xf4, 0x6d, 0x8f, 0xdb, 0xd4, + 0xd5, 0xd2, 0x72, 0xaa, 0xd7, 0x84, 0x6e, 0x40, 0xee, 0xa0, 0xed, 0x9a, 0xe2, 0x77, 0x9d, 0x77, + 0x3d, 0xa2, 0x5d, 0x91, 0x3e, 0x73, 0xa1, 0xf1, 0x51, 0xd7, 0x23, 0xc8, 0x86, 0xc5, 0xc8, 0xc9, + 0xc3, 0x3e, 0x6e, 0x11, 0x4e, 0x7c, 0xa6, 0x4d, 0xaf, 0xa6, 0x36, 0xb2, 0x5b, 0xab, 0xe5, 0x01, + 0x8e, 0xca, 0xbb, 0x81, 0xf7, 0x9e, 0x70, 0xae, 0x5e, 0x7b, 0x79, 0x52, 0x9a, 0xfa, 0xf6, 0x97, + 0x52, 0x3e, 0x66, 0x66, 0x06, 0x3a, 0xe8, 0x1d, 0x4b, 0x4c, 0x64, 0x41, 0xd6, 0x14, 0x24, 0x50, + 0x5f, 0x66, 0x3e, 0x23, 0x76, 0x53, 0xdd, 0xfe, 0xf3, 0xa4, 0xf4, 0x41, 0xd3, 0xe6, 0x87, 0xed, + 0x46, 0xd9, 0xa4, 0xad, 0x8a, 0xdd, 0xa1, 0x07, 0xb4, 0xed, 0x5a, 0x58, 0x2c, 0x16, 0xa3, 0xcd, + 0x86, 0x43, 0xcd, 0x23, 0xf3, 0x10, 0xdb, 0x6e, 0xa5, 0x53, 0xb1, 0x6d, 0xab, 0x22, 0x72, 0x61, + 0xe5, 0x9d, 0x07, 0x3b, 0xbb, 0x3e, 0x6e, 0xb6, 0x88, 0xcb, 0x0d, 0x08, 0x70, 0x05, 0x83, 0xcf, + 0x21, 0x6f, 0x52, 0x97, 0xfb, 0xd4, 0x71, 0x88, 0x0a, 0x34, 0x3b, 0xb9, 0x40, 0xb9, 0x33, 0x68, + 0x11, 0xab, 0x01, 0x40, 0x7d, 0x6c, 0x3a, 0x44, 0xc6, 0xc9, 0x4c, 0x2e, 0x4e, 0x46, 0xc1, 0x8a, + 0x18, 0xeb, 0x90, 0xf7, 0x09, 0x23, 0xfe, 0x0b, 0x52, 0x97, 0x62, 0x60, 0x1a, 0xac, 0xa6, 0x36, + 0x32, 0x46, 0x2e, 0xb0, 0x3e, 0x92, 0x46, 0xf4, 0x14, 0x0a, 0xbc, 0x53, 0x3f, 0x20, 0xa4, 0xee, + 0x11, 0xdf, 0x24, 0x2e, 0xc7, 0x4d, 0xa2, 0x65, 0xe5, 0x8e, 0xca, 0xe2, 0x8c, 0x7e, 0x3e, 0x29, + 0xdd, 0xec, 0xd9, 0x55, 0x20, 0x69, 0xf5, 0x67, 0x93, 0x59, 0x47, 0xe1, 0x26, 0x88, 0x69, 0xcc, + 0xf3, 0xce, 0x2e, 0x21, 0x7b, 0x11, 0x0c, 0x7a, 0x06, 0x8b, 0xa4, 0x63, 0xf3, 0x7e, 0xf4, 0xb9, + 0x37, 0x42, 0x2f, 0x08, 0xa8, 0x38, 0x7e, 0x09, 0xb2, 0x02, 0x1a, 0x5b, 0x96, 0x4f, 0x18, 0xd3, + 0x72, 0x52, 0xa6, 0x70, 0x40, 0xc8, 0x7d, 0x65, 0x41, 0xef, 0x81, 0x1e, 0x72, 0x70, 0x6c, 0xf3, + 0x43, 0xcb, 0xc7, 0xc7, 0xd8, 0x89, 0xfc, 0xf3, 0xd2, 0x5f, 0x0b, 0x3c, 0x9e, 0x44, 0x0e, 0xe1, + 0xea, 0xf7, 0x01, 0x5a, 0xb8, 0x53, 0x67, 0x6d, 0xcf, 0x73, 0xba, 0xda, 0xfc, 0x6a, 0x62, 0x23, + 0xbb, 0xb5, 0x52, 0x56, 0x9b, 0x2b, 0x8b, 0x4b, 0x1d, 0x69, 0x7b, 0x9b, 0xda, 0x6e, 0x35, 0x2d, + 0x12, 0x32, 0x32, 0x2d, 0xdc, 0xd9, 0x97, 0x2b, 0xd0, 0x17, 0xb0, 0x44, 0x7d, 0x8b, 0xf8, 0xf5, + 0xcf, 0xdb, 0xd8, 0xe5, 0x36, 0xef, 0xd6, 0x1d, 0xbb, 0x65, 0x73, 0xa6, 0x2d, 0xc8, 0x4b, 0x72, + 0x0e, 0xd4, 0x9d, 0xe0, 0x76, 0x6c, 0x8c, 0xc1, 0x8d, 0x58, 0xc0, 0x8c, 0x45, 0x19, 0xe9, 0x93, + 0x20, 0xd0, 0x47, 0x32, 0x0e, 0x7a, 0x08, 0x59, 0x86, 0x5d, 0x11, 0xd8, 0xc7, 0x9c, 0x68, 0x85, + 0x37, 0xe2, 0x1d, 0x14, 0x84, 0x81, 0x39, 0x41, 0x87, 0xa0, 0x05, 0x80, 0x2d, 0xec, 0x37, 0x6d, + 0xb7, 0xf7, 0x54, 0xd1, 0x1b, 0xa1, 0x5f, 0x53, 0x78, 0x35, 0x09, 0x17, 0x3f, 0x5a, 0xec, 0x38, + 0xf4, 0xb8, 0xce, 0x88, 0xe3, 0x30, 0x6d, 0x71, 0x35, 0xb1, 0x31, 0x6b, 0x80, 0x34, 0xed, 0x0b, + 0x0b, 0x7a, 0x17, 0x56, 0x94, 0xc3, 0xe0, 0x01, 0x33, 0xed, 0xaa, 0x74, 0x5f, 0x96, 0x0e, 0x46, + 0xff, 0xf1, 0x32, 0x74, 0x1d, 0x00, 0x3b, 0xde, 0x21, 0xae, 0x8b, 0x17, 0x4a, 0x5b, 0x92, 0xce, + 0x19, 0x69, 0x91, 0xcf, 0xac, 0x01, 0x73, 0x0d, 0xcc, 0xcd, 0xc3, 0xba, 0xbc, 0x70, 0x4c, 0xbb, + 0x26, 0x33, 0xab, 0x04, 0x99, 0xdd, 0x1a, 0x23, 0xb3, 0xc7, 0xb6, 0xcb, 0x8d, 0xac, 0x04, 0xa9, + 0x4a, 0x0c, 0xf4, 0x04, 0xe6, 0x69, 0x9b, 0x9b, 0xb4, 0x45, 0xea, 0x1e, 0xee, 0x8a, 0xbb, 0xaa, + 0x2d, 0x5f, 0x9a, 0xb0, 0x07, 0x2e, 0x37, 0xf2, 0x01, 0xcc, 0x9e, 0x42, 0x41, 0xb7, 0x60, 0x3e, + 0x7c, 0x1c, 0x43, 0x5d, 0x6b, 0x52, 0xd7, 0xf9, 0xc0, 0x1c, 0xa8, 0x79, 0x6d, 0x19, 0x96, 0x62, + 0xd5, 0xc4, 0x20, 0xcc, 0xa3, 0x2e, 0x23, 0x6b, 0x7f, 0x24, 0x21, 0x5b, 0x63, 0xcd, 0x0f, 0x2d, + 0x9b, 0x5f, 0x54, 0x65, 0xc2, 0x7a, 0x92, 0x1c, 0x5d, 0x4f, 0x52, 0x83, 0xf5, 0x64, 0x6b, 0xd4, + 0x3d, 0x50, 0xb5, 0x67, 0xa8, 0x74, 0x4b, 0x71, 0xe9, 0xaa, 0x0a, 0xd4, 0x2b, 0xc5, 0x77, 0xce, + 0x91, 0xe2, 0xb4, 0xf4, 0x1e, 0x25, 0xad, 0x06, 0x00, 0xb1, 0xec, 0xb7, 0x50, 0x4d, 0x32, 0x0a, + 0x36, 0x78, 0x7c, 0x83, 0x18, 0xe1, 0xa1, 0xc8, 0x62, 0x62, 0xe4, 0x94, 0x35, 0x3c, 0x93, 0x25, + 0x58, 0xec, 0x61, 0x3e, 0x3a, 0x91, 0xef, 0x93, 0x30, 0x5f, 0x63, 0xcd, 0x7d, 0xc2, 0x3f, 0x26, + 0x1d, 0x7e, 0x5f, 0x08, 0xf3, 0xbc, 0x53, 0xd9, 0x81, 0x2b, 0x52, 0xbc, 0xea, 0x58, 0x2e, 0x7d, + 0x05, 0xd5, 0x62, 0x81, 0x62, 0x11, 0x87, 0x63, 0x75, 0x82, 0x12, 0x25, 0x71, 0x19, 0x14, 0xb9, + 0xb8, 0xaf, 0xb2, 0xa5, 0xdf, 0x56, 0x65, 0x0b, 0x62, 0x84, 0xe4, 0x2a, 0x79, 0xe4, 0x94, 0x35, + 0x24, 0x77, 0x05, 0x96, 0xfb, 0x48, 0x8c, 0x08, 0x7e, 0x95, 0x00, 0x54, 0x63, 0xcd, 0xc7, 0x9e, + 0x15, 0x5c, 0x86, 0x7d, 0x2e, 0x34, 0x75, 0x7e, 0x7f, 0xc5, 0x84, 0x4f, 0xd8, 0x5f, 0xc9, 0x41, + 0x9f, 0x94, 0x52, 0xff, 0x90, 0x94, 0xd2, 0xc3, 0xa4, 0xf4, 0x2f, 0xd0, 0x07, 0x33, 0x8a, 0x12, + 0x3e, 0x4d, 0xc2, 0x74, 0x8d, 0x35, 0xab, 0xed, 0x2e, 0xfa, 0x0c, 0x32, 0x8d, 0x76, 0x37, 0x68, + 0x71, 0x12, 0x93, 0xdb, 0xf2, 0xac, 0x44, 0x15, 0x3b, 0xfe, 0x3f, 0x4c, 0xe3, 0x16, 0x6d, 0xbb, + 0x5c, 0x92, 0x35, 0x46, 0xcd, 0x0c, 0xdc, 0xd1, 0x73, 0x55, 0x70, 0x3d, 0xdf, 0x36, 0x09, 0xd3, + 0x52, 0x93, 0xaf, 0x92, 0xa2, 0x38, 0xef, 0x49, 0xf4, 0xd8, 0x59, 0xa7, 0xe3, 0x67, 0xfd, 0x3f, + 0xc8, 0x29, 0x86, 0x62, 0xf2, 0xaa, 0x16, 0x7e, 0x3f, 0x29, 0xc5, 0x27, 0x8c, 0x39, 0x39, 0x0c, + 0x8f, 0x60, 0x01, 0xf2, 0x8a, 0xe3, 0x88, 0xf6, 0xdf, 0x12, 0x30, 0x23, 0x35, 0xe8, 0x38, 0x42, + 0x2b, 0xa2, 0x96, 0x4d, 0x9e, 0xf8, 0x8c, 0x82, 0xfd, 0x5b, 0xcc, 0xf7, 0xb2, 0x91, 0x8a, 0xb3, + 0xb1, 0x0e, 0xf9, 0x60, 0xdf, 0x7d, 0xfa, 0x53, 0xd6, 0x30, 0xf9, 0x42, 0xf0, 0x64, 0x39, 0x4e, + 0x94, 0xfd, 0x97, 0x49, 0x95, 0xfd, 0x31, 0xf6, 0x44, 0x0f, 0xcf, 0x8e, 0xb1, 0xe7, 0x4d, 0x3e, + 0x7d, 0x08, 0x70, 0xc5, 0x5e, 0x7b, 0xd3, 0x48, 0xc6, 0xd3, 0xb8, 0x07, 0xe9, 0x03, 0x9f, 0xb6, + 0x64, 0x76, 0x63, 0x10, 0x23, 0x9d, 0x05, 0x1e, 0xa7, 0xaa, 0x7d, 0x0e, 0x45, 0xc2, 0xa9, 0x6c, + 0x9c, 0x45, 0xdd, 0x0d, 0x13, 0x8a, 0xbf, 0x42, 0xf9, 0xc0, 0xdc, 0x47, 0xcc, 0x31, 0xf6, 0x22, + 0x62, 0xbe, 0x4a, 0xca, 0x5a, 0x5c, 0xc3, 0x47, 0xe4, 0x61, 0xbc, 0x9a, 0x4b, 0x91, 0xb8, 0xd6, + 0x5b, 0x11, 0x89, 0x80, 0x15, 0x4c, 0xec, 0xc6, 0x44, 0x72, 0xf9, 0x0e, 0x64, 0x5c, 0xcd, 0xc8, + 0x34, 0x06, 0x34, 0x23, 0xac, 0x21, 0x35, 0x25, 0xb8, 0x3e, 0x94, 0x86, 0x88, 0xa8, 0x1f, 0x12, + 0xb0, 0x50, 0x63, 0xcd, 0xb0, 0x77, 0xdb, 0x3f, 0xc4, 0xbe, 0x68, 0x42, 0x73, 0x3e, 0x31, 0x6d, + 0xcf, 0x26, 0x2e, 0x9f, 0x34, 0x4d, 0x73, 0x11, 0xf2, 0x05, 0x72, 0xba, 0x0d, 0x85, 0xb3, 0x4d, + 0x84, 0x49, 0x2a, 0x16, 0x16, 0xa2, 0x89, 0x30, 0x4f, 0x1d, 0xb4, 0xfe, 0x2c, 0xa2, 0x14, 0xbf, + 0x4b, 0xca, 0x52, 0x14, 0x4e, 0x06, 0xdd, 0xaa, 0xf8, 0x6f, 0x34, 0x6c, 0x68, 0x27, 0x2f, 0x86, + 0xdc, 0x19, 0xb4, 0xc8, 0xc5, 0xec, 0x11, 0xc4, 0xc4, 0x9f, 0xdc, 0x31, 0xd4, 0xb2, 0x09, 0xa8, + 0x27, 0xd7, 0xb8, 0x62, 0x0a, 0x67, 0x33, 0xf1, 0x4a, 0xd7, 0x47, 0x58, 0xc8, 0xe7, 0xd6, 0xd7, + 0x33, 0x90, 0xaa, 0xb1, 0x26, 0xfa, 0x14, 0xa0, 0xe7, 0xcb, 0xc9, 0xb0, 0x0f, 0x12, 0xb1, 0x6e, + 0x58, 0xdf, 0xb8, 0xc8, 0x23, 0x8c, 0x80, 0x0c, 0x98, 0x8d, 0x7a, 0xe5, 0xe2, 0xf0, 0x55, 0xe1, + 0xbc, 0x7e, 0xf3, 0xfc, 0xf9, 0x08, 0xf3, 0x19, 0xcc, 0xc5, 0xba, 0xbd, 0xb5, 0xe1, 0xeb, 0x7a, + 0x7d, 0xf4, 0xff, 0x5c, 0xec, 0x13, 0xe1, 0x37, 0x61, 0xbe, 0xbf, 0xd9, 0x59, 0x1f, 0xbe, 0xbc, + 0xcf, 0x4d, 0xdf, 0x1c, 0xcb, 0x2d, 0x0a, 0xb4, 0x0d, 0x29, 0xd1, 0x64, 0xac, 0x0c, 0x5f, 0x55, + 0x6d, 0x77, 0xf5, 0x7f, 0x8f, 0x9c, 0x8a, 0x40, 0x76, 0x21, 0x2d, 0x4b, 0xa6, 0x3e, 0x2a, 0x43, + 0xc7, 0xd1, 0xd7, 0x46, 0xcf, 0xc5, 0x70, 0x44, 0xf1, 0x19, 0x85, 0x73, 0x8c, 0xbd, 0x91, 0x38, + 0x3d, 0xef, 0x35, 0xf2, 0x00, 0x0d, 0x79, 0xab, 0x47, 0x28, 0x66, 0xd0, 0x53, 0xbf, 0x33, 0xae, + 0x67, 0x14, 0x11, 0x43, 0x2e, 0xfe, 0xe8, 0xdd, 0x18, 0x0e, 0x11, 0x73, 0xd2, 0x6f, 0x8f, 0xe1, + 0xd4, 0x2b, 0x89, 0xfe, 0x47, 0x67, 0xfd, 0xfc, 0xf5, 0x81, 0xdb, 0x28, 0x49, 0x8c, 0xb8, 0x91, + 0xd5, 0x87, 0x2f, 0x4f, 0x8b, 0x89, 0x57, 0xa7, 0xc5, 0xc4, 0xaf, 0xa7, 0xc5, 0xc4, 0x37, 0xaf, + 0x8b, 0x53, 0xaf, 0x5e, 0x17, 0xa7, 0x7e, 0x7a, 0x5d, 0x9c, 0x7a, 0xfa, 0xdf, 0xf1, 0x1f, 0x32, + 0xf5, 0x99, 0x54, 0x3e, 0x2c, 0x8d, 0x69, 0xf9, 0x7d, 0xf4, 0xde, 0x5f, 0x01, 0x00, 0x00, 0xff, + 0xff, 0x5e, 0xec, 0x56, 0x8c, 0xa5, 0x15, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/claims/keeper/grpc_query.go b/x/claims/keeper/grpc_query.go index 0f173047..f5a5eae6 100644 --- a/x/claims/keeper/grpc_query.go +++ b/x/claims/keeper/grpc_query.go @@ -11,24 +11,34 @@ import ( "google.golang.org/grpc/status" ) -var _ types.QueryServer = Keeper{} +var _ types.QueryServer = Querier{} -func (k Keeper) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { +// Querier defines a wrapper around the x/claims keeper providing gRPC method +// handlers. +type Querier struct { + Keeper +} + +func NewQuerier(k Keeper) Querier { + return Querier{Keeper: k} +} + +func (q Querier) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - return &types.QueryParamsResponse{Params: k.GetParams(ctx)}, nil + return &types.QueryParamsResponse{Params: q.Keeper.GetParams(ctx)}, nil } -func (k Keeper) Collection(c context.Context, req *types.QueryCollectionRequest) (*types.QueryCollectionResponse, error) { +func (q Querier) Collection(c context.Context, req *types.QueryCollectionRequest) (*types.QueryCollectionResponse, error) { if req == nil || req.Id == "" { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - collection, err := k.GetCollection(ctx, req.Id) + collection, err := q.Keeper.GetCollection(ctx, req.Id) if err != nil { return nil, err } @@ -36,18 +46,18 @@ func (k Keeper) Collection(c context.Context, req *types.QueryCollectionRequest) return &types.QueryCollectionResponse{Collection: collection}, nil } -func (k Keeper) CollectionList(c context.Context, req *types.QueryCollectionListRequest) (*types.QueryCollectionListResponse, error) { +func (q Querier) CollectionList(c context.Context, req *types.QueryCollectionListRequest) (*types.QueryCollectionListResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } var collections []types.Collection ctx := sdk.UnwrapSDKContext(c) - collectionsStore := prefix.NewStore(ctx.KVStore(k.storeKey), types.CollectionKey) + collectionsStore := prefix.NewStore(ctx.KVStore(q.Keeper.storeKey), types.CollectionKey) pageRes, err := query.Paginate(collectionsStore, req.Pagination, func(key []byte, value []byte) error { var collection types.Collection - if err := k.cdc.Unmarshal(value, &collection); err != nil { + if err := q.Keeper.cdc.Unmarshal(value, &collection); err != nil { return err } @@ -62,13 +72,13 @@ func (k Keeper) CollectionList(c context.Context, req *types.QueryCollectionList return &types.QueryCollectionListResponse{Collections: collections, Pagination: pageRes}, nil } -func (k Keeper) Claim(c context.Context, req *types.QueryClaimRequest) (*types.QueryClaimResponse, error) { +func (q Querier) Claim(c context.Context, req *types.QueryClaimRequest) (*types.QueryClaimResponse, error) { if req == nil || req.Id == "" { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - claim, err := k.GetClaim(ctx, req.Id) + claim, err := q.Keeper.GetClaim(ctx, req.Id) if err != nil { return nil, err } @@ -76,18 +86,18 @@ func (k Keeper) Claim(c context.Context, req *types.QueryClaimRequest) (*types.Q return &types.QueryClaimResponse{Claim: claim}, nil } -func (k Keeper) ClaimList(c context.Context, req *types.QueryClaimListRequest) (*types.QueryClaimListResponse, error) { +func (q Querier) ClaimList(c context.Context, req *types.QueryClaimListRequest) (*types.QueryClaimListResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } var claims []types.Claim ctx := sdk.UnwrapSDKContext(c) - claimsStore := prefix.NewStore(ctx.KVStore(k.storeKey), types.ClaimKey) + claimsStore := prefix.NewStore(ctx.KVStore(q.Keeper.storeKey), types.ClaimKey) pageRes, err := query.Paginate(claimsStore, req.Pagination, func(key []byte, value []byte) error { var claim types.Claim - if err := k.cdc.Unmarshal(value, &claim); err != nil { + if err := q.Keeper.cdc.Unmarshal(value, &claim); err != nil { return err } @@ -102,13 +112,13 @@ func (k Keeper) ClaimList(c context.Context, req *types.QueryClaimListRequest) ( return &types.QueryClaimListResponse{Claims: claims, Pagination: pageRes}, nil } -func (k Keeper) Dispute(c context.Context, req *types.QueryDisputeRequest) (*types.QueryDisputeResponse, error) { +func (q Querier) Dispute(c context.Context, req *types.QueryDisputeRequest) (*types.QueryDisputeResponse, error) { if req == nil || req.Proof == "" { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - Dispute, err := k.GetDispute(ctx, req.Proof) + Dispute, err := q.Keeper.GetDispute(ctx, req.Proof) if err != nil { return nil, err } @@ -116,18 +126,18 @@ func (k Keeper) Dispute(c context.Context, req *types.QueryDisputeRequest) (*typ return &types.QueryDisputeResponse{Dispute: Dispute}, nil } -func (k Keeper) DisputeList(c context.Context, req *types.QueryDisputeListRequest) (*types.QueryDisputeListResponse, error) { +func (q Querier) DisputeList(c context.Context, req *types.QueryDisputeListRequest) (*types.QueryDisputeListResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } var disputes []types.Dispute ctx := sdk.UnwrapSDKContext(c) - disputesStore := prefix.NewStore(ctx.KVStore(k.storeKey), types.DisputeKey) + disputesStore := prefix.NewStore(ctx.KVStore(q.Keeper.storeKey), types.DisputeKey) pageRes, err := query.Paginate(disputesStore, req.Pagination, func(key []byte, value []byte) error { var dispute types.Dispute - if err := k.cdc.Unmarshal(value, &dispute); err != nil { + if err := q.Keeper.cdc.Unmarshal(value, &dispute); err != nil { return err } diff --git a/x/claims/keeper/payments.go b/x/claims/keeper/payments.go index 6c6c83d5..6a42a1bd 100644 --- a/x/claims/keeper/payments.go +++ b/x/claims/keeper/payments.go @@ -82,7 +82,7 @@ func processPayment(ctx sdk.Context, k Keeper, receiver sdk.AccAddress, payment } oracleFeePercentage := types.OneHundred.Sub(nodeFeePercentage).Sub(ixoFeePercentage) - // Get ixo netowrk address + // Get ixo network address ixoAddress, err := sdk.AccAddressFromBech32(params.IxoAccount) if err != nil { return err diff --git a/x/claims/keeper/querier.go b/x/claims/keeper/querier.go deleted file mode 100644 index 7a79de61..00000000 --- a/x/claims/keeper/querier.go +++ /dev/null @@ -1,21 +0,0 @@ -package keeper - -import ( - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - abci "github.com/tendermint/tendermint/abci/types" -) - -const ( - QueryClaims = "queryClaims" -) - -func NewQuerier(k Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return func(ctx sdk.Context, path []string, req abci.RequestQuery) (res []byte, err error) { - switch path[0] { - default: - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "Unknown claims query endpoint") - } - } -} diff --git a/x/claims/module.go b/x/claims/module.go index 06f3c6f1..94c8276e 100644 --- a/x/claims/module.go +++ b/x/claims/module.go @@ -3,6 +3,7 @@ package claims import ( "context" "encoding/json" + "fmt" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" @@ -124,13 +125,15 @@ func (AppModule) QuerierRoute() string { // LegacyQuerierHandler returns the module sdk.Querier. func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return keeper.NewQuerier(am.keeper, legacyQuerierCdc) + return func(sdk.Context, []string, abci.RequestQuery) ([]byte, error) { + return nil, fmt.Errorf("legacy querier not supported for the x/%s module", types.ModuleName) + } } // RegisterServices registers module services. func (am AppModule) RegisterServices(cfg module.Configurator) { types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) - types.RegisterQueryServer(cfg.QueryServer(), am.keeper) + types.RegisterQueryServer(cfg.QueryServer(), keeper.NewQuerier(am.keeper)) } // InitGenesis performs genesis initialization for the module. It returns diff --git a/x/entity/ante/decorators.go b/x/entity/ante/decorators.go index e2bfa19b..b7ff4b9b 100644 --- a/x/entity/ante/decorators.go +++ b/x/entity/ante/decorators.go @@ -34,5 +34,5 @@ func (dec BlockNftContractTransferForEntityDecorator) AnteHandle(ctx sdk.Context } } - return next(newCtx, tx, simulate) + return next(ctx, tx, simulate) } diff --git a/x/entity/keeper/grpc_query.go b/x/entity/keeper/grpc_query.go index 3fd30154..f775174d 100644 --- a/x/entity/keeper/grpc_query.go +++ b/x/entity/keeper/grpc_query.go @@ -11,24 +11,34 @@ import ( "google.golang.org/grpc/status" ) -var _ types.QueryServer = Keeper{} +var _ types.QueryServer = Querier{} -func (k Keeper) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { +// Querier defines a wrapper around the x/entity keeper providing gRPC method +// handlers. +type Querier struct { + Keeper +} + +func NewQuerier(k Keeper) Querier { + return Querier{Keeper: k} +} + +func (q Querier) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - return &types.QueryParamsResponse{Params: k.GetParams(ctx)}, nil + return &types.QueryParamsResponse{Params: q.Keeper.GetParams(ctx)}, nil } -func (k Keeper) Entity(c context.Context, req *types.QueryEntityRequest) (*types.QueryEntityResponse, error) { +func (q Querier) Entity(c context.Context, req *types.QueryEntityRequest) (*types.QueryEntityResponse, error) { if req == nil || req.Id == "" { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - doc, entity, err := k.ResolveEntity(ctx, req.Id) + doc, entity, err := q.Keeper.ResolveEntity(ctx, req.Id) if err != nil { return nil, status.Error(codes.NotFound, err.Error()) } @@ -36,13 +46,13 @@ func (k Keeper) Entity(c context.Context, req *types.QueryEntityRequest) (*types return &types.QueryEntityResponse{IidDocument: doc, Entity: entity}, nil } -func (k Keeper) EntityMetaData(c context.Context, req *types.QueryEntityMetadataRequest) (*types.QueryEntityMetadataResponse, error) { +func (q Querier) EntityMetaData(c context.Context, req *types.QueryEntityMetadataRequest) (*types.QueryEntityMetadataResponse, error) { if req == nil || req.Id == "" { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - _, entity, err := k.ResolveEntity(ctx, req.Id) + _, entity, err := q.Keeper.ResolveEntity(ctx, req.Id) if err != nil { return nil, status.Error(codes.NotFound, err.Error()) } @@ -50,13 +60,13 @@ func (k Keeper) EntityMetaData(c context.Context, req *types.QueryEntityMetadata return &types.QueryEntityMetadataResponse{Entity: entity}, nil } -func (k Keeper) EntityIidDocument(c context.Context, req *types.QueryEntityIidDocumentRequest) (*types.QueryEntityIidDocumentResponse, error) { +func (q Querier) EntityIidDocument(c context.Context, req *types.QueryEntityIidDocumentRequest) (*types.QueryEntityIidDocumentResponse, error) { if req == nil || req.Id == "" { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - doc, _, err := k.ResolveEntity(ctx, req.Id) + doc, _, err := q.Keeper.ResolveEntity(ctx, req.Id) if err != nil { return nil, status.Error(codes.NotFound, err.Error()) } @@ -64,13 +74,13 @@ func (k Keeper) EntityIidDocument(c context.Context, req *types.QueryEntityIidDo return &types.QueryEntityIidDocumentResponse{IidDocument: doc}, nil } -func (k Keeper) EntityVerified(c context.Context, req *types.QueryEntityVerifiedRequest) (*types.QueryEntityVerifiedResponse, error) { +func (q Querier) EntityVerified(c context.Context, req *types.QueryEntityVerifiedRequest) (*types.QueryEntityVerifiedResponse, error) { if req == nil || req.Id == "" { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - _, entity, err := k.ResolveEntity(ctx, req.Id) + _, entity, err := q.Keeper.ResolveEntity(ctx, req.Id) if err != nil { return nil, status.Error(codes.NotFound, err.Error()) } @@ -78,18 +88,18 @@ func (k Keeper) EntityVerified(c context.Context, req *types.QueryEntityVerified return &types.QueryEntityVerifiedResponse{EntityVerified: entity.EntityVerified}, nil } -func (k Keeper) EntityList(c context.Context, req *types.QueryEntityListRequest) (*types.QueryEntityListResponse, error) { +func (q Querier) EntityList(c context.Context, req *types.QueryEntityListRequest) (*types.QueryEntityListResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } var entities []types.Entity ctx := sdk.UnwrapSDKContext(c) - entityStore := prefix.NewStore(ctx.KVStore(k.storeKey), types.EntityKey) + entityStore := prefix.NewStore(ctx.KVStore(q.Keeper.storeKey), types.EntityKey) pageRes, err := query.Paginate(entityStore, req.Pagination, func(key []byte, value []byte) error { var entity types.Entity - if err := k.cdc.Unmarshal(value, &entity); err != nil { + if err := q.Keeper.cdc.Unmarshal(value, &entity); err != nil { return err } @@ -100,7 +110,7 @@ func (k Keeper) EntityList(c context.Context, req *types.QueryEntityListRequest) // pageRes, err := query.FilteredPaginate(entityStore, req.Pagination, func(key []byte, value []byte, accumulate bool) (bool, error) { // if accumulate { // var e types.EntityDoc - // if err := k.cdc.Unmarshal(value, &e); err != nil { + // if err := q.Keeper.cdc.Unmarshal(value, &e); err != nil { // return false, err // } // entities = append(entities, e) diff --git a/x/entity/keeper/querier.go b/x/entity/keeper/querier.go deleted file mode 100644 index 761c5e77..00000000 --- a/x/entity/keeper/querier.go +++ /dev/null @@ -1,21 +0,0 @@ -package keeper - -import ( - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - abci "github.com/tendermint/tendermint/abci/types" -) - -const ( - QueryEntityDoc = "queryEntityDoc" -) - -func NewQuerier(k Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return func(ctx sdk.Context, path []string, req abci.RequestQuery) (res []byte, err error) { - switch path[0] { - default: - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "Unknown project query endpoint") - } - } -} diff --git a/x/entity/module.go b/x/entity/module.go index aaf7c56b..3461a57c 100644 --- a/x/entity/module.go +++ b/x/entity/module.go @@ -3,6 +3,7 @@ package entity import ( "context" "encoding/json" + "fmt" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" @@ -51,6 +52,7 @@ func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncod if err != nil { return err } + // TODO add validation return nil //types.ValidateGenesis(data) } @@ -61,7 +63,7 @@ func (AppModuleBasic) RegisterRESTRoutes(ctx client.Context, rtr *mux.Router) { // RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the module. func (a AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux) { - _ = types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(clientCtx)) + types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(clientCtx)) } // GetTxCmd returns the root tx command for the module. @@ -115,13 +117,15 @@ func (AppModule) QuerierRoute() string { // LegacyQuerierHandler returns the module sdk.Querier. func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return keeper.NewQuerier(am.keeper, legacyQuerierCdc) + return func(sdk.Context, []string, abci.RequestQuery) ([]byte, error) { + return nil, fmt.Errorf("legacy querier not supported for the x/%s module", types.ModuleName) + } } // RegisterServices registers module services. func (am AppModule) RegisterServices(cfg module.Configurator) { types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) - types.RegisterQueryServer(cfg.QueryServer(), am.keeper) + types.RegisterQueryServer(cfg.QueryServer(), keeper.NewQuerier(am.keeper)) } // InitGenesis performs genesis initialization for the module. It returns diff --git a/x/iid/keeper/grpc_query.go b/x/iid/keeper/grpc_query.go index 102d0cbc..a5ad54ee 100644 --- a/x/iid/keeper/grpc_query.go +++ b/x/iid/keeper/grpc_query.go @@ -12,10 +12,20 @@ import ( "github.com/ixofoundation/ixo-blockchain/x/iid/types" ) -var _ types.QueryServer = Keeper{} +var _ types.QueryServer = Querier{} + +// Querier defines a wrapper around the x/iid keeper providing gRPC method +// handlers. +type Querier struct { + Keeper +} + +func NewQuerier(k Keeper) Querier { + return Querier{Keeper: k} +} // IidDocuments implements the DidDocuments gRPC method -func (k Keeper) IidDocuments( +func (q Querier) IidDocuments( c context.Context, req *types.QueryIidDocumentsRequest, ) (*types.QueryIidDocumentsResponse, error) { @@ -25,11 +35,11 @@ func (k Keeper) IidDocuments( ctx := sdk.UnwrapSDKContext(c) var iidDocs []types.IidDocument - iidDocStore := prefix.NewStore(ctx.KVStore(k.storeKey), types.DidDocumentKey) + iidDocStore := prefix.NewStore(ctx.KVStore(q.Keeper.storeKey), types.DidDocumentKey) pageRes, err := query.Paginate(iidDocStore, req.Pagination, func(key []byte, value []byte) error { var iidDoc types.IidDocument - if err := k.cdc.Unmarshal(value, &iidDoc); err != nil { + if err := q.Keeper.cdc.Unmarshal(value, &iidDoc); err != nil { return err } @@ -42,12 +52,12 @@ func (k Keeper) IidDocuments( return &types.QueryIidDocumentsResponse{ IidDocuments: iidDocs, - Pagination: pageRes, + Pagination: pageRes, }, nil } // IidDocument implements the IidDocument gRPC method -func (k Keeper) IidDocument( +func (q Querier) IidDocument( c context.Context, req *types.QueryIidDocumentRequest, ) (*types.QueryIidDocumentResponse, error) { @@ -56,7 +66,7 @@ func (k Keeper) IidDocument( } ctx := sdk.UnwrapSDKContext(c) - doc, err := k.ResolveDid(ctx, types.DID(req.Id)) + doc, err := q.Keeper.ResolveDid(ctx, types.DID(req.Id)) if err != nil { return nil, status.Error(codes.NotFound, err.Error()) } diff --git a/x/iid/module.go b/x/iid/module.go index fd0a7173..53983e8e 100644 --- a/x/iid/module.go +++ b/x/iid/module.go @@ -3,6 +3,7 @@ package iid import ( // this line is used by starport scaffolding # 1 "context" "encoding/json" + "fmt" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" @@ -29,34 +30,18 @@ var ( // ---------------------------------------------------------------------------- // AppModuleBasic implements the AppModuleBasic interface for the capability module. -type AppModuleBasic struct { - cdc codec.Codec -} - -func NewAppModuleBasic(cdc codec.Codec) AppModuleBasic { - return AppModuleBasic{cdc: cdc} -} +type AppModuleBasic struct{} // Name returns the capability module's name. func (AppModuleBasic) Name() string { return types.ModuleName } -// nolint -// func (AppModuleBasic) RegisterCodec(cdc *codec.LegacyAmino) { -// types.RegisterLegacyAminoCodec(cdc) -// } - -// nolint +// RegisterLegacyAminoCodec registers the module's types for the given codec. func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { types.RegisterLegacyAminoCodec(cdc) } -// RegisterInterfaces registers the module's interface types -func (a AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry) { - types.RegisterInterfaces(reg) -} - // DefaultGenesis returns the capability module's default genesis state. func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage { return cdc.MustMarshalJSON(types.DefaultGenesisState()) @@ -73,16 +58,18 @@ func (AppModuleBasic) ValidateGenesis( if err != nil { return err } + // TODO add validation return nil //types.ValidateGenesis(data) } +// RegisterRESTRoutes registers the REST routes for the module. +func (AppModuleBasic) RegisterRESTRoutes(ctx client.Context, rtr *mux.Router) { + // rest.RegisterHandlers(ctx, rtr) +} + // RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the module. -func (AppModuleBasic) RegisterGRPCGatewayRoutes( - clientCtx client.Context, - mux *runtime.ServeMux, -) { - _ = types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(clientCtx)) - // this line is used by starport scaffolding # 2 +func (AppModuleBasic) RegisterGRPCGatewayRoutes(ctx client.Context, mux *runtime.ServeMux) { + _ = types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(ctx)) } // GetTxCmd returns the capability module's root tx command. @@ -95,6 +82,11 @@ func (AppModuleBasic) GetQueryCmd() *cobra.Command { return cli.GetQueryCmd(types.StoreKey) } +// RegisterInterfaces registers the module's interface types +func (a AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry) { + types.RegisterInterfaces(reg) +} + // ---------------------------------------------------------------------------- // AppModule // ---------------------------------------------------------------------------- @@ -107,7 +99,7 @@ type AppModule struct { func NewAppModule(cdc codec.Codec, keeper keeper.Keeper) AppModule { return AppModule{ - AppModuleBasic: NewAppModuleBasic(cdc), + AppModuleBasic: AppModuleBasic{}, keeper: keeper, } } @@ -125,11 +117,18 @@ func (am AppModule) Route() sdk.Route { // QuerierRoute returns the capability module's query routing key. func (AppModule) QuerierRoute() string { return types.QuerierRoute } +// LegacyQuerierHandler returns the capability module's Querier. +func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { + return func(sdk.Context, []string, abci.RequestQuery) ([]byte, error) { + return nil, fmt.Errorf("legacy querier not supported for the x/%s module", types.ModuleName) + } +} + // RegisterServices registers a GRPC query service to respond to the // module-specific GRPC queries. func (am AppModule) RegisterServices(cfg module.Configurator) { types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) - types.RegisterQueryServer(cfg.QueryServer(), am.keeper) + types.RegisterQueryServer(cfg.QueryServer(), keeper.NewQuerier(am.keeper)) } // RegisterInvariants registers the capability module's invariants. @@ -165,18 +164,3 @@ func (am AppModule) EndBlock(_ sdk.Context, _ abci.RequestEndBlock) []abci.Valid // ConsensusVersion implements AppModule/ConsensusVersion. func (AppModule) ConsensusVersion() uint64 { return 1 } - -// ---------------------------------------------------------------------------- -// Deprecation notice -// ---------------------------------------------------------------------------- - -// RegisterRESTRoutes registers the capability module's REST service handlers. -func (AppModuleBasic) RegisterRESTRoutes(clientCtx client.Context, rtr *mux.Router) { - -} - -// nolint -// LegacyQuerierHandler returns the capability module's Querier. -func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return nil -} diff --git a/x/iid/types/x_test.go b/x/iid/types/x_test.go.ignore similarity index 100% rename from x/iid/types/x_test.go rename to x/iid/types/x_test.go.ignore diff --git a/x/token/keeper/grpc_query.go b/x/token/keeper/grpc_query.go index bac10306..b4329a60 100644 --- a/x/token/keeper/grpc_query.go +++ b/x/token/keeper/grpc_query.go @@ -10,24 +10,34 @@ import ( "google.golang.org/grpc/status" ) -var _ types.QueryServer = Keeper{} +var _ types.QueryServer = Querier{} -func (k Keeper) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { +// Querier defines a wrapper around the x/token keeper providing gRPC method +// handlers. +type Querier struct { + Keeper +} + +func NewQuerier(k Keeper) Querier { + return Querier{Keeper: k} +} + +func (q Querier) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - return &types.QueryParamsResponse{Params: k.GetParams(ctx)}, nil + return &types.QueryParamsResponse{Params: q.Keeper.GetParams(ctx)}, nil } -func (k Keeper) TokenDoc(c context.Context, req *types.QueryTokenDocRequest) (*types.QueryTokenDocResponse, error) { +func (q Querier) TokenDoc(c context.Context, req *types.QueryTokenDocRequest) (*types.QueryTokenDocResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - token, err := k.GetToken(ctx, req.Minter, req.ContractAddress) + token, err := q.Keeper.GetToken(ctx, req.Minter, req.ContractAddress) if err != nil { return nil, err } @@ -35,18 +45,18 @@ func (k Keeper) TokenDoc(c context.Context, req *types.QueryTokenDocRequest) (*t return &types.QueryTokenDocResponse{TokenDoc: token}, nil } -func (k Keeper) TokenList(c context.Context, req *types.QueryTokenListRequest) (*types.QueryTokenListResponse, error) { +func (q Querier) TokenList(c context.Context, req *types.QueryTokenListRequest) (*types.QueryTokenListResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } var tokens []types.Token ctx := sdk.UnwrapSDKContext(c) - tokensStore := k.GetMinterTokensStore(ctx, req.Minter) + tokensStore := q.Keeper.GetMinterTokensStore(ctx, req.Minter) pageRes, err := query.Paginate(tokensStore, req.Pagination, func(key []byte, value []byte) error { var token types.Token - if err := k.cdc.Unmarshal(value, &token); err != nil { + if err := q.Keeper.cdc.Unmarshal(value, &token); err != nil { return err } @@ -61,14 +71,14 @@ func (k Keeper) TokenList(c context.Context, req *types.QueryTokenListRequest) ( return &types.QueryTokenListResponse{TokenDocs: tokens, Pagination: pageRes}, nil } -func (k Keeper) TokenMetadata(c context.Context, req *types.QueryTokenMetadataRequest) (*types.QueryTokenMetadataResponse, error) { +func (q Querier) TokenMetadata(c context.Context, req *types.QueryTokenMetadataRequest) (*types.QueryTokenMetadataResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(c) - tokenProperties, token, err := k.GetTokenById(ctx, req.Id) + tokenProperties, token, err := q.Keeper.GetTokenById(ctx, req.Id) if err != nil { return nil, err } diff --git a/x/token/keeper/querier.go b/x/token/keeper/querier.go deleted file mode 100644 index 756057bd..00000000 --- a/x/token/keeper/querier.go +++ /dev/null @@ -1,21 +0,0 @@ -package keeper - -import ( - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - abci "github.com/tendermint/tendermint/abci/types" -) - -const ( - QueryTokenDoc = "queryTokenDoc" -) - -func NewQuerier(k Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return func(ctx sdk.Context, path []string, req abci.RequestQuery) (res []byte, err error) { - switch path[0] { - default: - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "Unknown project query endpoint") - } - } -} diff --git a/x/token/module.go b/x/token/module.go index 7dc03580..f72c0521 100644 --- a/x/token/module.go +++ b/x/token/module.go @@ -3,6 +3,7 @@ package token import ( "context" "encoding/json" + "fmt" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" @@ -51,6 +52,7 @@ func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncod if err != nil { return err } + // TODO add validation return nil //types.ValidateGenesis(data) } @@ -115,13 +117,15 @@ func (AppModule) QuerierRoute() string { // LegacyQuerierHandler returns the module sdk.Querier. func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return keeper.NewQuerier(am.keeper, legacyQuerierCdc) + return func(sdk.Context, []string, abci.RequestQuery) ([]byte, error) { + return nil, fmt.Errorf("legacy querier not supported for the x/%s module", types.ModuleName) + } } // RegisterServices registers module services. func (am AppModule) RegisterServices(cfg module.Configurator) { types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) - types.RegisterQueryServer(cfg.QueryServer(), am.keeper) + types.RegisterQueryServer(cfg.QueryServer(), keeper.NewQuerier(am.keeper)) } // InitGenesis performs genesis initialization for the token module. It returns diff --git a/x/token/types/query.pb.go b/x/token/types/query.pb.go index 95ee2230..8125de9a 100644 --- a/x/token/types/query.pb.go +++ b/x/token/types/query.pb.go @@ -524,55 +524,56 @@ func init() { func init() { proto.RegisterFile("ixo/token/v1beta1/query.proto", fileDescriptor_ce478daca359f034) } var fileDescriptor_ce478daca359f034 = []byte{ - // 766 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0x4f, 0x4f, 0xdb, 0x4a, - 0x10, 0x8f, 0x43, 0x88, 0x60, 0xd0, 0x7b, 0xc0, 0x12, 0x78, 0xc6, 0x8f, 0x17, 0x22, 0x4b, 0x0f, - 0x02, 0x2d, 0xb6, 0xa0, 0xaa, 0x2a, 0xa1, 0x5e, 0x8a, 0x10, 0x95, 0xaa, 0xfe, 0xa1, 0x69, 0x2f, - 0xed, 0xa5, 0xda, 0xd8, 0x5b, 0xb3, 0x22, 0xf6, 0x1a, 0xaf, 0xd3, 0x06, 0xa1, 0x5c, 0x7a, 0x6f, - 0x55, 0xa9, 0xc7, 0x1e, 0xda, 0x6f, 0xd0, 0xaf, 0xc1, 0x11, 0xa9, 0x97, 0x9e, 0xaa, 0x0a, 0xaa, - 0xaa, 0x1f, 0xa3, 0xf2, 0xee, 0x26, 0x36, 0x21, 0x21, 0xdc, 0x76, 0x66, 0x7e, 0x33, 0xbf, 0xdf, - 0xcc, 0x7a, 0xd6, 0xf0, 0x1f, 0x6d, 0x31, 0x3b, 0x66, 0xfb, 0x24, 0xb0, 0x5f, 0xad, 0xd7, 0x49, - 0x8c, 0xd7, 0xed, 0x83, 0x26, 0x89, 0x0e, 0xad, 0x30, 0x62, 0x31, 0x43, 0xd3, 0xb4, 0xc5, 0x2c, - 0x11, 0xb6, 0x54, 0xd8, 0x28, 0x79, 0xcc, 0x63, 0x22, 0x6a, 0x27, 0x27, 0x09, 0x34, 0x16, 0x3c, - 0xc6, 0xbc, 0x06, 0xb1, 0x71, 0x48, 0x6d, 0x1c, 0x04, 0x2c, 0xc6, 0x31, 0x65, 0x01, 0x57, 0xd1, - 0x3e, 0x2c, 0xb2, 0xa8, 0x0c, 0xaf, 0x3a, 0x8c, 0xfb, 0x8c, 0xdb, 0x75, 0xcc, 0x89, 0xa4, 0xef, - 0xc2, 0x42, 0xec, 0xd1, 0x40, 0xd4, 0x92, 0x58, 0xb3, 0x04, 0xe8, 0x71, 0x82, 0xd8, 0xc5, 0x11, - 0xf6, 0x79, 0x8d, 0x1c, 0x34, 0x09, 0x8f, 0xcd, 0x87, 0x30, 0x73, 0xce, 0xcb, 0x43, 0x16, 0x70, - 0x82, 0x6e, 0x41, 0x31, 0x14, 0x1e, 0x5d, 0xab, 0x68, 0xd5, 0x89, 0x8d, 0x79, 0xeb, 0x42, 0x3f, - 0x96, 0x4c, 0xd9, 0x2a, 0x1c, 0x7f, 0x5f, 0xcc, 0xd5, 0x14, 0xdc, 0x7c, 0x0d, 0xb3, 0xa2, 0xde, - 0xd3, 0x04, 0x7a, 0x9f, 0xf2, 0x58, 0x11, 0xa1, 0x1d, 0x80, 0x54, 0x92, 0xaa, 0xba, 0x64, 0x49, - 0xfd, 0x56, 0xa2, 0xdf, 0x92, 0xe3, 0x4b, 0xab, 0x7b, 0x44, 0xe5, 0xd6, 0x32, 0x99, 0x68, 0x0e, - 0x8a, 0x3e, 0x0d, 0x62, 0x12, 0xe9, 0xf9, 0x8a, 0x56, 0x1d, 0xaf, 0x29, 0xcb, 0xfc, 0xa4, 0xc1, - 0x5c, 0x2f, 0xb3, 0x6a, 0xe6, 0x6e, 0x1f, 0xea, 0xe5, 0xa1, 0xd4, 0x32, 0xf9, 0x1c, 0xf7, 0x6d, - 0x18, 0x17, 0x23, 0xd8, 0x66, 0x0e, 0xd7, 0xf3, 0x95, 0x91, 0xea, 0xc4, 0x86, 0xde, 0x67, 0x30, - 0x42, 0x81, 0x9a, 0x4b, 0x9a, 0x60, 0x3e, 0x83, 0x52, 0x2a, 0x70, 0x9b, 0x39, 0x9d, 0xc9, 0xa4, - 0x1d, 0x69, 0xd9, 0x8e, 0xd0, 0x0a, 0x4c, 0x39, 0x2c, 0x88, 0x23, 0xec, 0xc4, 0x2f, 0xb0, 0xeb, - 0x46, 0x84, 0x73, 0xd5, 0xf3, 0x64, 0xc7, 0x7f, 0x47, 0xba, 0xcd, 0x27, 0xd9, 0xa9, 0x8b, 0xd2, - 0xaa, 0xf5, 0x4d, 0x18, 0xeb, 0x08, 0x50, 0x8d, 0x0f, 0x13, 0xdc, 0xc5, 0x9b, 0xd7, 0x60, 0x3e, - 0x2d, 0xfa, 0x80, 0xc4, 0xd8, 0xc5, 0x31, 0xee, 0x88, 0xfe, 0x1b, 0xf2, 0xd4, 0x55, 0x82, 0xf3, - 0xd4, 0x35, 0x7f, 0x69, 0x60, 0xf4, 0x43, 0x2b, 0x1d, 0x08, 0x0a, 0x01, 0xf6, 0x89, 0x4a, 0x10, - 0x67, 0x54, 0x81, 0x09, 0x97, 0x70, 0x27, 0xa2, 0xa1, 0xb8, 0x17, 0xd9, 0x5a, 0xd6, 0x85, 0x0c, - 0x18, 0x73, 0x89, 0x43, 0x7d, 0xdc, 0xe0, 0xfa, 0x88, 0x08, 0x77, 0x6d, 0x54, 0x82, 0x51, 0xea, - 0x63, 0x8f, 0xe8, 0x05, 0x11, 0x90, 0x86, 0xf0, 0x06, 0x2e, 0x69, 0xe9, 0xa3, 0xca, 0x9b, 0x18, - 0xe8, 0x1e, 0x40, 0x18, 0xb1, 0x90, 0x44, 0x31, 0x25, 0x5c, 0x2f, 0x8a, 0x39, 0xac, 0x0e, 0x9a, - 0x43, 0x47, 0xfb, 0x6e, 0x37, 0xa3, 0x96, 0xc9, 0x36, 0xbf, 0x68, 0xf0, 0xcf, 0x00, 0x5c, 0xc2, - 0xee, 0x34, 0x30, 0xe7, 0xaa, 0x4d, 0x69, 0xa0, 0x32, 0x80, 0xc3, 0x1a, 0x0d, 0xe2, 0x64, 0xda, - 0xcc, 0x78, 0xd0, 0x14, 0x8c, 0x38, 0x38, 0x54, 0x0d, 0x26, 0x47, 0xb4, 0x03, 0x93, 0x0d, 0x1a, - 0xec, 0x13, 0xb7, 0x46, 0x38, 0x6b, 0x46, 0x0e, 0xe1, 0x7a, 0x41, 0x7c, 0x6d, 0x0b, 0x83, 0x44, - 0x6f, 0x27, 0xc3, 0xee, 0x4d, 0xda, 0x2c, 0xfc, 0xfe, 0xbc, 0xa8, 0x6d, 0x7c, 0x2c, 0xc0, 0xa8, - 0xb8, 0x1a, 0x14, 0x41, 0x51, 0x2e, 0x2d, 0xfa, 0xbf, 0x4f, 0xa1, 0x8b, 0xaf, 0x83, 0xb1, 0x34, - 0x0c, 0x26, 0xaf, 0xd7, 0x9c, 0x7f, 0xf3, 0xf5, 0xe7, 0x87, 0xfc, 0x0c, 0x9a, 0xb6, 0xd3, 0xf7, - 0x4a, 0x3e, 0x08, 0xa8, 0x0d, 0xe3, 0xdd, 0x8d, 0x44, 0xd5, 0x41, 0xf5, 0x7a, 0x9f, 0x0b, 0x63, - 0xe5, 0x0a, 0x48, 0x45, 0xfe, 0xaf, 0x20, 0x9f, 0x45, 0x33, 0x19, 0xf2, 0x23, 0xb9, 0x43, 0x6d, - 0xf4, 0x56, 0x83, 0xb1, 0xce, 0x56, 0xa0, 0xe5, 0x4b, 0x8b, 0xa6, 0x2b, 0x69, 0x54, 0x87, 0x03, - 0x15, 0xb9, 0x25, 0xc8, 0xab, 0x68, 0xa9, 0x0f, 0xb9, 0x7d, 0xd4, 0xbb, 0xbf, 0x6d, 0xf4, 0x4e, - 0x83, 0xbf, 0xce, 0x7d, 0x3e, 0xe8, 0xfa, 0xa5, 0x5c, 0x3d, 0x7b, 0x67, 0xac, 0x5d, 0x11, 0xad, - 0xe4, 0x55, 0x84, 0x3c, 0x03, 0xe9, 0x19, 0x79, 0xbe, 0x02, 0xd9, 0x47, 0xd4, 0x6d, 0x6f, 0x3d, - 0x3a, 0x3e, 0x2d, 0x6b, 0x27, 0xa7, 0x65, 0xed, 0xc7, 0x69, 0x59, 0x7b, 0x7f, 0x56, 0xce, 0x9d, - 0x9c, 0x95, 0x73, 0xdf, 0xce, 0xca, 0xb9, 0xe7, 0x37, 0x3d, 0x1a, 0xef, 0x35, 0xeb, 0x96, 0xc3, - 0xfc, 0x24, 0xfb, 0x25, 0x6b, 0x06, 0xae, 0x78, 0x07, 0x13, 0x6b, 0xad, 0xde, 0x60, 0xce, 0xbe, - 0xb3, 0x87, 0x69, 0x60, 0xb7, 0x54, 0xe1, 0xf8, 0x30, 0x24, 0xbc, 0x5e, 0x14, 0xbf, 0x9b, 0x1b, - 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa4, 0xed, 0x05, 0x83, 0x21, 0x07, 0x00, 0x00, + // 771 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xcf, 0x4f, 0xdb, 0x48, + 0x14, 0x8e, 0x43, 0x88, 0xe0, 0xa1, 0x5d, 0x60, 0xc8, 0xb2, 0xc6, 0x62, 0x43, 0x64, 0x69, 0x21, + 0xb0, 0x8b, 0x2d, 0x58, 0xa1, 0x95, 0xd0, 0x5e, 0x16, 0x21, 0x56, 0x5a, 0xf5, 0x07, 0x4d, 0x7b, + 0x69, 0x2f, 0xd5, 0xc4, 0x9e, 0x9a, 0x11, 0xb1, 0xc7, 0x78, 0x26, 0x6d, 0x10, 0xe2, 0x52, 0xf5, + 0x5c, 0x55, 0x6a, 0xef, 0xed, 0xb9, 0x97, 0xfe, 0x1b, 0x1c, 0x91, 0x7a, 0xe9, 0xa9, 0xaa, 0xa0, + 0xaa, 0xfa, 0x67, 0x54, 0x9e, 0x99, 0xc4, 0x06, 0x12, 0xc2, 0x29, 0xf3, 0xde, 0xfb, 0xde, 0xf7, + 0xbe, 0xf7, 0xc6, 0xf3, 0x02, 0xbf, 0xd1, 0x0e, 0x73, 0x05, 0xdb, 0x27, 0x91, 0xfb, 0x74, 0xad, + 0x49, 0x04, 0x5e, 0x73, 0x0f, 0xda, 0x24, 0x39, 0x74, 0xe2, 0x84, 0x09, 0x86, 0xa6, 0x69, 0x87, + 0x39, 0x32, 0xec, 0xe8, 0xb0, 0x55, 0x09, 0x58, 0xc0, 0x64, 0xd4, 0x4d, 0x4f, 0x0a, 0x68, 0xcd, + 0x07, 0x8c, 0x05, 0x2d, 0xe2, 0xe2, 0x98, 0xba, 0x38, 0x8a, 0x98, 0xc0, 0x82, 0xb2, 0x88, 0xeb, + 0x68, 0x9f, 0x2a, 0x8a, 0x54, 0x85, 0x57, 0x3c, 0xc6, 0x43, 0xc6, 0xdd, 0x26, 0xe6, 0x44, 0x95, + 0xef, 0xc1, 0x62, 0x1c, 0xd0, 0x48, 0x72, 0x29, 0xac, 0x5d, 0x01, 0x74, 0x2f, 0x45, 0xec, 0xe2, + 0x04, 0x87, 0xbc, 0x41, 0x0e, 0xda, 0x84, 0x0b, 0xfb, 0x0e, 0xcc, 0x5c, 0xf0, 0xf2, 0x98, 0x45, + 0x9c, 0xa0, 0xbf, 0xa1, 0x1c, 0x4b, 0x8f, 0x69, 0xd4, 0x8c, 0xfa, 0xc4, 0xfa, 0x9c, 0x73, 0xa5, + 0x1f, 0x47, 0xa5, 0x6c, 0x95, 0x4e, 0x3e, 0x2f, 0x14, 0x1a, 0x1a, 0x6e, 0x3f, 0x83, 0x5f, 0x24, + 0xdf, 0x83, 0x14, 0x7a, 0x8b, 0x72, 0xa1, 0x0b, 0xa1, 0x1d, 0x80, 0x4c, 0x92, 0x66, 0x5d, 0x74, + 0x94, 0x7e, 0x27, 0xd5, 0xef, 0xa8, 0xf1, 0x65, 0xec, 0x01, 0xd1, 0xb9, 0x8d, 0x5c, 0x26, 0x9a, + 0x85, 0x72, 0x48, 0x23, 0x41, 0x12, 0xb3, 0x58, 0x33, 0xea, 0xe3, 0x0d, 0x6d, 0xd9, 0x6f, 0x0d, + 0x98, 0xbd, 0x5c, 0x59, 0x37, 0xf3, 0x5f, 0x9f, 0xd2, 0x4b, 0x43, 0x4b, 0xab, 0xe4, 0x0b, 0xb5, + 0xff, 0x81, 0x71, 0x39, 0x82, 0x6d, 0xe6, 0x71, 0xb3, 0x58, 0x1b, 0xa9, 0x4f, 0xac, 0x9b, 0x7d, + 0x06, 0x23, 0x15, 0xe8, 0xb9, 0x64, 0x09, 0xf6, 0x43, 0xa8, 0x64, 0x02, 0xb7, 0x99, 0xd7, 0x9d, + 0x4c, 0xd6, 0x91, 0x91, 0xef, 0x08, 0x2d, 0xc3, 0x94, 0xc7, 0x22, 0x91, 0x60, 0x4f, 0x3c, 0xc6, + 0xbe, 0x9f, 0x10, 0xce, 0x75, 0xcf, 0x93, 0x5d, 0xff, 0xbf, 0xca, 0x6d, 0xdf, 0xcf, 0x4f, 0x5d, + 0x52, 0xeb, 0xd6, 0x37, 0x61, 0xac, 0x2b, 0x40, 0x37, 0x3e, 0x4c, 0x70, 0x0f, 0x6f, 0xff, 0x01, + 0x73, 0x19, 0xe9, 0x6d, 0x22, 0xb0, 0x8f, 0x05, 0xee, 0x8a, 0xfe, 0x19, 0x8a, 0xd4, 0xd7, 0x82, + 0x8b, 0xd4, 0xb7, 0xbf, 0x19, 0x60, 0xf5, 0x43, 0x6b, 0x1d, 0x08, 0x4a, 0x11, 0x0e, 0x89, 0x4e, + 0x90, 0x67, 0x54, 0x83, 0x09, 0x9f, 0x70, 0x2f, 0xa1, 0xb1, 0xbc, 0x17, 0xd5, 0x5a, 0xde, 0x85, + 0x2c, 0x18, 0xf3, 0x89, 0x47, 0x43, 0xdc, 0xe2, 0xe6, 0x88, 0x0c, 0xf7, 0x6c, 0x54, 0x81, 0x51, + 0x1a, 0xe2, 0x80, 0x98, 0x25, 0x19, 0x50, 0x86, 0xf4, 0x46, 0x3e, 0xe9, 0x98, 0xa3, 0xda, 0x9b, + 0x1a, 0xe8, 0x7f, 0x80, 0x38, 0x61, 0x31, 0x49, 0x04, 0x25, 0xdc, 0x2c, 0xcb, 0x39, 0xac, 0x0c, + 0x9a, 0x43, 0x57, 0xfb, 0x6e, 0x2f, 0xa3, 0x91, 0xcb, 0xb6, 0x3f, 0x18, 0xf0, 0xeb, 0x00, 0x5c, + 0x5a, 0xdd, 0x6b, 0x61, 0xce, 0x75, 0x9b, 0xca, 0x40, 0x55, 0x00, 0x8f, 0xb5, 0x5a, 0xc4, 0xcb, + 0xb5, 0x99, 0xf3, 0xa0, 0x29, 0x18, 0xf1, 0x70, 0xac, 0x1b, 0x4c, 0x8f, 0x68, 0x07, 0x26, 0x5b, + 0x34, 0xda, 0x27, 0x7e, 0x83, 0x70, 0xd6, 0x4e, 0x3c, 0xc2, 0xcd, 0x92, 0xfc, 0xda, 0xe6, 0x07, + 0x89, 0xde, 0x4e, 0x87, 0x7d, 0x39, 0x69, 0xb3, 0xf4, 0xfd, 0xdd, 0x82, 0xb1, 0xfe, 0xbe, 0x04, + 0xa3, 0xf2, 0x6a, 0x50, 0x02, 0x65, 0xf5, 0x68, 0xd1, 0xef, 0x7d, 0x88, 0xae, 0x6e, 0x07, 0x6b, + 0x71, 0x18, 0x4c, 0x5d, 0xaf, 0x3d, 0xf7, 0xfc, 0xe3, 0xd7, 0xd7, 0xc5, 0x19, 0x34, 0xed, 0x66, + 0xfb, 0x4a, 0x2d, 0x04, 0xf4, 0xd2, 0x80, 0x9f, 0x2e, 0xcc, 0x0b, 0xfd, 0x39, 0x88, 0xb4, 0xdf, + 0x87, 0x66, 0xad, 0xde, 0x10, 0xad, 0x95, 0xd4, 0xa4, 0x12, 0x0b, 0x99, 0x39, 0x25, 0xa1, 0x06, + 0xb9, 0x47, 0xd4, 0x3f, 0x46, 0x2f, 0x0c, 0x18, 0xef, 0xed, 0x08, 0x54, 0xbf, 0x96, 0x3e, 0xb7, + 0xc0, 0xac, 0xe5, 0x1b, 0x20, 0xb5, 0x08, 0x5b, 0x8a, 0x98, 0x47, 0x56, 0x5e, 0x84, 0x7c, 0xd4, + 0xee, 0x91, 0xfa, 0x3d, 0x46, 0x6f, 0x0c, 0x18, 0xeb, 0x3e, 0x57, 0xb4, 0x74, 0x2d, 0x77, 0xb6, + 0x2b, 0xac, 0xfa, 0x70, 0xa0, 0xd6, 0xb0, 0x21, 0x35, 0xb8, 0x68, 0x75, 0xb0, 0x06, 0xf7, 0xe8, + 0xf2, 0x7e, 0x39, 0xde, 0xba, 0x7b, 0x72, 0x56, 0x35, 0x4e, 0xcf, 0xaa, 0xc6, 0x97, 0xb3, 0xaa, + 0xf1, 0xea, 0xbc, 0x5a, 0x38, 0x3d, 0xaf, 0x16, 0x3e, 0x9d, 0x57, 0x0b, 0x8f, 0x36, 0x02, 0x2a, + 0xf6, 0xda, 0x4d, 0xc7, 0x63, 0x61, 0x4a, 0xf9, 0x84, 0xb5, 0x23, 0x5f, 0xae, 0xc5, 0xd4, 0x5a, + 0x6d, 0xb6, 0x98, 0xb7, 0xef, 0xed, 0x61, 0x1a, 0xb9, 0x1d, 0x5d, 0x4d, 0x1c, 0xc6, 0x84, 0x37, + 0xcb, 0xf2, 0xdf, 0xe7, 0xaf, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x92, 0x04, 0x84, 0x3e, 0x30, + 0x07, 0x00, 0x00, } func (this *TokenMetadataProperties) Equal(that interface{}) bool { @@ -627,9 +628,9 @@ const _ = grpc.SupportPackageIsVersion4 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type QueryClient interface { Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) + TokenMetadata(ctx context.Context, in *QueryTokenMetadataRequest, opts ...grpc.CallOption) (*QueryTokenMetadataResponse, error) TokenList(ctx context.Context, in *QueryTokenListRequest, opts ...grpc.CallOption) (*QueryTokenListResponse, error) TokenDoc(ctx context.Context, in *QueryTokenDocRequest, opts ...grpc.CallOption) (*QueryTokenDocResponse, error) - TokenMetadata(ctx context.Context, in *QueryTokenMetadataRequest, opts ...grpc.CallOption) (*QueryTokenMetadataResponse, error) } type queryClient struct { @@ -649,27 +650,27 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . return out, nil } -func (c *queryClient) TokenList(ctx context.Context, in *QueryTokenListRequest, opts ...grpc.CallOption) (*QueryTokenListResponse, error) { - out := new(QueryTokenListResponse) - err := c.cc.Invoke(ctx, "/ixo.token.v1beta1.Query/TokenList", in, out, opts...) +func (c *queryClient) TokenMetadata(ctx context.Context, in *QueryTokenMetadataRequest, opts ...grpc.CallOption) (*QueryTokenMetadataResponse, error) { + out := new(QueryTokenMetadataResponse) + err := c.cc.Invoke(ctx, "/ixo.token.v1beta1.Query/TokenMetadata", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *queryClient) TokenDoc(ctx context.Context, in *QueryTokenDocRequest, opts ...grpc.CallOption) (*QueryTokenDocResponse, error) { - out := new(QueryTokenDocResponse) - err := c.cc.Invoke(ctx, "/ixo.token.v1beta1.Query/TokenDoc", in, out, opts...) +func (c *queryClient) TokenList(ctx context.Context, in *QueryTokenListRequest, opts ...grpc.CallOption) (*QueryTokenListResponse, error) { + out := new(QueryTokenListResponse) + err := c.cc.Invoke(ctx, "/ixo.token.v1beta1.Query/TokenList", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *queryClient) TokenMetadata(ctx context.Context, in *QueryTokenMetadataRequest, opts ...grpc.CallOption) (*QueryTokenMetadataResponse, error) { - out := new(QueryTokenMetadataResponse) - err := c.cc.Invoke(ctx, "/ixo.token.v1beta1.Query/TokenMetadata", in, out, opts...) +func (c *queryClient) TokenDoc(ctx context.Context, in *QueryTokenDocRequest, opts ...grpc.CallOption) (*QueryTokenDocResponse, error) { + out := new(QueryTokenDocResponse) + err := c.cc.Invoke(ctx, "/ixo.token.v1beta1.Query/TokenDoc", in, out, opts...) if err != nil { return nil, err } @@ -679,9 +680,9 @@ func (c *queryClient) TokenMetadata(ctx context.Context, in *QueryTokenMetadataR // QueryServer is the server API for Query service. type QueryServer interface { Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + TokenMetadata(context.Context, *QueryTokenMetadataRequest) (*QueryTokenMetadataResponse, error) TokenList(context.Context, *QueryTokenListRequest) (*QueryTokenListResponse, error) TokenDoc(context.Context, *QueryTokenDocRequest) (*QueryTokenDocResponse, error) - TokenMetadata(context.Context, *QueryTokenMetadataRequest) (*QueryTokenMetadataResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -691,15 +692,15 @@ type UnimplementedQueryServer struct { func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } +func (*UnimplementedQueryServer) TokenMetadata(ctx context.Context, req *QueryTokenMetadataRequest) (*QueryTokenMetadataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenMetadata not implemented") +} func (*UnimplementedQueryServer) TokenList(ctx context.Context, req *QueryTokenListRequest) (*QueryTokenListResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method TokenList not implemented") } func (*UnimplementedQueryServer) TokenDoc(ctx context.Context, req *QueryTokenDocRequest) (*QueryTokenDocResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method TokenDoc not implemented") } -func (*UnimplementedQueryServer) TokenMetadata(ctx context.Context, req *QueryTokenMetadataRequest) (*QueryTokenMetadataResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method TokenMetadata not implemented") -} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -723,56 +724,56 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } -func _Query_TokenList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryTokenListRequest) +func _Query_TokenMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenMetadataRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).TokenList(ctx, in) + return srv.(QueryServer).TokenMetadata(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/ixo.token.v1beta1.Query/TokenList", + FullMethod: "/ixo.token.v1beta1.Query/TokenMetadata", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).TokenList(ctx, req.(*QueryTokenListRequest)) + return srv.(QueryServer).TokenMetadata(ctx, req.(*QueryTokenMetadataRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_TokenDoc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryTokenDocRequest) +func _Query_TokenList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenListRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).TokenDoc(ctx, in) + return srv.(QueryServer).TokenList(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/ixo.token.v1beta1.Query/TokenDoc", + FullMethod: "/ixo.token.v1beta1.Query/TokenList", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).TokenDoc(ctx, req.(*QueryTokenDocRequest)) + return srv.(QueryServer).TokenList(ctx, req.(*QueryTokenListRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_TokenMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryTokenMetadataRequest) +func _Query_TokenDoc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenDocRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).TokenMetadata(ctx, in) + return srv.(QueryServer).TokenDoc(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/ixo.token.v1beta1.Query/TokenMetadata", + FullMethod: "/ixo.token.v1beta1.Query/TokenDoc", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).TokenMetadata(ctx, req.(*QueryTokenMetadataRequest)) + return srv.(QueryServer).TokenDoc(ctx, req.(*QueryTokenDocRequest)) } return interceptor(ctx, in, info, handler) } @@ -785,6 +786,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Params", Handler: _Query_Params_Handler, }, + { + MethodName: "TokenMetadata", + Handler: _Query_TokenMetadata_Handler, + }, { MethodName: "TokenList", Handler: _Query_TokenList_Handler, @@ -793,10 +798,6 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "TokenDoc", Handler: _Query_TokenDoc_Handler, }, - { - MethodName: "TokenMetadata", - Handler: _Query_TokenMetadata_Handler, - }, }, Streams: []grpc.StreamDesc{}, Metadata: "ixo/token/v1beta1/query.proto", diff --git a/x/token/types/query.pb.gw.go b/x/token/types/query.pb.gw.go index b5374510..d17e1cfe 100644 --- a/x/token/types/query.pb.gw.go +++ b/x/token/types/query.pb.gw.go @@ -49,6 +49,60 @@ func local_request_Query_Params_0(ctx context.Context, marshaler runtime.Marshal } +func request_Query_TokenMetadata_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTokenMetadataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.TokenMetadata(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_TokenMetadata_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTokenMetadataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.TokenMetadata(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_Query_TokenList_0 = &utilities.DoubleArray{Encoding: map[string]int{"minter": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) @@ -197,60 +251,6 @@ func local_request_Query_TokenDoc_0(ctx context.Context, marshaler runtime.Marsh } -func request_Query_TokenMetadata_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryTokenMetadataRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := client.TokenMetadata(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_TokenMetadata_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryTokenMetadataRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := server.TokenMetadata(ctx, &protoReq) - return msg, metadata, err - -} - // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -277,7 +277,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) - mux.Handle("GET", pattern_Query_TokenList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TokenMetadata_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -286,18 +286,18 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_TokenList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_TokenMetadata_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Query_TokenList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TokenMetadata_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_TokenDoc_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TokenList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -306,18 +306,18 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_TokenDoc_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_TokenList_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Query_TokenDoc_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TokenList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_TokenMetadata_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TokenDoc_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -326,14 +326,14 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_TokenMetadata_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_TokenDoc_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Query_TokenMetadata_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TokenDoc_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -398,7 +398,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) - mux.Handle("GET", pattern_Query_TokenList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TokenMetadata_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -407,18 +407,18 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Query_TokenList_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Query_TokenMetadata_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Query_TokenList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TokenMetadata_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_TokenDoc_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TokenList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -427,18 +427,18 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Query_TokenDoc_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Query_TokenList_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Query_TokenDoc_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TokenList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_TokenMetadata_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TokenDoc_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -447,14 +447,14 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Query_TokenMetadata_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Query_TokenDoc_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Query_TokenMetadata_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TokenDoc_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -464,19 +464,19 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie var ( pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"ixo", "token", "params"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_TokenList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"ixo", "token", "minter"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_TokenMetadata_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"ixo", "token", "metadata", "id"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_TokenDoc_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 1, 0, 4, 1, 5, 3}, []string{"ixo", "token", "minter", "contract_address"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_TokenList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 2}, []string{"ixo", "token", "minter"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_TokenMetadata_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"ixo", "token", "metadata", "id"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_TokenDoc_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 2, 1, 0, 4, 1, 5, 3}, []string{"ixo", "token", "minter", "contract_address"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( forward_Query_Params_0 = runtime.ForwardResponseMessage + forward_Query_TokenMetadata_0 = runtime.ForwardResponseMessage + forward_Query_TokenList_0 = runtime.ForwardResponseMessage forward_Query_TokenDoc_0 = runtime.ForwardResponseMessage - - forward_Query_TokenMetadata_0 = runtime.ForwardResponseMessage ) diff --git a/x/token/types/token.pb.go b/x/token/types/token.pb.go index 59c3a0d4..9d0b8f5f 100644 --- a/x/token/types/token.pb.go +++ b/x/token/types/token.pb.go @@ -344,7 +344,7 @@ type TokenProperties struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // index is the unique identifier hexstring that identifies the token Index string `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` - // index is the unique identifier hexstring that identifies the token + // name is the token name, which is same as Token name Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // did of collection (eg Supamoto Malawi) Collection string `protobuf:"bytes,4,opt,name=collection,proto3" json:"collection,omitempty"` diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..9443af5f --- /dev/null +++ b/yarn.lock @@ -0,0 +1,1620 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@arkweid/lefthook@0.7.7": + version "0.7.7" + resolved "https://registry.yarnpkg.com/@arkweid/lefthook/-/lefthook-0.7.7.tgz#12951b09b955d8054885ffe929aa07a49f39027c" + integrity sha512-Eq30OXKmjxIAIsTtbX2fcF3SNZIXS8yry1u8yty7PQFYRctx04rVlhOJCEB2UmfTh8T2vrOMC9IHHUvvo5zbaQ== + +"@babel/code-frame@^7.0.0": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.10.tgz#1c20e612b768fefa75f6e90d6ecb86329247f0a3" + integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA== + dependencies: + "@babel/highlight" "^7.22.10" + chalk "^2.4.2" + +"@babel/helper-validator-identifier@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" + integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== + +"@babel/highlight@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.10.tgz#02a3f6d8c1cb4521b2fd0ab0da8f4739936137d7" + integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ== + dependencies: + "@babel/helper-validator-identifier" "^7.22.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/runtime@^7.21.0": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.10.tgz#ae3e9631fd947cb7e3610d3e9d8fef5f76696682" + integrity sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ== + dependencies: + regenerator-runtime "^0.14.0" + +"@commitlint/cli@17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.4.tgz#36df08bfa31dbb9a2b6b1d7187a31e578f001a06" + integrity sha512-HwKlD7CPVMVGTAeFZylVNy14Vm5POVY0WxPkZr7EXLC/os0LH/obs6z4HRvJtH/nHCMYBvUBQhGwnufKfTjd5g== + dependencies: + "@commitlint/format" "^17.4.4" + "@commitlint/lint" "^17.4.4" + "@commitlint/load" "^17.4.4" + "@commitlint/read" "^17.4.4" + "@commitlint/types" "^17.4.4" + execa "^5.0.0" + lodash.isfunction "^3.0.9" + resolve-from "5.0.0" + resolve-global "1.0.0" + yargs "^17.0.0" + +"@commitlint/config-conventional@17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.4.4.tgz#f30b1e5b2e48ce5799a483c200c52f218a98efcc" + integrity sha512-u6ztvxqzi6NuhrcEDR7a+z0yrh11elY66nRrQIpqsqW6sZmpxYkDLtpRH8jRML+mmxYQ8s4qqF06Q/IQx5aJeQ== + dependencies: + conventional-changelog-conventionalcommits "^5.0.0" + +"@commitlint/config-validator@^17.6.7": + version "17.6.7" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.6.7.tgz#c664d42a1ecf5040a3bb0843845150f55734df41" + integrity sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ== + dependencies: + "@commitlint/types" "^17.4.4" + ajv "^8.11.0" + +"@commitlint/ensure@^17.6.7": + version "17.6.7" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.6.7.tgz#77a77a0c05e6a1c34589f59e82e6cb937101fc4b" + integrity sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw== + dependencies: + "@commitlint/types" "^17.4.4" + lodash.camelcase "^4.3.0" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + lodash.startcase "^4.4.0" + lodash.upperfirst "^4.3.1" + +"@commitlint/execute-rule@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz#4518e77958893d0a5835babe65bf87e2638f6939" + integrity sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA== + +"@commitlint/format@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.4.4.tgz#0f6e1b4d7a301c7b1dfd4b6334edd97fc050b9f5" + integrity sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ== + dependencies: + "@commitlint/types" "^17.4.4" + chalk "^4.1.0" + +"@commitlint/is-ignored@^17.7.0": + version "17.7.0" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.7.0.tgz#df9b284420bdb1aed5fdb2be44f4e98cc4826014" + integrity sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw== + dependencies: + "@commitlint/types" "^17.4.4" + semver "7.5.4" + +"@commitlint/lint@^17.4.4": + version "17.7.0" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.7.0.tgz#33f831298dc43679e4de6b088aea63d1f884c7e7" + integrity sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA== + dependencies: + "@commitlint/is-ignored" "^17.7.0" + "@commitlint/parse" "^17.7.0" + "@commitlint/rules" "^17.7.0" + "@commitlint/types" "^17.4.4" + +"@commitlint/load@^17.4.4": + version "17.7.1" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.7.1.tgz#0723b11723a20043a304a74960602dead89b5cdd" + integrity sha512-S/QSOjE1ztdogYj61p6n3UbkUvweR17FQ0zDbNtoTLc+Hz7vvfS7ehoTMQ27hPSjVBpp7SzEcOQu081RLjKHJQ== + dependencies: + "@commitlint/config-validator" "^17.6.7" + "@commitlint/execute-rule" "^17.4.0" + "@commitlint/resolve-extends" "^17.6.7" + "@commitlint/types" "^17.4.4" + "@types/node" "20.4.7" + chalk "^4.1.0" + cosmiconfig "^8.0.0" + cosmiconfig-typescript-loader "^4.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" + resolve-from "^5.0.0" + ts-node "^10.8.1" + typescript "^4.6.4 || ^5.0.0" + +"@commitlint/message@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.4.2.tgz#f4753a79701ad6db6db21f69076e34de6580e22c" + integrity sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q== + +"@commitlint/parse@^17.7.0": + version "17.7.0" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.7.0.tgz#aacb2d189e50ab8454154b1df150aaf20478ae47" + integrity sha512-dIvFNUMCUHqq5Abv80mIEjLVfw8QNuA4DS7OWip4pcK/3h5wggmjVnlwGCDvDChkw2TjK1K6O+tAEV78oxjxag== + dependencies: + "@commitlint/types" "^17.4.4" + conventional-changelog-angular "^6.0.0" + conventional-commits-parser "^4.0.0" + +"@commitlint/read@^17.4.4": + version "17.5.1" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.5.1.tgz#fec903b766e2c41e3cefa80630040fcaba4f786c" + integrity sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg== + dependencies: + "@commitlint/top-level" "^17.4.0" + "@commitlint/types" "^17.4.4" + fs-extra "^11.0.0" + git-raw-commits "^2.0.11" + minimist "^1.2.6" + +"@commitlint/resolve-extends@^17.6.7": + version "17.6.7" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.6.7.tgz#9c53a4601c96ab2dd20b90fb35c988639307735d" + integrity sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg== + dependencies: + "@commitlint/config-validator" "^17.6.7" + "@commitlint/types" "^17.4.4" + import-fresh "^3.0.0" + lodash.mergewith "^4.6.2" + resolve-from "^5.0.0" + resolve-global "^1.0.0" + +"@commitlint/rules@^17.7.0": + version "17.7.0" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.7.0.tgz#b97a4933c5cba11a659a19ee467f6f000f31533e" + integrity sha512-J3qTh0+ilUE5folSaoK91ByOb8XeQjiGcdIdiB/8UT1/Rd1itKo0ju/eQVGyFzgTMYt8HrDJnGTmNWwcMR1rmA== + dependencies: + "@commitlint/ensure" "^17.6.7" + "@commitlint/message" "^17.4.2" + "@commitlint/to-lines" "^17.4.0" + "@commitlint/types" "^17.4.4" + execa "^5.0.0" + +"@commitlint/to-lines@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-17.4.0.tgz#9bd02e911e7d4eab3fb4a50376c4c6d331e10d8d" + integrity sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg== + +"@commitlint/top-level@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-17.4.0.tgz#540cac8290044cf846fbdd99f5cc51e8ac5f27d6" + integrity sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g== + dependencies: + find-up "^5.0.0" + +"@commitlint/types@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.4.4.tgz#1416df936e9aad0d6a7bbc979ecc31e55dade662" + integrity sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ== + dependencies: + chalk "^4.1.0" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@sentry-internal/tracing@7.64.0": + version "7.64.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.64.0.tgz#3e110473b8edf805b799cc91d6ee592830237bb4" + integrity sha512-1XE8W6ki7hHyBvX9hfirnGkKDBKNq3bDJyXS86E0bYVDl94nvbRM9BD9DHsCFetqYkVm1yDGEK+6aUVs4CztoQ== + dependencies: + "@sentry/core" "7.64.0" + "@sentry/types" "7.64.0" + "@sentry/utils" "7.64.0" + tslib "^2.4.1 || ^1.9.3" + +"@sentry/core@7.64.0": + version "7.64.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.64.0.tgz#9d61cdc29ba299dedbdcbe01cfadf94bd0b7df48" + integrity sha512-IzmEyl5sNG7NyEFiyFHEHC+sizsZp9MEw1+RJRLX6U5RITvcsEgcajSkHQFafaBPzRrcxZMdm47Cwhl212LXcw== + dependencies: + "@sentry/types" "7.64.0" + "@sentry/utils" "7.64.0" + tslib "^2.4.1 || ^1.9.3" + +"@sentry/node@^7.36.0": + version "7.64.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.64.0.tgz#c6f7a67c1442324298f0525e7191bc18572ee1ce" + integrity sha512-wRi0uTnp1WSa83X2yLD49tV9QPzGh5e42IKdIDBiQ7lV9JhLILlyb34BZY1pq6p4dp35yDasDrP3C7ubn7wo6A== + dependencies: + "@sentry-internal/tracing" "7.64.0" + "@sentry/core" "7.64.0" + "@sentry/types" "7.64.0" + "@sentry/utils" "7.64.0" + cookie "^0.4.1" + https-proxy-agent "^5.0.0" + lru_map "^0.3.3" + tslib "^2.4.1 || ^1.9.3" + +"@sentry/types@7.64.0": + version "7.64.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.64.0.tgz#21fc545ea05c3c8c4c3e518583eca1a8c5429506" + integrity sha512-LqjQprWXjUFRmzIlUjyA+KL+38elgIYmAeoDrdyNVh8MK5IC1W2Lh1Q87b4yOiZeMiIhIVNBd7Ecoh2rodGrGA== + +"@sentry/utils@7.64.0": + version "7.64.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.64.0.tgz#6fe3ce9a56d3433ed32119f914907361a54cc184" + integrity sha512-HRlM1INzK66Gt+F4vCItiwGKAng4gqzCR4C5marsL3qv6SrKH98dQnCGYgXluSWaaa56h97FRQu7TxCk6jkSvQ== + dependencies: + "@sentry/types" "7.64.0" + tslib "^2.4.1 || ^1.9.3" + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + +"@types/node@20.4.7": + version "20.4.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.7.tgz#74d323a93f1391a63477b27b9aec56669c98b2ab" + integrity sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +ajv@^8.11.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +boolean@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" + integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + +concurrently@7.6.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-7.6.0.tgz#531a6f5f30cf616f355a4afb8f8fcb2bba65a49a" + integrity sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw== + dependencies: + chalk "^4.1.0" + date-fns "^2.29.1" + lodash "^4.17.21" + rxjs "^7.0.0" + shell-quote "^1.7.3" + spawn-command "^0.0.2-1" + supports-color "^8.1.0" + tree-kill "^1.2.2" + yargs "^17.3.1" + +conventional-changelog-angular@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz#a9a9494c28b7165889144fd5b91573c4aa9ca541" + integrity sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg== + dependencies: + compare-func "^2.0.0" + +conventional-changelog-conventionalcommits@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz#41bdce54eb65a848a4a3ffdca93e92fa22b64a86" + integrity sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw== + dependencies: + compare-func "^2.0.0" + lodash "^4.17.15" + q "^1.5.1" + +conventional-commits-parser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz#02ae1178a381304839bce7cea9da5f1b549ae505" + integrity sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg== + dependencies: + JSONStream "^1.3.5" + is-text-path "^1.0.1" + meow "^8.1.2" + split2 "^3.2.2" + +cookie@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + +cosmiconfig-typescript-loader@^4.0.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz#f3feae459ea090f131df5474ce4b1222912319f9" + integrity sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw== + +cosmiconfig@^8.0.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd" + integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ== + dependencies: + import-fresh "^3.2.1" + js-yaml "^4.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + +date-fns@^2.29.1: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + +debug@4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +define-properties@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es6-error@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + 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" + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +fs-extra@^11.0.0: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +git-raw-commits@^2.0.11: + version "2.0.11" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" + integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== + dependencies: + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +global-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6" + integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== + dependencies: + boolean "^3.0.1" + es6-error "^4.1.1" + matcher "^3.0.0" + roarr "^2.15.3" + semver "^7.3.2" + serialize-error "^7.0.1" + +global-dirs@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== + dependencies: + ini "^1.3.4" + +globalthis@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inherits@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-core-module@^2.13.0, is-core-module@^2.5.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + dependencies: + has "^1.0.3" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-text-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== + dependencies: + text-extensions "^1.0.0" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" + integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash.upperfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== + +lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru_map@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" + integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +matcher@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" + integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== + dependencies: + escape-string-regexp "^4.0.0" + +meow@^8.0.0, meow@^8.1.2: + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + 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" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +q@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@3, readable-stream@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +resolve-from@5.0.0, resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-global@1.0.0, resolve-global@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-global/-/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255" + integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== + dependencies: + global-dirs "^0.1.1" + +resolve@^1.10.0: + version "1.22.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34" + integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +roarr@^2.15.3: + version "2.15.4" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" + integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== + dependencies: + boolean "^3.0.1" + detect-node "^2.0.4" + globalthis "^1.0.1" + json-stringify-safe "^5.0.1" + semver-compare "^1.0.0" + sprintf-js "^1.1.2" + +rxjs@^7.0.0: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== + +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@7.5.4, semver@^7.3.2, semver@^7.3.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +serialize-error@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" + integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== + dependencies: + type-fest "^0.13.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +snyk@1.1118.0: + version "1.1118.0" + resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.1118.0.tgz#a85caa2ea0a808567ab7b8fa0baa68b44a4491ec" + integrity sha512-zddbk/h6CHrcSGFB381LsnTIHj4oD0CeCspNnHVsVmExthr1gZWbCzs3aVztN9NSmkfh7Zx8QLnGmvG6b5m7hw== + dependencies: + "@sentry/node" "^7.36.0" + global-agent "^3.0.0" + +spawn-command@^0.0.2-1: + version "0.0.2-1" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.13" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + +split2@^3.0.0, split2@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +sprintf-js@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +text-extensions@^1.0.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== + +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +"through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +ts-node@^10.8.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@^2.1.0, "tslib@^2.4.1 || ^1.9.3": + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +"typescript@^4.6.4 || ^5.0.0": + version "5.1.6" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" + integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.0.0, yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 67abb2973427305c1968b7bd114bd6b4f9f474ac Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Tue, 22 Aug 2023 12:08:20 +0200 Subject: [PATCH 10/18] ops(gha): update non-working flows to workflow_dispatch only --- .github/workflows/build.yml | 126 ++--- .github/workflows/ibc-e2e.yaml | 31 +- .github/workflows/lint.yml | 46 +- .github/workflows/prepare_release.yaml | 614 ++++++++++++----------- .github/workflows/test_pull_request.yaml | 318 ++++++------ 5 files changed, 573 insertions(+), 562 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f5618794..ceb15645 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,17 +1,19 @@ -# # This workflow builds the ixos binary for amd64 and arm64 on Darwin and Linux. -# # -# # This workflow runs: -# # - on pushes to main -# # - on every pull requests -# # - when manually triggered -# # -# # Caching strategy -# # This code will store the Go modules cache based on the hash of your go.sum file, -# # ensuring that the cache will be invalidated when your dependencies change. -# # The cache will be stored on a per-branch basis, which should prevent cache pollution issues between different branches. +# This workflow builds the ixos binary for amd64 and arm64 on Darwin and Linux. +# +# This workflow runs: +# - on pushes to main +# - on every pull requests +# - when manually triggered +# +# Caching strategy +# This code will store the Go modules cache based on the hash of your go.sum file, +# ensuring that the cache will be invalidated when your dependencies change. +# The cache will be stored on a per-branch basis, which should prevent cache pollution issues between different branches. -# name: Build ixod +name: Build ixod +on: + workflow_dispatch: # on: # pull_request: # branches: @@ -22,57 +24,57 @@ # - "v[0-9]**" # workflow_dispatch: -# env: -# GO_VERSION: 1.20.7 +env: + GO_VERSION: 1.20.7 -# concurrency: -# group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} -# cancel-in-progress: true +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true -# jobs: -# build: -# name: ixod-${{ matrix.targetos }}-${{ matrix.arch }} -# runs-on: ubuntu-latest +jobs: + build: + name: ixod-${{ matrix.targetos }}-${{ matrix.arch }} + runs-on: ubuntu-latest -# strategy: -# matrix: -# arch: [amd64, arm64] -# targetos: [darwin, linux] -# include: -# - targetos: darwin -# arch: arm64 + strategy: + matrix: + arch: [amd64, arm64] + targetos: [darwin, linux] + include: + - targetos: darwin + arch: arm64 -# steps: -# - name: Check out repository code -# uses: actions/checkout@v3 -# - name: Get git diff -# uses: technote-space/get-diff-action@v6.1.2 -# with: -# PATTERNS: | -# **/**.wasm -# **/**.go -# go.mod -# go.sum -# Makefile -# .github/workflows/build.yml -# - name: 🐿 Setup Golang -# uses: actions/setup-go@v4 -# if: env.GIT_DIFF -# with: -# go-version: ${{env.GO_VERSION}} -# env: -# GOOS: ${{ matrix.targetos }} -# GOARCH: ${{ matrix.arch }} -# - name: Download Dependencies -# if: env.GIT_DIFF -# run: go mod download -# - name: Build ixod -# if: env.GIT_DIFF -# run: | -# GOWRK=off go build cmd/ixod/main.go -# - name: Upload ixod artifact -# if: env.GIT_DIFF -# uses: actions/upload-artifact@v3 -# with: -# name: ixod-${{ matrix.targetos }}-${{ matrix.arch }} -# path: cmd/ixod/ixod + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: Get git diff + uses: technote-space/get-diff-action@v6.1.2 + with: + PATTERNS: | + **/**.wasm + **/**.go + go.mod + go.sum + Makefile + .github/workflows/build.yml + - name: 🐿 Setup Golang + uses: actions/setup-go@v4 + if: env.GIT_DIFF + with: + go-version: ${{env.GO_VERSION}} + env: + GOOS: ${{ matrix.targetos }} + GOARCH: ${{ matrix.arch }} + - name: Download Dependencies + if: env.GIT_DIFF + run: go mod download + - name: Build ixod + if: env.GIT_DIFF + run: | + GOWRK=off go build cmd/ixod/main.go + - name: Upload ixod artifact + if: env.GIT_DIFF + uses: actions/upload-artifact@v3 + with: + name: ixod-${{ matrix.targetos }}-${{ matrix.arch }} + path: cmd/ixod/ixod diff --git a/.github/workflows/ibc-e2e.yaml b/.github/workflows/ibc-e2e.yaml index 04a1b3e1..e5cad693 100644 --- a/.github/workflows/ibc-e2e.yaml +++ b/.github/workflows/ibc-e2e.yaml @@ -1,18 +1,21 @@ -# name: Tests / E2E Upgrade +name: Tests / E2E Upgrade + +on: + workflow_dispatch: # on: # workflow_dispatch: # push: -# branches: [master] +# branches: [main] -# jobs: -# upgrade-v5: -# uses: cosmos/ibc-go/.github/workflows/e2e-test-workflow-call.yml@main -# with: -# chain-image: ghcr.io/ixofoundation/ixo-blockchain -# chain-binary: ixod -# chain-a-tag: 0.19.3 -# chain-b-tag: 0.19.3 -# chain-upgrade-tag: debug-v0.19.4.7 -# upgrade-plan-name: "normal upgrade" -# test-entry-point: "TestUpgradeTestSuite" -# test: "TestIBCChainUpgrade" +jobs: + upgrade-v5: + uses: cosmos/ibc-go/.github/workflows/e2e-test-workflow-call.yml@main + with: + chain-image: ghcr.io/ixofoundation/ixo-blockchain + chain-binary: ixod + chain-a-tag: 0.19.3 + chain-b-tag: 0.19.3 + chain-upgrade-tag: debug-v0.19.4.7 + upgrade-plan-name: "normal upgrade" + test-entry-point: "TestUpgradeTestSuite" + test: "TestIBCChainUpgrade" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index ffbf262e..1010e39c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,4 +1,6 @@ -# name: golangci-lint +name: golangci-lint +on: + workflow_dispatch: # on: # push: # tags: @@ -7,26 +9,26 @@ # - main # pull_request: -# env: -# GO_VERSION: 1.20.7 +env: + GO_VERSION: 1.20.7 -# permissions: -# contents: read +permissions: + contents: read -# jobs: -# golangci: -# name: Run golangci-lint -# runs-on: ubuntu-latest -# steps: -# - name: Check out repository code -# uses: actions/checkout@v3 -# - name: 🐿 Setup Golang -# uses: actions/setup-go@v4 -# with: -# go-version: ${{env.GO_VERSION}} -# - name: golangci-lint -# uses: golangci/golangci-lint-action@v3 -# with: -# # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version -# version: latest -# args: --timeout 10m +jobs: + golangci: + name: Run golangci-lint + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: 🐿 Setup Golang + uses: actions/setup-go@v4 + with: + go-version: ${{env.GO_VERSION}} + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version + version: latest + args: --timeout 10m diff --git a/.github/workflows/prepare_release.yaml b/.github/workflows/prepare_release.yaml index 9ba007d1..367a1363 100644 --- a/.github/workflows/prepare_release.yaml +++ b/.github/workflows/prepare_release.yaml @@ -1,312 +1,314 @@ -# name: Prepare Release +name: Prepare Release +on: + workflow_dispatch: # on: # push: # tags: # - v* -# jobs: -# gather-build-info: -# name: Gather Build Info -# runs-on: ubuntu-latest -# outputs: -# is-prerelease: ${{ startsWith(steps.get_version.outputs.prerelease, 'rc') }} -# version: ${{ steps.get_version.outputs.version }} -# steps: -# - id: get_version -# uses: battila7/get-version-action@master - -# test-code: -# name: ${{ matrix.test.name }} -# runs-on: ubuntu-latest -# continue-on-error: ${{ matrix.test.experimental }} -# needs: -# - gather-build-info -# strategy: -# fail-fast: false -# matrix: -# test: -# - name: Unit Tests (Code) -# command: npm run test:code -# experimental: true -# artifact: "" -# enabled: true - -# - name: Snyk (Security) -# command: npm run test:security -# experimental: true -# enabled: true - -# - name: Lint (Quality) -# command: npm run lint -# experimental: true -# enabled: true - -# - name: Coverage (Quality) -# command: npm run test:coverage -# experimental: true -# enabled: false - -# exclude: -# - test: -# enabled: false -# steps: -# - uses: actions/checkout@v2 -# - name: Install Npm Dependencies -# run: npm install --ignore-scripts -# - name: Run Test -# run: ${{ matrix.test.command }} - -# build: -# name: ${{ matrix.build.name }} -# runs-on: ubuntu-latest -# needs: -# - gather-build-info -# strategy: -# fail-fast: false -# matrix: -# build: -# - name: Build docker image -# os: ubuntu-latest -# enabled: true -# artifact: ixo-chain -# docker: -# file: .infra/dockerfiles/Dockerfile -# target: dist-stable -# outputs: -# type: "image" -# # post-build: -# # enabled: false - -# - name: Build debian package -# os: ubuntu-latest -# artifact: "ixod_linux_amd64" -# enabled: true -# docker: -# file: .infra/dockerfiles/Dockerfile -# target: build-binary -# outputs: -# type: file -# path: /dist/app/ixo-blockchain_linux_amd64.tar.gz -# # post-build: -# # enabled: false - -# - name: Build darwin binary -# os: ubuntu-latest -# artifact: "ixod_darwin_amd64" -# enabled: true -# docker: -# file: .infra/dockerfiles/Dockerfile -# target: build-binary -# outputs: -# type: file -# path: /dist/app/ixo-blockchain_darwin_amd64.tar.gz - -# exclude: -# - build: -# enabled: false - -# steps: -# - uses: actions/checkout@v2 - -# - name: Set up Docker Buildx -# if: matrix.build.outputs.type == 'image' -# uses: docker/setup-buildx-action@v1 - -# - name: Build Docker Image and Save -# if: matrix.build.outputs.type == 'image' -# uses: docker/build-push-action@v2 -# with: -# push: false -# context: . -# tags: ${{ matrix.build.artifact }}:tmp -# target: ${{ matrix.build.docker.target }} -# file: ${{ matrix.build.docker.file }} -# outputs: type=docker,dest=/tmp/${{ matrix.build.artifact }}.tar - -# - name: Build Docker Image -# if: matrix.build.outputs.type == 'file' -# uses: docker/build-push-action@v2 -# with: -# push: false -# context: . -# tags: ${{ matrix.build.artifact }}:tmp -# target: ${{ matrix.build.docker.target }} -# file: ${{ matrix.build.docker.file }} - -# - name: Extract files from Docker Image -# id: extracted-files -# if: matrix.build.outputs.type == 'file' -# uses: shrink/actions-docker-extract@v1 -# with: -# image: ${{ matrix.build.artifact }}:tmp -# path: ${{ matrix.build.outputs.path }} - -# - name: Upload Docker Image -# if: matrix.build.outputs.type == 'image' -# uses: actions/upload-artifact@v2 -# with: -# name: ${{ matrix.build.artifact }} -# path: /tmp/${{ matrix.build.artifact }}.tar - -# - name: Upload File -# if: matrix.build.outputs.type == 'file' -# uses: actions/upload-artifact@v2 -# with: -# name: ${{ matrix.build.artifact }} -# path: ${{ steps.extracted-files.outputs.destination }} - -# test-artifact: -# name: ${{ matrix.test.name }} -# runs-on: ubuntu-latest -# continue-on-error: ${{ matrix.test.experimental }} -# needs: -# - build -# strategy: -# matrix: -# test: -# - name: Scan Docker image (Security) -# os: ubuntu-latest -# artifact: ixo-chain -# enabled: true -# experimental: true -# command: docker scan --file .infra/dockerfiles/Dockerfile ixo-chain:tmp - -# - name: Integration Tests (Quality) -# os: ubuntu-latest -# artifact: ixo-chain -# enabled: false -# experimental: true - -# exclude: -# - test: -# enabled: false -# steps: -# - uses: actions/checkout@v2 -# - name: Download artifact -# uses: actions/download-artifact@v2 -# with: -# name: ${{ matrix.test.artifact }} - -# - name: Load image -# run: docker load --input ${{ matrix.test.artifact }}.tar - -# - name: Run ${{matrix.test.name }} -# run: ${{ matrix.test.command }} - -# publish-release: -# name: ${{ matrix.release.name }} -# runs-on: ubuntu-latest -# outputs: -# upload-url: ${{ steps.release.outputs.upload_url}} -# needs: -# - gather-build-info -# - test-code -# - build -# - test-artifact -# strategy: -# fail-fast: false -# matrix: -# release: -# - name: Publish Release -# enabled: ${{ !needs.gather-build-info.outputs.is-prerelease }} -# config: release-config.yaml - -# - name: Publish Pre-Release -# enabled: ${{ needs.gather-build-info.outputs.is-prerelease }} -# config: prerelease-config.yaml - -# exclude: -# - release: -# enabled: false -# steps: -# - name: Create Release -# id: release -# uses: release-drafter/release-drafter@v5 -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# with: -# config-name: ${{ matrix.release.config }} -# tag: ${{ needs.gather-build-info.outputs.version }} -# publish: true -# commitish: ${{ github.sha }} - -# publish-release-artifacts: -# name: ${{ matrix.artifact.name }} -# runs-on: ubuntu-latest -# needs: -# - gather-build-info -# - build -# - publish-release -# strategy: -# matrix: -# artifact: -# - name: Publish Docker Image -# os: ubuntu-latest -# artifact: ixo-chain -# enabled: true -# type: docker -# docker: -# registry: ghcr.io -# owner: ${{ github.repository_owner }} -# image: ${{ github.event.repository.name }} -# username: ${{ github.actor }} -# # password: ${{ secrets.GITHUB_TOKEN }} -# tag: ${{ needs.gather-build-info.outputs.version }} - -# - name: Publish Linux Binary -# os: ubuntu-latest -# artifact: "ixod_linux_amd64" -# enabled: true -# type: file -# file: -# path: ixo-blockchain_linux_amd64.tar.gz -# extention: .tar.gz - -# - name: Publish Darwin Binary -# os: ubuntu-latest -# artifact: "ixod_darwin_amd64" -# enabled: true -# type: file -# file: -# path: ixo-blockchain_darwin_amd64.tar.gz -# extention: .tar.gz - -# exclude: -# - artifact: -# enabled: false - -# steps: -# - name: Login to DockerHub -# if: matrix.artifact.type == 'docker' -# uses: docker/login-action@v1 -# with: -# registry: ${{ matrix.artifact.docker.registry }} -# username: ${{ matrix.artifact.docker.username }} -# password: ${{ secrets.GITHUB_TOKEN }} - -# - name: Download artifact -# uses: actions/download-artifact@v2 -# with: -# name: ${{ matrix.artifact.artifact }} - -# - name: Upload Release Asset -# if: matrix.artifact.type == 'file' -# id: upload-release-asset -# uses: actions/upload-release-asset@v1 -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# with: -# upload_url: ${{ needs.publish-release.outputs.upload-url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps -# asset_path: ./${{ matrix.artifact.file.path }} -# asset_name: ${{ matrix.artifact.artifact }}.${{ matrix.artifact.file.extention }} -# asset_content_type: application/tar+gzip - -# - name: Publish Docker Image -# if: matrix.artifact.type == 'docker' -# env: -# image: ${{ matrix.artifact.docker.registry }}/${{ matrix.artifact.docker.owner }}/${{ matrix.artifact.docker.image }}:${{ matrix.artifact.docker.tag }} -# run: | -# docker load --input ${{ matrix.artifact.artifact }}.tar -# docker tag ${{ matrix.artifact.artifact }}:tmp ${{ env.image }} -# docker push ${{ env.image }} +jobs: + gather-build-info: + name: Gather Build Info + runs-on: ubuntu-latest + outputs: + is-prerelease: ${{ startsWith(steps.get_version.outputs.prerelease, 'rc') }} + version: ${{ steps.get_version.outputs.version }} + steps: + - id: get_version + uses: battila7/get-version-action@master + + test-code: + name: ${{ matrix.test.name }} + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.test.experimental }} + needs: + - gather-build-info + strategy: + fail-fast: false + matrix: + test: + - name: Unit Tests (Code) + command: npm run test:code + experimental: true + artifact: "" + enabled: true + + - name: Snyk (Security) + command: npm run test:security + experimental: true + enabled: true + + - name: Lint (Quality) + command: npm run lint + experimental: true + enabled: true + + - name: Coverage (Quality) + command: npm run test:coverage + experimental: true + enabled: false + + exclude: + - test: + enabled: false + steps: + - uses: actions/checkout@v2 + - name: Install Npm Dependencies + run: npm install --ignore-scripts + - name: Run Test + run: ${{ matrix.test.command }} + + build: + name: ${{ matrix.build.name }} + runs-on: ubuntu-latest + needs: + - gather-build-info + strategy: + fail-fast: false + matrix: + build: + - name: Build docker image + os: ubuntu-latest + enabled: true + artifact: ixo-chain + docker: + file: .infra/dockerfiles/Dockerfile + target: dist-stable + outputs: + type: "image" + # post-build: + # enabled: false + + - name: Build debian package + os: ubuntu-latest + artifact: "ixod_linux_amd64" + enabled: true + docker: + file: .infra/dockerfiles/Dockerfile + target: build-binary + outputs: + type: file + path: /dist/app/ixo-blockchain_linux_amd64.tar.gz + # post-build: + # enabled: false + + - name: Build darwin binary + os: ubuntu-latest + artifact: "ixod_darwin_amd64" + enabled: true + docker: + file: .infra/dockerfiles/Dockerfile + target: build-binary + outputs: + type: file + path: /dist/app/ixo-blockchain_darwin_amd64.tar.gz + + exclude: + - build: + enabled: false + + steps: + - uses: actions/checkout@v2 + + - name: Set up Docker Buildx + if: matrix.build.outputs.type == 'image' + uses: docker/setup-buildx-action@v1 + + - name: Build Docker Image and Save + if: matrix.build.outputs.type == 'image' + uses: docker/build-push-action@v2 + with: + push: false + context: . + tags: ${{ matrix.build.artifact }}:tmp + target: ${{ matrix.build.docker.target }} + file: ${{ matrix.build.docker.file }} + outputs: type=docker,dest=/tmp/${{ matrix.build.artifact }}.tar + + - name: Build Docker Image + if: matrix.build.outputs.type == 'file' + uses: docker/build-push-action@v2 + with: + push: false + context: . + tags: ${{ matrix.build.artifact }}:tmp + target: ${{ matrix.build.docker.target }} + file: ${{ matrix.build.docker.file }} + + - name: Extract files from Docker Image + id: extracted-files + if: matrix.build.outputs.type == 'file' + uses: shrink/actions-docker-extract@v1 + with: + image: ${{ matrix.build.artifact }}:tmp + path: ${{ matrix.build.outputs.path }} + + - name: Upload Docker Image + if: matrix.build.outputs.type == 'image' + uses: actions/upload-artifact@v2 + with: + name: ${{ matrix.build.artifact }} + path: /tmp/${{ matrix.build.artifact }}.tar + + - name: Upload File + if: matrix.build.outputs.type == 'file' + uses: actions/upload-artifact@v2 + with: + name: ${{ matrix.build.artifact }} + path: ${{ steps.extracted-files.outputs.destination }} + + test-artifact: + name: ${{ matrix.test.name }} + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.test.experimental }} + needs: + - build + strategy: + matrix: + test: + - name: Scan Docker image (Security) + os: ubuntu-latest + artifact: ixo-chain + enabled: true + experimental: true + command: docker scan --file .infra/dockerfiles/Dockerfile ixo-chain:tmp + + - name: Integration Tests (Quality) + os: ubuntu-latest + artifact: ixo-chain + enabled: false + experimental: true + + exclude: + - test: + enabled: false + steps: + - uses: actions/checkout@v2 + - name: Download artifact + uses: actions/download-artifact@v2 + with: + name: ${{ matrix.test.artifact }} + + - name: Load image + run: docker load --input ${{ matrix.test.artifact }}.tar + + - name: Run ${{matrix.test.name }} + run: ${{ matrix.test.command }} + + publish-release: + name: ${{ matrix.release.name }} + runs-on: ubuntu-latest + outputs: + upload-url: ${{ steps.release.outputs.upload_url}} + needs: + - gather-build-info + - test-code + - build + - test-artifact + strategy: + fail-fast: false + matrix: + release: + - name: Publish Release + enabled: ${{ !needs.gather-build-info.outputs.is-prerelease }} + config: release-config.yaml + + - name: Publish Pre-Release + enabled: ${{ needs.gather-build-info.outputs.is-prerelease }} + config: prerelease-config.yaml + + exclude: + - release: + enabled: false + steps: + - name: Create Release + id: release + uses: release-drafter/release-drafter@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + config-name: ${{ matrix.release.config }} + tag: ${{ needs.gather-build-info.outputs.version }} + publish: true + commitish: ${{ github.sha }} + + publish-release-artifacts: + name: ${{ matrix.artifact.name }} + runs-on: ubuntu-latest + needs: + - gather-build-info + - build + - publish-release + strategy: + matrix: + artifact: + - name: Publish Docker Image + os: ubuntu-latest + artifact: ixo-chain + enabled: true + type: docker + docker: + registry: ghcr.io + owner: ${{ github.repository_owner }} + image: ${{ github.event.repository.name }} + username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ needs.gather-build-info.outputs.version }} + + - name: Publish Linux Binary + os: ubuntu-latest + artifact: "ixod_linux_amd64" + enabled: true + type: file + file: + path: ixo-blockchain_linux_amd64.tar.gz + extention: .tar.gz + + - name: Publish Darwin Binary + os: ubuntu-latest + artifact: "ixod_darwin_amd64" + enabled: true + type: file + file: + path: ixo-blockchain_darwin_amd64.tar.gz + extention: .tar.gz + + exclude: + - artifact: + enabled: false + + steps: + - name: Login to DockerHub + if: matrix.artifact.type == 'docker' + uses: docker/login-action@v1 + with: + registry: ${{ matrix.artifact.docker.registry }} + username: ${{ matrix.artifact.docker.username }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Download artifact + uses: actions/download-artifact@v2 + with: + name: ${{ matrix.artifact.artifact }} + + - name: Upload Release Asset + if: matrix.artifact.type == 'file' + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.publish-release.outputs.upload-url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: ./${{ matrix.artifact.file.path }} + asset_name: ${{ matrix.artifact.artifact }}.${{ matrix.artifact.file.extention }} + asset_content_type: application/tar+gzip + + - name: Publish Docker Image + if: matrix.artifact.type == 'docker' + env: + image: ${{ matrix.artifact.docker.registry }}/${{ matrix.artifact.docker.owner }}/${{ matrix.artifact.docker.image }}:${{ matrix.artifact.docker.tag }} + run: | + docker load --input ${{ matrix.artifact.artifact }}.tar + docker tag ${{ matrix.artifact.artifact }}:tmp ${{ env.image }} + docker push ${{ env.image }} diff --git a/.github/workflows/test_pull_request.yaml b/.github/workflows/test_pull_request.yaml index 7f2fd665..2628bc64 100644 --- a/.github/workflows/test_pull_request.yaml +++ b/.github/workflows/test_pull_request.yaml @@ -1,162 +1,164 @@ -# name: Review Pull Request +name: Review Pull Request +on: + workflow_dispatch: # on: # pull_request: -# jobs: -# gather-build-info: -# name: Gather Build Info -# runs-on: ubuntu-latest -# outputs: -# is-prerelease: ${{ startsWith(steps.get_version.outputs.prerelease, 'rc') }} -# version: ${{ steps.get_version.outputs.version }} -# steps: -# - run: echo "hi" - -# test-code: -# name: ${{ matrix.test.name }} -# runs-on: ubuntu-latest -# continue-on-error: ${{ matrix.test.experimental }} -# needs: -# - gather-build-info -# strategy: -# fail-fast: false -# matrix: -# test: -# - name: Unit Tests (Code) -# command: npm run test:code -# experimental: true -# artifact: "" -# enabled: true - -# - name: Snyk (Security) -# command: npm run test:security -# experimental: true -# enabled: true - -# - name: Lint (Quality) -# command: npm run lint -# experimental: true -# enabled: true - -# - name: Coverage (Quality) -# command: npm run test:coverage -# experimental: true -# enabled: false - -# exclude: -# - test: -# enabled: false -# steps: -# - uses: actions/checkout@v2 -# - name: Install Npm Dependencies -# run: npm install --ignore-scripts -# - name: Run Test -# run: ${{ matrix.test.command }} - -# build: -# name: ${{ matrix.build.name }} -# runs-on: ubuntu-latest -# needs: -# - gather-build-info -# strategy: -# fail-fast: false -# matrix: -# build: -# - name: Build docker image -# os: ubuntu-latest -# enabled: true -# artifact: ixo-chain -# docker: -# file: .infra/dockerfiles/Dockerfile -# target: dist-stable -# post-build: -# enabled: false -# command: | -# docker build -t $IMAGE_NAME:$VERSION -f .infra/docker . - -# - name: Build debian package -# os: ubuntu-latest -# artifact: "ixod" -# enabled: false -# docker: -# file: .infra/dockerfiles/Dockerfile -# target: dist-stable -# post-build: -# enabled: false -# command: | -# docker build -t $IMAGE_NAME:$VERSION -f .infra/docker . - -# - name: Build macos binary -# command: docker build -t $IMAGE_NAME:$VERSION . -# os: ubuntu-latest -# artifact: "" -# enabled: false - -# exclude: -# - build: -# enabled: false - -# steps: -# - uses: actions/checkout@v2 - -# - name: Set up Docker Buildx -# uses: docker/setup-buildx-action@v1 - -# - name: Build and push -# uses: docker/build-push-action@v2 -# with: -# push: false -# context: . -# tags: ${{ matrix.build.artifact }}:tmp -# target: ${{ matrix.build.docker.target }} -# file: ${{ matrix.build.docker.file }} -# outputs: type=docker,dest=/tmp/${{ matrix.build.artifact }}.tar - -# - run: ls -l -# - if: matrix.build.post-command.enabled -# run: echo "hi" - -# - name: Upload artifact -# uses: actions/upload-artifact@v2 -# with: -# name: ${{ matrix.build.artifact }} -# path: /tmp/${{ matrix.build.artifact }}.tar - -# test-artifact: -# name: ${{ matrix.test.name }} -# runs-on: ubuntu-latest -# continue-on-error: ${{ matrix.test.experimental }} -# needs: -# - build -# strategy: -# matrix: -# test: -# - name: Scan Docker image (Security) -# os: ubuntu-latest -# artifact: ixo-chain -# enabled: true -# experimental: true -# command: docker scan --file .infra/dockerfiles/Dockerfile ixo-chain:tmp - -# - name: Integration Tests (Quality) -# os: ubuntu-latest -# artifact: ixo-chain -# enabled: false -# experimental: true - -# exclude: -# - test: -# enabled: false -# steps: -# - uses: actions/checkout@v2 -# - name: Download artifact -# uses: actions/download-artifact@v2 -# with: -# name: ${{ matrix.test.artifact }} - -# - name: Load image -# run: docker load --input ${{ matrix.test.artifact }}.tar - -# - name: Run ${{matrix.test.name }} -# run: ${{ matrix.test.command }} +jobs: + gather-build-info: + name: Gather Build Info + runs-on: ubuntu-latest + outputs: + is-prerelease: ${{ startsWith(steps.get_version.outputs.prerelease, 'rc') }} + version: ${{ steps.get_version.outputs.version }} + steps: + - run: echo "hi" + + test-code: + name: ${{ matrix.test.name }} + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.test.experimental }} + needs: + - gather-build-info + strategy: + fail-fast: false + matrix: + test: + - name: Unit Tests (Code) + command: npm run test:code + experimental: true + artifact: "" + enabled: true + + - name: Snyk (Security) + command: npm run test:security + experimental: true + enabled: true + + - name: Lint (Quality) + command: npm run lint + experimental: true + enabled: true + + - name: Coverage (Quality) + command: npm run test:coverage + experimental: true + enabled: false + + exclude: + - test: + enabled: false + steps: + - uses: actions/checkout@v2 + - name: Install Npm Dependencies + run: npm install --ignore-scripts + - name: Run Test + run: ${{ matrix.test.command }} + + build: + name: ${{ matrix.build.name }} + runs-on: ubuntu-latest + needs: + - gather-build-info + strategy: + fail-fast: false + matrix: + build: + - name: Build docker image + os: ubuntu-latest + enabled: true + artifact: ixo-chain + docker: + file: .infra/dockerfiles/Dockerfile + target: dist-stable + post-build: + enabled: false + command: | + docker build -t $IMAGE_NAME:$VERSION -f .infra/docker . + + - name: Build debian package + os: ubuntu-latest + artifact: "ixod" + enabled: false + docker: + file: .infra/dockerfiles/Dockerfile + target: dist-stable + post-build: + enabled: false + command: | + docker build -t $IMAGE_NAME:$VERSION -f .infra/docker . + + - name: Build macos binary + command: docker build -t $IMAGE_NAME:$VERSION . + os: ubuntu-latest + artifact: "" + enabled: false + + exclude: + - build: + enabled: false + + steps: + - uses: actions/checkout@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Build and push + uses: docker/build-push-action@v2 + with: + push: false + context: . + tags: ${{ matrix.build.artifact }}:tmp + target: ${{ matrix.build.docker.target }} + file: ${{ matrix.build.docker.file }} + outputs: type=docker,dest=/tmp/${{ matrix.build.artifact }}.tar + + - run: ls -l + - if: matrix.build.post-command.enabled + run: echo "hi" + + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: ${{ matrix.build.artifact }} + path: /tmp/${{ matrix.build.artifact }}.tar + + test-artifact: + name: ${{ matrix.test.name }} + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.test.experimental }} + needs: + - build + strategy: + matrix: + test: + - name: Scan Docker image (Security) + os: ubuntu-latest + artifact: ixo-chain + enabled: true + experimental: true + command: docker scan --file .infra/dockerfiles/Dockerfile ixo-chain:tmp + + - name: Integration Tests (Quality) + os: ubuntu-latest + artifact: ixo-chain + enabled: false + experimental: true + + exclude: + - test: + enabled: false + steps: + - uses: actions/checkout@v2 + - name: Download artifact + uses: actions/download-artifact@v2 + with: + name: ${{ matrix.test.artifact }} + + - name: Load image + run: docker load --input ${{ matrix.test.artifact }}.tar + + - name: Run ${{matrix.test.name }} + run: ${{ matrix.test.command }} From c1a127bf34a7951786866eb73ff4fc76894ccce8 Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Tue, 22 Aug 2023 15:09:49 +0200 Subject: [PATCH 11/18] ops(gha): fix releaser linux --- .goreleaser.yaml | 6 ++++-- Makefile | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 49bc7017..27c57796 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -74,6 +74,7 @@ builds: - amd64 env: - CC=x86_64-linux-gnu-gcc + - CXX=x86_64-linux-gnu-g++ flags: - -mod=readonly - -trimpath @@ -85,7 +86,7 @@ builds: - -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,ledger,muslc,osusergo - -w -s - -linkmode=external - - -extldflags '-Wl,-z,muldefs -static -lm' + - -extldflags '-Wl,-z,muldefs --static -lm' tags: - netgo - ledger @@ -104,6 +105,7 @@ builds: - arm64 env: - CC=aarch64-linux-gnu-gcc + - CXX=aarch64-linux-gnu-g++ flags: - -mod=readonly - -trimpath @@ -115,7 +117,7 @@ builds: - -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,ledger,muslc,osusergo - -w -s - -linkmode=external - - -extldflags '-Wl,-z,muldefs -static -lm' + - -extldflags '-Wl,-z,muldefs --static -lm' tags: - netgo - ledger diff --git a/Makefile b/Makefile index 0a519692..a2a03c22 100644 --- a/Makefile +++ b/Makefile @@ -227,7 +227,8 @@ release-dry-run: $(GORELEASER_IMAGE) \ release \ --clean \ - --skip-publish + --skip-publish \ + --skip-validate release-snapshot: docker run \ From b9017bb70ed7eb2aad0c46e721a656c0d82cae5f Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Thu, 24 Aug 2023 08:39:49 +0200 Subject: [PATCH 12/18] ops(ga): add release binary creation script, fix docker image --- .infra/dockerfiles/Dockerfile | 2 +- Dockerfile | 58 ++++++++- app/upgrades/v2/README.md | 2 +- scripts/release/create_all_binaries_json.sh | 16 +++ scripts/release/create_binaries_json.py | 127 ++++++++++++++++++++ scripts/release/requirements.txt | 5 + 6 files changed, 202 insertions(+), 8 deletions(-) create mode 100755 scripts/release/create_all_binaries_json.sh create mode 100644 scripts/release/create_binaries_json.py create mode 100644 scripts/release/requirements.txt diff --git a/.infra/dockerfiles/Dockerfile b/.infra/dockerfiles/Dockerfile index 29b951d5..e5b7b3d0 100644 --- a/.infra/dockerfiles/Dockerfile +++ b/.infra/dockerfiles/Dockerfile @@ -28,7 +28,7 @@ FROM build-dependencies AS build-devel COPY ./ . -ENTRYPOINT [ "starport", "chain", "serve" ] +# ENTRYPOINT [ "starport", "chain", "serve" ] # Build Golang files FROM --platform=linux/amd64 build-dependencies AS build-binary diff --git a/Dockerfile b/Dockerfile index 0dd44050..908eb963 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,62 @@ -FROM golang:1.19.4 as build +# echo $(git describe --tags) | sed 's/^v//' +ARG GIT_VERSION="2.0.0-rc.0" +# git log -1 --format='%H' +ARG GIT_COMMIT="ca9e64cf2f8c29b8bb001281abcdcb942dc9fa01" -WORKDIR /app +# -------------------------------------------------------- +# Builder +# -------------------------------------------------------- +FROM golang:1.19.4-alpine as builder + +RUN apk add --no-cache \ + ca-certificates \ + build-base \ + linux-headers + +# Download go dependencies +WORKDIR /ixo +COPY go.mod go.sum ./ +RUN --mount=type=cache,target=/root/.cache/go-build \ + --mount=type=cache,target=/root/go/pkg/mod \ + go mod download + +# RUN ARCH=$(uname -m) +# Cosmwasm - Download correct libwasmvm version +RUN ARCH=x86_64 WASMVM_VERSION=$(go list -m github.com/CosmWasm/wasmvm | sed 's/.* //') && wget \ + https://github.com/CosmWasm/wasmvm/releases/download/$WASMVM_VERSION/libwasmvm_muslc.$ARCH.a \ + -O /lib/libwasmvm_muslc.a && wget https://github.com/CosmWasm/wasmvm/releases/download/$WASMVM_VERSION/checksums.txt \ + -O /tmp/checksums.txt && sha256sum /lib/libwasmvm_muslc.a | grep $(cat /tmp/checksums.txt | grep libwasmvm_muslc.$ARCH | cut -d ' ' -f 1) + +# Copy the remaining files COPY . . -RUN make build +# RUN make build +# Build ixod binary +RUN --mount=type=cache,target=/root/.cache/go-build \ + --mount=type=cache,target=/root/go/pkg/mod \ + GOWORK=off go build \ + -mod=readonly \ + -tags "netgo,ledger,muslc" \ + -ldflags \ + "-X github.com/cosmos/cosmos-sdk/version.Name="ixo" \ + -X github.com/cosmos/cosmos-sdk/version.AppName="ixod" \ + -X github.com/cosmos/cosmos-sdk/version.Version=${GIT_VERSION} \ + -X github.com/cosmos/cosmos-sdk/version.Commit=${GIT_COMMIT} \ + -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,ledger,muslc \ + -w -s -linkmode=external -extldflags '-Wl,-z,muldefs --static -lm'" \ + -trimpath \ + -o /ixo/build/ixod \ + ./cmd/ixod/main.go + +# -------------------------------------------------------- +# Runner +# -------------------------------------------------------- -FROM ubuntu:20.04 as run +FROM ubuntu:20.04 as runner # FROM gcr.io/distroless/base-debian11 as run -COPY --from=build /app/build/ixod /bin/ixod -COPY --from=build /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib/x86_64-linux-gnu/libgcc_s.so.1 +COPY --from=builder /ixo/build/ixod /bin/ixod ENV HOME /ixo WORKDIR $HOME diff --git a/app/upgrades/v2/README.md b/app/upgrades/v2/README.md index 191ab712..d830c338 100644 --- a/app/upgrades/v2/README.md +++ b/app/upgrades/v2/README.md @@ -1,3 +1,3 @@ # v2 -In v2 upgrade +v2 release changes is availabale [here](https://github.com/ixofoundation/ixo-blockchain/releases/tag/v2.0.0). diff --git a/scripts/release/create_all_binaries_json.sh b/scripts/release/create_all_binaries_json.sh new file mode 100755 index 00000000..d70561d0 --- /dev/null +++ b/scripts/release/create_all_binaries_json.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +tags=( + "v2.0.0" +) + +echo "# Cosmovisor binaries" + +for tag in ${tags[@]}; do + echo + echo "## ${tag}" + echo + echo '```json' + python create_binaries_json.py --tag $tag + echo '```' +done diff --git a/scripts/release/create_binaries_json.py b/scripts/release/create_binaries_json.py new file mode 100644 index 00000000..330faf93 --- /dev/null +++ b/scripts/release/create_binaries_json.py @@ -0,0 +1,127 @@ +""" +Usage: +This script generates a JSON object containing binary download URLs and their corresponding checksums +for a given release tag of ixofoundation/ixo-blockchain or from a provided checksum URL. +The binary JSON is compatible with cosmovisor and with the chain registry. + +You can run this script with the following commands: + +❯ python create_binaries_json.py --checksums_url https://github.com/ixofoundation/ixo-blockchain/releases/download/v2.0.0/sha256sum.txt + +Output: +{ + "binaries": { + "linux/arm64": "https://github.com/ixofoundation/ixo-blockchain/releases/download/2.0.0/ixod-2.0.0-linux-arm64?checksum=", + "darwin/arm64": "https://github.com/ixofoundation/ixo-blockchain/releases/download/2.0.0/ixod-2.0.0-darwin-arm64?checksum=", + "darwin/amd64": "https://github.com/ixofoundation/ixo-blockchain/releases/download/2.0.0/ixod-2.0.0-darwin-amd64?checksum=, + "linux/amd64": "https://github.com/ixofoundation/ixo-blockchain/releases/download/2.0.0/ixod-2.0.0-linux-amd64?checksum=>" + } +} + +Expects a checksum in the form: + + ixod---[.tar.gz] + ixod---[.tar.gz] +... + +Example: + +0711bacaf0cee57f613796ba8c274011e22c3968e98755a105a1a500c87e19f5 ixod-2.0.0-linux-amd64 +0859b596ca18257cf424223b35057a4a5296c81fe1e43164673b3344876daaeb ixod-2.0.0-linux-amd64.tar.gz + +(From: https://github.com/ixofoundation/ixo-blockchain/releases/download/v2.0.0/sha256sum.txt) + +❯ python create_binaries_json.py --tag v2.0.0 + +Output: +{ + "binaries": { + "linux/arm64": "https://github.com/ixofoundation/ixo-blockchain/releases/download/v2.0.0/ixod-2.0.0-linux-arm64?checksum=", + "darwin/arm64": "https://github.com/ixofoundation/ixo-blockchain/releases/download/v2.0.0/ixod-2.0.0-darwin-arm64?checksum=", + "darwin/amd64": "https://github.com/ixofoundation/ixo-blockchain/releases/download/v2.0.0/ixod-2.0.0-darwin-amd64?checksum=", + "linux/amd64": "https://github.com/ixofoundation/ixo-blockchain/releases/download/v2.0.0/ixod-2.0.0-linux-amd64?checksum=>" + } +} + +Expect a checksum to be present at: +https://github.com/ixofoundation/ixo-blockchain/releases/download//sha256sum.txt +""" + +import requests +import json +import argparse +import re +import sys + + +def validate_tag(tag): + pattern = '^v[0-9]+.[0-9]+.[0-9]+$' + return bool(re.match(pattern, tag)) + + +def download_checksums(checksums_url): + + response = requests.get(checksums_url) + if response.status_code != 200: + raise ValueError( + f"Failed to fetch sha256sum.txt. Status code: {response.status_code}") + return response.text + + +def checksums_to_binaries_json(checksums): + + binaries = {} + + # Parse the content and create the binaries dictionary + for line in checksums.splitlines(): + checksum, filename = line.split(' ') + + # exclude tar.gz files + if not filename.endswith('.tar.gz') and filename.startswith('ixod'): + try: + _, tag, platform, arch = filename.split('-') + except ValueError: + print( + f"Error: Expected binary name in the form: ixod-X.Y.Z-platform-architecture, but got {filename}") + sys.exit(1) + _, tag, platform, arch, = filename.split('-') + # exclude universal binaries and windows binaries + if arch == 'all' or platform == 'windows': + continue + binaries[f"{platform}/{arch}"] = f"https://github.com/ixofoundation/ixo-blockchain/releases/download/v{tag}/{filename}?checksum=sha256:{checksum}" + + binaries_json = { + "binaries": binaries + } + + return json.dumps(binaries_json, indent=2) + + +def main(): + + parser = argparse.ArgumentParser(description="Create binaries json") + parser.add_argument('--tag', metavar='tag', type=str, + help='the tag to use (e.g v2.0.0)') + parser.add_argument('--checksums_url', metavar='checksums_url', + type=str, help='URL to the checksum') + + args = parser.parse_args() + + # Validate the tag format + if args.tag and not validate_tag(args.tag): + print("Error: The provided tag does not follow the 'vX.Y.Z' format.") + sys.exit(1) + + # Ensure that only one of --tag or --checksums_url is specified + if not bool(args.tag) ^ bool(args.checksums_url): + parser.error("Only one of tag or --checksums_url must be specified") + sys.exit(1) + + checksums_url = args.checksums_url if args.checksums_url else f"https://github.com/ixofoundation/ixo-blockchain/releases/download/{args.tag}/sha256sum.txt" + checksums = download_checksums(checksums_url) + binaries_json = checksums_to_binaries_json(checksums) + print(binaries_json) + + +if __name__ == "__main__": + main() diff --git a/scripts/release/requirements.txt b/scripts/release/requirements.txt new file mode 100644 index 00000000..8ef629c1 --- /dev/null +++ b/scripts/release/requirements.txt @@ -0,0 +1,5 @@ +certifi==2023.7.22 +charset-normalizer==3.2.0 +idna==3.4 +requests==2.31.0 +urllib3==2.0.4 From 845a7f5f1fb075c5f5bfc6d6f7ec1e050be34b8c Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Sun, 27 Aug 2023 19:41:44 +0200 Subject: [PATCH 13/18] fix(upgrades): upgrade wasmvm and fix upgrade handler --- Makefile | 4 +- app/app.go | 7 ++- app/keepers/keepers.go | 1 + app/upgrades/types.go | 5 +- app/upgrades/v2/upgrades.go | 46 ++++++++----------- go.mod | 36 +++++++-------- go.sum | 92 +++++++++++++++---------------------- 7 files changed, 81 insertions(+), 110 deletions(-) diff --git a/Makefile b/Makefile index a2a03c22..35161b15 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,6 @@ VERSION := $(shell echo $(shell git describe --tags) | sed 's/^v//') COMMIT := $(shell git log -1 --format='%H') LEDGER_ENABLED ?= yes SDK_PACK := $(shell go list -m github.com/cosmos/cosmos-sdk | sed 's/ /\@/g') -TM_VERSION := $(shell go list -m github.com/tendermint/tendermint | sed 's:.* ::') # grab everything after the space in "github.com/tendermint/tendermint v0.34.7" DOCKER := $(shell which docker) DOCKER_BUF := $(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace bufbuild/buf HTTPS_GIT := https://github.com/ixofoundation/ixo-blockchain.git @@ -63,8 +62,7 @@ ldflags = \ -X github.com/cosmos/cosmos-sdk/version.AppName=ixod \ -X github.com/cosmos/cosmos-sdk/version.Version=$(VERSION) \ -X github.com/cosmos/cosmos-sdk/version.Commit=$(COMMIT) \ - -X "github.com/ixofoundation/ixo-blockchain/version.BuildTags=$(build_tags_comma_sep)" \ - -X github.com/tendermint/tendermint/version.TMCoreSemVer=$(TM_VERSION) + -X "github.com/ixofoundation/ixo-blockchain/version.BuildTags=$(build_tags_comma_sep)" ifeq ($(WITH_CLEVELDB),yes) ldflags += -X github.com/cosmos/cosmos-sdk/types.DBBackend=cleveldb diff --git a/app/app.go b/app/app.go index f9c58a88..23224213 100644 --- a/app/app.go +++ b/app/app.go @@ -173,6 +173,9 @@ func NewIxoApp( // Tell the app's module manager how to set the order of InitGenesis, which are run genesis initialization. app.mm.SetOrderInitGenesis(orderInitBlockers()...) + // TODO check if needed + ModuleBasics.RegisterInterfaces(app.interfaceRegistry) + app.mm.RegisterInvariants(&app.CrisisKeeper) app.mm.RegisterRoutes(app.Router(), app.QueryRouter(), encodingConfig.Amino) app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter()) @@ -384,7 +387,7 @@ func (app *IxoApp) setupUpgradeHandlers() { for _, upgrade := range Upgrades { app.UpgradeKeeper.SetUpgradeHandler( upgrade.UpgradeName, - upgrade.CreateUpgradeHandler(app.mm, app.configurator, &app.AppKeepers), + upgrade.CreateUpgradeHandler(app.mm, app.configurator), ) } } @@ -393,7 +396,7 @@ func (app *IxoApp) setupUpgradeHandlers() { func (app *IxoApp) beginBlockForks(ctx sdk.Context) { for _, fork := range Forks { if ctx.BlockHeight() == fork.UpgradeHeight { - fork.BeginForkLogic(ctx, &app.AppKeepers) + fork.BeginForkLogic(ctx) return } } diff --git a/app/keepers/keepers.go b/app/keepers/keepers.go index 522b35b8..ea289903 100644 --- a/app/keepers/keepers.go +++ b/app/keepers/keepers.go @@ -377,6 +377,7 @@ func (appKeepers *AppKeepers) InitKeepers( appKeepers.BankKeeper, appKeepers.StakingKeeper, appKeepers.DistrKeeper, + appKeepers.IBCFeeKeeper, // ISC4 Wrapper: fee IBC middleware appKeepers.IBCKeeper.ChannelKeeper, &appKeepers.IBCKeeper.PortKeeper, appKeepers.ScopedWasmKeeper, diff --git a/app/upgrades/types.go b/app/upgrades/types.go index ac861a2a..bd128e24 100644 --- a/app/upgrades/types.go +++ b/app/upgrades/types.go @@ -5,7 +5,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/ixofoundation/ixo-blockchain/app/keepers" ) // Upgrade defines a struct containing necessary fields that a @@ -19,7 +18,7 @@ type Upgrade struct { UpgradeName string // CreateUpgradeHandler defines the function that creates an upgrade handler - CreateUpgradeHandler func(*module.Manager, module.Configurator, *keepers.AppKeepers) upgradetypes.UpgradeHandler + CreateUpgradeHandler func(*module.Manager, module.Configurator) upgradetypes.UpgradeHandler // used for any new modules introduced, new modules deleted, or store names renamed StoreUpgrades store.StoreUpgrades @@ -41,5 +40,5 @@ type Fork struct { UpgradeHeight int64 // function that runs some custom state transition code at the beginning of a fork - BeginForkLogic func(ctx sdk.Context, keepers *keepers.AppKeepers) + BeginForkLogic func(ctx sdk.Context) } diff --git a/app/upgrades/v2/upgrades.go b/app/upgrades/v2/upgrades.go index ba41296f..94af50a2 100644 --- a/app/upgrades/v2/upgrades.go +++ b/app/upgrades/v2/upgrades.go @@ -4,19 +4,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - icqkeeper "github.com/cosmos/ibc-apps/modules/async-icq/v4/keeper" - icqtypes "github.com/cosmos/ibc-apps/modules/async-icq/v4/types" - icahostkeeper "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/keeper" - icahosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types" - "github.com/ixofoundation/ixo-blockchain/app/keepers" - "github.com/ixofoundation/ixo-blockchain/wasmbinding" - packetforwardtypes "github.com/strangelove-ventures/packet-forward-middleware/v4/router/types" ) func CreateUpgradeHandler( mm *module.Manager, configurator module.Configurator, - keepers *keepers.AppKeepers, ) upgradetypes.UpgradeHandler { return func(ctx sdk.Context, plan upgradetypes.Plan, _ module.VersionMap) (module.VersionMap, error) { ctx.Logger().Info("🚀 executing Ixo v2 upgrade 🚀") @@ -56,30 +48,28 @@ func CreateUpgradeHandler( // Run migrations before applying any other state changes. migrations, err := mm.RunMigrations(ctx, configurator, fromVM) - ctx.Logger().Info("set PacketForwardKeeper params") - keepers.PacketForwardKeeper.SetParams(ctx, packetforwardtypes.DefaultParams()) + // ctx.Logger().Info("set ICQKeeper params") + // setICQParams(ctx, keepers.ICQKeeper) - ctx.Logger().Info("set ICQKeeper params") - setICQParams(ctx, keepers.ICQKeeper) - - ctx.Logger().Info("update ICAHostKeeper params to allow all messages") - setICAHostParams(ctx, &keepers.ICAHostKeeper) + // ctx.Logger().Info("update ICAHostKeeper params to allow all messages") + // setICAHostParams(ctx, &keepers.ICAHostKeeper) return migrations, err } } -func setICQParams(ctx sdk.Context, icqKeeper *icqkeeper.Keeper) { - icqparams := icqtypes.DefaultParams() - icqparams.AllowQueries = wasmbinding.GetStargateWhitelistedPaths() - // Adding SmartContractState query to allowlist - icqparams.AllowQueries = append(icqparams.AllowQueries, "/cosmwasm.wasm.v1.Query/SmartContractState") - icqKeeper.SetParams(ctx, icqparams) -} +// TODO pass keepers through with cosmos sdk upgrade and implement this, not needed for now +// func setICQParams(ctx sdk.Context, icqKeeper *icqkeeper.Keeper) { +// icqparams := icqtypes.DefaultParams() +// icqparams.AllowQueries = wasmbinding.GetStargateWhitelistedPaths() +// // Adding SmartContractState query to allowlist +// icqparams.AllowQueries = append(icqparams.AllowQueries, "/cosmwasm.wasm.v1.Query/SmartContractState") +// icqKeeper.SetParams(ctx, icqparams) +// } -func setICAHostParams(ctx sdk.Context, icahostkeeper *icahostkeeper.Keeper) { - icahostkeeper.SetParams(ctx, icahosttypes.Params{ - HostEnabled: true, - AllowMessages: []string{"*"}, - }) -} +// func setICAHostParams(ctx sdk.Context, icahostkeeper *icahostkeeper.Keeper) { +// icahostkeeper.SetParams(ctx, icahosttypes.Params{ +// HostEnabled: true, +// AllowMessages: []string{"*"}, +// }) +// } diff --git a/go.mod b/go.mod index 015384ec..303c8497 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( cosmossdk.io/errors v1.0.0-beta.7 - github.com/CosmWasm/wasmd v0.31.0 + github.com/CosmWasm/wasmd v0.32.0 github.com/CosmWasm/wasmvm v1.2.4 github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce github.com/cosmos/cosmos-sdk v0.45.16 @@ -12,10 +12,10 @@ require ( github.com/cosmos/ibc-go/v4 v4.4.1 github.com/cosmos/interchain-accounts v0.2.6 github.com/gogo/protobuf v1.3.3 - github.com/golang/protobuf v1.5.2 + github.com/golang/protobuf v1.5.3 github.com/gorilla/mux v1.8.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 - github.com/prometheus/client_golang v1.14.0 + github.com/prometheus/client_golang v1.15.0 github.com/rakyll/statik v0.1.7 github.com/regen-network/cosmos-proto v0.3.1 github.com/spf13/cast v1.5.0 @@ -26,10 +26,10 @@ require ( github.com/tendermint/go-amino v0.16.0 github.com/tendermint/tendermint v0.34.27 github.com/tendermint/tm-db v0.6.7 - golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 - google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa + golang.org/x/exp v0.0.0-20230321023759-10a507213a29 + google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc google.golang.org/grpc v1.53.0 - google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 + google.golang.org/protobuf v1.30.0 ) require ( @@ -47,7 +47,7 @@ require ( github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/cockroachdb/errors v1.9.1 // indirect github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 // indirect @@ -103,16 +103,16 @@ require ( github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect - github.com/klauspost/compress v1.15.11 // indirect + github.com/klauspost/compress v1.16.3 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect - github.com/lib/pq v1.10.6 // indirect + github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/linxGnu/grocksdb v1.7.10 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.16 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -124,8 +124,8 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect + github.com/prometheus/common v0.42.0 // indirect + github.com/prometheus/procfs v0.9.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/rs/cors v1.8.2 // indirect @@ -140,12 +140,12 @@ require ( github.com/tidwall/btree v1.5.0 // indirect github.com/zondax/hid v0.9.1 // indirect github.com/zondax/ledger-go v0.14.1 // indirect - go.etcd.io/bbolt v1.3.6 // indirect - golang.org/x/crypto v0.5.0 // indirect - golang.org/x/net v0.7.0 // indirect - golang.org/x/sys v0.5.0 // indirect - golang.org/x/term v0.5.0 // indirect - golang.org/x/text v0.7.0 // indirect + go.etcd.io/bbolt v1.3.7 // indirect + golang.org/x/crypto v0.7.0 // indirect + golang.org/x/net v0.8.0 // indirect + golang.org/x/sys v0.6.0 // indirect + golang.org/x/term v0.6.0 // indirect + golang.org/x/text v0.8.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 9f9be226..abf48cfa 100644 --- a/go.sum +++ b/go.sum @@ -64,8 +64,8 @@ github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EF github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= -github.com/CosmWasm/wasmd v0.31.0 h1:xACf6A/SkCeGWQWrKGsR4X9PQb5G4XYuNfnrl+HQ1mE= -github.com/CosmWasm/wasmd v0.31.0/go.mod h1:VcyDGk/ISVlMUeW+1GGL0zdHWBS2FPwLEV2qZ86l7l8= +github.com/CosmWasm/wasmd v0.32.0 h1:EEwI29DBP/PmOKi1B/TCcukwkRNzwGRruKxD54gXjUE= +github.com/CosmWasm/wasmd v0.32.0/go.mod h1:CVq9KVQCXyYMaF7mVKIKhXYvc26rCeFid+Zv7hAtFqc= github.com/CosmWasm/wasmvm v1.2.4 h1:6OfeZuEcEH/9iqwrg2pkeVtDCkMoj9U6PpKtcrCyVrQ= github.com/CosmWasm/wasmvm v1.2.4/go.mod h1:vW/E3h8j9xBQs9bCoijDuawKo9kCtxOaS8N8J7KFtkc= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= @@ -173,8 +173,8 @@ github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -364,8 +364,6 @@ github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= @@ -438,8 +436,9 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -610,9 +609,7 @@ github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= @@ -647,8 +644,8 @@ github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0 github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= -github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= +github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= @@ -675,8 +672,8 @@ github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2 github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= -github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= +github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= @@ -714,8 +711,8 @@ github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsO github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg= github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ= github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= @@ -745,7 +742,6 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= @@ -842,10 +838,8 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= -github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_golang v1.15.0 h1:5fCgGYogn0hFdhyhLbw7hEsWxufKtY9klyvdNfFlFhM= +github.com/prometheus/client_golang v1.15.0/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -862,20 +856,16 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= +github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= +github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= @@ -1039,8 +1029,8 @@ github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWp github.com/zondax/ledger-go v0.14.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= +go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1083,8 +1073,8 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= -golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1100,8 +1090,8 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= golang.org/x/exp v0.0.0-20200513190911-00229845015e/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 h1:BEABXpNXLEz0WxtA+6CQIz2xkg80e+1zrhWyMcq8VzE= -golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -1176,15 +1166,12 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1194,8 +1181,6 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1262,7 +1247,6 @@ golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1278,7 +1262,6 @@ golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1287,18 +1270,15 @@ golang.org/x/sys v0.0.0-20210909193231-528a39cd75f3/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1308,8 +1288,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1463,8 +1443,8 @@ google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa h1:qQPhfbPO23fwm/9lQr91L1u62Zo6cm+zI+slZT+uf+o= -google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc h1:ijGwO+0vL2hJt5gaygqP2j6PfflOBrRot0IczKbmtio= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1479,8 +1459,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 h1:KR8+MyP7/qOlV+8Af01LtjL04bu7on42eVsxT4EyBQk= -google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From c7e1291ca02e7e2a074a5915b3b6ff149aa5a000 Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Thu, 21 Sep 2023 08:12:02 +0200 Subject: [PATCH 14/18] chore(modules): update chain module to coinside with github version --- app/ante.go | 8 +- app/app.go | 8 +- app/encoding.go | 2 +- app/keepers/keepers.go | 26 +- app/keepers/keys.go | 10 +- app/modules.go | 26 +- app/upgrades/v2/constants.go | 2 +- cmd/ixod/cmd/root.go | 4 +- cmd/ixod/main.go | 6 +- cmd/test_helpers.go.ignore | 2 +- go.mod | 2 +- proto/ixo/bonds/v1beta1/bonds.proto | 30 +- proto/ixo/bonds/v1beta1/event.proto | 2 +- proto/ixo/bonds/v1beta1/genesis.proto | 2 +- proto/ixo/bonds/v1beta1/query.proto | 2 +- proto/ixo/bonds/v1beta1/tx.proto | 86 +++-- proto/ixo/claims/v1beta1/authz.proto | 2 +- proto/ixo/claims/v1beta1/claims.proto | 2 +- proto/ixo/claims/v1beta1/cosmos.proto | 2 +- proto/ixo/claims/v1beta1/event.proto | 2 +- proto/ixo/claims/v1beta1/genesis.proto | 2 +- proto/ixo/claims/v1beta1/query.proto | 2 +- proto/ixo/claims/v1beta1/tx.proto | 23 +- proto/ixo/entity/v1beta1/cosmos.proto | 2 +- proto/ixo/entity/v1beta1/entity.proto | 2 +- proto/ixo/entity/v1beta1/event.proto | 2 +- proto/ixo/entity/v1beta1/genesis.proto | 2 +- proto/ixo/entity/v1beta1/proposal.proto | 2 +- proto/ixo/entity/v1beta1/query.proto | 2 +- proto/ixo/entity/v1beta1/tx.proto | 22 +- proto/ixo/iid/v1beta1/event.proto | 2 +- proto/ixo/iid/v1beta1/genesis.proto | 2 +- proto/ixo/iid/v1beta1/iid.proto | 2 +- proto/ixo/iid/v1beta1/query.proto | 2 +- proto/ixo/iid/v1beta1/tx.proto | 2 +- proto/ixo/iid/v1beta1/types.proto | 2 +- proto/ixo/token/v1beta1/authz.proto | 2 +- proto/ixo/token/v1beta1/event.proto | 2 +- proto/ixo/token/v1beta1/genesis.proto | 2 +- proto/ixo/token/v1beta1/proposal.proto | 2 +- proto/ixo/token/v1beta1/query.proto | 2 +- proto/ixo/token/v1beta1/token.proto | 2 +- proto/ixo/token/v1beta1/tx.proto | 9 +- scripts/protocgen.sh | 4 +- wasmbinding/stargate_whitelist.go | 10 +- x/bonds/bondingmath/alphabond.go.ignore | 2 +- x/bonds/bondingmath/alphabond_test.go.ignore | 2 +- x/bonds/client/cli/flags.go | 2 +- x/bonds/client/cli/query.go | 2 +- x/bonds/client/cli/tx.go | 6 +- x/bonds/client/common.go | 2 +- x/bonds/client/rest/query.go | 4 +- x/bonds/client/rest/tx.go | 6 +- x/bonds/genesis.go | 4 +- x/bonds/handler.go | 4 +- x/bonds/keeper/batch.go | 4 +- x/bonds/keeper/bonds.go | 2 +- x/bonds/keeper/grpc_query.go | 4 +- x/bonds/keeper/invariants.go | 2 +- x/bonds/keeper/keeper.go | 4 +- x/bonds/keeper/msg_server.go | 2 +- x/bonds/keeper/querier.go | 4 +- x/bonds/module.go | 8 +- x/bonds/types/batch.go | 2 +- x/bonds/types/bondingfunctions.go | 2 +- x/bonds/types/bonds.go | 2 +- x/bonds/types/bonds.pb.go | 254 ++++++------- x/bonds/types/event.pb.go | 124 +++--- x/bonds/types/genesis.pb.go | 32 +- x/bonds/types/query.pb.go | 26 +- x/bonds/types/tx.go | 4 +- x/bonds/types/tx.pb.go | 378 +++++++++---------- x/claims/client/cli/query.go | 2 +- x/claims/client/cli/tx.go | 2 +- x/claims/genesis.go | 4 +- x/claims/keeper/claims.go | 2 +- x/claims/keeper/grpc_query.go | 2 +- x/claims/keeper/keeper.go | 6 +- x/claims/keeper/msg_server.go | 6 +- x/claims/keeper/payments.go | 4 +- x/claims/message_handler.go | 4 +- x/claims/module.go | 6 +- x/claims/types/authz.go | 4 +- x/claims/types/authz.pb.go | 97 ++--- x/claims/types/claims.go | 4 +- x/claims/types/claims.pb.go | 188 ++++----- x/claims/types/cosmos.pb.go | 40 +- x/claims/types/event.pb.go | 50 +-- x/claims/types/genesis.pb.go | 40 +- x/claims/types/msg_validation.go | 4 +- x/claims/types/query.pb.go | 96 ++--- x/claims/types/tx.go | 4 +- x/claims/types/tx.pb.go | 160 ++++---- x/entity/ante/decorators.go | 4 +- x/entity/client/cli/query.go | 2 +- x/entity/client/cli/tx.go | 4 +- x/entity/client/proposal_handler.go | 4 +- x/entity/genesis.go | 6 +- x/entity/keeper/entity.go | 6 +- x/entity/keeper/grpc_query.go | 2 +- x/entity/keeper/keeper.go | 4 +- x/entity/keeper/msg_server.go | 8 +- x/entity/message_handler.go | 4 +- x/entity/module.go | 8 +- x/entity/proposal_handler.go | 6 +- x/entity/types/cosmos.pb.go | 40 +- x/entity/types/entity.pb.go | 74 ++-- x/entity/types/event.pb.go | 56 +-- x/entity/types/genesis.pb.go | 11 +- x/entity/types/msg_validation.go | 4 +- x/entity/types/proposal.go | 2 +- x/entity/types/proposal.pb.go | 32 +- x/entity/types/query.pb.go | 88 ++--- x/entity/types/tx.go | 4 +- x/entity/types/tx.pb.go | 203 +++++----- x/iid/ante/decorators.go | 2 +- x/iid/ante/iidtx.go | 4 +- x/iid/client/cli/aries.go | 2 +- x/iid/client/cli/query.go | 5 +- x/iid/client/cli/tx.go | 2 +- x/iid/genesis.go | 4 +- x/iid/keeper/grpc_query.go | 2 +- x/iid/keeper/grpc_query_test.go.ignore | 2 +- x/iid/keeper/iid.go | 2 +- x/iid/keeper/iid_test.go.ignore | 2 +- x/iid/keeper/keeper.go | 2 +- x/iid/keeper/keeper_test.go.ignore | 2 +- x/iid/keeper/msg_server.go | 2 +- x/iid/keeper/msg_server_test.go.ignore | 2 +- x/iid/module.go | 6 +- x/iid/types/event.pb.go | 12 +- x/iid/types/genesis.pb.go | 12 +- x/iid/types/iid.pb.go | 71 ++-- x/iid/types/query.pb.go | 58 +-- x/iid/types/tx.pb.go | 172 ++++----- x/iid/types/types.pb.go | 88 ++--- x/iid/util/util.go | 2 +- x/token/client/cli/query.go | 2 +- x/token/client/cli/tx.go | 2 +- x/token/client/proposal_handler.go | 4 +- x/token/genesis.go | 4 +- x/token/keeper/grpc_query.go | 2 +- x/token/keeper/keeper.go | 4 +- x/token/keeper/msg_server.go | 6 +- x/token/keeper/token.go | 2 +- x/token/message_handler.go | 4 +- x/token/module.go | 8 +- x/token/proposal_handler.go | 4 +- x/token/types/authz.go | 2 +- x/token/types/authz.pb.go | 56 +-- x/token/types/event.pb.go | 64 ++-- x/token/types/genesis.pb.go | 12 +- x/token/types/msg_validation.go | 2 +- x/token/types/proposal.pb.go | 14 +- x/token/types/query.pb.go | 100 ++--- x/token/types/token.go | 4 +- x/token/types/token.pb.go | 85 ++--- x/token/types/tx.pb.go | 120 +++--- 158 files changed, 1752 insertions(+), 1724 deletions(-) diff --git a/app/ante.go b/app/ante.go index 4aef41e8..52c59ac8 100644 --- a/app/ante.go +++ b/app/ante.go @@ -8,10 +8,10 @@ import ( authante "github.com/cosmos/cosmos-sdk/x/auth/ante" ibcante "github.com/cosmos/ibc-go/v4/modules/core/ante" ibckeeper "github.com/cosmos/ibc-go/v4/modules/core/keeper" - entityante "github.com/ixofoundation/ixo-blockchain/x/entity/ante" - entitykeeper "github.com/ixofoundation/ixo-blockchain/x/entity/keeper" - iidante "github.com/ixofoundation/ixo-blockchain/x/iid/ante" - iidkeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" + entityante "github.com/ixofoundation/ixo-blockchain/v2/x/entity/ante" + entitykeeper "github.com/ixofoundation/ixo-blockchain/v2/x/entity/keeper" + iidante "github.com/ixofoundation/ixo-blockchain/v2/x/iid/ante" + iidkeeper "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" ) // HandlerOptions are the options required for constructing a default SDK AnteHandler. diff --git a/app/app.go b/app/app.go index 23224213..1154264a 100644 --- a/app/app.go +++ b/app/app.go @@ -29,10 +29,10 @@ import ( "github.com/cosmos/cosmos-sdk/x/crisis" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" "github.com/gorilla/mux" - "github.com/ixofoundation/ixo-blockchain/app/keepers" - "github.com/ixofoundation/ixo-blockchain/app/upgrades" - v2 "github.com/ixofoundation/ixo-blockchain/app/upgrades/v2" - "github.com/ixofoundation/ixo-blockchain/lib/ixo" + "github.com/ixofoundation/ixo-blockchain/v2/app/keepers" + "github.com/ixofoundation/ixo-blockchain/v2/app/upgrades" + v2 "github.com/ixofoundation/ixo-blockchain/v2/app/upgrades/v2" + "github.com/ixofoundation/ixo-blockchain/v2/lib/ixo" "github.com/rakyll/statik/fs" "github.com/spf13/cast" abci "github.com/tendermint/tendermint/abci/types" diff --git a/app/encoding.go b/app/encoding.go index d6cc7e88..53a0451f 100644 --- a/app/encoding.go +++ b/app/encoding.go @@ -2,7 +2,7 @@ package app import ( "github.com/cosmos/cosmos-sdk/std" - "github.com/ixofoundation/ixo-blockchain/app/params" + "github.com/ixofoundation/ixo-blockchain/v2/app/params" ) var encodingConfig params.EncodingConfig = MakeEncodingConfig() diff --git a/app/keepers/keepers.go b/app/keepers/keepers.go index ea289903..060de01f 100644 --- a/app/keepers/keepers.go +++ b/app/keepers/keepers.go @@ -74,19 +74,19 @@ import ( packetforwardtypes "github.com/strangelove-ventures/packet-forward-middleware/v4/router/types" // Local - wasmbinding "github.com/ixofoundation/ixo-blockchain/wasmbinding" - bondskeeper "github.com/ixofoundation/ixo-blockchain/x/bonds/keeper" - bondstypes "github.com/ixofoundation/ixo-blockchain/x/bonds/types" - claimsmodulekeeper "github.com/ixofoundation/ixo-blockchain/x/claims/keeper" - claimsmoduletypes "github.com/ixofoundation/ixo-blockchain/x/claims/types" - entitymodule "github.com/ixofoundation/ixo-blockchain/x/entity" - entitykeeper "github.com/ixofoundation/ixo-blockchain/x/entity/keeper" - entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" - iidmodulekeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" - tokenmodule "github.com/ixofoundation/ixo-blockchain/x/token" - tokenkeeper "github.com/ixofoundation/ixo-blockchain/x/token/keeper" - tokentypes "github.com/ixofoundation/ixo-blockchain/x/token/types" + wasmbinding "github.com/ixofoundation/ixo-blockchain/v2/wasmbinding" + bondskeeper "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/keeper" + bondstypes "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" + claimsmodulekeeper "github.com/ixofoundation/ixo-blockchain/v2/x/claims/keeper" + claimsmoduletypes "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" + entitymodule "github.com/ixofoundation/ixo-blockchain/v2/x/entity" + entitykeeper "github.com/ixofoundation/ixo-blockchain/v2/x/entity/keeper" + entitytypes "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" + iidmodulekeeper "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" + tokenmodule "github.com/ixofoundation/ixo-blockchain/v2/x/token" + tokenkeeper "github.com/ixofoundation/ixo-blockchain/v2/x/token/keeper" + tokentypes "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" ) type AppKeepers struct { diff --git a/app/keepers/keys.go b/app/keepers/keys.go index 4b1e058c..1a8f5149 100644 --- a/app/keepers/keys.go +++ b/app/keepers/keys.go @@ -33,11 +33,11 @@ import ( packetforwardtypes "github.com/strangelove-ventures/packet-forward-middleware/v4/router/types" // Local - bondstypes "github.com/ixofoundation/ixo-blockchain/x/bonds/types" - claimsmoduletypes "github.com/ixofoundation/ixo-blockchain/x/claims/types" - entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" - tokentypes "github.com/ixofoundation/ixo-blockchain/x/token/types" + bondstypes "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" + claimsmoduletypes "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" + entitytypes "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" + tokentypes "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" ) func (appKeepers *AppKeepers) GenerateKeys() { diff --git a/app/modules.go b/app/modules.go index c3f8ee52..32fc0a02 100644 --- a/app/modules.go +++ b/app/modules.go @@ -53,19 +53,19 @@ import ( ibchost "github.com/cosmos/ibc-go/v4/modules/core/24-host" intertx "github.com/cosmos/interchain-accounts/x/inter-tx" intertxtypes "github.com/cosmos/interchain-accounts/x/inter-tx/types" - appparams "github.com/ixofoundation/ixo-blockchain/app/params" - "github.com/ixofoundation/ixo-blockchain/x/bonds" - bondstypes "github.com/ixofoundation/ixo-blockchain/x/bonds/types" - claimsmodule "github.com/ixofoundation/ixo-blockchain/x/claims" - claimsmoduletypes "github.com/ixofoundation/ixo-blockchain/x/claims/types" - entitymodule "github.com/ixofoundation/ixo-blockchain/x/entity" - entityclient "github.com/ixofoundation/ixo-blockchain/x/entity/client" - entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" - iidmodule "github.com/ixofoundation/ixo-blockchain/x/iid" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" - tokenmodule "github.com/ixofoundation/ixo-blockchain/x/token" - tokenclient "github.com/ixofoundation/ixo-blockchain/x/token/client" - tokentypes "github.com/ixofoundation/ixo-blockchain/x/token/types" + appparams "github.com/ixofoundation/ixo-blockchain/v2/app/params" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds" + bondstypes "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" + claimsmodule "github.com/ixofoundation/ixo-blockchain/v2/x/claims" + claimsmoduletypes "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" + entitymodule "github.com/ixofoundation/ixo-blockchain/v2/x/entity" + entityclient "github.com/ixofoundation/ixo-blockchain/v2/x/entity/client" + entitytypes "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" + iidmodule "github.com/ixofoundation/ixo-blockchain/v2/x/iid" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" + tokenmodule "github.com/ixofoundation/ixo-blockchain/v2/x/token" + tokenclient "github.com/ixofoundation/ixo-blockchain/v2/x/token/client" + tokentypes "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" packetforward "github.com/strangelove-ventures/packet-forward-middleware/v4/router" packetforwardtypes "github.com/strangelove-ventures/packet-forward-middleware/v4/router/types" ) diff --git a/app/upgrades/v2/constants.go b/app/upgrades/v2/constants.go index 66d56634..e40d22dc 100644 --- a/app/upgrades/v2/constants.go +++ b/app/upgrades/v2/constants.go @@ -1,7 +1,7 @@ package v2 import ( - "github.com/ixofoundation/ixo-blockchain/app/upgrades" + "github.com/ixofoundation/ixo-blockchain/v2/app/upgrades" store "github.com/cosmos/cosmos-sdk/store/types" icqtypes "github.com/cosmos/ibc-apps/modules/async-icq/v4/types" diff --git a/cmd/ixod/cmd/root.go b/cmd/ixod/cmd/root.go index 48c90b14..c0645a76 100755 --- a/cmd/ixod/cmd/root.go +++ b/cmd/ixod/cmd/root.go @@ -26,8 +26,8 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/cosmos-sdk/x/crisis" genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" - "github.com/ixofoundation/ixo-blockchain/app" - "github.com/ixofoundation/ixo-blockchain/app/params" + "github.com/ixofoundation/ixo-blockchain/v2/app" + "github.com/ixofoundation/ixo-blockchain/v2/app/params" "github.com/prometheus/client_golang/prometheus" "github.com/spf13/cast" "github.com/spf13/cobra" diff --git a/cmd/ixod/main.go b/cmd/ixod/main.go index 13cea935..d12bc4f9 100644 --- a/cmd/ixod/main.go +++ b/cmd/ixod/main.go @@ -3,12 +3,12 @@ package main import ( "os" - "github.com/ixofoundation/ixo-blockchain/app/params" - "github.com/ixofoundation/ixo-blockchain/cmd/ixod/cmd" + "github.com/ixofoundation/ixo-blockchain/v2/app/params" + "github.com/ixofoundation/ixo-blockchain/v2/cmd/ixod/cmd" "github.com/cosmos/cosmos-sdk/server" svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" - "github.com/ixofoundation/ixo-blockchain/app" + "github.com/ixofoundation/ixo-blockchain/v2/app" ) func main() { diff --git a/cmd/test_helpers.go.ignore b/cmd/test_helpers.go.ignore index 92a402cf..f24d040f 100644 --- a/cmd/test_helpers.go.ignore +++ b/cmd/test_helpers.go.ignore @@ -5,7 +5,7 @@ import ( "time" "github.com/CosmWasm/wasmd/x/wasm/types" - "github.com/ixofoundation/ixo-blockchain/app" + "github.com/ixofoundation/ixo-blockchain/v2/app" sdk "github.com/cosmos/cosmos-sdk/types" abci "github.com/tendermint/tendermint/abci/types" diff --git a/go.mod b/go.mod index 303c8497..8ad7cea8 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/ixofoundation/ixo-blockchain +module github.com/ixofoundation/ixo-blockchain/v2 go 1.19 diff --git a/proto/ixo/bonds/v1beta1/bonds.proto b/proto/ixo/bonds/v1beta1/bonds.proto index 676eca8b..7193a808 100644 --- a/proto/ixo/bonds/v1beta1/bonds.proto +++ b/proto/ixo/bonds/v1beta1/bonds.proto @@ -4,7 +4,7 @@ package ixo.bonds.v1beta1; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/bonds/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types"; // FunctionParam is a key-value pair used for specifying a specific bond // parameter. @@ -35,12 +35,14 @@ message Bond { string token = 1; string name = 2; string description = 3; - string creator_did = 4 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; - string controller_did = 5 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string creator_did = 4 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; + string controller_did = 5 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; string function_type = 6; repeated FunctionParam function_parameters = 7 [ (gogoproto.nullable) = false, @@ -96,17 +98,19 @@ message Bond { ]; string state = 26; string bond_did = 27; - string oracle_did = 28 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string oracle_did = 28 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; } // BaseOrder defines a base order type. It contains all the necessary fields for // specifying the general details about a buy, sell, or swap order. message BaseOrder { - string account_did = 1 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string account_did = 1 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false ]; bool cancelled = 3; string cancel_reason = 4; diff --git a/proto/ixo/bonds/v1beta1/event.proto b/proto/ixo/bonds/v1beta1/event.proto index ca3edc35..7bb82684 100644 --- a/proto/ixo/bonds/v1beta1/event.proto +++ b/proto/ixo/bonds/v1beta1/event.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package ixo.bonds.v1beta1; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/bonds/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types"; import "gogoproto/gogo.proto"; import "ixo/bonds/v1beta1/bonds.proto"; diff --git a/proto/ixo/bonds/v1beta1/genesis.proto b/proto/ixo/bonds/v1beta1/genesis.proto index c2a73d68..8e682e00 100644 --- a/proto/ixo/bonds/v1beta1/genesis.proto +++ b/proto/ixo/bonds/v1beta1/genesis.proto @@ -4,7 +4,7 @@ package ixo.bonds.v1beta1; import "gogoproto/gogo.proto"; import "ixo/bonds/v1beta1/bonds.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/bonds/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types"; // GenesisState defines the bonds module's genesis state. message GenesisState { diff --git a/proto/ixo/bonds/v1beta1/query.proto b/proto/ixo/bonds/v1beta1/query.proto index bc691745..2a13a955 100644 --- a/proto/ixo/bonds/v1beta1/query.proto +++ b/proto/ixo/bonds/v1beta1/query.proto @@ -6,7 +6,7 @@ import "google/api/annotations.proto"; import "cosmos/base/v1beta1/coin.proto"; import "ixo/bonds/v1beta1/bonds.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/bonds/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types"; // Query defines the gRPC querier service. service Query { diff --git a/proto/ixo/bonds/v1beta1/tx.proto b/proto/ixo/bonds/v1beta1/tx.proto index 7cf26b40..8437eaae 100644 --- a/proto/ixo/bonds/v1beta1/tx.proto +++ b/proto/ixo/bonds/v1beta1/tx.proto @@ -5,7 +5,7 @@ import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; import "ixo/bonds/v1beta1/bonds.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/bonds/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types"; // Msg defines the bonds Msg service. service Msg { @@ -54,15 +54,18 @@ message MsgCreateBond { (gogoproto.nullable) = false, (gogoproto.castrepeated) = "FunctionParams" ]; - string creator_did = 7 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; - string controller_did = 8 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; - string oracle_did = 9 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string creator_did = 7 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; + string controller_did = 8 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; + string oracle_did = 9 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; repeated string reserve_tokens = 10; string tx_fee_percentage = 11 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", @@ -112,9 +115,10 @@ message MsgEditBond { string order_quantity_limits = 4; string sanity_rate = 5; string sanity_margin_percentage = 6; - string editor_did = 7 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string editor_did = 7 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; string editor_address = 8; } @@ -132,9 +136,10 @@ message MsgSetNextAlpha { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = true ]; - string oracle_did = 4 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string oracle_did = 4 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; string oracle_address = 5; } @@ -144,9 +149,10 @@ message MsgSetNextAlphaResponse {} message MsgUpdateBondState { string bond_did = 1; string state = 2; - string editor_did = 3 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string editor_did = 3 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; string editor_address = 4; } @@ -155,9 +161,10 @@ message MsgUpdateBondStateResponse {} // MsgBuy defines a message for buying from a bond. message MsgBuy { - string buyer_did = 1 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string buyer_did = 1 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false ]; repeated cosmos.base.v1beta1.Coin max_prices = 3 [ (gogoproto.nullable) = false, @@ -172,9 +179,10 @@ message MsgBuyResponse {} // MsgSell defines a message for selling from a bond. message MsgSell { - string seller_did = 1 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string seller_did = 1 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false ]; string bond_did = 3; string seller_address = 4; @@ -186,9 +194,10 @@ message MsgSellResponse {} // MsgSwap defines a message for swapping from one reserve bond token to // another. message MsgSwap { - string swapper_did = 1 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string swapper_did = 1 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; string bond_did = 2; cosmos.base.v1beta1.Coin from = 3 [ (gogoproto.nullable) = false ]; string to_token = 4; @@ -201,9 +210,10 @@ message MsgSwapResponse {} // MsgMakeOutcomePayment defines a message for making an outcome payment to a // bond. message MsgMakeOutcomePayment { - string sender_did = 1 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string sender_did = 1 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; string amount = 2 [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false @@ -219,9 +229,10 @@ message MsgMakeOutcomePaymentResponse {} // MsgWithdrawShare defines a message for withdrawing a share from a bond that // is in the SETTLE stage. message MsgWithdrawShare { - string recipient_did = 1 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string recipient_did = 1 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; string bond_did = 2; string recipient_address = 3; } @@ -231,9 +242,10 @@ message MsgWithdrawShareResponse {} // MsgWithdrawReserve defines a message for withdrawing reserve from a bond. message MsgWithdrawReserve { - string withdrawer_did = 1 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string withdrawer_did = 1 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; repeated cosmos.base.v1beta1.Coin amount = 2 [ (gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" diff --git a/proto/ixo/claims/v1beta1/authz.proto b/proto/ixo/claims/v1beta1/authz.proto index 6162123d..1b14d649 100644 --- a/proto/ixo/claims/v1beta1/authz.proto +++ b/proto/ixo/claims/v1beta1/authz.proto @@ -8,7 +8,7 @@ import "cosmos/base/v1beta1/coin.proto"; import "ixo/claims/v1beta1/claims.proto"; import "ixo/claims/v1beta1/cosmos.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/claims/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types"; message SubmitClaimAuthorization { option (cosmos_proto.implements_interface) = "Authorization"; diff --git a/proto/ixo/claims/v1beta1/claims.proto b/proto/ixo/claims/v1beta1/claims.proto index 95b728a9..f4d09486 100644 --- a/proto/ixo/claims/v1beta1/claims.proto +++ b/proto/ixo/claims/v1beta1/claims.proto @@ -6,7 +6,7 @@ import "google/protobuf/timestamp.proto"; import "cosmos/base/v1beta1/coin.proto"; import "google/protobuf/duration.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/claims/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types"; message Params { uint64 collection_sequence = 1; diff --git a/proto/ixo/claims/v1beta1/cosmos.proto b/proto/ixo/claims/v1beta1/cosmos.proto index 63cf6918..d22a23a5 100644 --- a/proto/ixo/claims/v1beta1/cosmos.proto +++ b/proto/ixo/claims/v1beta1/cosmos.proto @@ -5,7 +5,7 @@ import "gogoproto/gogo.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/v1beta1/coin.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/claims/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types"; // Cosmos bank module types, creating here for ease of use diff --git a/proto/ixo/claims/v1beta1/event.proto b/proto/ixo/claims/v1beta1/event.proto index 1ab17d9b..b8368193 100644 --- a/proto/ixo/claims/v1beta1/event.proto +++ b/proto/ixo/claims/v1beta1/event.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package ixo.claims.v1beta1; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/claims/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types"; import "gogoproto/gogo.proto"; import "ixo/claims/v1beta1/claims.proto"; diff --git a/proto/ixo/claims/v1beta1/genesis.proto b/proto/ixo/claims/v1beta1/genesis.proto index 5fd958ed..b6e52127 100644 --- a/proto/ixo/claims/v1beta1/genesis.proto +++ b/proto/ixo/claims/v1beta1/genesis.proto @@ -4,7 +4,7 @@ package ixo.claims.v1beta1; import "gogoproto/gogo.proto"; import "ixo/claims/v1beta1/claims.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/claims/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types"; // GenesisState defines the claims module's genesis state. message GenesisState { diff --git a/proto/ixo/claims/v1beta1/query.proto b/proto/ixo/claims/v1beta1/query.proto index a2f61dc1..0b860a07 100644 --- a/proto/ixo/claims/v1beta1/query.proto +++ b/proto/ixo/claims/v1beta1/query.proto @@ -6,7 +6,7 @@ import "google/api/annotations.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "ixo/claims/v1beta1/claims.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/claims/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types"; // Query defines the gRPC querier service. service Query { diff --git a/proto/ixo/claims/v1beta1/tx.proto b/proto/ixo/claims/v1beta1/tx.proto index 20bb4148..cf1f5134 100644 --- a/proto/ixo/claims/v1beta1/tx.proto +++ b/proto/ixo/claims/v1beta1/tx.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package ixo.claims.v1beta1; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/claims/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types"; import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; @@ -48,9 +48,10 @@ message MsgSubmitClaim { // claimID is the unique identifier of the claim in the cid hash format string claim_id = 2; // agent is the DID of the agent submitting the claim - string agent_did = 3 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string agent_did = 3 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; string agent_address = 4; // admin address used to sign this message, validated against Collection Admin string admin_address = 5; @@ -66,9 +67,10 @@ message MsgEvaluateClaim { // oracle is the DID of the Oracle entity that evaluates the claim string oracle = 3; // agent is the DID of the agent that submits the evaluation - string agent_did = 4 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string agent_did = 4 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; string agent_address = 5; // admin address used to sign this message, validated against Collection Admin string admin_address = 6; @@ -98,9 +100,10 @@ message MsgDisputeClaim { string subject_id = 1; // agent is the DID of the agent disputing the claim, agent detials wont be // saved in kvStore - string agent_did = 2 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string agent_did = 2 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; string agent_address = 3; // type is expressed as an integer, interpreted by the client int32 dispute_type = 4; diff --git a/proto/ixo/entity/v1beta1/cosmos.proto b/proto/ixo/entity/v1beta1/cosmos.proto index 020c222a..35dbdb99 100644 --- a/proto/ixo/entity/v1beta1/cosmos.proto +++ b/proto/ixo/entity/v1beta1/cosmos.proto @@ -6,7 +6,7 @@ import "cosmos_proto/cosmos.proto"; import "google/protobuf/timestamp.proto"; import "google/protobuf/any.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/entity/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types"; // Cosmos authz module types, creating here for ease of use diff --git a/proto/ixo/entity/v1beta1/entity.proto b/proto/ixo/entity/v1beta1/entity.proto index af350aff..6145f430 100644 --- a/proto/ixo/entity/v1beta1/entity.proto +++ b/proto/ixo/entity/v1beta1/entity.proto @@ -5,7 +5,7 @@ import "gogoproto/gogo.proto"; import "ixo/iid/v1beta1/iid.proto"; import "google/protobuf/timestamp.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/entity/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types"; message Params { string nftContractAddress = 1; diff --git a/proto/ixo/entity/v1beta1/event.proto b/proto/ixo/entity/v1beta1/event.proto index 16d17997..28259e45 100644 --- a/proto/ixo/entity/v1beta1/event.proto +++ b/proto/ixo/entity/v1beta1/event.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package ixo.entity.v1beta1; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/entity/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types"; import "gogoproto/gogo.proto"; import "ixo/entity/v1beta1/entity.proto"; diff --git a/proto/ixo/entity/v1beta1/genesis.proto b/proto/ixo/entity/v1beta1/genesis.proto index d684c8e2..87014143 100644 --- a/proto/ixo/entity/v1beta1/genesis.proto +++ b/proto/ixo/entity/v1beta1/genesis.proto @@ -4,7 +4,7 @@ package ixo.entity.v1beta1; import "gogoproto/gogo.proto"; import "ixo/entity/v1beta1/entity.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/entity/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types"; // GenesisState defines the project module's genesis state. message GenesisState { diff --git a/proto/ixo/entity/v1beta1/proposal.proto b/proto/ixo/entity/v1beta1/proposal.proto index 9ce642b7..a1595066 100644 --- a/proto/ixo/entity/v1beta1/proposal.proto +++ b/proto/ixo/entity/v1beta1/proposal.proto @@ -3,7 +3,7 @@ package ixo.entity.v1beta1; import "gogoproto/gogo.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/entity/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types"; message InitializeNftContract { uint64 NftContractCodeId = 1; diff --git a/proto/ixo/entity/v1beta1/query.proto b/proto/ixo/entity/v1beta1/query.proto index 1fc8bd30..af847fc6 100644 --- a/proto/ixo/entity/v1beta1/query.proto +++ b/proto/ixo/entity/v1beta1/query.proto @@ -7,7 +7,7 @@ import "ixo/entity/v1beta1/entity.proto"; import "ixo/iid/v1beta1/iid.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/entity/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types"; // Query defines the gRPC querier service. service Query { diff --git a/proto/ixo/entity/v1beta1/tx.proto b/proto/ixo/entity/v1beta1/tx.proto index ef1eafc1..e0d009e3 100644 --- a/proto/ixo/entity/v1beta1/tx.proto +++ b/proto/ixo/entity/v1beta1/tx.proto @@ -9,7 +9,7 @@ import "ixo/entity/v1beta1/entity.proto"; import "ixo/entity/v1beta1/cosmos.proto"; import "google/protobuf/timestamp.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/entity/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types"; // Msg defines the project Msg service. service Msg { @@ -66,7 +66,7 @@ message MsgCreateEntity { repeated string credentials = 13; string owner_did = 14 [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" ]; // Owner of the Entity NFT | The ownersdid used to sign this transaction. string owner_address = 15; // The ownersdid address used to sign this transaction. @@ -102,7 +102,7 @@ message MsgUpdateEntity { repeated string credentials = 5; string controller_did = 6 [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" ]; // The controllerDid used to sign this transaction. string controller_address = 7; // The controllerAddress used to sign this transaction. @@ -118,7 +118,7 @@ message MsgUpdateEntityVerified { bool entity_verified = 2; string relayer_node_did = 3 [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" ]; // The relayer node's did used to sign this transaction. string relayer_node_address = 4; // The relayer node's address used to sign this transaction. @@ -129,14 +129,16 @@ message MsgUpdateEntityVerifiedResponse {} message MsgTransferEntity { string id = 1; // The owner_did used to sign this transaction. - string owner_did = 2 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string owner_did = 2 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; // The owner_address used to sign this transaction. string owner_address = 3; - string recipient_did = 4 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string recipient_did = 4 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; } message MsgTransferEntityResponse {} diff --git a/proto/ixo/iid/v1beta1/event.proto b/proto/ixo/iid/v1beta1/event.proto index 251b755d..a9c88599 100644 --- a/proto/ixo/iid/v1beta1/event.proto +++ b/proto/ixo/iid/v1beta1/event.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package ixo.iid.v1beta1; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/iid/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types"; import "gogoproto/gogo.proto"; import "ixo/iid/v1beta1/types.proto"; diff --git a/proto/ixo/iid/v1beta1/genesis.proto b/proto/ixo/iid/v1beta1/genesis.proto index 3346735e..c301f33b 100644 --- a/proto/ixo/iid/v1beta1/genesis.proto +++ b/proto/ixo/iid/v1beta1/genesis.proto @@ -4,7 +4,7 @@ package ixo.iid.v1beta1; import "gogoproto/gogo.proto"; import "ixo/iid/v1beta1/iid.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/iid/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types"; // GenesisState defines the did module's genesis state. message GenesisState { diff --git a/proto/ixo/iid/v1beta1/iid.proto b/proto/ixo/iid/v1beta1/iid.proto index 69c64345..cb3ad1fb 100644 --- a/proto/ixo/iid/v1beta1/iid.proto +++ b/proto/ixo/iid/v1beta1/iid.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package ixo.iid.v1beta1; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/iid/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types"; import "gogoproto/gogo.proto"; import "ixo/iid/v1beta1/types.proto"; diff --git a/proto/ixo/iid/v1beta1/query.proto b/proto/ixo/iid/v1beta1/query.proto index 7f3a3cad..9744c228 100644 --- a/proto/ixo/iid/v1beta1/query.proto +++ b/proto/ixo/iid/v1beta1/query.proto @@ -6,7 +6,7 @@ import "ixo/iid/v1beta1/iid.proto"; import "gogoproto/gogo.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/iid/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types"; // Query defines the gRPC querier service. service Query { diff --git a/proto/ixo/iid/v1beta1/tx.proto b/proto/ixo/iid/v1beta1/tx.proto index 5a95e58e..68d111df 100644 --- a/proto/ixo/iid/v1beta1/tx.proto +++ b/proto/ixo/iid/v1beta1/tx.proto @@ -6,7 +6,7 @@ import "google/api/annotations.proto"; import "ixo/iid/v1beta1/iid.proto"; import "ixo/iid/v1beta1/types.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/iid/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types"; // Msg defines the identity Msg service. service Msg { diff --git a/proto/ixo/iid/v1beta1/types.proto b/proto/ixo/iid/v1beta1/types.proto index 31f7c0b4..549f8730 100644 --- a/proto/ixo/iid/v1beta1/types.proto +++ b/proto/ixo/iid/v1beta1/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package ixo.iid.v1beta1; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/iid/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types"; import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; diff --git a/proto/ixo/token/v1beta1/authz.proto b/proto/ixo/token/v1beta1/authz.proto index 96fd10f7..4bfb83e0 100644 --- a/proto/ixo/token/v1beta1/authz.proto +++ b/proto/ixo/token/v1beta1/authz.proto @@ -6,7 +6,7 @@ import "ixo/iid/v1beta1/iid.proto"; import "ixo/token/v1beta1/token.proto"; import "cosmos_proto/cosmos.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/token/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/token/types"; message MintAuthorization { option (cosmos_proto.implements_interface) = "Authorization"; diff --git a/proto/ixo/token/v1beta1/event.proto b/proto/ixo/token/v1beta1/event.proto index 68389912..f1652bce 100644 --- a/proto/ixo/token/v1beta1/event.proto +++ b/proto/ixo/token/v1beta1/event.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package ixo.token.v1beta1; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/token/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/token/types"; import "ixo/token/v1beta1/token.proto"; import "ixo/token/v1beta1/tx.proto"; diff --git a/proto/ixo/token/v1beta1/genesis.proto b/proto/ixo/token/v1beta1/genesis.proto index 336a9edb..a744e7df 100644 --- a/proto/ixo/token/v1beta1/genesis.proto +++ b/proto/ixo/token/v1beta1/genesis.proto @@ -4,7 +4,7 @@ package ixo.token.v1beta1; import "gogoproto/gogo.proto"; import "ixo/token/v1beta1/token.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/token/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/token/types"; // GenesisState defines the module's genesis state. message GenesisState { diff --git a/proto/ixo/token/v1beta1/proposal.proto b/proto/ixo/token/v1beta1/proposal.proto index 45083b0a..3c1a170d 100644 --- a/proto/ixo/token/v1beta1/proposal.proto +++ b/proto/ixo/token/v1beta1/proposal.proto @@ -4,6 +4,6 @@ package ixo.token.v1beta1; import "gogoproto/gogo.proto"; import "ixo/token/v1beta1/token.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/token/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/token/types"; message SetTokenContractCodes { uint64 ixo1155_contract_code = 1; } \ No newline at end of file diff --git a/proto/ixo/token/v1beta1/query.proto b/proto/ixo/token/v1beta1/query.proto index 36b1d85b..bffe2319 100644 --- a/proto/ixo/token/v1beta1/query.proto +++ b/proto/ixo/token/v1beta1/query.proto @@ -6,7 +6,7 @@ import "google/api/annotations.proto"; import "ixo/token/v1beta1/token.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/token/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/token/types"; // Query defines the gRPC querier service. service Query { diff --git a/proto/ixo/token/v1beta1/token.proto b/proto/ixo/token/v1beta1/token.proto index bdc3e7c4..c6cf27bd 100644 --- a/proto/ixo/token/v1beta1/token.proto +++ b/proto/ixo/token/v1beta1/token.proto @@ -3,7 +3,7 @@ package ixo.token.v1beta1; import "gogoproto/gogo.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/token/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/token/types"; message Params { uint64 ixo1155_contract_code = 1; } diff --git a/proto/ixo/token/v1beta1/tx.proto b/proto/ixo/token/v1beta1/tx.proto index 79f1ef06..43cb8162 100644 --- a/proto/ixo/token/v1beta1/tx.proto +++ b/proto/ixo/token/v1beta1/tx.proto @@ -6,7 +6,7 @@ import "ixo/iid/v1beta1/iid.proto"; import "ixo/token/v1beta1/token.proto"; import "google/protobuf/timestamp.proto"; -option go_package = "github.com/ixofoundation/ixo-blockchain/x/token/types"; +option go_package = "github.com/ixofoundation/ixo-blockchain/v2/x/token/types"; // Msg defines the project Msg service. service Msg { @@ -23,9 +23,10 @@ message MsgCreateToken { // address of minter string minter = 1; // class is the token protocol entity DID (validated) - string class = 2 - [ (gogoproto.casttype) = - "github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" ]; + string class = 2 [ + (gogoproto.casttype) = + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" + ]; // name is the token name, which must be unique (namespace) string name = 3; // description is any arbitrary description diff --git a/scripts/protocgen.sh b/scripts/protocgen.sh index b18906ad..e4172843 100755 --- a/scripts/protocgen.sh +++ b/scripts/protocgen.sh @@ -29,5 +29,7 @@ done # Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types:. ./testutil/testdata/*.proto # move proto files to the right places -cp -r github.com/ixofoundation/ixo-blockchain/* ./ +# +# Note: Proto files are suffixed with the current binary version. +cp -r github.com/ixofoundation/ixo-blockchain/v2/* ./ rm -rf github.com diff --git a/wasmbinding/stargate_whitelist.go b/wasmbinding/stargate_whitelist.go index db7c2272..6b8d0738 100644 --- a/wasmbinding/stargate_whitelist.go +++ b/wasmbinding/stargate_whitelist.go @@ -14,11 +14,11 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" - bondstypes "github.com/ixofoundation/ixo-blockchain/x/bonds/types" - claimstypes "github.com/ixofoundation/ixo-blockchain/x/claims/types" - entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" - tokentypes "github.com/ixofoundation/ixo-blockchain/x/token/types" + bondstypes "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" + claimstypes "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" + entitytypes "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" + tokentypes "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" ) // stargateWhitelist keeps whitelist and its deterministic diff --git a/x/bonds/bondingmath/alphabond.go.ignore b/x/bonds/bondingmath/alphabond.go.ignore index 10563be7..9c4f4bae 100644 --- a/x/bonds/bondingmath/alphabond.go.ignore +++ b/x/bonds/bondingmath/alphabond.go.ignore @@ -5,7 +5,7 @@ import ( "math" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" ) type BondingAlgorithmV2 interface { diff --git a/x/bonds/bondingmath/alphabond_test.go.ignore b/x/bonds/bondingmath/alphabond_test.go.ignore index a2dc140e..1ab6997b 100644 --- a/x/bonds/bondingmath/alphabond_test.go.ignore +++ b/x/bonds/bondingmath/alphabond_test.go.ignore @@ -5,7 +5,7 @@ import ( "testing" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" ) type simFunc func(*AugmentedBondRevision1, AugmentedBondRevision1) (AugmentedBondRevision1, error) diff --git a/x/bonds/client/cli/flags.go b/x/bonds/client/cli/flags.go index 77575af9..13f1b99b 100644 --- a/x/bonds/client/cli/flags.go +++ b/x/bonds/client/cli/flags.go @@ -1,7 +1,7 @@ package cli import ( - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" flag "github.com/spf13/pflag" ) diff --git a/x/bonds/client/cli/query.go b/x/bonds/client/cli/query.go index ceebe5aa..9f8d7045 100644 --- a/x/bonds/client/cli/query.go +++ b/x/bonds/client/cli/query.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" "github.com/spf13/cobra" ) diff --git a/x/bonds/client/cli/tx.go b/x/bonds/client/cli/tx.go index d7bbb43a..8bfae4f6 100644 --- a/x/bonds/client/cli/tx.go +++ b/x/bonds/client/cli/tx.go @@ -11,9 +11,9 @@ import ( "github.com/cosmos/cosmos-sdk/client/tx" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - bondsclient "github.com/ixofoundation/ixo-blockchain/x/bonds/client" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + bondsclient "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/client" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func NewTxCmd() *cobra.Command { diff --git a/x/bonds/client/common.go b/x/bonds/client/common.go index bda52c49..8b869c50 100644 --- a/x/bonds/client/common.go +++ b/x/bonds/client/common.go @@ -5,7 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" ) func splitParameters(fnParamsStr string) (paramValuePairs []string) { diff --git a/x/bonds/client/rest/query.go b/x/bonds/client/rest/query.go index 6050ed84..61e0c598 100644 --- a/x/bonds/client/rest/query.go +++ b/x/bonds/client/rest/query.go @@ -8,8 +8,8 @@ package rest // sdk "github.com/cosmos/cosmos-sdk/types" // "github.com/cosmos/cosmos-sdk/types/rest" // "github.com/gorilla/mux" -// "github.com/ixofoundation/ixo-blockchain/x/bonds/keeper" -// "github.com/ixofoundation/ixo-blockchain/x/bonds/types" +// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/keeper" +// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" // ) // func registerQueryRoutes(clientCtx client.Context, r *mux.Router) { diff --git a/x/bonds/client/rest/tx.go b/x/bonds/client/rest/tx.go index b0f2052c..9c38e5ff 100644 --- a/x/bonds/client/rest/tx.go +++ b/x/bonds/client/rest/tx.go @@ -10,9 +10,9 @@ package rest // sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" // "github.com/cosmos/cosmos-sdk/types/rest" // "github.com/gorilla/mux" -// bondsclient "github.com/ixofoundation/ixo-blockchain/x/bonds/client" -// "github.com/ixofoundation/ixo-blockchain/x/bonds/types" -// iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" +// bondsclient "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/client" +// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" +// iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" // ) // func registerTxHandlers(clientCtx client.Context, r *mux.Router) { diff --git a/x/bonds/genesis.go b/x/bonds/genesis.go index 1ad978f7..fc070ab5 100644 --- a/x/bonds/genesis.go +++ b/x/bonds/genesis.go @@ -2,8 +2,8 @@ package bonds import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/bonds/keeper" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" ) func InitGenesis(ctx sdk.Context, keeper keeper.Keeper, data *types.GenesisState) { diff --git a/x/bonds/handler.go b/x/bonds/handler.go index 276d0105..710e51ca 100644 --- a/x/bonds/handler.go +++ b/x/bonds/handler.go @@ -3,8 +3,8 @@ package bonds import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/bonds/keeper" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" abci "github.com/tendermint/tendermint/abci/types" ) diff --git a/x/bonds/keeper/batch.go b/x/bonds/keeper/batch.go index a4520017..80f1360e 100644 --- a/x/bonds/keeper/batch.go +++ b/x/bonds/keeper/batch.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func (k Keeper) MustGetBatch(ctx sdk.Context, bondDid string) types.Batch { diff --git a/x/bonds/keeper/bonds.go b/x/bonds/keeper/bonds.go index afe8d87b..1c93d4f0 100644 --- a/x/bonds/keeper/bonds.go +++ b/x/bonds/keeper/bonds.go @@ -4,7 +4,7 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" "github.com/tendermint/go-amino" ) diff --git a/x/bonds/keeper/grpc_query.go b/x/bonds/keeper/grpc_query.go index 37454e49..cf2ca483 100644 --- a/x/bonds/keeper/grpc_query.go +++ b/x/bonds/keeper/grpc_query.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/bonds/client" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/client" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) diff --git a/x/bonds/keeper/invariants.go b/x/bonds/keeper/invariants.go index fa205761..f59c179b 100644 --- a/x/bonds/keeper/invariants.go +++ b/x/bonds/keeper/invariants.go @@ -6,7 +6,7 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" ) // RegisterInvariants registers all supply invariants diff --git a/x/bonds/keeper/keeper.go b/x/bonds/keeper/keeper.go index 5c202cea..601801ba 100644 --- a/x/bonds/keeper/keeper.go +++ b/x/bonds/keeper/keeper.go @@ -9,8 +9,8 @@ import ( bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" - iidkeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" + iidkeeper "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" "github.com/tendermint/tendermint/libs/log" ) diff --git a/x/bonds/keeper/msg_server.go b/x/bonds/keeper/msg_server.go index 06e171c3..1ad15d71 100644 --- a/x/bonds/keeper/msg_server.go +++ b/x/bonds/keeper/msg_server.go @@ -9,7 +9,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" ) type msgServer struct { diff --git a/x/bonds/keeper/querier.go b/x/bonds/keeper/querier.go index 40cb4325..ecd2b7d7 100644 --- a/x/bonds/keeper/querier.go +++ b/x/bonds/keeper/querier.go @@ -4,8 +4,8 @@ package keeper // "github.com/cosmos/cosmos-sdk/codec" // sdk "github.com/cosmos/cosmos-sdk/types" // sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -// "github.com/ixofoundation/ixo-blockchain/x/bonds/client" -// "github.com/ixofoundation/ixo-blockchain/x/bonds/types" +// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/client" +// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" // abci "github.com/tendermint/tendermint/abci/types" // ) diff --git a/x/bonds/module.go b/x/bonds/module.go index 044b99ed..ae798e86 100644 --- a/x/bonds/module.go +++ b/x/bonds/module.go @@ -13,11 +13,11 @@ import ( auth "github.com/cosmos/cosmos-sdk/x/auth/keeper" "github.com/gorilla/mux" "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/ixofoundation/ixo-blockchain/x/bonds/client/cli" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/client/cli" - // "github.com/ixofoundation/ixo-blockchain/x/bonds/client/rest" - "github.com/ixofoundation/ixo-blockchain/x/bonds/keeper" - "github.com/ixofoundation/ixo-blockchain/x/bonds/types" + // "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/client/rest" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" ) diff --git a/x/bonds/types/batch.go b/x/bonds/types/batch.go index 1aca8bf8..401ca999 100644 --- a/x/bonds/types/batch.go +++ b/x/bonds/types/batch.go @@ -2,7 +2,7 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func (b Batch) MoreBuysThanSells() bool { return b.TotalSellAmount.IsLT(b.TotalBuyAmount) } diff --git a/x/bonds/types/bondingfunctions.go b/x/bonds/types/bondingfunctions.go index e2f48d51..a9886d59 100644 --- a/x/bonds/types/bondingfunctions.go +++ b/x/bonds/types/bondingfunctions.go @@ -9,7 +9,7 @@ import ( // "fmt" -// "github.com/ixofoundation/ixo-blockchain/x/bonds/types" +// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" func toPercentage(f float64) float64 { return f / 100 } func ConvertFloat64ToDec(f float64) (sdk.Dec, error) { diff --git a/x/bonds/types/bonds.go b/x/bonds/types/bonds.go index 7eaa7e2f..f7ef0356 100644 --- a/x/bonds/types/bonds.go +++ b/x/bonds/types/bonds.go @@ -8,7 +8,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) type ( diff --git a/x/bonds/types/bonds.pb.go b/x/bonds/types/bonds.pb.go index 6fa52310..45b445b8 100644 --- a/x/bonds/types/bonds.pb.go +++ b/x/bonds/types/bonds.pb.go @@ -9,7 +9,7 @@ import ( types "github.com/cosmos/cosmos-sdk/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" - github_com_ixofoundation_ixo_blockchain_x_iid_types "github.com/ixofoundation/ixo-blockchain/x/iid/types" + github_com_ixofoundation_ixo_blockchain_v2_x_iid_types "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" io "io" math "math" math_bits "math/bits" @@ -144,34 +144,34 @@ func (m *BondDetails) GetReserve() github_com_cosmos_cosmos_sdk_types.Coins { // Bond defines a token bonding curve type with all of its parameters. type Bond struct { - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - CreatorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=creator_did,json=creatorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"creator_did,omitempty"` - ControllerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,5,opt,name=controller_did,json=controllerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"controller_did,omitempty"` - FunctionType string `protobuf:"bytes,6,opt,name=function_type,json=functionType,proto3" json:"function_type,omitempty"` - FunctionParameters FunctionParams `protobuf:"bytes,7,rep,name=function_parameters,json=functionParameters,proto3,castrepeated=FunctionParams" json:"function_parameters"` - ReserveTokens []string `protobuf:"bytes,8,rep,name=reserve_tokens,json=reserveTokens,proto3" json:"reserve_tokens,omitempty"` - TxFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=tx_fee_percentage,json=txFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"tx_fee_percentage"` - ExitFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=exit_fee_percentage,json=exitFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"exit_fee_percentage"` - FeeAddress string `protobuf:"bytes,11,opt,name=fee_address,json=feeAddress,proto3" json:"fee_address,omitempty"` - ReserveWithdrawalAddress string `protobuf:"bytes,12,opt,name=reserve_withdrawal_address,json=reserveWithdrawalAddress,proto3" json:"reserve_withdrawal_address,omitempty"` - MaxSupply types.Coin `protobuf:"bytes,13,opt,name=max_supply,json=maxSupply,proto3" json:"max_supply"` - OrderQuantityLimits github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,14,rep,name=order_quantity_limits,json=orderQuantityLimits,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"order_quantity_limits"` - SanityRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,15,opt,name=sanity_rate,json=sanityRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_rate"` - SanityMarginPercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,16,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_margin_percentage"` - CurrentSupply types.Coin `protobuf:"bytes,17,opt,name=current_supply,json=currentSupply,proto3" json:"current_supply"` - CurrentReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,18,rep,name=current_reserve,json=currentReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"current_reserve"` - AvailableReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,19,rep,name=available_reserve,json=availableReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"available_reserve"` - CurrentOutcomePaymentReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,20,rep,name=current_outcome_payment_reserve,json=currentOutcomePaymentReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"current_outcome_payment_reserve"` - AllowSells bool `protobuf:"varint,21,opt,name=allow_sells,json=allowSells,proto3" json:"allow_sells,omitempty"` - AllowReserveWithdrawals bool `protobuf:"varint,22,opt,name=allow_reserve_withdrawals,json=allowReserveWithdrawals,proto3" json:"allow_reserve_withdrawals,omitempty"` - AlphaBond bool `protobuf:"varint,23,opt,name=alpha_bond,json=alphaBond,proto3" json:"alpha_bond,omitempty"` - BatchBlocks github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,24,opt,name=batch_blocks,json=batchBlocks,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"batch_blocks"` - OutcomePayment github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,25,opt,name=outcome_payment,json=outcomePayment,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"outcome_payment"` - State string `protobuf:"bytes,26,opt,name=state,proto3" json:"state,omitempty"` - BondDid string `protobuf:"bytes,27,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - OracleDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,28,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"oracle_did,omitempty"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + CreatorDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=creator_did,json=creatorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"creator_did,omitempty"` + ControllerDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,5,opt,name=controller_did,json=controllerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"controller_did,omitempty"` + FunctionType string `protobuf:"bytes,6,opt,name=function_type,json=functionType,proto3" json:"function_type,omitempty"` + FunctionParameters FunctionParams `protobuf:"bytes,7,rep,name=function_parameters,json=functionParameters,proto3,castrepeated=FunctionParams" json:"function_parameters"` + ReserveTokens []string `protobuf:"bytes,8,rep,name=reserve_tokens,json=reserveTokens,proto3" json:"reserve_tokens,omitempty"` + TxFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=tx_fee_percentage,json=txFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"tx_fee_percentage"` + ExitFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,10,opt,name=exit_fee_percentage,json=exitFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"exit_fee_percentage"` + FeeAddress string `protobuf:"bytes,11,opt,name=fee_address,json=feeAddress,proto3" json:"fee_address,omitempty"` + ReserveWithdrawalAddress string `protobuf:"bytes,12,opt,name=reserve_withdrawal_address,json=reserveWithdrawalAddress,proto3" json:"reserve_withdrawal_address,omitempty"` + MaxSupply types.Coin `protobuf:"bytes,13,opt,name=max_supply,json=maxSupply,proto3" json:"max_supply"` + OrderQuantityLimits github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,14,rep,name=order_quantity_limits,json=orderQuantityLimits,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"order_quantity_limits"` + SanityRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,15,opt,name=sanity_rate,json=sanityRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_rate"` + SanityMarginPercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,16,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_margin_percentage"` + CurrentSupply types.Coin `protobuf:"bytes,17,opt,name=current_supply,json=currentSupply,proto3" json:"current_supply"` + CurrentReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,18,rep,name=current_reserve,json=currentReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"current_reserve"` + AvailableReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,19,rep,name=available_reserve,json=availableReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"available_reserve"` + CurrentOutcomePaymentReserve github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,20,rep,name=current_outcome_payment_reserve,json=currentOutcomePaymentReserve,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"current_outcome_payment_reserve"` + AllowSells bool `protobuf:"varint,21,opt,name=allow_sells,json=allowSells,proto3" json:"allow_sells,omitempty"` + AllowReserveWithdrawals bool `protobuf:"varint,22,opt,name=allow_reserve_withdrawals,json=allowReserveWithdrawals,proto3" json:"allow_reserve_withdrawals,omitempty"` + AlphaBond bool `protobuf:"varint,23,opt,name=alpha_bond,json=alphaBond,proto3" json:"alpha_bond,omitempty"` + BatchBlocks github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,24,opt,name=batch_blocks,json=batchBlocks,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"batch_blocks"` + OutcomePayment github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,25,opt,name=outcome_payment,json=outcomePayment,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"outcome_payment"` + State string `protobuf:"bytes,26,opt,name=state,proto3" json:"state,omitempty"` + BondDid string `protobuf:"bytes,27,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + OracleDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,28,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"oracle_did,omitempty"` } func (m *Bond) Reset() { *m = Bond{} } @@ -228,14 +228,14 @@ func (m *Bond) GetDescription() string { return "" } -func (m *Bond) GetCreatorDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *Bond) GetCreatorDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.CreatorDid } return "" } -func (m *Bond) GetControllerDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *Bond) GetControllerDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.ControllerDid } @@ -354,7 +354,7 @@ func (m *Bond) GetBondDid() string { return "" } -func (m *Bond) GetOracleDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *Bond) GetOracleDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.OracleDid } @@ -364,10 +364,10 @@ func (m *Bond) GetOracleDid() github_com_ixofoundation_ixo_blockchain_x_iid_type // BaseOrder defines a base order type. It contains all the necessary fields for // specifying the general details about a buy, sell, or swap order. type BaseOrder struct { - AccountDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=account_did,json=accountDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"account_did,omitempty"` - Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` - Cancelled bool `protobuf:"varint,3,opt,name=cancelled,proto3" json:"cancelled,omitempty"` - CancelReason string `protobuf:"bytes,4,opt,name=cancel_reason,json=cancelReason,proto3" json:"cancel_reason,omitempty"` + AccountDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=account_did,json=accountDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"account_did,omitempty"` + Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` + Cancelled bool `protobuf:"varint,3,opt,name=cancelled,proto3" json:"cancelled,omitempty"` + CancelReason string `protobuf:"bytes,4,opt,name=cancel_reason,json=cancelReason,proto3" json:"cancel_reason,omitempty"` } func (m *BaseOrder) Reset() { *m = BaseOrder{} } @@ -403,7 +403,7 @@ func (m *BaseOrder) XXX_DiscardUnknown() { var xxx_messageInfo_BaseOrder proto.InternalMessageInfo -func (m *BaseOrder) GetAccountDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *BaseOrder) GetAccountDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.AccountDid } @@ -748,92 +748,92 @@ func init() { func init() { proto.RegisterFile("ixo/bonds/v1beta1/bonds.proto", fileDescriptor_93b4137e78081347) } var fileDescriptor_93b4137e78081347 = []byte{ - // 1348 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6e, 0x1b, 0xb7, - 0x13, 0xb7, 0x12, 0x59, 0xb6, 0x46, 0xb6, 0x64, 0xd3, 0x4e, 0xb2, 0x76, 0x1c, 0xc9, 0xd0, 0x1f, - 0xff, 0xd6, 0x40, 0x11, 0x29, 0x1f, 0x08, 0x52, 0x04, 0x45, 0x0b, 0x2b, 0x86, 0x81, 0xa0, 0x1f, - 0x76, 0x37, 0x29, 0x02, 0xe4, 0xd0, 0x05, 0x77, 0x97, 0x96, 0x19, 0xef, 0x2e, 0xb7, 0x4b, 0xae, - 0x2d, 0x9d, 0x7a, 0xe8, 0x0b, 0x14, 0x7d, 0x8c, 0xbe, 0x41, 0xfb, 0x04, 0x39, 0xe6, 0x58, 0xf4, - 0x90, 0x16, 0xc9, 0xb9, 0x2f, 0x50, 0xa0, 0x40, 0xc1, 0x21, 0x57, 0xb1, 0xe3, 0x34, 0x90, 0x0d, - 0xe5, 0x24, 0x71, 0x38, 0xf3, 0xfb, 0x0d, 0x67, 0x38, 0x9c, 0x59, 0xb8, 0xc6, 0x07, 0xa2, 0xeb, - 0x8b, 0x24, 0x94, 0xdd, 0xc3, 0x9b, 0x3e, 0x53, 0xf4, 0xa6, 0x59, 0x75, 0xd2, 0x4c, 0x28, 0x41, - 0x16, 0xf9, 0x40, 0x74, 0x8c, 0xc0, 0x6e, 0xaf, 0x2e, 0xf7, 0x45, 0x5f, 0xe0, 0x6e, 0x57, 0xff, - 0x33, 0x8a, 0xab, 0xcd, 0x40, 0xc8, 0x58, 0xc8, 0xae, 0x4f, 0x25, 0x1b, 0x21, 0x05, 0x82, 0x27, - 0x66, 0xbf, 0x7d, 0x00, 0xf3, 0xdb, 0x79, 0x12, 0x28, 0x2e, 0x92, 0x5d, 0x9a, 0xd1, 0x98, 0x2c, - 0xc3, 0x74, 0xaa, 0xff, 0x38, 0xa5, 0xf5, 0xd2, 0x46, 0xd5, 0x35, 0x0b, 0xb2, 0x05, 0xd3, 0x87, - 0x34, 0xca, 0x99, 0x73, 0x41, 0x4b, 0x7b, 0x9d, 0x67, 0x2f, 0x5a, 0x53, 0xbf, 0xbf, 0x68, 0x7d, - 0xd0, 0xe7, 0x6a, 0x3f, 0xf7, 0x3b, 0x81, 0x88, 0xbb, 0x96, 0xc8, 0xfc, 0x5c, 0x97, 0xe1, 0x41, - 0x57, 0x0d, 0x53, 0x26, 0x3b, 0x5b, 0x2c, 0x70, 0x8d, 0x71, 0xfb, 0xd7, 0x0b, 0x50, 0xeb, 0x89, - 0x24, 0xdc, 0x62, 0x8a, 0xf2, 0x48, 0x92, 0x15, 0x98, 0xd5, 0x67, 0xf0, 0x42, 0x1e, 0x5a, 0xba, - 0x19, 0xbd, 0xde, 0xe2, 0x21, 0x49, 0x01, 0x64, 0x2a, 0x94, 0x97, 0x66, 0x3c, 0xd0, 0xac, 0x17, - 0x37, 0x6a, 0xb7, 0xd6, 0x3a, 0x06, 0xbc, 0xa3, 0x0f, 0x53, 0x9c, 0x5b, 0xe3, 0xdf, 0x17, 0x3c, - 0xe9, 0xdd, 0xd6, 0x3e, 0xfd, 0xfc, 0x47, 0xeb, 0xa3, 0xf1, 0x7c, 0xd2, 0x36, 0xd2, 0xad, 0x6a, - 0x92, 0x5d, 0xcd, 0x41, 0xee, 0x42, 0x45, 0xe6, 0x69, 0x1a, 0x0d, 0x9d, 0x8b, 0xeb, 0xa5, 0x8d, - 0xda, 0xad, 0x95, 0xb7, 0xb2, 0x21, 0x55, 0x59, 0x53, 0xb9, 0x56, 0x9d, 0x30, 0x98, 0xc9, 0x98, - 0x64, 0xd9, 0x21, 0x73, 0xca, 0xe8, 0xe7, 0x3b, 0x2c, 0x6f, 0x58, 0x27, 0x37, 0xc6, 0x70, 0xd2, - 0x78, 0x58, 0x60, 0xb7, 0xff, 0x69, 0x40, 0x59, 0x07, 0x4f, 0x67, 0x48, 0x89, 0x03, 0x96, 0x14, - 0x19, 0xc2, 0x05, 0x21, 0x50, 0x4e, 0x68, 0x6c, 0x13, 0xe4, 0xe2, 0x7f, 0xb2, 0x0e, 0xb5, 0x90, - 0xc9, 0x20, 0xe3, 0xa9, 0xce, 0x2f, 0x9e, 0xab, 0xea, 0x1e, 0x17, 0x91, 0x10, 0x6a, 0x41, 0xc6, - 0xa8, 0x12, 0x19, 0x26, 0xa1, 0x8c, 0xd9, 0xbd, 0xff, 0xf7, 0x8b, 0xd6, 0x67, 0xc7, 0x1c, 0xe4, - 0x03, 0xb1, 0x27, 0xf2, 0x24, 0xa4, 0xda, 0x44, 0xaf, 0xae, 0xfb, 0x91, 0x08, 0x0e, 0x82, 0x7d, - 0xca, 0x93, 0xee, 0xa0, 0xcb, 0x79, 0x58, 0x84, 0xf5, 0xc1, 0xd6, 0x76, 0x46, 0xfb, 0x31, 0x4b, - 0x94, 0x0b, 0x16, 0x57, 0x27, 0xf3, 0x29, 0xd4, 0x03, 0x91, 0xa8, 0x4c, 0x44, 0x11, 0x33, 0x44, - 0xd3, 0x93, 0x23, 0x9a, 0x7f, 0x0d, 0xad, 0xb9, 0xfe, 0x07, 0xf3, 0x7b, 0xf6, 0x42, 0x7b, 0x5a, - 0xd9, 0xa9, 0xe0, 0xa9, 0xe7, 0x0a, 0xe1, 0xa3, 0x61, 0xca, 0x08, 0x87, 0xa5, 0x91, 0x12, 0x5e, - 0x70, 0xa6, 0x58, 0x26, 0x9d, 0x19, 0x4c, 0xdf, 0x7a, 0xe7, 0x54, 0x71, 0x75, 0x4e, 0xd4, 0x48, - 0xef, 0xb2, 0xcd, 0x62, 0xfd, 0x84, 0x58, 0xba, 0x64, 0xef, 0xf8, 0x1a, 0x31, 0xc9, 0xff, 0xa1, - 0x6e, 0x33, 0xe8, 0x61, 0xa2, 0xa4, 0x33, 0xbb, 0x7e, 0x71, 0xa3, 0xea, 0xce, 0x5b, 0xe9, 0x23, - 0x14, 0x92, 0x27, 0xb0, 0xa8, 0x06, 0xde, 0x1e, 0x63, 0x5e, 0xca, 0xb2, 0x80, 0x25, 0x8a, 0xf6, - 0x99, 0x53, 0x3d, 0x57, 0xb1, 0x35, 0xd4, 0x60, 0x9b, 0xb1, 0xdd, 0x11, 0x0c, 0xf9, 0x16, 0x96, - 0xd8, 0x80, 0xab, 0x37, 0xd1, 0xe1, 0x5c, 0xe8, 0x8b, 0x1a, 0xea, 0x24, 0x7e, 0x0b, 0x6a, 0x1a, - 0x9a, 0x86, 0x61, 0xc6, 0xa4, 0x74, 0x6a, 0x18, 0x70, 0xd8, 0x63, 0x6c, 0xd3, 0x48, 0xc8, 0x27, - 0xb0, 0x5a, 0xc4, 0xe0, 0x88, 0xab, 0xfd, 0x30, 0xa3, 0x47, 0x34, 0x1a, 0xe9, 0xcf, 0xa1, 0xbe, - 0x63, 0x35, 0x1e, 0x8f, 0x14, 0x0a, 0xeb, 0x4f, 0x01, 0x62, 0x3a, 0xf0, 0x6c, 0x71, 0xce, 0x8f, - 0x57, 0x9c, 0xd5, 0x98, 0x0e, 0x1e, 0x9a, 0xfa, 0xfc, 0x1e, 0x2e, 0x89, 0x2c, 0x64, 0x99, 0xf7, - 0x5d, 0x4e, 0x13, 0xc5, 0xd5, 0xd0, 0x8b, 0x78, 0xcc, 0x95, 0x74, 0xea, 0x93, 0xaf, 0xd6, 0x25, - 0x64, 0xfa, 0xda, 0x12, 0x7d, 0x81, 0x3c, 0x64, 0x07, 0x6a, 0x92, 0x26, 0x9a, 0x38, 0xa3, 0x8a, - 0x39, 0x8d, 0x73, 0xc5, 0x1d, 0x0c, 0x84, 0x4b, 0x15, 0x23, 0xfb, 0xe0, 0x58, 0xc0, 0x98, 0x66, - 0x7d, 0x9e, 0x1c, 0xcf, 0xea, 0xc2, 0xb9, 0xd0, 0x2f, 0x1b, 0xbc, 0x2f, 0x11, 0xee, 0x58, 0x6a, - 0xb7, 0xa1, 0x1e, 0xe4, 0x59, 0xc6, 0x12, 0x55, 0xc4, 0x7f, 0x71, 0xbc, 0xf8, 0xcf, 0x5b, 0x33, - 0x9b, 0x03, 0x05, 0x8d, 0x02, 0xa7, 0x78, 0x2b, 0xc9, 0xe4, 0xa3, 0x5f, 0xf8, 0xea, 0x1a, 0x0a, - 0x32, 0x80, 0x45, 0x7a, 0x48, 0x79, 0x44, 0xfd, 0x88, 0x8d, 0x78, 0x97, 0x26, 0xcf, 0xbb, 0x30, - 0x62, 0x29, 0x98, 0x7f, 0x2a, 0x41, 0xab, 0x38, 0xb0, 0xc8, 0x55, 0x20, 0x62, 0xe6, 0xa5, 0x74, - 0x18, 0x1f, 0x0f, 0xc0, 0xf2, 0xe4, 0x1d, 0x59, 0xb3, 0x9c, 0x3b, 0x86, 0x72, 0xd7, 0x30, 0x16, - 0x4e, 0xb5, 0xa0, 0x46, 0xa3, 0x48, 0x1c, 0x79, 0x92, 0x45, 0x91, 0x74, 0x2e, 0xad, 0x97, 0x36, - 0x66, 0x5d, 0x40, 0xd1, 0x43, 0x2d, 0x21, 0xf7, 0x60, 0xc5, 0x28, 0x9c, 0xae, 0x56, 0xe9, 0x5c, - 0x46, 0xf5, 0x2b, 0xa8, 0xe0, 0xbe, 0x59, 0xab, 0x92, 0x5c, 0x03, 0xa0, 0x51, 0xba, 0x4f, 0x3d, - 0xfd, 0x70, 0x3a, 0x57, 0x50, 0xb9, 0x8a, 0x12, 0x6c, 0x5a, 0x2e, 0xcc, 0xf9, 0x54, 0x05, 0xfb, - 0x1e, 0xbe, 0xe8, 0xd2, 0x71, 0xf0, 0x9a, 0x76, 0xed, 0x35, 0xfd, 0x70, 0x8c, 0x13, 0x7e, 0xc3, - 0x13, 0xe5, 0xd6, 0x10, 0xa4, 0x87, 0x18, 0xe4, 0x31, 0x34, 0xde, 0x88, 0xad, 0xb3, 0x72, 0xe6, - 0xdb, 0xff, 0x20, 0x51, 0x6e, 0x5d, 0x9c, 0x88, 0x97, 0xee, 0xb0, 0x52, 0xe9, 0x52, 0x5d, 0x35, - 0x1d, 0x16, 0x17, 0x27, 0xa6, 0x95, 0xab, 0x27, 0xa7, 0x15, 0x1f, 0x40, 0x64, 0x34, 0x88, 0x18, - 0x6e, 0xae, 0x4d, 0xae, 0xb9, 0x55, 0x0d, 0xec, 0x16, 0x0f, 0xdb, 0x7f, 0x95, 0xa0, 0xda, 0xa3, - 0x92, 0xed, 0xe8, 0x17, 0x46, 0x37, 0x6e, 0x1a, 0x04, 0x22, 0x4f, 0xd4, 0xeb, 0xe9, 0x69, 0x42, - 0x8d, 0xdb, 0xe2, 0xea, 0x73, 0xdd, 0x85, 0x0a, 0x8d, 0xf5, 0x02, 0xc7, 0x8a, 0x71, 0x66, 0x22, - 0xa3, 0x4e, 0xd6, 0xa0, 0x1a, 0xd0, 0x24, 0x60, 0x51, 0xc4, 0x42, 0x9c, 0x3b, 0x66, 0xdd, 0xd7, - 0x02, 0xdd, 0xa3, 0xcd, 0xc2, 0xcb, 0x18, 0x95, 0x22, 0x31, 0x73, 0x87, 0x3b, 0x67, 0x84, 0x2e, - 0xca, 0xda, 0xbf, 0x94, 0x60, 0xb6, 0x97, 0x0f, 0xcd, 0x71, 0x37, 0x01, 0x34, 0xa5, 0x87, 0xcf, - 0x2b, 0x9e, 0x56, 0x8f, 0x83, 0xa7, 0xfb, 0xf4, 0x28, 0x40, 0x45, 0x1b, 0xf0, 0x47, 0x11, 0x7b, - 0x6a, 0xda, 0x08, 0x0e, 0x94, 0xd2, 0x4e, 0x94, 0x13, 0x2d, 0x3e, 0xdd, 0x72, 0x70, 0x94, 0x94, - 0xed, 0xaf, 0xa0, 0xaa, 0x2b, 0x6a, 0x52, 0xbe, 0xb7, 0x39, 0x54, 0x1f, 0x1e, 0xd1, 0x74, 0x62, - 0xb1, 0x58, 0x81, 0x59, 0x25, 0xcc, 0x3c, 0x62, 0x07, 0xc6, 0x19, 0x25, 0x70, 0x12, 0x69, 0xff, - 0x50, 0x81, 0xe9, 0x9e, 0x2e, 0xb2, 0x77, 0x4d, 0xe7, 0x4f, 0x60, 0xc1, 0xd4, 0xb1, 0x97, 0xb1, - 0x98, 0xf2, 0x84, 0x27, 0x7d, 0xfb, 0x65, 0x70, 0xe6, 0x8a, 0x6e, 0x18, 0x20, 0xb7, 0xc0, 0xd1, - 0x93, 0x50, 0xc2, 0x06, 0xca, 0x4b, 0x73, 0x3f, 0xe2, 0x81, 0x87, 0x4f, 0x88, 0x19, 0x5d, 0xcf, - 0x3e, 0x09, 0x69, 0xa0, 0x5d, 0xc4, 0xd9, 0xd4, 0x30, 0xe4, 0x01, 0x2c, 0x28, 0xa1, 0x68, 0xe4, - 0xf9, 0xf9, 0xd0, 0xb3, 0x37, 0xbb, 0x3c, 0xde, 0xcd, 0xae, 0xa3, 0x61, 0x2f, 0x1f, 0x6e, 0x9a, - 0x1b, 0xfe, 0x39, 0x2c, 0x1a, 0x28, 0xfd, 0x98, 0x16, 0x58, 0xd3, 0xe3, 0x61, 0x35, 0xd0, 0x52, - 0xdf, 0x10, 0x0b, 0x96, 0x02, 0x68, 0x8f, 0xec, 0xdd, 0xac, 0xbc, 0xb7, 0xaf, 0x1d, 0x3f, 0x1f, - 0x9a, 0x1b, 0x4a, 0x32, 0xa8, 0xa1, 0xe3, 0x96, 0x72, 0xe6, 0x7d, 0x51, 0x82, 0x66, 0xb1, 0x9c, - 0x77, 0xa0, 0xec, 0xe7, 0x43, 0x33, 0x00, 0xd7, 0x6e, 0x5d, 0x7d, 0xdb, 0x95, 0xb5, 0xf5, 0x6e, - 0xe3, 0x84, 0xea, 0xe4, 0x63, 0x98, 0x36, 0x0d, 0xab, 0x6a, 0x9d, 0x3c, 0x6d, 0x37, 0x2a, 0x36, - 0x6b, 0x68, 0x0c, 0xd0, 0xf2, 0x88, 0xa6, 0xd2, 0x81, 0xff, 0xb6, 0x2c, 0xca, 0x6a, 0x64, 0xa9, - 0x0d, 0xda, 0xf7, 0xa0, 0x62, 0x66, 0x7a, 0x72, 0x03, 0x96, 0x6d, 0x37, 0x0c, 0xb1, 0xb5, 0x15, - 0x53, 0x7c, 0x09, 0xa7, 0x78, 0x52, 0xec, 0xe9, 0x26, 0x67, 0x46, 0xf9, 0xde, 0xce, 0xb3, 0x97, - 0xcd, 0xd2, 0xf3, 0x97, 0xcd, 0xd2, 0x9f, 0x2f, 0x9b, 0xa5, 0x1f, 0x5f, 0x35, 0xa7, 0x9e, 0xbf, - 0x6a, 0x4e, 0xfd, 0xf6, 0xaa, 0x39, 0xf5, 0xe4, 0xce, 0xf8, 0x6f, 0xb3, 0xf9, 0xf4, 0xc7, 0x60, - 0xfa, 0x15, 0xfc, 0x54, 0xbf, 0xfd, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x84, 0xfe, 0xa7, 0xfc, - 0x14, 0x10, 0x00, 0x00, + // 1350 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xcf, 0x4e, 0x1c, 0x47, + 0x13, 0x67, 0xed, 0x65, 0x61, 0x6a, 0x61, 0x81, 0x06, 0xdb, 0x03, 0xc6, 0xbb, 0x68, 0x3f, 0x7d, + 0xdf, 0x87, 0x14, 0x79, 0xd7, 0xc6, 0x8a, 0x6c, 0x59, 0x51, 0x24, 0x36, 0x08, 0xc9, 0xca, 0x1f, + 0x93, 0xb1, 0x23, 0x4b, 0x3e, 0x64, 0xd4, 0x33, 0xd3, 0x2c, 0x1d, 0x66, 0xa6, 0x27, 0xd3, 0x3d, + 0xb0, 0x7b, 0xca, 0x21, 0x52, 0xce, 0x51, 0x1e, 0x23, 0x6f, 0x90, 0x3c, 0x81, 0x8f, 0x3e, 0x46, + 0x39, 0x38, 0x91, 0xfd, 0x02, 0x39, 0xe7, 0x14, 0x75, 0x75, 0xcf, 0x1a, 0x8c, 0x63, 0x2d, 0x68, + 0x7d, 0x62, 0xbb, 0xba, 0xea, 0xf7, 0xab, 0xae, 0xea, 0xea, 0xaa, 0x01, 0x6e, 0xf0, 0x81, 0xe8, + 0x06, 0x22, 0x8d, 0x64, 0xf7, 0xe8, 0x76, 0xc0, 0x14, 0xbd, 0x6d, 0x56, 0x9d, 0x2c, 0x17, 0x4a, + 0x90, 0x25, 0x3e, 0x10, 0x1d, 0x23, 0xb0, 0xdb, 0x6b, 0x2b, 0x7d, 0xd1, 0x17, 0xb8, 0xdb, 0xd5, + 0xbf, 0x8c, 0xe2, 0x5a, 0x33, 0x14, 0x32, 0x11, 0xb2, 0x1b, 0x50, 0xc9, 0x46, 0x48, 0xa1, 0xe0, + 0xa9, 0xd9, 0x6f, 0x1f, 0xc2, 0xfc, 0x6e, 0x91, 0x86, 0x8a, 0x8b, 0x74, 0x8f, 0xe6, 0x34, 0x21, + 0x2b, 0x30, 0x9d, 0xe9, 0x1f, 0x6e, 0x65, 0xa3, 0xb2, 0xe9, 0x78, 0x66, 0x41, 0x76, 0x60, 0xfa, + 0x88, 0xc6, 0x05, 0x73, 0x2f, 0x69, 0x69, 0xaf, 0xf3, 0xec, 0x45, 0x6b, 0xea, 0xf7, 0x17, 0xad, + 0xff, 0xf5, 0xb9, 0x3a, 0x28, 0x82, 0x4e, 0x28, 0x92, 0xae, 0x25, 0x32, 0x7f, 0x6e, 0xca, 0xe8, + 0xb0, 0xab, 0x86, 0x19, 0x93, 0x9d, 0x1d, 0x16, 0x7a, 0xc6, 0xb8, 0xfd, 0xeb, 0x25, 0xa8, 0xf7, + 0x44, 0x1a, 0xed, 0x30, 0x45, 0x79, 0x2c, 0xc9, 0x2a, 0xcc, 0xea, 0x33, 0xf8, 0x11, 0x8f, 0x2c, + 0xdd, 0x8c, 0x5e, 0xef, 0xf0, 0x88, 0x64, 0x00, 0x32, 0x13, 0xca, 0xcf, 0x72, 0x1e, 0x6a, 0xd6, + 0xcb, 0x9b, 0xf5, 0xad, 0xf5, 0x8e, 0x01, 0xef, 0xe8, 0xc3, 0x94, 0xe7, 0xd6, 0xf8, 0x9f, 0x08, + 0x9e, 0xf6, 0xee, 0x68, 0x9f, 0x7e, 0xfe, 0xa3, 0xf5, 0xc1, 0x78, 0x3e, 0x69, 0x1b, 0xe9, 0x39, + 0x9a, 0x64, 0x4f, 0x73, 0x90, 0xbb, 0x50, 0x93, 0x45, 0x96, 0xc5, 0x43, 0xf7, 0xf2, 0x46, 0x65, + 0xb3, 0xbe, 0xb5, 0xfa, 0x56, 0x36, 0xa4, 0xaa, 0x6a, 0x2a, 0xcf, 0xaa, 0x13, 0x06, 0x33, 0x39, + 0x93, 0x2c, 0x3f, 0x62, 0x6e, 0x15, 0xfd, 0x7c, 0x87, 0xe5, 0x2d, 0xeb, 0xe4, 0xe6, 0x18, 0x4e, + 0x1a, 0x0f, 0x4b, 0xec, 0xf6, 0x0f, 0x8b, 0x50, 0xd5, 0xc1, 0xd3, 0x19, 0x52, 0xe2, 0x90, 0xa5, + 0x65, 0x86, 0x70, 0x41, 0x08, 0x54, 0x53, 0x9a, 0xd8, 0x04, 0x79, 0xf8, 0x9b, 0x6c, 0x40, 0x3d, + 0x62, 0x32, 0xcc, 0x79, 0xa6, 0xf3, 0x8b, 0xe7, 0x72, 0xbc, 0x93, 0x22, 0xd2, 0x87, 0x7a, 0x98, + 0x33, 0xaa, 0x44, 0x8e, 0x49, 0xa8, 0x62, 0x76, 0x77, 0xff, 0x7e, 0xd1, 0xea, 0x9d, 0x70, 0x90, + 0x0f, 0xc4, 0xbe, 0x28, 0xd2, 0x88, 0x6a, 0x13, 0xbd, 0xba, 0x19, 0xc4, 0x22, 0x3c, 0x0c, 0x0f, + 0x28, 0x4f, 0xbb, 0x47, 0x5b, 0xdd, 0x41, 0x97, 0xf3, 0xa8, 0x8c, 0xec, 0x83, 0x9d, 0xdd, 0x9c, + 0xf6, 0x13, 0x96, 0x2a, 0x0f, 0x2c, 0xb4, 0xce, 0x67, 0x02, 0x8d, 0x50, 0xa4, 0x2a, 0x17, 0x71, + 0xcc, 0x0c, 0xd7, 0xf4, 0x44, 0xb9, 0xe6, 0x5f, 0xa3, 0x6b, 0xba, 0xff, 0xc0, 0xfc, 0xbe, 0xbd, + 0xd6, 0xbe, 0x56, 0x76, 0x6b, 0x78, 0xf6, 0xb9, 0x52, 0xf8, 0x78, 0x98, 0x31, 0xc2, 0x61, 0x79, + 0xa4, 0x84, 0xd7, 0x9c, 0x29, 0x96, 0x4b, 0x77, 0x06, 0x93, 0xb8, 0xd1, 0x39, 0x53, 0x62, 0x9d, + 0x53, 0x95, 0xd2, 0xbb, 0x6a, 0x73, 0xd9, 0x38, 0x25, 0x96, 0x1e, 0xd9, 0x3f, 0xb9, 0x46, 0x4c, + 0xf2, 0x5f, 0x68, 0xd8, 0x3c, 0xfa, 0x98, 0x2e, 0xe9, 0xce, 0x6e, 0x5c, 0xde, 0x74, 0xbc, 0x79, + 0x2b, 0x7d, 0x8c, 0x42, 0xf2, 0x14, 0x96, 0xd4, 0xc0, 0xdf, 0x67, 0xcc, 0xcf, 0x58, 0x1e, 0xb2, + 0x54, 0xd1, 0x3e, 0x73, 0x9d, 0x0b, 0x95, 0xdc, 0x82, 0x1a, 0xec, 0x32, 0xb6, 0x37, 0x82, 0x21, + 0x5f, 0xc3, 0x32, 0x1b, 0x70, 0xf5, 0x26, 0x3a, 0x5c, 0x08, 0x7d, 0x49, 0x43, 0x9d, 0xc6, 0x6f, + 0x41, 0x5d, 0x43, 0xd3, 0x28, 0xca, 0x99, 0x94, 0x6e, 0x1d, 0x03, 0x0e, 0xfb, 0x8c, 0x6d, 0x1b, + 0x09, 0xf9, 0x08, 0xd6, 0xca, 0x18, 0x1c, 0x73, 0x75, 0x10, 0xe5, 0xf4, 0x98, 0xc6, 0x23, 0xfd, + 0x39, 0xd4, 0x77, 0xad, 0xc6, 0x93, 0x91, 0x42, 0x69, 0xfd, 0x31, 0x40, 0x42, 0x07, 0xbe, 0x2d, + 0xd1, 0xf9, 0xf1, 0x4a, 0xd4, 0x49, 0xe8, 0xe0, 0x91, 0xa9, 0xd2, 0xef, 0xe0, 0x8a, 0xc8, 0x23, + 0x96, 0xfb, 0xdf, 0x16, 0x34, 0x55, 0x5c, 0x0d, 0xfd, 0x98, 0x27, 0x5c, 0x49, 0xb7, 0x31, 0xf9, + 0x9a, 0x5d, 0x46, 0xa6, 0x2f, 0x2d, 0xd1, 0x67, 0xc8, 0x43, 0x1e, 0x42, 0x5d, 0xd2, 0x54, 0x13, + 0xe7, 0x54, 0x31, 0x77, 0xe1, 0x42, 0x71, 0x07, 0x03, 0xe1, 0x51, 0xc5, 0xc8, 0x01, 0xb8, 0x16, + 0x30, 0xa1, 0x79, 0x9f, 0xa7, 0x27, 0xb3, 0xba, 0x78, 0x21, 0xf4, 0xab, 0x06, 0xef, 0x73, 0x84, + 0x3b, 0x91, 0xda, 0x5d, 0x68, 0x84, 0x45, 0x9e, 0xb3, 0x54, 0x95, 0xf1, 0x5f, 0x1a, 0x2f, 0xfe, + 0xf3, 0xd6, 0xcc, 0xe6, 0x40, 0xc1, 0x42, 0x89, 0x53, 0xbe, 0x98, 0x64, 0xf2, 0xd1, 0x2f, 0x7d, + 0xf5, 0x0c, 0x05, 0x19, 0xc0, 0x12, 0x3d, 0xa2, 0x3c, 0xa6, 0x41, 0xcc, 0x46, 0xbc, 0xcb, 0x93, + 0xe7, 0x5d, 0x1c, 0xb1, 0x94, 0xcc, 0x3f, 0x55, 0xa0, 0x55, 0x1e, 0x58, 0x14, 0x2a, 0x14, 0x09, + 0xf3, 0x33, 0x3a, 0x4c, 0x4e, 0x06, 0x60, 0x65, 0xf2, 0x8e, 0xac, 0x5b, 0xce, 0x87, 0x86, 0x72, + 0xcf, 0x30, 0x96, 0x4e, 0xb5, 0xa0, 0x4e, 0xe3, 0x58, 0x1c, 0xfb, 0x92, 0xc5, 0xb1, 0x74, 0xaf, + 0x6c, 0x54, 0x36, 0x67, 0x3d, 0x40, 0xd1, 0x23, 0x2d, 0x21, 0xf7, 0x61, 0xd5, 0x28, 0x9c, 0xad, + 0x56, 0xe9, 0x5e, 0x45, 0xf5, 0x6b, 0xa8, 0xe0, 0xbd, 0x59, 0xab, 0x92, 0xdc, 0x00, 0xa0, 0x71, + 0x76, 0x40, 0x7d, 0xfd, 0x70, 0xba, 0xd7, 0x50, 0xd9, 0x41, 0x09, 0xb6, 0x2e, 0x0f, 0xe6, 0x02, + 0xaa, 0xc2, 0x03, 0x1f, 0x1f, 0x75, 0xe9, 0xba, 0x78, 0x4d, 0xbb, 0xf6, 0x9a, 0xfe, 0x7f, 0x8c, + 0x13, 0x7e, 0xc5, 0x53, 0xe5, 0xd5, 0x11, 0xa4, 0x87, 0x18, 0xe4, 0x09, 0x2c, 0xbc, 0x11, 0x5b, + 0x77, 0xf5, 0xdc, 0xb7, 0xff, 0x41, 0xaa, 0xbc, 0x86, 0x38, 0x15, 0x2f, 0xdd, 0x67, 0xa5, 0xd2, + 0xa5, 0xba, 0x66, 0xfa, 0x2c, 0x2e, 0x4e, 0xcd, 0x2c, 0xd7, 0x4f, 0xcf, 0x2c, 0x0c, 0x40, 0xe4, + 0x34, 0x8c, 0x19, 0x6e, 0xae, 0x4f, 0xb4, 0xbf, 0x39, 0x06, 0x79, 0x87, 0x47, 0xed, 0xbf, 0x2a, + 0xe0, 0xf4, 0xa8, 0x64, 0x0f, 0xf5, 0x23, 0xa3, 0x3b, 0x38, 0x0d, 0x43, 0x51, 0xa4, 0xea, 0xf5, + 0x18, 0x35, 0xb9, 0x0e, 0x6e, 0xa1, 0xf5, 0xe9, 0xee, 0x42, 0x8d, 0x26, 0x7a, 0x81, 0x23, 0xc6, + 0x38, 0xf3, 0x91, 0x51, 0x27, 0xeb, 0xe0, 0x84, 0x34, 0x0d, 0x59, 0x1c, 0xb3, 0x08, 0x67, 0x90, + 0x59, 0xef, 0xb5, 0x40, 0x77, 0x6a, 0xb3, 0xf0, 0x73, 0x46, 0xa5, 0x48, 0xcd, 0x0c, 0xe2, 0xcd, + 0x19, 0xa1, 0x87, 0xb2, 0xf6, 0x2f, 0x15, 0x98, 0xed, 0x15, 0x43, 0x73, 0xe2, 0x6d, 0x00, 0x4d, + 0xe9, 0xe3, 0x23, 0x8b, 0x07, 0xd6, 0xa3, 0xe1, 0xd9, 0x6e, 0x3d, 0x8a, 0x51, 0xd9, 0x0c, 0x82, + 0x51, 0xd0, 0xbe, 0x31, 0xcd, 0x04, 0x87, 0x4b, 0x69, 0xa7, 0xcb, 0x89, 0x96, 0xa0, 0x6e, 0x3c, + 0x38, 0x56, 0xca, 0xf6, 0x17, 0xe0, 0xe8, 0xba, 0x9a, 0x94, 0xef, 0x6d, 0x0e, 0xce, 0xa3, 0x63, + 0x9a, 0x4d, 0x2c, 0x16, 0xab, 0x30, 0xab, 0x84, 0x99, 0x4a, 0xec, 0xf0, 0x38, 0xa3, 0x04, 0xce, + 0x23, 0xed, 0xef, 0x6b, 0x30, 0xdd, 0xd3, 0xa5, 0xf6, 0xae, 0x49, 0xfd, 0x29, 0x2c, 0x9a, 0x6a, + 0xf6, 0x73, 0x96, 0x50, 0x9e, 0xf2, 0xb4, 0x6f, 0xbf, 0x12, 0xce, 0x5d, 0xd7, 0x0b, 0x06, 0xc8, + 0x2b, 0x71, 0xf4, 0x3c, 0x94, 0xb2, 0x81, 0xf2, 0xb3, 0x22, 0x88, 0x79, 0xe8, 0xe3, 0x43, 0x62, + 0xc6, 0xd8, 0xf3, 0xcf, 0x43, 0x1a, 0x68, 0x0f, 0x71, 0xb6, 0x35, 0x0c, 0x79, 0x00, 0x8b, 0x4a, + 0x28, 0x1a, 0xfb, 0x41, 0x31, 0xf4, 0xed, 0xcd, 0xae, 0x8e, 0x77, 0xb3, 0x1b, 0x68, 0xd8, 0x2b, + 0x86, 0xdb, 0xe6, 0x86, 0x7f, 0x0a, 0x4b, 0x06, 0x4a, 0x3f, 0xa9, 0x25, 0xd6, 0xf4, 0x78, 0x58, + 0x0b, 0x68, 0xa9, 0x6f, 0x88, 0x05, 0xcb, 0x00, 0xb4, 0x47, 0xf6, 0x6e, 0xd6, 0xde, 0xdb, 0x97, + 0x4f, 0x50, 0x0c, 0xcd, 0x0d, 0x25, 0x39, 0xd4, 0xd1, 0x71, 0x4b, 0x39, 0xf3, 0xbe, 0x28, 0x41, + 0xb3, 0x58, 0xce, 0x0f, 0xa1, 0x1a, 0x14, 0x43, 0x33, 0x06, 0xd7, 0xb7, 0xae, 0xbf, 0xed, 0xca, + 0xda, 0x7a, 0xb7, 0x71, 0x42, 0x75, 0x72, 0x0f, 0xa6, 0x4d, 0xdb, 0x72, 0xac, 0x93, 0x67, 0xed, + 0x46, 0xc5, 0x66, 0x0d, 0x8d, 0x01, 0x5a, 0x1e, 0xd3, 0x4c, 0xba, 0xf0, 0xef, 0x96, 0x65, 0x59, + 0x8d, 0x2c, 0xb5, 0x41, 0xfb, 0x3e, 0xd4, 0xcc, 0x64, 0x4f, 0x6e, 0xc1, 0x8a, 0xed, 0x89, 0x11, + 0x36, 0xb8, 0x72, 0x96, 0xaf, 0xe0, 0x2c, 0x4f, 0xca, 0x3d, 0xdd, 0xea, 0xcc, 0x40, 0xdf, 0xf3, + 0x9e, 0xbd, 0x6c, 0x56, 0x9e, 0xbf, 0x6c, 0x56, 0xfe, 0x7c, 0xd9, 0xac, 0xfc, 0xf8, 0xaa, 0x39, + 0xf5, 0xfc, 0x55, 0x73, 0xea, 0xb7, 0x57, 0xcd, 0xa9, 0xa7, 0xf7, 0xce, 0xf5, 0x3c, 0x9b, 0xff, + 0x04, 0x60, 0x3c, 0x83, 0x1a, 0x7e, 0xb9, 0xdf, 0xf9, 0x27, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x2e, + 0x1f, 0x68, 0x23, 0x10, 0x00, 0x00, } func (m *FunctionParam) Marshal() (dAtA []byte, err error) { @@ -2366,7 +2366,7 @@ func (m *Bond) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.CreatorDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.CreatorDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 5: if wireType != 2 { @@ -2398,7 +2398,7 @@ func (m *Bond) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ControllerDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.ControllerDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 6: if wireType != 2 { @@ -3122,7 +3122,7 @@ func (m *Bond) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.OracleDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -3204,7 +3204,7 @@ func (m *BaseOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AccountDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.AccountDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { diff --git a/x/bonds/types/event.pb.go b/x/bonds/types/event.pb.go index d4d0ccaa..8f42fe65 100644 --- a/x/bonds/types/event.pb.go +++ b/x/bonds/types/event.pb.go @@ -995,70 +995,70 @@ func init() { func init() { proto.RegisterFile("ixo/bonds/v1beta1/event.proto", fileDescriptor_8b836af92b7c9cac) } var fileDescriptor_8b836af92b7c9cac = []byte{ - // 1002 bytes of a gzipped FileDescriptorProto + // 1005 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0x4f, 0x6f, 0x1b, 0x45, 0x14, 0xcf, 0x3a, 0x7f, 0xda, 0x8c, 0xe3, 0x34, 0xde, 0x96, 0xb0, 0x49, 0xa8, 0xd3, 0xba, 0x02, - 0x45, 0xaa, 0xb2, 0x26, 0x41, 0xdc, 0x90, 0x20, 0x0e, 0xb5, 0xc4, 0x01, 0x52, 0x39, 0x45, 0x91, - 0xb8, 0xac, 0xc6, 0xbb, 0xcf, 0xf6, 0x90, 0xf5, 0xcc, 0x6a, 0x66, 0x36, 0x76, 0xc4, 0x97, 0x00, - 0x3e, 0x06, 0x1f, 0x81, 0x03, 0x5c, 0x7b, 0xec, 0x11, 0x71, 0x28, 0x28, 0xf9, 0x08, 0x70, 0x45, - 0x42, 0xf3, 0x67, 0x37, 0xde, 0x12, 0x88, 0x83, 0x1c, 0xe5, 0x94, 0xcc, 0xfb, 0xf7, 0x7b, 0xef, - 0xfd, 0xde, 0xbc, 0x1d, 0xa3, 0x87, 0x64, 0xc4, 0x1a, 0x1d, 0x46, 0x23, 0xd1, 0x38, 0xd9, 0xe9, - 0x80, 0xc4, 0x3b, 0x0d, 0x38, 0x01, 0x2a, 0xfd, 0x84, 0x33, 0xc9, 0xdc, 0x2a, 0x19, 0x31, 0x5f, - 0xab, 0x7d, 0xab, 0x5e, 0x7f, 0xd0, 0x63, 0x3d, 0xa6, 0xb5, 0x0d, 0xf5, 0x9f, 0x31, 0x5c, 0xbf, - 0x24, 0x8e, 0x71, 0x33, 0xea, 0x5a, 0xc8, 0xc4, 0x80, 0x89, 0x46, 0x07, 0x0b, 0xc8, 0x0d, 0x42, - 0x46, 0xa8, 0xd1, 0xd7, 0x3f, 0x46, 0x2b, 0x4d, 0x46, 0xa3, 0x7d, 0x0e, 0x58, 0x42, 0xf4, 0x4c, - 0x65, 0xe0, 0x3e, 0x45, 0x73, 0x2a, 0x84, 0xe7, 0x3c, 0x72, 0xb6, 0xca, 0xbb, 0x6f, 0xfb, 0xff, - 0x48, 0xc5, 0x57, 0x2e, 0x6d, 0x6d, 0x94, 0x05, 0xf8, 0x32, 0x89, 0xfe, 0x67, 0x00, 0x82, 0xde, - 0x52, 0xa7, 0x43, 0x90, 0x5f, 0xc0, 0x48, 0xee, 0xc5, 0x49, 0x1f, 0x9b, 0x28, 0x6b, 0xe8, 0xae, - 0x32, 0x08, 0x22, 0x62, 0x22, 0x2d, 0xb6, 0xef, 0xa8, 0xf3, 0xa7, 0x24, 0x72, 0x1f, 0x22, 0x44, - 0x61, 0x24, 0x03, 0xac, 0xac, 0xbd, 0x92, 0x56, 0x2e, 0xd2, 0xcc, 0xdd, 0x5d, 0x45, 0x0b, 0x82, - 0xf4, 0x28, 0x70, 0x6f, 0x56, 0xab, 0xec, 0xa9, 0x8e, 0x51, 0x55, 0x41, 0x35, 0xd3, 0xd3, 0x03, - 0x1e, 0x01, 0x37, 0x30, 0x3b, 0x68, 0x9e, 0xa9, 0x93, 0xcd, 0x76, 0xe3, 0xb2, 0x6c, 0xad, 0x43, - 0xdb, 0x58, 0x16, 0x32, 0x2b, 0x15, 0x32, 0xab, 0x87, 0xc8, 0x35, 0xd5, 0xc4, 0xf1, 0x18, 0xc6, - 0x6e, 0x11, 0xe3, 0x9d, 0x4b, 0x30, 0x72, 0x8f, 0x6b, 0x80, 0x0c, 0x71, 0x72, 0x4d, 0x90, 0xcc, - 0x63, 0x02, 0x90, 0x3f, 0x1d, 0xb4, 0xa1, 0x50, 0x3e, 0xc7, 0xc7, 0x70, 0x90, 0xca, 0x90, 0x0d, - 0xe0, 0x39, 0x3e, 0x1d, 0x00, 0x95, 0x57, 0xd2, 0x23, 0xd1, 0x3d, 0x66, 0x3c, 0x82, 0xc4, 0xb8, - 0x78, 0xa5, 0x47, 0xb3, 0x5b, 0xe5, 0xdd, 0x35, 0xdf, 0x8c, 0xa3, 0xaf, 0xc6, 0x31, 0xcf, 0x6a, - 0x9f, 0x11, 0xda, 0x7c, 0xff, 0xe5, 0xeb, 0xcd, 0x99, 0x1f, 0x7e, 0xdb, 0xdc, 0xea, 0x11, 0xd9, - 0x4f, 0x3b, 0x7e, 0xc8, 0x06, 0x0d, 0x3b, 0xbb, 0xe6, 0xcf, 0xb6, 0x88, 0x8e, 0x1b, 0xf2, 0x34, - 0x01, 0xa1, 0x1d, 0x44, 0x7b, 0x99, 0x15, 0xb2, 0x52, 0x43, 0x21, 0x80, 0x46, 0xc0, 0x75, 0x4a, - 0x86, 0xf9, 0x45, 0x23, 0x51, 0x49, 0xbd, 0x8b, 0x96, 0xad, 0x1a, 0x47, 0x11, 0x07, 0x21, 0xbc, - 0x39, 0x6d, 0x52, 0x31, 0xd2, 0x3d, 0x23, 0xac, 0xff, 0xe5, 0xa0, 0x55, 0x55, 0xf6, 0x11, 0x91, - 0xfd, 0x88, 0xe3, 0xe1, 0x61, 0x1f, 0x73, 0xb8, 0xb2, 0xe2, 0x13, 0xb4, 0x32, 0xb4, 0x0e, 0x37, - 0x59, 0xf2, 0xbd, 0x0c, 0x24, 0xab, 0xf9, 0x09, 0xaa, 0x70, 0x08, 0x49, 0x42, 0x80, 0xca, 0xb1, - 0xb2, 0x97, 0x72, 0xa1, 0x4a, 0xee, 0x29, 0xaa, 0x5e, 0x18, 0x15, 0x8b, 0x5f, 0xc9, 0x15, 0x59, - 0xfd, 0x3f, 0x97, 0x90, 0x37, 0x5e, 0x7f, 0x1b, 0x04, 0xf0, 0x13, 0x98, 0x84, 0xf3, 0xbc, 0x03, - 0x78, 0xc0, 0xd2, 0x1b, 0xe2, 0x3c, 0xc3, 0xd8, 0xd3, 0x10, 0x8a, 0xd4, 0x4c, 0x52, 0xe0, 0xbd, - 0x72, 0x21, 0x55, 0xc9, 0x6d, 0x23, 0x77, 0xcc, 0xac, 0xd8, 0x82, 0xea, 0x85, 0xc6, 0xf6, 0xc0, - 0xfd, 0x08, 0xad, 0x73, 0x53, 0x76, 0x90, 0x29, 0x71, 0x9c, 0xbb, 0xcd, 0x6b, 0x37, 0xcf, 0x5a, - 0x1c, 0xe5, 0x06, 0x59, 0x07, 0xbf, 0x77, 0xd0, 0x9a, 0xea, 0xe0, 0xb3, 0x88, 0x98, 0x7d, 0x74, - 0x98, 0x86, 0x21, 0x08, 0x71, 0x65, 0x0b, 0x1f, 0xa0, 0x79, 0xc9, 0x8e, 0x81, 0xda, 0x9b, 0x68, - 0x0e, 0xee, 0x63, 0xb4, 0x94, 0xa4, 0x9d, 0x98, 0x84, 0x76, 0xdb, 0x99, 0x02, 0xcb, 0x46, 0x66, - 0xf6, 0xdd, 0x63, 0xb4, 0x24, 0x4e, 0x85, 0x84, 0x81, 0x35, 0x31, 0x85, 0x95, 0x8d, 0x4c, 0x9b, - 0xd4, 0x13, 0xc3, 0x6a, 0x9e, 0x53, 0x0b, 0x93, 0x38, 0x5b, 0xd7, 0xd7, 0x4e, 0xe9, 0x09, 0xaa, - 0x84, 0x98, 0x86, 0x10, 0x07, 0x1c, 0xb0, 0x60, 0x34, 0x9b, 0x3a, 0x23, 0x6c, 0x6b, 0x59, 0xfd, - 0xc7, 0x05, 0xb4, 0x3e, 0xbe, 0x6d, 0x5b, 0x69, 0xdc, 0x25, 0xf1, 0x24, 0xa0, 0xf9, 0x46, 0x2e, - 0x4d, 0xbc, 0x91, 0x39, 0x5a, 0x0e, 0xfb, 0x98, 0xf7, 0x20, 0x0a, 0x12, 0x4e, 0x42, 0x10, 0xde, - 0xec, 0xf4, 0x87, 0xaf, 0x62, 0x21, 0x9e, 0x6b, 0x04, 0x97, 0xa2, 0xa5, 0x0c, 0xb3, 0x0b, 0xa0, - 0xc6, 0x69, 0xea, 0x88, 0x65, 0x0b, 0xd0, 0x02, 0x10, 0xee, 0x37, 0xe8, 0x3e, 0x07, 0x99, 0x72, - 0x0a, 0x51, 0x20, 0xd9, 0xd8, 0x38, 0x4e, 0x1d, 0xb6, 0x9a, 0xe1, 0xbc, 0x60, 0xd9, 0x95, 0x08, - 0xd1, 0x2a, 0x85, 0x61, 0xa0, 0x29, 0xd3, 0x43, 0x10, 0x74, 0x70, 0xac, 0xe8, 0xf6, 0x16, 0x14, - 0x79, 0x4d, 0x5f, 0x81, 0xfc, 0xfa, 0x7a, 0xf3, 0xbd, 0x09, 0x40, 0x3e, 0xa3, 0xb2, 0x7d, 0x9f, - 0xc2, 0x50, 0x4d, 0xc7, 0x0b, 0x15, 0xab, 0x69, 0x42, 0xb9, 0x12, 0x6d, 0x16, 0x59, 0x0c, 0x58, - 0x37, 0x18, 0xf6, 0x49, 0xd8, 0x0f, 0xec, 0x6d, 0xf3, 0xee, 0xe4, 0x68, 0xce, 0x35, 0xd0, 0x36, - 0x0a, 0xcc, 0x1d, 0x74, 0x8f, 0x54, 0x4c, 0xbb, 0xd9, 0xdc, 0xef, 0x9c, 0x7f, 0x87, 0xed, 0xa6, - 0x34, 0x22, 0xb4, 0xe7, 0xdd, 0x9d, 0x7e, 0x93, 0x2f, 0xcd, 0xa9, 0x65, 0xf0, 0xea, 0x3f, 0xcd, - 0x9a, 0x8f, 0x6f, 0xfe, 0x2a, 0x98, 0xfc, 0xf6, 0xec, 0x16, 0x6f, 0xcf, 0x44, 0x6f, 0x8d, 0x37, - 0x47, 0x79, 0xf6, 0x76, 0x46, 0x79, 0xee, 0x96, 0x47, 0x79, 0x7e, 0x6a, 0xa3, 0x5c, 0xff, 0xa3, - 0x64, 0x09, 0xcc, 0x5e, 0x5c, 0xd3, 0x25, 0xf0, 0xcd, 0x77, 0xdc, 0x27, 0xa8, 0x3c, 0x46, 0xa0, - 0xde, 0xc7, 0xff, 0xd9, 0xc8, 0x39, 0x55, 0x63, 0x1b, 0x5d, 0x70, 0x72, 0xbb, 0x94, 0xb4, 0xd0, - 0xb2, 0x66, 0x42, 0x04, 0x62, 0x88, 0x93, 0x04, 0x22, 0x4d, 0xc5, 0x04, 0x15, 0x54, 0x8c, 0xdb, - 0xa1, 0xf1, 0xaa, 0x7f, 0x5d, 0xfc, 0xe4, 0xec, 0xeb, 0xef, 0xd1, 0xcd, 0x7c, 0x72, 0x9a, 0x07, - 0x2f, 0xcf, 0x6a, 0xce, 0xab, 0xb3, 0x9a, 0xf3, 0xfb, 0x59, 0xcd, 0xf9, 0xf6, 0xbc, 0x36, 0xf3, - 0xea, 0xbc, 0x36, 0xf3, 0xcb, 0x79, 0x6d, 0xe6, 0xab, 0x0f, 0xc7, 0x5a, 0x41, 0x46, 0xac, 0xcb, - 0x52, 0x1a, 0x61, 0x49, 0x18, 0x55, 0xa7, 0xed, 0x4e, 0xcc, 0xc2, 0xe3, 0xb0, 0x8f, 0x09, 0x6d, - 0x8c, 0xec, 0x0f, 0x37, 0xdd, 0x9d, 0xce, 0x82, 0xfe, 0x45, 0xf6, 0xc1, 0xdf, 0x01, 0x00, 0x00, - 0xff, 0xff, 0x4a, 0xe4, 0x3b, 0xda, 0x1a, 0x0e, 0x00, 0x00, + 0x45, 0xaa, 0x62, 0x13, 0x73, 0xe1, 0x80, 0x04, 0x71, 0xa8, 0x25, 0x0e, 0x90, 0xca, 0x29, 0x8a, + 0xc4, 0x65, 0x35, 0xde, 0x7d, 0xb6, 0x87, 0xac, 0x67, 0x56, 0x33, 0xb3, 0xb6, 0x23, 0xbe, 0x04, + 0xf0, 0x31, 0xf8, 0x08, 0x1c, 0xe0, 0xda, 0x63, 0x8f, 0x88, 0x43, 0x41, 0xc9, 0x47, 0x80, 0x2b, + 0x12, 0x9a, 0x3f, 0xbb, 0xf1, 0x96, 0x40, 0x1c, 0xe4, 0x28, 0xa7, 0x64, 0xde, 0xbf, 0xdf, 0x7b, + 0xef, 0xf7, 0xe6, 0xed, 0x18, 0x3d, 0x24, 0x63, 0x56, 0xef, 0x30, 0x1a, 0x8a, 0xfa, 0x70, 0xaf, + 0x03, 0x12, 0xef, 0xd5, 0x61, 0x08, 0x54, 0xd6, 0x62, 0xce, 0x24, 0x73, 0xcb, 0x64, 0xcc, 0x6a, + 0x5a, 0x5d, 0xb3, 0xea, 0xcd, 0x07, 0x3d, 0xd6, 0x63, 0x5a, 0x5b, 0x57, 0xff, 0x19, 0xc3, 0xcd, + 0x4b, 0xe2, 0x18, 0x37, 0xa3, 0xae, 0x04, 0x4c, 0x0c, 0x98, 0xa8, 0x77, 0xb0, 0x80, 0xcc, 0x20, + 0x60, 0x84, 0x1a, 0x7d, 0xf5, 0x63, 0xb4, 0xd6, 0x64, 0x34, 0x3c, 0xe0, 0x80, 0x25, 0x84, 0xcf, + 0x54, 0x06, 0xee, 0x53, 0xb4, 0xa0, 0x42, 0x78, 0xce, 0x23, 0x67, 0xa7, 0xd8, 0x78, 0xbb, 0xf6, + 0x8f, 0x54, 0x6a, 0xca, 0xa5, 0xad, 0x8d, 0xd2, 0x00, 0x5f, 0xc6, 0xe1, 0xff, 0x0c, 0x40, 0xd0, + 0x5b, 0xea, 0x74, 0x04, 0xf2, 0x0b, 0x18, 0xcb, 0xfd, 0x28, 0xee, 0x63, 0x13, 0x65, 0x03, 0xdd, + 0x55, 0x06, 0x7e, 0x48, 0x4c, 0xa4, 0xe5, 0xf6, 0x1d, 0x75, 0xfe, 0x94, 0x84, 0xee, 0x43, 0x84, + 0x28, 0x8c, 0xa5, 0x8f, 0x95, 0xb5, 0x57, 0xd0, 0xca, 0x65, 0x9a, 0xba, 0xbb, 0xeb, 0x68, 0x49, + 0x90, 0x1e, 0x05, 0xee, 0xcd, 0x6b, 0x95, 0x3d, 0x55, 0x31, 0x2a, 0x2b, 0xa8, 0x66, 0x72, 0x7a, + 0xc8, 0x43, 0xe0, 0x06, 0x66, 0x0f, 0x2d, 0x32, 0x75, 0xb2, 0xd9, 0x6e, 0x5d, 0x96, 0xad, 0x75, + 0x68, 0x1b, 0xcb, 0x5c, 0x66, 0x85, 0x5c, 0x66, 0xd5, 0x00, 0xb9, 0xa6, 0x9a, 0x28, 0x9a, 0xc0, + 0x68, 0xe4, 0x31, 0xde, 0xb9, 0x04, 0x23, 0xf3, 0xb8, 0x06, 0xc8, 0x08, 0xc7, 0xd7, 0x04, 0x49, + 0x3d, 0xa6, 0x00, 0xf9, 0xd3, 0x41, 0x5b, 0x0a, 0xe5, 0x73, 0x7c, 0x02, 0x87, 0x89, 0x0c, 0xd8, + 0x00, 0x9e, 0xe3, 0xd3, 0x01, 0x50, 0x79, 0x25, 0x3d, 0x12, 0xdd, 0x63, 0xc6, 0xc3, 0x8f, 0x8d, + 0x8b, 0x57, 0x78, 0x34, 0xbf, 0x53, 0x6c, 0x6c, 0xd4, 0xcc, 0x38, 0xd6, 0xd4, 0x38, 0x66, 0x59, + 0x1d, 0x30, 0x42, 0x9b, 0xef, 0xbf, 0x7c, 0xbd, 0x3d, 0xf7, 0xc3, 0x6f, 0xdb, 0x3b, 0x3d, 0x22, + 0xfb, 0x49, 0xa7, 0x16, 0xb0, 0x41, 0xdd, 0xce, 0xae, 0xf9, 0xb3, 0x2b, 0xc2, 0x93, 0xba, 0x3c, + 0x8d, 0x41, 0x68, 0x07, 0xd1, 0x5e, 0x65, 0xb9, 0xac, 0xd4, 0x50, 0x08, 0xa0, 0x21, 0x70, 0x9d, + 0x92, 0x61, 0x7e, 0xd9, 0x48, 0x54, 0x52, 0xef, 0xa2, 0x55, 0xab, 0xc6, 0x61, 0xc8, 0x41, 0x08, + 0x6f, 0x41, 0x9b, 0x94, 0x8c, 0x74, 0xdf, 0x08, 0xab, 0x7f, 0x39, 0x68, 0x5d, 0x95, 0x7d, 0x4c, + 0x64, 0x3f, 0xe4, 0x78, 0x74, 0xd4, 0xc7, 0x1c, 0xae, 0xac, 0x78, 0x88, 0xd6, 0x46, 0xd6, 0xe1, + 0x26, 0x4b, 0xbe, 0x97, 0x82, 0xa4, 0x35, 0x3f, 0x41, 0x25, 0x0e, 0x01, 0x89, 0x09, 0x50, 0x39, + 0x51, 0xf6, 0x4a, 0x26, 0x54, 0xc9, 0x3d, 0x45, 0xe5, 0x0b, 0xa3, 0x7c, 0xf1, 0x6b, 0x99, 0x22, + 0xad, 0xff, 0xe7, 0x02, 0xf2, 0x26, 0xeb, 0x6f, 0x83, 0x00, 0x3e, 0x84, 0x69, 0x38, 0xcf, 0x3a, + 0x80, 0x07, 0x2c, 0xb9, 0x21, 0xce, 0x53, 0x8c, 0x7d, 0x0d, 0xa1, 0x48, 0x4d, 0x25, 0x39, 0xde, + 0x4b, 0x17, 0x52, 0x95, 0xdc, 0x2e, 0x72, 0x27, 0xcc, 0xf2, 0x2d, 0x28, 0x5f, 0x68, 0x6c, 0x0f, + 0xdc, 0x8f, 0xd0, 0x26, 0x37, 0x65, 0xfb, 0xa9, 0x12, 0x47, 0x99, 0xdb, 0xa2, 0x76, 0xf3, 0xac, + 0xc5, 0x71, 0x66, 0x90, 0x76, 0xf0, 0x7b, 0x07, 0x6d, 0xa8, 0x0e, 0x3e, 0x0b, 0x89, 0xd9, 0x47, + 0x47, 0x49, 0x10, 0x80, 0x10, 0x57, 0xb6, 0xf0, 0x01, 0x5a, 0x94, 0xec, 0x04, 0xa8, 0xbd, 0x89, + 0xe6, 0xe0, 0x3e, 0x46, 0x2b, 0x71, 0xd2, 0x89, 0x48, 0x60, 0xb7, 0x9d, 0x29, 0xb0, 0x68, 0x64, + 0x66, 0xdf, 0x3d, 0x46, 0x2b, 0xe2, 0x54, 0x48, 0x18, 0x58, 0x13, 0x53, 0x58, 0xd1, 0xc8, 0xb4, + 0x49, 0x35, 0x36, 0xac, 0x66, 0x39, 0xb5, 0x30, 0x89, 0xd2, 0x75, 0x7d, 0xed, 0x94, 0x9e, 0xa0, + 0x52, 0x80, 0x69, 0x00, 0x91, 0xcf, 0x01, 0x0b, 0x46, 0xd3, 0xa9, 0x33, 0xc2, 0xb6, 0x96, 0x55, + 0x7f, 0x5c, 0x42, 0x9b, 0x93, 0xdb, 0xb6, 0x95, 0x44, 0x5d, 0x12, 0x4d, 0x03, 0x9a, 0x6d, 0xe4, + 0xc2, 0xd4, 0x1b, 0x99, 0xa3, 0xd5, 0xa0, 0x8f, 0x79, 0x0f, 0x42, 0x3f, 0xe6, 0x24, 0x00, 0xe1, + 0xcd, 0xcf, 0x7e, 0xf8, 0x4a, 0x16, 0xe2, 0xb9, 0x46, 0x70, 0x29, 0x5a, 0x49, 0x31, 0xbb, 0x00, + 0x6a, 0x9c, 0x66, 0x8e, 0x58, 0xb4, 0x00, 0x2d, 0x00, 0xe1, 0x7e, 0x83, 0xee, 0x73, 0x90, 0x09, + 0xa7, 0x10, 0xfa, 0x92, 0x4d, 0x8c, 0xe3, 0xcc, 0x61, 0xcb, 0x29, 0xce, 0x0b, 0x96, 0x5e, 0x89, + 0x00, 0xad, 0x53, 0x18, 0xf9, 0x9a, 0x32, 0x3d, 0x04, 0x7e, 0x07, 0x47, 0x8a, 0x6e, 0x6f, 0x49, + 0x91, 0xd7, 0xac, 0x29, 0x90, 0x5f, 0x5f, 0x6f, 0xbf, 0x37, 0x05, 0xc8, 0x67, 0x54, 0xb6, 0xef, + 0x53, 0x18, 0xa9, 0xe9, 0x78, 0xa1, 0x62, 0x35, 0x4d, 0x28, 0x57, 0xa2, 0xed, 0x3c, 0x8b, 0x3e, + 0xeb, 0xfa, 0xa3, 0x3e, 0x09, 0xfa, 0xbe, 0xbd, 0x6d, 0xde, 0x9d, 0x0c, 0xcd, 0xb9, 0x06, 0xda, + 0x56, 0x8e, 0xb9, 0xc3, 0xee, 0xb1, 0x8a, 0x69, 0x37, 0x9b, 0xfb, 0x9d, 0xf3, 0xef, 0xb0, 0xdd, + 0x84, 0x86, 0x84, 0xf6, 0xbc, 0xbb, 0xb3, 0x6f, 0xf2, 0xa5, 0x39, 0xb5, 0x0c, 0x5e, 0xf5, 0xa7, + 0x79, 0xf3, 0xf1, 0xcd, 0x5e, 0x05, 0xd3, 0xdf, 0x9e, 0x46, 0xfe, 0xf6, 0x4c, 0xf5, 0xd6, 0x78, + 0x73, 0x94, 0xe7, 0x6f, 0x67, 0x94, 0x17, 0x6e, 0x79, 0x94, 0x17, 0x67, 0x36, 0xca, 0xd5, 0x3f, + 0x0a, 0x96, 0xc0, 0xf4, 0xc5, 0x35, 0x5b, 0x02, 0xdf, 0x7c, 0xc7, 0x7d, 0x82, 0x8a, 0x13, 0x04, + 0xea, 0x7d, 0xfc, 0x9f, 0x8d, 0x5c, 0x50, 0x35, 0xb6, 0xd1, 0x05, 0x27, 0xb7, 0x4b, 0x49, 0x0b, + 0xad, 0x6a, 0x26, 0x84, 0x2f, 0x46, 0x38, 0x8e, 0x21, 0xd4, 0x54, 0x4c, 0x51, 0x41, 0xc9, 0xb8, + 0x1d, 0x19, 0xaf, 0xea, 0xd7, 0xf9, 0x4f, 0xce, 0x81, 0xfe, 0x1e, 0xdd, 0xcc, 0x27, 0xa7, 0xd9, + 0x7e, 0x79, 0x56, 0x71, 0x5e, 0x9d, 0x55, 0x9c, 0xdf, 0xcf, 0x2a, 0xce, 0xb7, 0xe7, 0x95, 0xb9, + 0x57, 0xe7, 0x95, 0xb9, 0x5f, 0xce, 0x2b, 0x73, 0x5f, 0x7d, 0x38, 0xd1, 0x0a, 0x32, 0x66, 0x5d, + 0x96, 0xd0, 0x10, 0x4b, 0xc2, 0xa8, 0x3a, 0xed, 0x76, 0x22, 0x16, 0x9c, 0x04, 0x7d, 0x4c, 0x68, + 0x7d, 0xd8, 0xa8, 0x8f, 0xed, 0x6f, 0x37, 0xdd, 0xa0, 0xce, 0x92, 0xfe, 0x51, 0xf6, 0xc1, 0xdf, + 0x01, 0x00, 0x00, 0xff, 0xff, 0xb0, 0x13, 0x42, 0xe4, 0x1d, 0x0e, 0x00, 0x00, } func (m *BondCreatedEvent) Marshal() (dAtA []byte, err error) { diff --git a/x/bonds/types/genesis.pb.go b/x/bonds/types/genesis.pb.go index 8ae73585..160cecf9 100644 --- a/x/bonds/types/genesis.pb.go +++ b/x/bonds/types/genesis.pb.go @@ -91,24 +91,24 @@ func init() { func init() { proto.RegisterFile("ixo/bonds/v1beta1/genesis.proto", fileDescriptor_fde2e5d90b05b087) } var fileDescriptor_fde2e5d90b05b087 = []byte{ - // 266 bytes of a gzipped FileDescriptorProto + // 267 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x31, 0x4e, 0xc3, 0x30, 0x18, 0x85, 0x63, 0x0a, 0x45, 0x72, 0x59, 0x88, 0x90, 0x08, 0x95, 0x70, 0x2b, 0xa6, 0x2e, 0xd8, - 0x6a, 0x2b, 0x04, 0x73, 0x16, 0x46, 0x10, 0x6c, 0x6c, 0x76, 0x62, 0x12, 0x0b, 0xea, 0x3f, 0xaa, - 0x5d, 0x14, 0x6e, 0xc1, 0x69, 0x38, 0x43, 0xc7, 0x8e, 0x4c, 0x08, 0x25, 0x17, 0x41, 0xb1, 0xdd, - 0xa9, 0xdd, 0x6c, 0xbd, 0xef, 0x7b, 0xbf, 0xf4, 0xf0, 0x48, 0xd5, 0xc0, 0x04, 0xe8, 0xdc, 0xb0, - 0x8f, 0xa9, 0x90, 0x96, 0x4f, 0x59, 0x21, 0xb5, 0x34, 0xca, 0xd0, 0x6a, 0x09, 0x16, 0xe2, 0x53, - 0x55, 0x03, 0x75, 0x00, 0x0d, 0xc0, 0xf0, 0xac, 0x80, 0x02, 0x5c, 0xca, 0xba, 0x97, 0x07, 0x87, - 0x97, 0xbb, 0x4d, 0x5e, 0x73, 0xf1, 0xd5, 0x37, 0xc2, 0x27, 0xf7, 0xbe, 0xf9, 0xd9, 0x72, 0x2b, - 0xe3, 0x39, 0x3e, 0x72, 0x79, 0x82, 0xc6, 0xbd, 0xc9, 0x60, 0x76, 0x4e, 0x77, 0x0e, 0xd1, 0x14, - 0x74, 0x9e, 0x1e, 0xae, 0x7f, 0x47, 0xd1, 0x93, 0x67, 0xe3, 0x3b, 0x7c, 0x2c, 0xb8, 0xcd, 0x4a, - 0x69, 0x92, 0x03, 0xa7, 0x25, 0xfb, 0xb4, 0x8e, 0x08, 0xde, 0x16, 0x8f, 0x6f, 0x71, 0xbf, 0xe2, - 0x4b, 0xbe, 0x30, 0x49, 0x6f, 0x8c, 0x26, 0x83, 0xd9, 0xc5, 0x1e, 0xf1, 0xd1, 0x01, 0xc1, 0x0c, - 0x78, 0xfa, 0xb0, 0x6e, 0x08, 0xda, 0x34, 0x04, 0xfd, 0x35, 0x04, 0x7d, 0xb5, 0x24, 0xda, 0xb4, - 0x24, 0xfa, 0x69, 0x49, 0xf4, 0x72, 0x53, 0x28, 0x5b, 0xae, 0x04, 0xcd, 0x60, 0xc1, 0x54, 0x0d, - 0xaf, 0xb0, 0xd2, 0x39, 0xb7, 0x0a, 0x74, 0xf7, 0xbb, 0x16, 0xef, 0x90, 0xbd, 0x65, 0x25, 0x57, - 0x9a, 0xd5, 0x61, 0x17, 0xfb, 0x59, 0x49, 0x23, 0xfa, 0x6e, 0x90, 0xf9, 0x7f, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x07, 0xe8, 0x94, 0x29, 0x7b, 0x01, 0x00, 0x00, + 0x6a, 0x3a, 0xd0, 0x39, 0x0b, 0x2b, 0x2a, 0x1b, 0x9b, 0x9d, 0x98, 0xc4, 0x82, 0xfa, 0x8f, 0x6a, + 0xb7, 0x0a, 0xb7, 0xe0, 0x34, 0x9c, 0xa1, 0x63, 0x47, 0x26, 0x84, 0x92, 0x8b, 0xa0, 0x38, 0x66, + 0x6a, 0x36, 0x5b, 0xef, 0xfb, 0xde, 0x2f, 0x3d, 0x3c, 0x51, 0x15, 0x30, 0x01, 0x3a, 0x33, 0x6c, + 0x37, 0x17, 0xd2, 0xf2, 0x39, 0xcb, 0xa5, 0x96, 0x46, 0x19, 0x5a, 0x6e, 0xc0, 0x42, 0x78, 0xa9, + 0x2a, 0xa0, 0x0e, 0xa0, 0x1e, 0x18, 0x5f, 0xe5, 0x90, 0x83, 0x4b, 0x59, 0xfb, 0xea, 0xc0, 0xf1, + 0xed, 0x71, 0x53, 0xa7, 0xb9, 0xf8, 0xee, 0x0b, 0xe1, 0x8b, 0xc7, 0xae, 0xf9, 0xd9, 0x72, 0x2b, + 0xc3, 0x05, 0x3e, 0x73, 0x79, 0x84, 0xa6, 0x83, 0xd9, 0x28, 0xbe, 0xa6, 0x47, 0x87, 0x68, 0x02, + 0x3a, 0x4b, 0x4e, 0xf7, 0x3f, 0x93, 0x60, 0xd5, 0xb1, 0xe1, 0x12, 0x9f, 0x0b, 0x6e, 0xd3, 0x42, + 0x9a, 0xe8, 0xc4, 0x69, 0x51, 0x9f, 0xd6, 0x12, 0xde, 0xfb, 0xc7, 0xc3, 0x07, 0x3c, 0x2c, 0xf9, + 0x86, 0xaf, 0x4d, 0x34, 0x98, 0xa2, 0xd9, 0x28, 0xbe, 0xe9, 0x11, 0x9f, 0x1c, 0xe0, 0x4d, 0x8f, + 0x27, 0xab, 0x7d, 0x4d, 0xd0, 0xa1, 0x26, 0xe8, 0xb7, 0x26, 0xe8, 0xb3, 0x21, 0xc1, 0xa1, 0x21, + 0xc1, 0x77, 0x43, 0x82, 0x97, 0x65, 0xae, 0x6c, 0xb1, 0x15, 0x34, 0x85, 0x35, 0x53, 0x15, 0xbc, + 0xc2, 0x56, 0x67, 0xdc, 0x2a, 0xd0, 0xed, 0xef, 0x5e, 0xbc, 0x43, 0xfa, 0x96, 0x16, 0x5c, 0x69, + 0xb6, 0x8b, 0x59, 0xe5, 0xa7, 0xb1, 0x1f, 0xa5, 0x34, 0x62, 0xe8, 0x36, 0x59, 0xfc, 0x05, 0x00, + 0x00, 0xff, 0xff, 0xa5, 0xfc, 0xdc, 0x76, 0x7e, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/bonds/types/query.pb.go b/x/bonds/types/query.pb.go index 3363194a..eacdb2fc 100644 --- a/x/bonds/types/query.pb.go +++ b/x/bonds/types/query.pb.go @@ -1434,10 +1434,10 @@ func init() { func init() { proto.RegisterFile("ixo/bonds/v1beta1/query.proto", fileDescriptor_7fa71bc30097837d) } var fileDescriptor_7fa71bc30097837d = []byte{ - // 1448 bytes of a gzipped FileDescriptorProto + // 1451 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcf, 0x6f, 0x13, 0xc7, 0x17, 0xcf, 0x86, 0x38, 0x90, 0x17, 0x12, 0x92, 0x49, 0x00, 0xc7, 0x21, 0x0e, 0xdf, 0xe5, 0x57, - 0x20, 0xd8, 0x4b, 0x82, 0xf8, 0xa2, 0xde, 0x4a, 0x08, 0x2d, 0x95, 0x40, 0x05, 0x43, 0xd5, 0xaa, + 0x20, 0xd8, 0x4b, 0x82, 0xf8, 0xd2, 0xde, 0x4a, 0x08, 0x2d, 0x95, 0x40, 0x02, 0x43, 0xd5, 0xaa, 0x97, 0xd5, 0x78, 0x3d, 0xd8, 0x0b, 0xeb, 0x9d, 0x65, 0x67, 0x1c, 0x6c, 0xa1, 0x5c, 0xca, 0xa5, 0xea, 0xa5, 0x95, 0xa8, 0x2a, 0xb5, 0xaa, 0x7a, 0xec, 0xa1, 0xc7, 0xfe, 0x15, 0x1c, 0x91, 0x7a, 0xa9, 0x7a, 0xa0, 0x2d, 0xe9, 0xff, 0xd0, 0x9e, 0xaa, 0x6a, 0x67, 0x66, 0x9d, 0x5d, 0x7b, 0xd7, @@ -1453,7 +1453,7 @@ var fileDescriptor_7fa71bc30097837d = []byte{ 0xd4, 0x42, 0x20, 0x0b, 0x0a, 0x49, 0x46, 0x05, 0x78, 0x03, 0xa6, 0x05, 0x86, 0x59, 0x53, 0x16, 0x81, 0x3c, 0xb9, 0x5e, 0x2c, 0xf7, 0x95, 0xa6, 0x1c, 0x20, 0x48, 0x00, 0x56, 0x99, 0xaa, 0x46, 0xe1, 0xf4, 0x12, 0xcc, 0x74, 0x49, 0x14, 0x31, 0x5a, 0x80, 0x43, 0x81, 0x93, 0x59, 0xb3, 0x03, - 0x50, 0x6d, 0x65, 0xa2, 0x72, 0x30, 0xf8, 0xbc, 0x69, 0xd7, 0xf4, 0x77, 0x23, 0x19, 0x77, 0xa5, + 0x50, 0x6d, 0x65, 0xa2, 0x72, 0x30, 0xf8, 0xbc, 0x69, 0xd7, 0xf4, 0xf7, 0x22, 0x19, 0x77, 0xa5, 0xac, 0xc2, 0x58, 0x60, 0x17, 0xbe, 0x93, 0xeb, 0xc7, 0x53, 0x04, 0x54, 0x84, 0x93, 0x5e, 0x0e, 0x11, 0x30, 0xb7, 0x1a, 0x19, 0x18, 0x37, 0xc3, 0x72, 0x4a, 0x7f, 0x45, 0x59, 0x86, 0x5c, 0x35, 0x38, 0x50, 0x9c, 0xf9, 0x24, 0x4e, 0x11, 0x20, 0xdd, 0xf4, 0x75, 0x38, 0x2a, 0x50, 0x6e, 0x61, @@ -1466,7 +1466,7 @@ var fileDescriptor_7fa71bc30097837d = []byte{ 0x3d, 0x32, 0x78, 0xc7, 0x23, 0x2c, 0x8c, 0x61, 0x95, 0xc3, 0x56, 0x84, 0x5f, 0xbf, 0xaa, 0xfa, 0x53, 0x89, 0xaa, 0x10, 0x46, 0xfc, 0xad, 0x2c, 0xe9, 0xd4, 0x61, 0x31, 0x31, 0x50, 0xe5, 0x73, 0x13, 0x8e, 0x84, 0xf9, 0xf8, 0xd2, 0xa4, 0x32, 0x5a, 0x48, 0xcc, 0x48, 0xa4, 0x33, 0x16, 0xa4, - 0x53, 0x99, 0xb6, 0x62, 0x88, 0xfa, 0x3b, 0x70, 0x42, 0x10, 0x5d, 0xdb, 0xc2, 0xb6, 0x83, 0xab, + 0x53, 0x99, 0xb6, 0x62, 0x88, 0xfa, 0xbb, 0x70, 0x42, 0x10, 0x5d, 0xdb, 0xc2, 0xb6, 0x83, 0xab, 0x0e, 0xc9, 0xae, 0xb1, 0x09, 0x4b, 0x29, 0xa1, 0x4a, 0xe5, 0x2d, 0x98, 0xc5, 0xa1, 0xed, 0x4d, 0x75, 0xce, 0xe0, 0x1e, 0x54, 0xfd, 0x23, 0x38, 0xae, 0x4a, 0xc2, 0x38, 0x6d, 0x66, 0xec, 0x0b, 0xb4, 0x0c, 0x93, 0xc2, 0x84, 0x9b, 0xb4, 0xe5, 0xf2, 0xfc, 0xa8, 0xb0, 0x42, 0x70, 0x74, 0x4d, @@ -1475,7 +1475,7 @@ var fileDescriptor_7fa71bc30097837d = []byte{ 0x41, 0x77, 0xdb, 0x07, 0xd7, 0x1e, 0xb6, 0x18, 0x27, 0x35, 0x93, 0xb5, 0x3c, 0xcf, 0xe9, 0xa8, 0x1b, 0xba, 0x77, 0xfb, 0x84, 0x71, 0xf7, 0x44, 0x18, 0xb2, 0x60, 0x5c, 0x24, 0xc0, 0xf2, 0xa3, 0x7b, 0x3d, 0xd7, 0x4b, 0xaa, 0x3c, 0x2b, 0x19, 0xca, 0x23, 0x6b, 0xa3, 0xa0, 0x51, 0x0d, 0x0e, - 0xf2, 0xb6, 0xf9, 0x80, 0x10, 0x96, 0x3f, 0x30, 0x04, 0x16, 0xde, 0x7e, 0x8f, 0x10, 0x86, 0x5c, + 0xf2, 0xb6, 0xf9, 0x80, 0x10, 0x96, 0x3f, 0x30, 0x04, 0x16, 0xde, 0x7e, 0x9f, 0x10, 0x86, 0x5c, 0x38, 0xcc, 0x29, 0xc7, 0x8e, 0xa9, 0x12, 0x1a, 0xdb, 0x7f, 0xaa, 0x49, 0x41, 0x70, 0x47, 0x66, 0xf5, 0x10, 0x40, 0xf2, 0x89, 0xc4, 0x72, 0xfb, 0xcf, 0x36, 0x21, 0xe0, 0x83, 0xdc, 0xf4, 0xfb, 0xea, 0x7b, 0xfa, 0x1e, 0x71, 0x9c, 0x0a, 0xe1, 0x2d, 0xdf, 0xdd, 0x8f, 0x06, 0xfb, 0x67, 0x4c, @@ -1490,7 +1490,7 @@ var fileDescriptor_7fa71bc30097837d = []byte{ 0x35, 0xf0, 0x6d, 0xdc, 0xb6, 0x9b, 0xad, 0x26, 0xcb, 0x30, 0x33, 0xfc, 0xa9, 0xa9, 0x89, 0xa8, 0x27, 0x50, 0x15, 0xcd, 0x86, 0x85, 0x26, 0x6e, 0x9b, 0xac, 0xc3, 0x38, 0x69, 0x9a, 0x38, 0xf0, 0x31, 0x6d, 0xd7, 0xf2, 0x09, 0x66, 0x44, 0x42, 0x6d, 0x94, 0x03, 0xd9, 0xbf, 0xbd, 0x5a, 0x3e, - 0x9b, 0xed, 0x2d, 0x5b, 0x39, 0xd6, 0xc4, 0xed, 0x7b, 0x02, 0x4f, 0x50, 0x7e, 0xa0, 0xd0, 0xd0, + 0x9b, 0xed, 0x2d, 0x5b, 0x39, 0xd6, 0xc4, 0xed, 0x7b, 0x02, 0x4f, 0x50, 0x7e, 0xa8, 0xd0, 0xd0, 0x27, 0x30, 0xd3, 0x4b, 0x25, 0xbb, 0xe0, 0x8d, 0x19, 0xa6, 0xe3, 0x0c, 0xfa, 0xbc, 0x1a, 0xc7, 0xef, 0x60, 0x1f, 0x77, 0x8b, 0xa2, 0xdf, 0x84, 0xb9, 0xd8, 0xa9, 0xca, 0x78, 0x0d, 0xc6, 0x3d, 0x71, 0xd2, 0xfd, 0x7a, 0xec, 0x9f, 0x91, 0x55, 0x88, 0x72, 0x5c, 0xff, 0xf7, 0x08, 0xe4, 0x04, @@ -1517,15 +1517,15 @@ var fileDescriptor_7fa71bc30097837d = []byte{ 0x21, 0x5b, 0x1d, 0x33, 0x49, 0xd6, 0xf7, 0x1a, 0xc0, 0xee, 0x04, 0x8e, 0x52, 0x6f, 0x5e, 0xdf, 0xf0, 0x5f, 0xb8, 0x90, 0xc5, 0x55, 0x89, 0xbb, 0x2a, 0xc4, 0xad, 0x21, 0x23, 0x59, 0x1c, 0x23, 0x4e, 0x38, 0xea, 0xf4, 0xc8, 0xfb, 0x39, 0x90, 0xd7, 0x9d, 0x8f, 0x06, 0xc8, 0xeb, 0x9d, 0xe4, - 0x06, 0xc8, 0xeb, 0x1b, 0xb7, 0xf4, 0xdb, 0x42, 0xde, 0xfb, 0xe8, 0x46, 0x8a, 0xbc, 0x27, 0xd8, + 0x06, 0xc8, 0xeb, 0x1b, 0xb7, 0xf4, 0xdb, 0x42, 0xde, 0x07, 0xe8, 0x46, 0x8a, 0xbc, 0x27, 0xd8, 0xeb, 0xca, 0x4b, 0x9e, 0x01, 0xb7, 0x8d, 0xa7, 0xe1, 0x9c, 0xb7, 0x8d, 0xbe, 0xd3, 0x60, 0x2a, 0x36, 0xa2, 0xa4, 0xbf, 0xe9, 0x92, 0x46, 0xa0, 0xf4, 0x37, 0x5d, 0xe2, 0xdc, 0xa3, 0x5f, 0x14, - 0xea, 0xcf, 0xa2, 0xd3, 0x29, 0xd7, 0x44, 0x0c, 0x42, 0x4d, 0x15, 0xb5, 0xf1, 0xe1, 0x8b, 0xd7, - 0x45, 0xed, 0xe5, 0xeb, 0xa2, 0xf6, 0xc7, 0xeb, 0xa2, 0xf6, 0xd5, 0x4e, 0x71, 0xe4, 0xe5, 0x4e, - 0x71, 0xe4, 0xd7, 0x9d, 0xe2, 0xc8, 0xa7, 0x57, 0x22, 0x23, 0x8b, 0xdd, 0xa6, 0x0f, 0x68, 0xcb, - 0xad, 0x89, 0x5f, 0x73, 0x83, 0x4f, 0xa5, 0xaa, 0x43, 0xad, 0x47, 0x56, 0x03, 0xdb, 0xae, 0xd1, - 0x56, 0x24, 0x62, 0x8a, 0xa9, 0x8e, 0x8b, 0xdf, 0x6a, 0x2f, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, - 0xb8, 0xaa, 0x10, 0x6c, 0x52, 0x16, 0x00, 0x00, + 0xea, 0xcf, 0xa2, 0xd3, 0x29, 0xd7, 0x44, 0x0c, 0x42, 0x4d, 0x15, 0xb5, 0x51, 0x79, 0xf1, 0xba, + 0xa8, 0xbd, 0x7c, 0x5d, 0xd4, 0xfe, 0x78, 0x5d, 0xd4, 0xbe, 0xda, 0x29, 0x8e, 0xbc, 0xdc, 0x29, + 0x8e, 0xfc, 0xba, 0x53, 0x1c, 0xf9, 0xf4, 0x9d, 0xc8, 0xc8, 0x62, 0xb7, 0xe9, 0x03, 0xda, 0x72, + 0x6b, 0xe2, 0xd7, 0xdc, 0xe0, 0x53, 0xa9, 0xea, 0x50, 0xeb, 0x91, 0xd5, 0xc0, 0xb6, 0x6b, 0x6c, + 0xad, 0x1b, 0x6d, 0xc5, 0x23, 0x06, 0x99, 0xea, 0xb8, 0xf8, 0xb9, 0xf6, 0xf2, 0x7f, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x73, 0x2f, 0x44, 0x90, 0x55, 0x16, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/bonds/types/tx.go b/x/bonds/types/tx.go index bf3755b3..91fdcbb1 100644 --- a/x/bonds/types/tx.go +++ b/x/bonds/types/tx.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - iidante "github.com/ixofoundation/ixo-blockchain/x/iid/ante" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + iidante "github.com/ixofoundation/ixo-blockchain/v2/x/iid/ante" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) const ( diff --git a/x/bonds/types/tx.pb.go b/x/bonds/types/tx.pb.go index 992f18dc..194b690a 100644 --- a/x/bonds/types/tx.pb.go +++ b/x/bonds/types/tx.pb.go @@ -11,7 +11,7 @@ import ( _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" - github_com_ixofoundation_ixo_blockchain_x_iid_types "github.com/ixofoundation/ixo-blockchain/x/iid/types" + github_com_ixofoundation_ixo_blockchain_v2_x_iid_types "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -33,30 +33,30 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // MsgCreateBond defines a message for creating a new bond. type MsgCreateBond struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` - FunctionType string `protobuf:"bytes,5,opt,name=function_type,json=functionType,proto3" json:"function_type,omitempty"` - FunctionParameters FunctionParams `protobuf:"bytes,6,rep,name=function_parameters,json=functionParameters,proto3,castrepeated=FunctionParams" json:"function_parameters"` - CreatorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,7,opt,name=creator_did,json=creatorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"creator_did,omitempty"` - ControllerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,8,opt,name=controller_did,json=controllerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"controller_did,omitempty"` - OracleDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,9,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"oracle_did,omitempty"` - ReserveTokens []string `protobuf:"bytes,10,rep,name=reserve_tokens,json=reserveTokens,proto3" json:"reserve_tokens,omitempty"` - TxFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=tx_fee_percentage,json=txFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"tx_fee_percentage"` - ExitFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=exit_fee_percentage,json=exitFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"exit_fee_percentage"` - FeeAddress string `protobuf:"bytes,13,opt,name=fee_address,json=feeAddress,proto3" json:"fee_address,omitempty"` - ReserveWithdrawalAddress string `protobuf:"bytes,14,opt,name=reserve_withdrawal_address,json=reserveWithdrawalAddress,proto3" json:"reserve_withdrawal_address,omitempty"` - MaxSupply types.Coin `protobuf:"bytes,15,opt,name=max_supply,json=maxSupply,proto3" json:"max_supply"` - OrderQuantityLimits github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,16,rep,name=order_quantity_limits,json=orderQuantityLimits,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"order_quantity_limits"` - SanityRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,17,opt,name=sanity_rate,json=sanityRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_rate"` - SanityMarginPercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,18,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_margin_percentage"` - AllowSells bool `protobuf:"varint,19,opt,name=allow_sells,json=allowSells,proto3" json:"allow_sells,omitempty"` - AllowReserveWithdrawals bool `protobuf:"varint,20,opt,name=allow_reserve_withdrawals,json=allowReserveWithdrawals,proto3" json:"allow_reserve_withdrawals,omitempty"` - AlphaBond bool `protobuf:"varint,21,opt,name=alpha_bond,json=alphaBond,proto3" json:"alpha_bond,omitempty"` - BatchBlocks github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,22,opt,name=batch_blocks,json=batchBlocks,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"batch_blocks"` - OutcomePayment github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,23,opt,name=outcome_payment,json=outcomePayment,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"outcome_payment"` - CreatorAddress string `protobuf:"bytes,24,opt,name=creator_address,json=creatorAddress,proto3" json:"creator_address,omitempty"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + FunctionType string `protobuf:"bytes,5,opt,name=function_type,json=functionType,proto3" json:"function_type,omitempty"` + FunctionParameters FunctionParams `protobuf:"bytes,6,rep,name=function_parameters,json=functionParameters,proto3,castrepeated=FunctionParams" json:"function_parameters"` + CreatorDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,7,opt,name=creator_did,json=creatorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"creator_did,omitempty"` + ControllerDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,8,opt,name=controller_did,json=controllerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"controller_did,omitempty"` + OracleDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,9,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"oracle_did,omitempty"` + ReserveTokens []string `protobuf:"bytes,10,rep,name=reserve_tokens,json=reserveTokens,proto3" json:"reserve_tokens,omitempty"` + TxFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=tx_fee_percentage,json=txFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"tx_fee_percentage"` + ExitFeePercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=exit_fee_percentage,json=exitFeePercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"exit_fee_percentage"` + FeeAddress string `protobuf:"bytes,13,opt,name=fee_address,json=feeAddress,proto3" json:"fee_address,omitempty"` + ReserveWithdrawalAddress string `protobuf:"bytes,14,opt,name=reserve_withdrawal_address,json=reserveWithdrawalAddress,proto3" json:"reserve_withdrawal_address,omitempty"` + MaxSupply types.Coin `protobuf:"bytes,15,opt,name=max_supply,json=maxSupply,proto3" json:"max_supply"` + OrderQuantityLimits github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,16,rep,name=order_quantity_limits,json=orderQuantityLimits,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"order_quantity_limits"` + SanityRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,17,opt,name=sanity_rate,json=sanityRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_rate"` + SanityMarginPercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,18,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sanity_margin_percentage"` + AllowSells bool `protobuf:"varint,19,opt,name=allow_sells,json=allowSells,proto3" json:"allow_sells,omitempty"` + AllowReserveWithdrawals bool `protobuf:"varint,20,opt,name=allow_reserve_withdrawals,json=allowReserveWithdrawals,proto3" json:"allow_reserve_withdrawals,omitempty"` + AlphaBond bool `protobuf:"varint,21,opt,name=alpha_bond,json=alphaBond,proto3" json:"alpha_bond,omitempty"` + BatchBlocks github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,22,opt,name=batch_blocks,json=batchBlocks,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"batch_blocks"` + OutcomePayment github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,23,opt,name=outcome_payment,json=outcomePayment,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"outcome_payment"` + CreatorAddress string `protobuf:"bytes,24,opt,name=creator_address,json=creatorAddress,proto3" json:"creator_address,omitempty"` } func (m *MsgCreateBond) Reset() { *m = MsgCreateBond{} } @@ -134,21 +134,21 @@ func (m *MsgCreateBond) GetFunctionParameters() FunctionParams { return nil } -func (m *MsgCreateBond) GetCreatorDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgCreateBond) GetCreatorDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.CreatorDid } return "" } -func (m *MsgCreateBond) GetControllerDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgCreateBond) GetControllerDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.ControllerDid } return "" } -func (m *MsgCreateBond) GetOracleDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgCreateBond) GetOracleDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.OracleDid } @@ -257,14 +257,14 @@ var xxx_messageInfo_MsgCreateBondResponse proto.InternalMessageInfo // MsgEditBond defines a message for editing an existing bond. type MsgEditBond struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - OrderQuantityLimits string `protobuf:"bytes,4,opt,name=order_quantity_limits,json=orderQuantityLimits,proto3" json:"order_quantity_limits,omitempty"` - SanityRate string `protobuf:"bytes,5,opt,name=sanity_rate,json=sanityRate,proto3" json:"sanity_rate,omitempty"` - SanityMarginPercentage string `protobuf:"bytes,6,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3" json:"sanity_margin_percentage,omitempty"` - EditorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,7,opt,name=editor_did,json=editorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"editor_did,omitempty"` - EditorAddress string `protobuf:"bytes,8,opt,name=editor_address,json=editorAddress,proto3" json:"editor_address,omitempty"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + OrderQuantityLimits string `protobuf:"bytes,4,opt,name=order_quantity_limits,json=orderQuantityLimits,proto3" json:"order_quantity_limits,omitempty"` + SanityRate string `protobuf:"bytes,5,opt,name=sanity_rate,json=sanityRate,proto3" json:"sanity_rate,omitempty"` + SanityMarginPercentage string `protobuf:"bytes,6,opt,name=sanity_margin_percentage,json=sanityMarginPercentage,proto3" json:"sanity_margin_percentage,omitempty"` + EditorDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,7,opt,name=editor_did,json=editorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"editor_did,omitempty"` + EditorAddress string `protobuf:"bytes,8,opt,name=editor_address,json=editorAddress,proto3" json:"editor_address,omitempty"` } func (m *MsgEditBond) Reset() { *m = MsgEditBond{} } @@ -342,7 +342,7 @@ func (m *MsgEditBond) GetSanityMarginPercentage() string { return "" } -func (m *MsgEditBond) GetEditorDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgEditBond) GetEditorDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.EditorDid } @@ -395,11 +395,11 @@ var xxx_messageInfo_MsgEditBondResponse proto.InternalMessageInfo // MsgSetNextAlpha defines a message for editing a bond's alpha parameter. type MsgSetNextAlpha struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - Alpha github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=alpha,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"alpha"` - Delta *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=delta,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"delta,omitempty"` - OracleDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"oracle_did,omitempty"` - OracleAddress string `protobuf:"bytes,5,opt,name=oracle_address,json=oracleAddress,proto3" json:"oracle_address,omitempty"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + Alpha github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=alpha,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"alpha"` + Delta *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=delta,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"delta,omitempty"` + OracleDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=oracle_did,json=oracleDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"oracle_did,omitempty"` + OracleAddress string `protobuf:"bytes,5,opt,name=oracle_address,json=oracleAddress,proto3" json:"oracle_address,omitempty"` } func (m *MsgSetNextAlpha) Reset() { *m = MsgSetNextAlpha{} } @@ -442,7 +442,7 @@ func (m *MsgSetNextAlpha) GetBondDid() string { return "" } -func (m *MsgSetNextAlpha) GetOracleDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgSetNextAlpha) GetOracleDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.OracleDid } @@ -494,10 +494,10 @@ var xxx_messageInfo_MsgSetNextAlphaResponse proto.InternalMessageInfo // MsgUpdateBondState defines a message for updating a bond's current state. type MsgUpdateBondState struct { - BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - EditorDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,3,opt,name=editor_did,json=editorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"editor_did,omitempty"` - EditorAddress string `protobuf:"bytes,4,opt,name=editor_address,json=editorAddress,proto3" json:"editor_address,omitempty"` + BondDid string `protobuf:"bytes,1,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` + EditorDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,3,opt,name=editor_did,json=editorDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"editor_did,omitempty"` + EditorAddress string `protobuf:"bytes,4,opt,name=editor_address,json=editorAddress,proto3" json:"editor_address,omitempty"` } func (m *MsgUpdateBondState) Reset() { *m = MsgUpdateBondState{} } @@ -547,7 +547,7 @@ func (m *MsgUpdateBondState) GetState() string { return "" } -func (m *MsgUpdateBondState) GetEditorDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgUpdateBondState) GetEditorDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.EditorDid } @@ -600,11 +600,11 @@ var xxx_messageInfo_MsgUpdateBondStateResponse proto.InternalMessageInfo // MsgBuy defines a message for buying from a bond. type MsgBuy struct { - BuyerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=buyer_did,json=buyerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"buyer_did,omitempty"` - Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` - MaxPrices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=max_prices,json=maxPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"max_prices"` - BondDid string `protobuf:"bytes,4,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - BuyerAddress string `protobuf:"bytes,5,opt,name=buyer_address,json=buyerAddress,proto3" json:"buyer_address"` + BuyerDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=buyer_did,json=buyerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"buyer_did,omitempty"` + Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` + MaxPrices github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=max_prices,json=maxPrices,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"max_prices"` + BondDid string `protobuf:"bytes,4,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + BuyerAddress string `protobuf:"bytes,5,opt,name=buyer_address,json=buyerAddress,proto3" json:"buyer_address"` } func (m *MsgBuy) Reset() { *m = MsgBuy{} } @@ -640,7 +640,7 @@ func (m *MsgBuy) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBuy proto.InternalMessageInfo -func (m *MsgBuy) GetBuyerDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgBuy) GetBuyerDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.BuyerDid } @@ -714,10 +714,10 @@ var xxx_messageInfo_MsgBuyResponse proto.InternalMessageInfo // MsgSell defines a message for selling from a bond. type MsgSell struct { - SellerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=seller_did,json=sellerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"seller_did,omitempty"` - Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` - BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - SellerAddress string `protobuf:"bytes,4,opt,name=seller_address,json=sellerAddress,proto3" json:"seller_address,omitempty"` + SellerDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=seller_did,json=sellerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"seller_did,omitempty"` + Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` + BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + SellerAddress string `protobuf:"bytes,4,opt,name=seller_address,json=sellerAddress,proto3" json:"seller_address,omitempty"` } func (m *MsgSell) Reset() { *m = MsgSell{} } @@ -753,7 +753,7 @@ func (m *MsgSell) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSell proto.InternalMessageInfo -func (m *MsgSell) GetSellerDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgSell) GetSellerDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.SellerDid } @@ -821,11 +821,11 @@ var xxx_messageInfo_MsgSellResponse proto.InternalMessageInfo // MsgSwap defines a message for swapping from one reserve bond token to // another. type MsgSwap struct { - SwapperDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=swapper_did,json=swapperDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"swapper_did,omitempty"` - BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - From types.Coin `protobuf:"bytes,3,opt,name=from,proto3" json:"from"` - ToToken string `protobuf:"bytes,4,opt,name=to_token,json=toToken,proto3" json:"to_token,omitempty"` - SwapperAddress string `protobuf:"bytes,5,opt,name=swapper_address,json=swapperAddress,proto3" json:"swapper_address,omitempty"` + SwapperDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=swapper_did,json=swapperDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"swapper_did,omitempty"` + BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + From types.Coin `protobuf:"bytes,3,opt,name=from,proto3" json:"from"` + ToToken string `protobuf:"bytes,4,opt,name=to_token,json=toToken,proto3" json:"to_token,omitempty"` + SwapperAddress string `protobuf:"bytes,5,opt,name=swapper_address,json=swapperAddress,proto3" json:"swapper_address,omitempty"` } func (m *MsgSwap) Reset() { *m = MsgSwap{} } @@ -861,7 +861,7 @@ func (m *MsgSwap) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSwap proto.InternalMessageInfo -func (m *MsgSwap) GetSwapperDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgSwap) GetSwapperDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.SwapperDid } @@ -936,10 +936,10 @@ var xxx_messageInfo_MsgSwapResponse proto.InternalMessageInfo // MsgMakeOutcomePayment defines a message for making an outcome payment to a // bond. type MsgMakeOutcomePayment struct { - SenderDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=sender_did,json=senderDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"sender_did,omitempty"` - Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount"` - BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - SenderAddress string `protobuf:"bytes,4,opt,name=sender_address,json=senderAddress,proto3" json:"sender_address,omitempty"` + SenderDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=sender_did,json=senderDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"sender_did,omitempty"` + Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount"` + BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + SenderAddress string `protobuf:"bytes,4,opt,name=sender_address,json=senderAddress,proto3" json:"sender_address,omitempty"` } func (m *MsgMakeOutcomePayment) Reset() { *m = MsgMakeOutcomePayment{} } @@ -975,7 +975,7 @@ func (m *MsgMakeOutcomePayment) XXX_DiscardUnknown() { var xxx_messageInfo_MsgMakeOutcomePayment proto.InternalMessageInfo -func (m *MsgMakeOutcomePayment) GetSenderDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgMakeOutcomePayment) GetSenderDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.SenderDid } @@ -1037,9 +1037,9 @@ var xxx_messageInfo_MsgMakeOutcomePaymentResponse proto.InternalMessageInfo // MsgWithdrawShare defines a message for withdrawing a share from a bond that // is in the SETTLE stage. type MsgWithdrawShare struct { - RecipientDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=recipient_did,json=recipientDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"recipient_did,omitempty"` - BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - RecipientAddress string `protobuf:"bytes,3,opt,name=recipient_address,json=recipientAddress,proto3" json:"recipient_address,omitempty"` + RecipientDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=recipient_did,json=recipientDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"recipient_did,omitempty"` + BondDid string `protobuf:"bytes,2,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + RecipientAddress string `protobuf:"bytes,3,opt,name=recipient_address,json=recipientAddress,proto3" json:"recipient_address,omitempty"` } func (m *MsgWithdrawShare) Reset() { *m = MsgWithdrawShare{} } @@ -1075,7 +1075,7 @@ func (m *MsgWithdrawShare) XXX_DiscardUnknown() { var xxx_messageInfo_MsgWithdrawShare proto.InternalMessageInfo -func (m *MsgWithdrawShare) GetRecipientDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgWithdrawShare) GetRecipientDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.RecipientDid } @@ -1135,10 +1135,10 @@ var xxx_messageInfo_MsgWithdrawShareResponse proto.InternalMessageInfo // MsgWithdrawReserve defines a message for withdrawing reserve from a bond. type MsgWithdrawReserve struct { - WithdrawerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=withdrawer_did,json=withdrawerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"withdrawer_did,omitempty"` - Amount github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=amount,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"amount"` - BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` - WithdrawerAddress string `protobuf:"bytes,4,opt,name=withdrawer_address,json=withdrawerAddress,proto3" json:"withdrawer_address,omitempty"` + WithdrawerDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,1,opt,name=withdrawer_did,json=withdrawerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"withdrawer_did,omitempty"` + Amount github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=amount,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"amount"` + BondDid string `protobuf:"bytes,3,opt,name=bond_did,json=bondDid,proto3" json:"bond_did,omitempty"` + WithdrawerAddress string `protobuf:"bytes,4,opt,name=withdrawer_address,json=withdrawerAddress,proto3" json:"withdrawer_address,omitempty"` } func (m *MsgWithdrawReserve) Reset() { *m = MsgWithdrawReserve{} } @@ -1174,7 +1174,7 @@ func (m *MsgWithdrawReserve) XXX_DiscardUnknown() { var xxx_messageInfo_MsgWithdrawReserve proto.InternalMessageInfo -func (m *MsgWithdrawReserve) GetWithdrawerDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgWithdrawReserve) GetWithdrawerDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.WithdrawerDid } @@ -1265,104 +1265,104 @@ func init() { func init() { proto.RegisterFile("ixo/bonds/v1beta1/tx.proto", fileDescriptor_07d2c835566a272e) } var fileDescriptor_07d2c835566a272e = []byte{ - // 1545 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6e, 0x1b, 0xb7, - 0x16, 0xb6, 0x7e, 0x62, 0x5b, 0x47, 0x96, 0x6c, 0xd1, 0x71, 0x3c, 0x1e, 0xdc, 0x48, 0xbe, 0x0e, - 0x9c, 0x18, 0x37, 0xb0, 0x94, 0x38, 0xb8, 0xf7, 0x16, 0x45, 0xd1, 0x22, 0xb2, 0x6b, 0x20, 0x40, - 0xd5, 0xb8, 0xe3, 0x04, 0x29, 0xb2, 0x88, 0x4a, 0xcd, 0xd0, 0xf2, 0xc4, 0xa3, 0xe1, 0x74, 0x48, - 0xc5, 0xd2, 0xaa, 0x8b, 0xa2, 0xeb, 0xf6, 0x39, 0xba, 0xe9, 0x43, 0xb4, 0x8b, 0x2c, 0xba, 0xc8, - 0xb2, 0xe8, 0xc2, 0x2d, 0x9c, 0x4d, 0xd1, 0x27, 0x28, 0xba, 0x2a, 0x48, 0xce, 0x8c, 0x35, 0xfa, - 0xb1, 0xe5, 0x54, 0xe9, 0xca, 0xe2, 0xe1, 0xe1, 0x77, 0x78, 0x3e, 0x7e, 0xe4, 0x39, 0x1e, 0xd0, - 0xed, 0x0e, 0xad, 0x34, 0xa8, 0x6b, 0xb1, 0xca, 0x8b, 0xbb, 0x0d, 0xc2, 0xf1, 0xdd, 0x0a, 0xef, - 0x94, 0x3d, 0x9f, 0x72, 0x8a, 0x0a, 0x76, 0x87, 0x96, 0xe5, 0x5c, 0x39, 0x98, 0xd3, 0xaf, 0x36, - 0x69, 0x93, 0xca, 0xd9, 0x8a, 0xf8, 0xa5, 0x1c, 0xf5, 0xa2, 0x49, 0x59, 0x8b, 0xb2, 0x4a, 0x03, - 0x33, 0x12, 0xc1, 0x98, 0xd4, 0x76, 0x83, 0xf9, 0xeb, 0x83, 0x41, 0x14, 0xac, 0x9c, 0x5e, 0xfb, - 0x71, 0x0e, 0x72, 0x35, 0xd6, 0xdc, 0xf6, 0x09, 0xe6, 0xa4, 0x4a, 0x5d, 0x0b, 0xad, 0xc0, 0xac, - 0x70, 0xa8, 0x5b, 0xb6, 0xa5, 0x25, 0x56, 0x13, 0x1b, 0x19, 0x63, 0x46, 0x8c, 0x77, 0x6c, 0x0b, - 0x5d, 0x85, 0x2b, 0x9c, 0x1e, 0x11, 0x57, 0x4b, 0x4a, 0xbb, 0x1a, 0x20, 0x04, 0x69, 0x17, 0xb7, - 0x88, 0x96, 0x92, 0x46, 0xf9, 0x1b, 0xad, 0x42, 0xd6, 0x22, 0xcc, 0xf4, 0x6d, 0x8f, 0xdb, 0xd4, - 0xd5, 0xd2, 0x72, 0xaa, 0xd7, 0x84, 0x6e, 0x40, 0xee, 0xa0, 0xed, 0x9a, 0xe2, 0x77, 0x9d, 0x77, - 0x3d, 0xa2, 0x5d, 0x91, 0x3e, 0x73, 0xa1, 0xf1, 0x51, 0xd7, 0x23, 0xc8, 0x86, 0xc5, 0xc8, 0xc9, - 0xc3, 0x3e, 0x6e, 0x11, 0x4e, 0x7c, 0xa6, 0x4d, 0xaf, 0xa6, 0x36, 0xb2, 0x5b, 0xab, 0xe5, 0x01, - 0x8e, 0xca, 0xbb, 0x81, 0xf7, 0x9e, 0x70, 0xae, 0x5e, 0x7b, 0x79, 0x52, 0x9a, 0xfa, 0xf6, 0x97, - 0x52, 0x3e, 0x66, 0x66, 0x06, 0x3a, 0xe8, 0x1d, 0x4b, 0x4c, 0x64, 0x41, 0xd6, 0x14, 0x24, 0x50, - 0x5f, 0x66, 0x3e, 0x23, 0x76, 0x53, 0xdd, 0xfe, 0xf3, 0xa4, 0xf4, 0x41, 0xd3, 0xe6, 0x87, 0xed, - 0x46, 0xd9, 0xa4, 0xad, 0x8a, 0xdd, 0xa1, 0x07, 0xb4, 0xed, 0x5a, 0x58, 0x2c, 0x16, 0xa3, 0xcd, - 0x86, 0x43, 0xcd, 0x23, 0xf3, 0x10, 0xdb, 0x6e, 0xa5, 0x53, 0xb1, 0x6d, 0xab, 0x22, 0x72, 0x61, - 0xe5, 0x9d, 0x07, 0x3b, 0xbb, 0x3e, 0x6e, 0xb6, 0x88, 0xcb, 0x0d, 0x08, 0x70, 0x05, 0x83, 0xcf, - 0x21, 0x6f, 0x52, 0x97, 0xfb, 0xd4, 0x71, 0x88, 0x0a, 0x34, 0x3b, 0xb9, 0x40, 0xb9, 0x33, 0x68, - 0x11, 0xab, 0x01, 0x40, 0x7d, 0x6c, 0x3a, 0x44, 0xc6, 0xc9, 0x4c, 0x2e, 0x4e, 0x46, 0xc1, 0x8a, - 0x18, 0xeb, 0x90, 0xf7, 0x09, 0x23, 0xfe, 0x0b, 0x52, 0x97, 0x62, 0x60, 0x1a, 0xac, 0xa6, 0x36, - 0x32, 0x46, 0x2e, 0xb0, 0x3e, 0x92, 0x46, 0xf4, 0x14, 0x0a, 0xbc, 0x53, 0x3f, 0x20, 0xa4, 0xee, - 0x11, 0xdf, 0x24, 0x2e, 0xc7, 0x4d, 0xa2, 0x65, 0xe5, 0x8e, 0xca, 0xe2, 0x8c, 0x7e, 0x3e, 0x29, - 0xdd, 0xec, 0xd9, 0x55, 0x20, 0x69, 0xf5, 0x67, 0x93, 0x59, 0x47, 0xe1, 0x26, 0x88, 0x69, 0xcc, - 0xf3, 0xce, 0x2e, 0x21, 0x7b, 0x11, 0x0c, 0x7a, 0x06, 0x8b, 0xa4, 0x63, 0xf3, 0x7e, 0xf4, 0xb9, - 0x37, 0x42, 0x2f, 0x08, 0xa8, 0x38, 0x7e, 0x09, 0xb2, 0x02, 0x1a, 0x5b, 0x96, 0x4f, 0x18, 0xd3, - 0x72, 0x52, 0xa6, 0x70, 0x40, 0xc8, 0x7d, 0x65, 0x41, 0xef, 0x81, 0x1e, 0x72, 0x70, 0x6c, 0xf3, - 0x43, 0xcb, 0xc7, 0xc7, 0xd8, 0x89, 0xfc, 0xf3, 0xd2, 0x5f, 0x0b, 0x3c, 0x9e, 0x44, 0x0e, 0xe1, - 0xea, 0xf7, 0x01, 0x5a, 0xb8, 0x53, 0x67, 0x6d, 0xcf, 0x73, 0xba, 0xda, 0xfc, 0x6a, 0x62, 0x23, - 0xbb, 0xb5, 0x52, 0x56, 0x9b, 0x2b, 0x8b, 0x4b, 0x1d, 0x69, 0x7b, 0x9b, 0xda, 0x6e, 0x35, 0x2d, - 0x12, 0x32, 0x32, 0x2d, 0xdc, 0xd9, 0x97, 0x2b, 0xd0, 0x17, 0xb0, 0x44, 0x7d, 0x8b, 0xf8, 0xf5, - 0xcf, 0xdb, 0xd8, 0xe5, 0x36, 0xef, 0xd6, 0x1d, 0xbb, 0x65, 0x73, 0xa6, 0x2d, 0xc8, 0x4b, 0x72, - 0x0e, 0xd4, 0x9d, 0xe0, 0x76, 0x6c, 0x8c, 0xc1, 0x8d, 0x58, 0xc0, 0x8c, 0x45, 0x19, 0xe9, 0x93, - 0x20, 0xd0, 0x47, 0x32, 0x0e, 0x7a, 0x08, 0x59, 0x86, 0x5d, 0x11, 0xd8, 0xc7, 0x9c, 0x68, 0x85, - 0x37, 0xe2, 0x1d, 0x14, 0x84, 0x81, 0x39, 0x41, 0x87, 0xa0, 0x05, 0x80, 0x2d, 0xec, 0x37, 0x6d, - 0xb7, 0xf7, 0x54, 0xd1, 0x1b, 0xa1, 0x5f, 0x53, 0x78, 0x35, 0x09, 0x17, 0x3f, 0x5a, 0xec, 0x38, - 0xf4, 0xb8, 0xce, 0x88, 0xe3, 0x30, 0x6d, 0x71, 0x35, 0xb1, 0x31, 0x6b, 0x80, 0x34, 0xed, 0x0b, - 0x0b, 0x7a, 0x17, 0x56, 0x94, 0xc3, 0xe0, 0x01, 0x33, 0xed, 0xaa, 0x74, 0x5f, 0x96, 0x0e, 0x46, - 0xff, 0xf1, 0x32, 0x74, 0x1d, 0x00, 0x3b, 0xde, 0x21, 0xae, 0x8b, 0x17, 0x4a, 0x5b, 0x92, 0xce, - 0x19, 0x69, 0x91, 0xcf, 0xac, 0x01, 0x73, 0x0d, 0xcc, 0xcd, 0xc3, 0xba, 0xbc, 0x70, 0x4c, 0xbb, - 0x26, 0x33, 0xab, 0x04, 0x99, 0xdd, 0x1a, 0x23, 0xb3, 0xc7, 0xb6, 0xcb, 0x8d, 0xac, 0x04, 0xa9, - 0x4a, 0x0c, 0xf4, 0x04, 0xe6, 0x69, 0x9b, 0x9b, 0xb4, 0x45, 0xea, 0x1e, 0xee, 0x8a, 0xbb, 0xaa, - 0x2d, 0x5f, 0x9a, 0xb0, 0x07, 0x2e, 0x37, 0xf2, 0x01, 0xcc, 0x9e, 0x42, 0x41, 0xb7, 0x60, 0x3e, - 0x7c, 0x1c, 0x43, 0x5d, 0x6b, 0x52, 0xd7, 0xf9, 0xc0, 0x1c, 0xa8, 0x79, 0x6d, 0x19, 0x96, 0x62, - 0xd5, 0xc4, 0x20, 0xcc, 0xa3, 0x2e, 0x23, 0x6b, 0x7f, 0x24, 0x21, 0x5b, 0x63, 0xcd, 0x0f, 0x2d, - 0x9b, 0x5f, 0x54, 0x65, 0xc2, 0x7a, 0x92, 0x1c, 0x5d, 0x4f, 0x52, 0x83, 0xf5, 0x64, 0x6b, 0xd4, - 0x3d, 0x50, 0xb5, 0x67, 0xa8, 0x74, 0x4b, 0x71, 0xe9, 0xaa, 0x0a, 0xd4, 0x2b, 0xc5, 0x77, 0xce, - 0x91, 0xe2, 0xb4, 0xf4, 0x1e, 0x25, 0xad, 0x06, 0x00, 0xb1, 0xec, 0xb7, 0x50, 0x4d, 0x32, 0x0a, - 0x36, 0x78, 0x7c, 0x83, 0x18, 0xe1, 0xa1, 0xc8, 0x62, 0x62, 0xe4, 0x94, 0x35, 0x3c, 0x93, 0x25, - 0x58, 0xec, 0x61, 0x3e, 0x3a, 0x91, 0xef, 0x93, 0x30, 0x5f, 0x63, 0xcd, 0x7d, 0xc2, 0x3f, 0x26, - 0x1d, 0x7e, 0x5f, 0x08, 0xf3, 0xbc, 0x53, 0xd9, 0x81, 0x2b, 0x52, 0xbc, 0xea, 0x58, 0x2e, 0x7d, - 0x05, 0xd5, 0x62, 0x81, 0x62, 0x11, 0x87, 0x63, 0x75, 0x82, 0x12, 0x25, 0x71, 0x19, 0x14, 0xb9, - 0xb8, 0xaf, 0xb2, 0xa5, 0xdf, 0x56, 0x65, 0x0b, 0x62, 0x84, 0xe4, 0x2a, 0x79, 0xe4, 0x94, 0x35, - 0x24, 0x77, 0x05, 0x96, 0xfb, 0x48, 0x8c, 0x08, 0x7e, 0x95, 0x00, 0x54, 0x63, 0xcd, 0xc7, 0x9e, - 0x15, 0x5c, 0x86, 0x7d, 0x2e, 0x34, 0x75, 0x7e, 0x7f, 0xc5, 0x84, 0x4f, 0xd8, 0x5f, 0xc9, 0x41, - 0x9f, 0x94, 0x52, 0xff, 0x90, 0x94, 0xd2, 0xc3, 0xa4, 0xf4, 0x2f, 0xd0, 0x07, 0x33, 0x8a, 0x12, - 0x3e, 0x4d, 0xc2, 0x74, 0x8d, 0x35, 0xab, 0xed, 0x2e, 0xfa, 0x0c, 0x32, 0x8d, 0x76, 0x37, 0x68, - 0x71, 0x12, 0x93, 0xdb, 0xf2, 0xac, 0x44, 0x15, 0x3b, 0xfe, 0x3f, 0x4c, 0xe3, 0x16, 0x6d, 0xbb, - 0x5c, 0x92, 0x35, 0x46, 0xcd, 0x0c, 0xdc, 0xd1, 0x73, 0x55, 0x70, 0x3d, 0xdf, 0x36, 0x09, 0xd3, - 0x52, 0x93, 0xaf, 0x92, 0xa2, 0x38, 0xef, 0x49, 0xf4, 0xd8, 0x59, 0xa7, 0xe3, 0x67, 0xfd, 0x3f, - 0xc8, 0x29, 0x86, 0x62, 0xf2, 0xaa, 0x16, 0x7e, 0x3f, 0x29, 0xc5, 0x27, 0x8c, 0x39, 0x39, 0x0c, - 0x8f, 0x60, 0x01, 0xf2, 0x8a, 0xe3, 0x88, 0xf6, 0xdf, 0x12, 0x30, 0x23, 0x35, 0xe8, 0x38, 0x42, - 0x2b, 0xa2, 0x96, 0x4d, 0x9e, 0xf8, 0x8c, 0x82, 0xfd, 0x5b, 0xcc, 0xf7, 0xb2, 0x91, 0x8a, 0xb3, - 0xb1, 0x0e, 0xf9, 0x60, 0xdf, 0x7d, 0xfa, 0x53, 0xd6, 0x30, 0xf9, 0x42, 0xf0, 0x64, 0x39, 0x4e, - 0x94, 0xfd, 0x97, 0x49, 0x95, 0xfd, 0x31, 0xf6, 0x44, 0x0f, 0xcf, 0x8e, 0xb1, 0xe7, 0x4d, 0x3e, - 0x7d, 0x08, 0x70, 0xc5, 0x5e, 0x7b, 0xd3, 0x48, 0xc6, 0xd3, 0xb8, 0x07, 0xe9, 0x03, 0x9f, 0xb6, - 0x64, 0x76, 0x63, 0x10, 0x23, 0x9d, 0x05, 0x1e, 0xa7, 0xaa, 0x7d, 0x0e, 0x45, 0xc2, 0xa9, 0x6c, - 0x9c, 0x45, 0xdd, 0x0d, 0x13, 0x8a, 0xbf, 0x42, 0xf9, 0xc0, 0xdc, 0x47, 0xcc, 0x31, 0xf6, 0x22, - 0x62, 0xbe, 0x4a, 0xca, 0x5a, 0x5c, 0xc3, 0x47, 0xe4, 0x61, 0xbc, 0x9a, 0x4b, 0x91, 0xb8, 0xd6, - 0x5b, 0x11, 0x89, 0x80, 0x15, 0x4c, 0xec, 0xc6, 0x44, 0x72, 0xf9, 0x0e, 0x64, 0x5c, 0xcd, 0xc8, - 0x34, 0x06, 0x34, 0x23, 0xac, 0x21, 0x35, 0x25, 0xb8, 0x3e, 0x94, 0x86, 0x88, 0xa8, 0x1f, 0x12, - 0xb0, 0x50, 0x63, 0xcd, 0xb0, 0x77, 0xdb, 0x3f, 0xc4, 0xbe, 0x68, 0x42, 0x73, 0x3e, 0x31, 0x6d, - 0xcf, 0x26, 0x2e, 0x9f, 0x34, 0x4d, 0x73, 0x11, 0xf2, 0x05, 0x72, 0xba, 0x0d, 0x85, 0xb3, 0x4d, - 0x84, 0x49, 0x2a, 0x16, 0x16, 0xa2, 0x89, 0x30, 0x4f, 0x1d, 0xb4, 0xfe, 0x2c, 0xa2, 0x14, 0xbf, - 0x4b, 0xca, 0x52, 0x14, 0x4e, 0x06, 0xdd, 0xaa, 0xf8, 0x6f, 0x34, 0x6c, 0x68, 0x27, 0x2f, 0x86, - 0xdc, 0x19, 0xb4, 0xc8, 0xc5, 0xec, 0x11, 0xc4, 0xc4, 0x9f, 0xdc, 0x31, 0xd4, 0xb2, 0x09, 0xa8, - 0x27, 0xd7, 0xb8, 0x62, 0x0a, 0x67, 0x33, 0xf1, 0x4a, 0xd7, 0x47, 0x58, 0xc8, 0xe7, 0xd6, 0xd7, - 0x33, 0x90, 0xaa, 0xb1, 0x26, 0xfa, 0x14, 0xa0, 0xe7, 0xcb, 0xc9, 0xb0, 0x0f, 0x12, 0xb1, 0x6e, - 0x58, 0xdf, 0xb8, 0xc8, 0x23, 0x8c, 0x80, 0x0c, 0x98, 0x8d, 0x7a, 0xe5, 0xe2, 0xf0, 0x55, 0xe1, - 0xbc, 0x7e, 0xf3, 0xfc, 0xf9, 0x08, 0xf3, 0x19, 0xcc, 0xc5, 0xba, 0xbd, 0xb5, 0xe1, 0xeb, 0x7a, - 0x7d, 0xf4, 0xff, 0x5c, 0xec, 0x13, 0xe1, 0x37, 0x61, 0xbe, 0xbf, 0xd9, 0x59, 0x1f, 0xbe, 0xbc, - 0xcf, 0x4d, 0xdf, 0x1c, 0xcb, 0x2d, 0x0a, 0xb4, 0x0d, 0x29, 0xd1, 0x64, 0xac, 0x0c, 0x5f, 0x55, - 0x6d, 0x77, 0xf5, 0x7f, 0x8f, 0x9c, 0x8a, 0x40, 0x76, 0x21, 0x2d, 0x4b, 0xa6, 0x3e, 0x2a, 0x43, - 0xc7, 0xd1, 0xd7, 0x46, 0xcf, 0xc5, 0x70, 0x44, 0xf1, 0x19, 0x85, 0x73, 0x8c, 0xbd, 0x91, 0x38, - 0x3d, 0xef, 0x35, 0xf2, 0x00, 0x0d, 0x79, 0xab, 0x47, 0x28, 0x66, 0xd0, 0x53, 0xbf, 0x33, 0xae, - 0x67, 0x14, 0x11, 0x43, 0x2e, 0xfe, 0xe8, 0xdd, 0x18, 0x0e, 0x11, 0x73, 0xd2, 0x6f, 0x8f, 0xe1, - 0xd4, 0x2b, 0x89, 0xfe, 0x47, 0x67, 0xfd, 0xfc, 0xf5, 0x81, 0xdb, 0x28, 0x49, 0x8c, 0xb8, 0x91, - 0xd5, 0x87, 0x2f, 0x4f, 0x8b, 0x89, 0x57, 0xa7, 0xc5, 0xc4, 0xaf, 0xa7, 0xc5, 0xc4, 0x37, 0xaf, - 0x8b, 0x53, 0xaf, 0x5e, 0x17, 0xa7, 0x7e, 0x7a, 0x5d, 0x9c, 0x7a, 0xfa, 0xdf, 0xf1, 0x1f, 0x32, - 0xf5, 0x99, 0x54, 0x3e, 0x2c, 0x8d, 0x69, 0xf9, 0x7d, 0xf4, 0xde, 0x5f, 0x01, 0x00, 0x00, 0xff, - 0xff, 0x5e, 0xec, 0x56, 0x8c, 0xa5, 0x15, 0x00, 0x00, + // 1543 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0x8f, 0xff, 0x34, 0x89, 0x9f, 0x63, 0x27, 0x9e, 0x34, 0xcd, 0x66, 0x45, 0xed, 0x90, 0x2a, + 0x6d, 0x44, 0x15, 0xbb, 0x4d, 0x25, 0xa8, 0x10, 0x42, 0xaa, 0x1b, 0x22, 0x55, 0xc2, 0x34, 0x6c, + 0x5a, 0x15, 0xf5, 0x50, 0x6b, 0xbc, 0x3b, 0xd9, 0x2c, 0x59, 0xef, 0x2c, 0x3b, 0xe3, 0xc6, 0x3e, + 0x71, 0x43, 0xdc, 0xe0, 0x73, 0x70, 0xe4, 0x43, 0x40, 0x8f, 0x95, 0x10, 0x12, 0xe2, 0x10, 0x50, + 0x2b, 0x2e, 0xf0, 0x0d, 0xe0, 0x82, 0x66, 0x66, 0x77, 0xe3, 0x75, 0xec, 0xc4, 0x29, 0x09, 0xa7, + 0x78, 0xde, 0xbc, 0xf9, 0xbd, 0x79, 0xbf, 0xf9, 0xcd, 0xbc, 0x97, 0x05, 0xdd, 0xe9, 0xd2, 0x5a, + 0x8b, 0x7a, 0x16, 0xab, 0x3d, 0xbf, 0xdd, 0x22, 0x1c, 0xdf, 0xae, 0xf1, 0x6e, 0xd5, 0x0f, 0x28, + 0xa7, 0xa8, 0xe4, 0x74, 0x69, 0x55, 0xce, 0x55, 0xc3, 0x39, 0xfd, 0xb2, 0x4d, 0x6d, 0x2a, 0x67, + 0x6b, 0xe2, 0x97, 0x72, 0xd4, 0xcb, 0x26, 0x65, 0x6d, 0xca, 0x6a, 0x2d, 0xcc, 0x48, 0x0c, 0x63, + 0x52, 0xc7, 0x0b, 0xe7, 0xaf, 0x1e, 0x0f, 0xa2, 0x60, 0xe5, 0xf4, 0xca, 0xcf, 0x33, 0x50, 0x68, + 0x30, 0xfb, 0x7e, 0x40, 0x30, 0x27, 0x75, 0xea, 0x59, 0x68, 0x09, 0xa6, 0x85, 0x43, 0xd3, 0x72, + 0x2c, 0x2d, 0xb5, 0x9c, 0x5a, 0xcb, 0x19, 0x53, 0x62, 0xbc, 0xe9, 0x58, 0xe8, 0x32, 0x5c, 0xe2, + 0x74, 0x9f, 0x78, 0x5a, 0x5a, 0xda, 0xd5, 0x00, 0x21, 0xc8, 0x7a, 0xb8, 0x4d, 0xb4, 0x8c, 0x34, + 0xca, 0xdf, 0x68, 0x19, 0xf2, 0x16, 0x61, 0x66, 0xe0, 0xf8, 0xdc, 0xa1, 0x9e, 0x96, 0x95, 0x53, + 0xfd, 0x26, 0x74, 0x0d, 0x0a, 0xbb, 0x1d, 0xcf, 0x14, 0xbf, 0x9b, 0xbc, 0xe7, 0x13, 0xed, 0x92, + 0xf4, 0x99, 0x89, 0x8c, 0x8f, 0x7a, 0x3e, 0x41, 0x0e, 0xcc, 0xc7, 0x4e, 0x3e, 0x0e, 0x70, 0x9b, + 0x70, 0x12, 0x30, 0x6d, 0x72, 0x39, 0xb3, 0x96, 0xdf, 0x58, 0xae, 0x1e, 0xe3, 0xa8, 0xba, 0x15, + 0x7a, 0x6f, 0x0b, 0xe7, 0xfa, 0x95, 0x17, 0x87, 0x95, 0x89, 0xef, 0x7e, 0xab, 0x14, 0x13, 0x66, + 0x66, 0xa0, 0xdd, 0xfe, 0xb1, 0xc4, 0x44, 0x36, 0xe4, 0x4d, 0x41, 0x02, 0x0d, 0x64, 0xe6, 0x53, + 0x62, 0x37, 0xf5, 0xad, 0xbf, 0x0f, 0x2b, 0x75, 0xdb, 0xe1, 0x7b, 0x9d, 0x56, 0xd5, 0xa4, 0xed, + 0x9a, 0xd3, 0xa5, 0xbb, 0xb4, 0xe3, 0x59, 0x58, 0x2c, 0x16, 0xa3, 0xf5, 0x96, 0x4b, 0xcd, 0x7d, + 0x73, 0x0f, 0x3b, 0x5e, 0xed, 0xf9, 0x46, 0xad, 0x5b, 0x73, 0x1c, 0xab, 0x26, 0xd2, 0x61, 0xd5, + 0xcd, 0x07, 0x9b, 0x5b, 0x01, 0xb6, 0xdb, 0xc4, 0xe3, 0x06, 0x84, 0xd0, 0x82, 0xc4, 0x36, 0x14, + 0x4d, 0xea, 0xf1, 0x80, 0xba, 0x2e, 0x51, 0xb1, 0xa6, 0xcf, 0x35, 0x56, 0xe1, 0x08, 0x5d, 0x84, + 0x23, 0x00, 0x34, 0xc0, 0xa6, 0x4b, 0x64, 0xa8, 0xdc, 0xb9, 0x86, 0xca, 0x29, 0x64, 0x11, 0x66, + 0x15, 0x8a, 0x01, 0x61, 0x24, 0x78, 0x4e, 0x9a, 0x52, 0x15, 0x4c, 0x83, 0xe5, 0xcc, 0x5a, 0xce, + 0x28, 0x84, 0xd6, 0x47, 0xd2, 0x88, 0x9e, 0x42, 0x89, 0x77, 0x9b, 0xbb, 0x84, 0x34, 0x7d, 0x12, + 0x98, 0xc4, 0xe3, 0xd8, 0x26, 0x5a, 0x5e, 0x6e, 0xaa, 0x2a, 0x0e, 0xeb, 0xd7, 0xc3, 0xca, 0xf5, + 0xbe, 0x8d, 0x85, 0xda, 0x56, 0x7f, 0xd6, 0x99, 0xb5, 0x1f, 0x6d, 0x82, 0x98, 0xc6, 0x2c, 0xef, + 0x6e, 0x11, 0xb2, 0x1d, 0xc3, 0xa0, 0x67, 0x30, 0x4f, 0xba, 0x0e, 0x1f, 0x44, 0x9f, 0x79, 0x23, + 0xf4, 0x92, 0x80, 0x4a, 0xe2, 0x57, 0x20, 0x2f, 0xa0, 0xb1, 0x65, 0x05, 0x84, 0x31, 0xad, 0x20, + 0xf5, 0x0a, 0xbb, 0x84, 0xdc, 0x53, 0x16, 0xf4, 0x01, 0xe8, 0x11, 0x07, 0x07, 0x0e, 0xdf, 0xb3, + 0x02, 0x7c, 0x80, 0xdd, 0xd8, 0xbf, 0x28, 0xfd, 0xb5, 0xd0, 0xe3, 0x49, 0xec, 0x10, 0xad, 0xfe, + 0x10, 0xa0, 0x8d, 0xbb, 0x4d, 0xd6, 0xf1, 0x7d, 0xb7, 0xa7, 0xcd, 0x2e, 0xa7, 0xd6, 0xf2, 0x1b, + 0x4b, 0x55, 0xb5, 0xb9, 0xaa, 0xb8, 0xdd, 0xb1, 0xc8, 0xef, 0x53, 0xc7, 0xab, 0x67, 0x45, 0x42, + 0x46, 0xae, 0x8d, 0xbb, 0x3b, 0x72, 0x05, 0xfa, 0x12, 0x16, 0x68, 0x60, 0x91, 0xa0, 0xf9, 0x45, + 0x07, 0x7b, 0xdc, 0xe1, 0xbd, 0xa6, 0xeb, 0xb4, 0x1d, 0xce, 0xb4, 0x39, 0x79, 0x5b, 0x4e, 0x80, + 0xba, 0x15, 0x5e, 0x93, 0xb5, 0x31, 0xb8, 0x11, 0x0b, 0x98, 0x31, 0x2f, 0x23, 0x7d, 0x1a, 0x06, + 0xfa, 0x58, 0xc6, 0x41, 0x0f, 0x21, 0xcf, 0xb0, 0x27, 0x02, 0x07, 0x98, 0x13, 0xad, 0xf4, 0x46, + 0xbc, 0x83, 0x82, 0x30, 0x30, 0x27, 0x68, 0x0f, 0xb4, 0x10, 0xb0, 0x8d, 0x03, 0xdb, 0xf1, 0xfa, + 0x4f, 0x15, 0xbd, 0x11, 0xfa, 0x15, 0x85, 0xd7, 0x90, 0x70, 0xc9, 0xa3, 0xc5, 0xae, 0x4b, 0x0f, + 0x9a, 0x8c, 0xb8, 0x2e, 0xd3, 0xe6, 0x97, 0x53, 0x6b, 0xd3, 0x06, 0x48, 0xd3, 0x8e, 0xb0, 0xa0, + 0xf7, 0x61, 0x49, 0x39, 0x1c, 0x3f, 0x60, 0xa6, 0x5d, 0x96, 0xee, 0x8b, 0xd2, 0xc1, 0x18, 0x3c, + 0x5e, 0x86, 0xae, 0x02, 0x60, 0xd7, 0xdf, 0xc3, 0x4d, 0xf1, 0x54, 0x69, 0x0b, 0xd2, 0x39, 0x27, + 0x2d, 0xf2, 0xbd, 0x35, 0x60, 0xa6, 0x85, 0xb9, 0xb9, 0xd7, 0x94, 0x77, 0x8e, 0x69, 0x57, 0x64, + 0x66, 0xb5, 0x30, 0xb3, 0x1b, 0x63, 0x64, 0xf6, 0xd8, 0xf1, 0xb8, 0x91, 0x97, 0x20, 0x75, 0x89, + 0x81, 0x9e, 0xc0, 0x2c, 0xed, 0x70, 0x93, 0xb6, 0x49, 0xd3, 0xc7, 0x3d, 0x71, 0x57, 0xb5, 0xc5, + 0x33, 0x13, 0xf6, 0xc0, 0xe3, 0x46, 0x31, 0x84, 0xd9, 0x56, 0x28, 0xe8, 0x06, 0xcc, 0x46, 0xaf, + 0x64, 0xa4, 0x6b, 0x4d, 0xea, 0xba, 0x18, 0x9a, 0x43, 0x35, 0xaf, 0x2c, 0xc2, 0x42, 0xa2, 0xac, + 0x18, 0x84, 0xf9, 0xd4, 0x63, 0x64, 0xe5, 0x9f, 0x34, 0xe4, 0x1b, 0xcc, 0xfe, 0xc8, 0x72, 0xf8, + 0x69, 0xe5, 0x26, 0x2a, 0x2c, 0xe9, 0xd1, 0x85, 0x25, 0x73, 0xbc, 0xb0, 0x6c, 0x8c, 0xba, 0x07, + 0xaa, 0x08, 0x0d, 0x95, 0x6e, 0x25, 0x29, 0x5d, 0x55, 0x8a, 0xfa, 0xa5, 0x78, 0xf7, 0x04, 0x29, + 0x4e, 0x4a, 0xef, 0x51, 0xd2, 0x22, 0x00, 0xc4, 0x72, 0x2e, 0xa6, 0xac, 0xe4, 0x14, 0x72, 0xf8, + 0xfe, 0x86, 0x61, 0xa2, 0x73, 0x91, 0x55, 0xc5, 0x28, 0x28, 0x6b, 0x74, 0x2c, 0x0b, 0x30, 0xdf, + 0x47, 0x7e, 0x7c, 0x28, 0x3f, 0xa4, 0x61, 0xb6, 0xc1, 0xec, 0x1d, 0xc2, 0x3f, 0x21, 0x5d, 0x7e, + 0x4f, 0x68, 0xf3, 0xa4, 0x83, 0xd9, 0x84, 0x4b, 0x52, 0xbf, 0xea, 0x64, 0xce, 0x7c, 0x0b, 0xd5, + 0x62, 0x81, 0x62, 0x11, 0x97, 0x63, 0x75, 0x88, 0x12, 0x25, 0x75, 0x16, 0x14, 0xb9, 0x78, 0xa0, + 0xbe, 0x65, 0x2f, 0xb0, 0xbe, 0x85, 0x61, 0x22, 0x7e, 0x95, 0x48, 0x0a, 0xca, 0x1a, 0xf1, 0xbb, + 0x04, 0x8b, 0x03, 0x3c, 0xc6, 0x1c, 0xff, 0x94, 0x02, 0xd4, 0x60, 0xf6, 0x63, 0xdf, 0x0a, 0xaf, + 0xc4, 0x0e, 0x17, 0xca, 0x3a, 0xb9, 0xdd, 0x62, 0xc2, 0x27, 0x6a, 0xb7, 0xe4, 0x60, 0x40, 0x50, + 0x99, 0xff, 0x4f, 0x50, 0xd9, 0x61, 0x82, 0x7a, 0x0b, 0xf4, 0xe3, 0x49, 0xc5, 0x39, 0xff, 0x91, + 0x86, 0xc9, 0x06, 0xb3, 0xeb, 0x9d, 0x1e, 0x32, 0x21, 0xd7, 0xea, 0xf4, 0xc2, 0x8e, 0x27, 0x75, + 0xae, 0xbb, 0x9e, 0x96, 0xc0, 0x62, 0xd3, 0xef, 0xc1, 0x24, 0x6e, 0xd3, 0x8e, 0xc7, 0x25, 0x65, + 0x63, 0xd4, 0xcf, 0xd0, 0x1d, 0x7d, 0xae, 0x8a, 0xaf, 0x1f, 0x38, 0x26, 0x61, 0x5a, 0xe6, 0xfc, + 0x2b, 0xa6, 0x28, 0xd4, 0xdb, 0x12, 0x3d, 0x71, 0xe2, 0xd9, 0xe4, 0x89, 0xbf, 0x0b, 0x05, 0x45, + 0x52, 0x42, 0x64, 0xf5, 0xd2, 0x9f, 0x87, 0x95, 0xe4, 0x84, 0x31, 0x23, 0x87, 0xd1, 0x29, 0xcc, + 0x41, 0x51, 0xd1, 0x1c, 0x33, 0xff, 0x57, 0x0a, 0xa6, 0xa4, 0x12, 0x5d, 0x57, 0x28, 0x46, 0xd4, + 0xb5, 0x0b, 0xe1, 0x3e, 0xa7, 0x90, 0xff, 0x13, 0xf9, 0xfd, 0x84, 0x64, 0x92, 0x84, 0xac, 0x42, + 0x31, 0xdc, 0xfa, 0x80, 0x0a, 0x95, 0x35, 0xca, 0xbf, 0x14, 0x3e, 0x5f, 0xae, 0x1b, 0x13, 0xf0, + 0x55, 0x5a, 0x11, 0x70, 0x80, 0x7d, 0xd1, 0xdb, 0xb3, 0x03, 0xec, 0xfb, 0x17, 0xc2, 0x00, 0x84, + 0xd0, 0x62, 0xbb, 0xfd, 0x99, 0xa4, 0x93, 0x99, 0xdc, 0x81, 0xec, 0x6e, 0x40, 0xdb, 0x32, 0xc1, + 0x31, 0xb8, 0x91, 0xce, 0x02, 0x8f, 0x53, 0xd5, 0x50, 0x47, 0x52, 0xe1, 0x54, 0xb6, 0xd2, 0xa2, + 0x12, 0x47, 0x39, 0x25, 0x5f, 0xa4, 0x62, 0x68, 0x1e, 0xe0, 0xe6, 0x00, 0xfb, 0x31, 0x37, 0x5f, + 0xa7, 0x65, 0x75, 0x6e, 0xe0, 0x7d, 0xf2, 0x30, 0x59, 0xdf, 0xa5, 0x54, 0x3c, 0xeb, 0xa2, 0xa4, + 0x22, 0x90, 0x05, 0x19, 0x5b, 0x09, 0xa9, 0x9c, 0xbd, 0x2d, 0x19, 0x57, 0x39, 0x32, 0x93, 0x63, + 0xca, 0x11, 0xd6, 0x88, 0x9d, 0x0a, 0x5c, 0x1d, 0xca, 0x44, 0xcc, 0xd5, 0x8f, 0x29, 0x98, 0x6b, + 0x30, 0x3b, 0x6a, 0xe8, 0x76, 0xf6, 0x70, 0x40, 0xd0, 0x3e, 0x14, 0x02, 0x62, 0x3a, 0xbe, 0x43, + 0x3c, 0x7e, 0x01, 0x4c, 0xcd, 0xc4, 0xe0, 0xa7, 0x88, 0xea, 0x26, 0x94, 0x8e, 0xf6, 0x11, 0xe5, + 0xa9, 0x88, 0x98, 0x8b, 0x27, 0xa2, 0x54, 0x75, 0xd0, 0x06, 0x13, 0x89, 0xb3, 0xfc, 0x3e, 0x2d, + 0x8b, 0x53, 0x34, 0x19, 0x76, 0xb1, 0xe2, 0x7f, 0xd5, 0xa8, 0xd1, 0xbd, 0x10, 0x49, 0x14, 0x8e, + 0xd0, 0x45, 0x3a, 0x66, 0x9f, 0x2c, 0xce, 0xfd, 0x05, 0x1e, 0x43, 0x33, 0xeb, 0x80, 0xfa, 0xd2, + 0x4d, 0xea, 0xa6, 0x74, 0x34, 0x93, 0xac, 0x7d, 0x03, 0x9c, 0x45, 0x94, 0x6e, 0x7c, 0x33, 0x05, + 0x99, 0x06, 0xb3, 0xd1, 0x67, 0x00, 0x7d, 0x5f, 0x57, 0x86, 0x7d, 0xb4, 0x48, 0x34, 0xca, 0xfa, + 0xda, 0x69, 0x1e, 0x51, 0x04, 0x64, 0xc0, 0x74, 0xdc, 0x46, 0x97, 0x87, 0xaf, 0x8a, 0xe6, 0xf5, + 0xeb, 0x27, 0xcf, 0xc7, 0x98, 0xcf, 0x60, 0x26, 0xd1, 0x05, 0xae, 0x0c, 0x5f, 0xd7, 0xef, 0xa3, + 0xbf, 0x73, 0xba, 0x4f, 0x8c, 0x6f, 0xc3, 0xec, 0x60, 0x07, 0xb4, 0x3a, 0x7c, 0xf9, 0x80, 0x9b, + 0xbe, 0x3e, 0x96, 0x5b, 0x1c, 0xe8, 0x3e, 0x64, 0x44, 0xdb, 0xb1, 0x34, 0x7c, 0x55, 0xbd, 0xd3, + 0xd3, 0xdf, 0x1e, 0x39, 0x15, 0x83, 0x6c, 0x41, 0x56, 0x56, 0x50, 0x7d, 0x54, 0x86, 0xae, 0xab, + 0xaf, 0x8c, 0x9e, 0x4b, 0xe0, 0x88, 0x42, 0x34, 0x0a, 0xe7, 0x00, 0xfb, 0x23, 0x71, 0xfa, 0x1e, + 0x6e, 0xe4, 0x03, 0x1a, 0xf2, 0x68, 0x8f, 0x50, 0xcc, 0x71, 0x4f, 0xfd, 0xd6, 0xb8, 0x9e, 0x71, + 0x44, 0x0c, 0x85, 0xe4, 0xd3, 0x77, 0x6d, 0x38, 0x44, 0xc2, 0x49, 0xbf, 0x39, 0x86, 0x53, 0xbf, + 0x24, 0x06, 0xdf, 0x9d, 0xd5, 0x93, 0xd7, 0x87, 0x6e, 0xa3, 0x24, 0x31, 0xe2, 0x46, 0xd6, 0x8d, + 0x17, 0xaf, 0xca, 0xa9, 0x97, 0xaf, 0xca, 0xa9, 0xdf, 0x5f, 0x95, 0x53, 0xdf, 0xbe, 0x2e, 0x4f, + 0xbc, 0x7c, 0x5d, 0x9e, 0xf8, 0xe5, 0x75, 0x79, 0xe2, 0xe9, 0xdd, 0x33, 0xbd, 0x65, 0xea, 0x6b, + 0xaa, 0x7c, 0x5b, 0x5a, 0x93, 0xf2, 0x33, 0xea, 0x9d, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x4b, + 0xd4, 0x4f, 0x90, 0xcc, 0x15, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3510,7 +3510,7 @@ func (m *MsgCreateBond) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.CreatorDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.CreatorDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 8: if wireType != 2 { @@ -3542,7 +3542,7 @@ func (m *MsgCreateBond) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ControllerDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.ControllerDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 9: if wireType != 2 { @@ -3574,7 +3574,7 @@ func (m *MsgCreateBond) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.OracleDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 10: if wireType != 2 { @@ -4357,7 +4357,7 @@ func (m *MsgEditBond) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.EditorDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.EditorDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 8: if wireType != 2 { @@ -4623,7 +4623,7 @@ func (m *MsgSetNextAlpha) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.OracleDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 5: if wireType != 2 { @@ -4851,7 +4851,7 @@ func (m *MsgUpdateBondState) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.EditorDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.EditorDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { @@ -5015,7 +5015,7 @@ func (m *MsgBuy) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.BuyerDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.BuyerDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -5278,7 +5278,7 @@ func (m *MsgSell) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SellerDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.SellerDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -5507,7 +5507,7 @@ func (m *MsgSwap) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SwapperDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.SwapperDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -5768,7 +5768,7 @@ func (m *MsgMakeOutcomePayment) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SenderDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.SenderDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -5998,7 +5998,7 @@ func (m *MsgWithdrawShare) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RecipientDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.RecipientDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -6194,7 +6194,7 @@ func (m *MsgWithdrawReserve) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.WithdrawerDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.WithdrawerDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { diff --git a/x/claims/client/cli/query.go b/x/claims/client/cli/query.go index 783b9b73..9b4108cb 100644 --- a/x/claims/client/cli/query.go +++ b/x/claims/client/cli/query.go @@ -6,7 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/ixofoundation/ixo-blockchain/x/claims/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" "github.com/spf13/cobra" ) diff --git a/x/claims/client/cli/tx.go b/x/claims/client/cli/tx.go index a26ac89c..c28fac03 100644 --- a/x/claims/client/cli/tx.go +++ b/x/claims/client/cli/tx.go @@ -9,7 +9,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" - "github.com/ixofoundation/ixo-blockchain/x/claims/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" ) // GetTxCmd returns the transaction commands for this module diff --git a/x/claims/genesis.go b/x/claims/genesis.go index cf9e6921..9edcd0b0 100644 --- a/x/claims/genesis.go +++ b/x/claims/genesis.go @@ -2,8 +2,8 @@ package claims import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/claims/keeper" - "github.com/ixofoundation/ixo-blockchain/x/claims/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" abci "github.com/tendermint/tendermint/abci/types" ) diff --git a/x/claims/keeper/claims.go b/x/claims/keeper/claims.go index 7fe70f9b..b125a8e2 100644 --- a/x/claims/keeper/claims.go +++ b/x/claims/keeper/claims.go @@ -5,7 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/claims/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" ) func (k Keeper) SetCollection(ctx sdk.Context, data types.Collection) { diff --git a/x/claims/keeper/grpc_query.go b/x/claims/keeper/grpc_query.go index f5a5eae6..52ebf5eb 100644 --- a/x/claims/keeper/grpc_query.go +++ b/x/claims/keeper/grpc_query.go @@ -6,7 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/ixofoundation/ixo-blockchain/x/claims/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) diff --git a/x/claims/keeper/keeper.go b/x/claims/keeper/keeper.go index 0eafd277..798ae94a 100644 --- a/x/claims/keeper/keeper.go +++ b/x/claims/keeper/keeper.go @@ -10,9 +10,9 @@ import ( authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/ixofoundation/ixo-blockchain/x/claims/types" - entitykeeper "github.com/ixofoundation/ixo-blockchain/x/entity/keeper" - iidkeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" + entitykeeper "github.com/ixofoundation/ixo-blockchain/v2/x/entity/keeper" + iidkeeper "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" "github.com/tendermint/tendermint/libs/log" ) diff --git a/x/claims/keeper/msg_server.go b/x/claims/keeper/msg_server.go index a7eb0090..3c03e021 100644 --- a/x/claims/keeper/msg_server.go +++ b/x/claims/keeper/msg_server.go @@ -6,9 +6,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/lib/ixo" - "github.com/ixofoundation/ixo-blockchain/x/claims/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/lib/ixo" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) type msgServer struct { diff --git a/x/claims/keeper/payments.go b/x/claims/keeper/payments.go index 6a42a1bd..4ac41307 100644 --- a/x/claims/keeper/payments.go +++ b/x/claims/keeper/payments.go @@ -7,8 +7,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/ixofoundation/ixo-blockchain/x/claims/types" - "github.com/ixofoundation/ixo-blockchain/x/token/types/contracts/ixo1155" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types/contracts/ixo1155" ) // -------------------------- diff --git a/x/claims/message_handler.go b/x/claims/message_handler.go index df8ae0b0..dd333ce1 100644 --- a/x/claims/message_handler.go +++ b/x/claims/message_handler.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/claims/keeper" - "github.com/ixofoundation/ixo-blockchain/x/claims/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" ) func NewHandler(k keeper.Keeper) sdk.Handler { diff --git a/x/claims/module.go b/x/claims/module.go index 94c8276e..a87ffd39 100644 --- a/x/claims/module.go +++ b/x/claims/module.go @@ -12,9 +12,9 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" "github.com/gorilla/mux" "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/ixofoundation/ixo-blockchain/x/claims/client/cli" - "github.com/ixofoundation/ixo-blockchain/x/claims/keeper" - "github.com/ixofoundation/ixo-blockchain/x/claims/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/client/cli" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/claims/types" "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" ) diff --git a/x/claims/types/authz.go b/x/claims/types/authz.go index 253e0be6..1b05fb1c 100644 --- a/x/claims/types/authz.go +++ b/x/claims/types/authz.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/authz" - ixo "github.com/ixofoundation/ixo-blockchain/lib/ixo" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + ixo "github.com/ixofoundation/ixo-blockchain/v2/lib/ixo" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) var ( diff --git a/x/claims/types/authz.pb.go b/x/claims/types/authz.pb.go index d24c1d96..781ef9f9 100644 --- a/x/claims/types/authz.pb.go +++ b/x/claims/types/authz.pb.go @@ -446,54 +446,55 @@ func init() { func init() { proto.RegisterFile("ixo/claims/v1beta1/authz.proto", fileDescriptor_f4b7f6c531e101a6) } var fileDescriptor_f4b7f6c531e101a6 = []byte{ - // 748 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xcd, 0x6e, 0xd3, 0x4c, - 0x14, 0x8d, 0xdb, 0xf4, 0x27, 0xe3, 0xf6, 0xfb, 0xd4, 0xa1, 0x20, 0x27, 0x54, 0x4e, 0x14, 0x16, - 0x44, 0x88, 0xda, 0x4d, 0x51, 0x01, 0xb1, 0x4b, 0x02, 0x8b, 0x4a, 0x08, 0x8a, 0xa9, 0x84, 0x04, - 0x12, 0xd6, 0xd8, 0x9e, 0x24, 0x43, 0x63, 0x4f, 0xf0, 0x8c, 0xdb, 0xb4, 0x4f, 0x51, 0x16, 0x2c, - 0x78, 0x05, 0xd6, 0x6c, 0x78, 0x83, 0x2e, 0x2b, 0x56, 0xac, 0x5a, 0xd4, 0xbe, 0x05, 0x2b, 0xe4, - 0xf1, 0xb8, 0x49, 0x5b, 0xb7, 0x4a, 0x57, 0xc9, 0xdc, 0x7b, 0xcf, 0x3d, 0x67, 0xce, 0xbd, 0x23, - 0x03, 0x9d, 0x0c, 0xa8, 0xe9, 0xf6, 0x10, 0xf1, 0x99, 0xb9, 0x5d, 0x77, 0x30, 0x47, 0x75, 0x13, - 0x45, 0xbc, 0xbb, 0x67, 0xf4, 0x43, 0xca, 0x29, 0x84, 0x64, 0x40, 0x8d, 0x24, 0x6f, 0xc8, 0x7c, - 0x69, 0xb1, 0x43, 0x3b, 0x54, 0xa4, 0xcd, 0xf8, 0x5f, 0x52, 0x59, 0x2a, 0xba, 0x94, 0xf9, 0x94, - 0xd9, 0x49, 0x22, 0x39, 0xc8, 0x54, 0xb9, 0x43, 0x69, 0xa7, 0x87, 0x4d, 0x71, 0x72, 0xa2, 0xb6, - 0xc9, 0x89, 0x8f, 0x19, 0x47, 0x7e, 0x5f, 0x16, 0xe8, 0x49, 0xb9, 0xe9, 0x20, 0x86, 0xcf, 0x64, - 0xb8, 0x94, 0x04, 0x69, 0x83, 0x0c, 0x95, 0x52, 0xd4, 0x35, 0x05, 0x23, 0x12, 0xaa, 0x5f, 0x14, - 0xa0, 0xbd, 0x8d, 0x1c, 0x9f, 0xf0, 0x56, 0x5c, 0xd5, 0x88, 0x78, 0x97, 0x86, 0x64, 0x0f, 0x71, - 0x42, 0x03, 0xb8, 0x08, 0xa6, 0x90, 0xe7, 0x93, 0x40, 0x53, 0x2a, 0x4a, 0xad, 0x60, 0x25, 0x07, - 0xf8, 0x12, 0xa8, 0x2e, 0x0d, 0x18, 0x0f, 0x11, 0x09, 0x38, 0xd3, 0x26, 0x2a, 0x93, 0x35, 0x75, - 0xf5, 0x81, 0x71, 0xd9, 0x10, 0x63, 0xa4, 0x71, 0x6b, 0x88, 0xb0, 0x46, 0xe1, 0xcf, 0x16, 0x7e, - 0xfd, 0x58, 0x9e, 0x3f, 0x47, 0x5b, 0xfd, 0x08, 0xee, 0x64, 0x23, 0xe1, 0x3d, 0x30, 0xef, 0xd2, - 0x5e, 0x0f, 0xbb, 0x71, 0x9d, 0x4d, 0x3c, 0x29, 0x6c, 0x6e, 0x18, 0x5c, 0xf7, 0x60, 0x19, 0xa8, - 0xa8, 0x83, 0x03, 0x6e, 0x7f, 0x8e, 0x28, 0x47, 0xda, 0x44, 0x45, 0xa9, 0xe5, 0x2d, 0x20, 0x42, - 0x6f, 0xe2, 0x48, 0xf5, 0xab, 0x02, 0x4a, 0x2f, 0xb6, 0x51, 0x2f, 0x42, 0x1c, 0x8f, 0x7d, 0xeb, - 0x57, 0x59, 0xb7, 0x7e, 0x98, 0x75, 0xeb, 0x73, 0xad, 0x6f, 0x72, 0xef, 0x9f, 0x13, 0x40, 0xbb, - 0x0a, 0x3c, 0xde, 0xd5, 0xef, 0x82, 0x82, 0x10, 0x63, 0x13, 0x2f, 0x91, 0x58, 0xb0, 0x66, 0x45, - 0x60, 0xdd, 0x63, 0x17, 0x7d, 0x99, 0xbc, 0xe8, 0x0b, 0x6c, 0x00, 0xd5, 0xc1, 0x6d, 0x1a, 0x62, - 0xdb, 0x43, 0x1c, 0x6b, 0xf9, 0x8a, 0x52, 0x53, 0x57, 0x4b, 0x46, 0xb2, 0xa4, 0x46, 0xba, 0xa4, - 0xc6, 0x66, 0xba, 0xa4, 0xcd, 0xfc, 0xfe, 0x71, 0x59, 0xb1, 0x40, 0x02, 0x7a, 0x8e, 0x38, 0x86, - 0x3b, 0x60, 0xc1, 0x47, 0x03, 0xdb, 0x8d, 0x18, 0xa7, 0xbe, 0x8d, 0x7c, 0x1a, 0x05, 0x5c, 0x03, - 0xc2, 0xab, 0xa2, 0x21, 0x17, 0x2f, 0x5e, 0xe6, 0x33, 0xb3, 0x5a, 0x94, 0x04, 0xcd, 0x95, 0x83, - 0xa3, 0x72, 0xee, 0xfb, 0x71, 0xb9, 0xd6, 0x21, 0xbc, 0x1b, 0x39, 0x86, 0x4b, 0x7d, 0xb9, 0xa5, - 0xf2, 0x67, 0x99, 0x79, 0x5b, 0x26, 0xdf, 0xed, 0x63, 0x26, 0x00, 0xcc, 0xfa, 0xdf, 0x47, 0x83, - 0x96, 0x20, 0x69, 0x08, 0x8e, 0xea, 0x37, 0x05, 0x2c, 0xbd, 0x23, 0xbc, 0xeb, 0x85, 0x68, 0x67, - 0x03, 0xed, 0xfa, 0x38, 0xe0, 0xe3, 0x4c, 0x75, 0x23, 0x6b, 0xaa, 0x46, 0xd6, 0x54, 0x2f, 0x34, - 0xbf, 0xd1, 0x5c, 0xf3, 0xa0, 0x74, 0x35, 0x1c, 0x16, 0xc1, 0x6c, 0x3a, 0x34, 0x29, 0x6e, 0x46, - 0xce, 0x0c, 0x7e, 0x02, 0xd3, 0x24, 0xe8, 0x47, 0x67, 0xca, 0x8a, 0x59, 0xca, 0xd6, 0xe3, 0x8a, - 0xe6, 0x93, 0xd8, 0xc3, 0xbf, 0x47, 0x65, 0xf3, 0x5a, 0x0f, 0x07, 0xa6, 0x83, 0x82, 0xd4, 0x4a, - 0x01, 0xb4, 0x24, 0x03, 0x0c, 0xc0, 0x0c, 0x8d, 0xb8, 0x20, 0x9b, 0x14, 0x64, 0xa5, 0x2c, 0xb2, - 0xd7, 0xa2, 0xa4, 0xf9, 0x54, 0xb2, 0xad, 0x8c, 0xcf, 0x96, 0x20, 0xad, 0x94, 0x04, 0x36, 0xc1, - 0x5c, 0x3f, 0x31, 0xc3, 0x8e, 0x0b, 0xc4, 0xba, 0xfd, 0xb7, 0x5a, 0xce, 0x22, 0x95, 0xa6, 0x6d, - 0xee, 0xf6, 0xb1, 0xa5, 0xf6, 0x87, 0x07, 0xf8, 0x01, 0xdc, 0x76, 0x69, 0xc0, 0x43, 0xe4, 0x72, - 0xbb, 0x5e, 0x5f, 0x5b, 0xb3, 0x65, 0x52, 0x9b, 0x12, 0xbb, 0x7b, 0x3f, 0xab, 0x59, 0x4b, 0x02, - 0xe2, 0x7a, 0xd9, 0xd8, 0xba, 0xe5, 0x5e, 0x0e, 0xc2, 0x25, 0x50, 0xe0, 0xb4, 0xe1, 0x79, 0x21, - 0x66, 0x4c, 0x9b, 0x16, 0x83, 0x19, 0x06, 0x60, 0x05, 0xa8, 0xed, 0x90, 0xfa, 0x69, 0x7e, 0x46, - 0xe4, 0x47, 0x43, 0xb0, 0x05, 0xe6, 0x42, 0xdc, 0xc3, 0x88, 0xc9, 0xf7, 0x34, 0x3b, 0xe6, 0x7b, - 0x52, 0x25, 0x2a, 0x7e, 0x50, 0xcd, 0x8d, 0x83, 0x13, 0x5d, 0x39, 0x3c, 0xd1, 0x95, 0x3f, 0x27, - 0xba, 0xb2, 0x7f, 0xaa, 0xe7, 0x0e, 0x4f, 0xf5, 0xdc, 0xef, 0x53, 0x3d, 0xf7, 0xfe, 0xf1, 0x88, - 0xf5, 0x64, 0x40, 0xdb, 0x34, 0x0a, 0x3c, 0xb1, 0x6f, 0xf1, 0x69, 0xd9, 0xe9, 0x51, 0x77, 0xcb, - 0xed, 0x22, 0x12, 0x98, 0x83, 0xf4, 0x03, 0x20, 0xe6, 0xe0, 0x4c, 0x0b, 0xe2, 0x47, 0xff, 0x02, - 0x00, 0x00, 0xff, 0xff, 0x41, 0x66, 0xc9, 0x97, 0xe2, 0x06, 0x00, 0x00, + // 753 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xcd, 0x4e, 0xdb, 0x4a, + 0x14, 0x8e, 0x21, 0xfc, 0x64, 0x0c, 0xf7, 0x8a, 0xb9, 0xdc, 0x2b, 0x27, 0x17, 0x39, 0x51, 0xee, + 0xe2, 0x46, 0x55, 0xb1, 0x49, 0x2a, 0xd4, 0x9f, 0x5d, 0x92, 0x76, 0x81, 0x54, 0xb5, 0xd4, 0x20, + 0x55, 0x6a, 0xa5, 0x5a, 0x63, 0x7b, 0x92, 0x4c, 0x89, 0x3d, 0xa9, 0x67, 0x0c, 0x81, 0xa7, 0xa0, + 0x8b, 0x2e, 0xfa, 0x0a, 0x5d, 0x77, 0xd3, 0x37, 0x60, 0x89, 0xba, 0xea, 0x0a, 0x2a, 0x78, 0x8b, + 0xae, 0x2a, 0x8f, 0xc7, 0x24, 0x80, 0x41, 0x61, 0x95, 0xcc, 0x39, 0xe7, 0x3b, 0xdf, 0x37, 0xdf, + 0x39, 0x23, 0x03, 0x9d, 0x0c, 0xa9, 0xe9, 0xf6, 0x11, 0xf1, 0x99, 0xb9, 0x5b, 0x77, 0x30, 0x47, + 0x75, 0x13, 0x45, 0xbc, 0x77, 0x60, 0x0c, 0x42, 0xca, 0x29, 0x84, 0x64, 0x48, 0x8d, 0x24, 0x6f, + 0xc8, 0x7c, 0x69, 0xb9, 0x4b, 0xbb, 0x54, 0xa4, 0xcd, 0xf8, 0x5f, 0x52, 0x59, 0x2a, 0xba, 0x94, + 0xf9, 0x94, 0xd9, 0x49, 0x22, 0x39, 0xc8, 0x54, 0xb9, 0x4b, 0x69, 0xb7, 0x8f, 0x4d, 0x71, 0x72, + 0xa2, 0x8e, 0xc9, 0x89, 0x8f, 0x19, 0x47, 0xfe, 0x40, 0x16, 0xe8, 0x49, 0xb9, 0xe9, 0x20, 0x86, + 0x2f, 0x64, 0xb8, 0x94, 0x04, 0x69, 0x83, 0x0c, 0x95, 0x52, 0xd4, 0x2d, 0x05, 0x63, 0x12, 0xaa, + 0x1f, 0x15, 0xa0, 0x6d, 0x45, 0x8e, 0x4f, 0x78, 0x3b, 0xae, 0x6a, 0x46, 0xbc, 0x47, 0x43, 0x72, + 0x80, 0x38, 0xa1, 0x01, 0x5c, 0x06, 0x33, 0xc8, 0xf3, 0x49, 0xa0, 0x29, 0x15, 0xa5, 0x56, 0xb0, + 0x92, 0x03, 0x7c, 0x0e, 0x54, 0x97, 0x06, 0x8c, 0x87, 0x88, 0x04, 0x9c, 0x69, 0x53, 0x95, 0xe9, + 0x9a, 0xda, 0xb8, 0x67, 0x5c, 0x37, 0xc4, 0x18, 0x6b, 0xdc, 0x1e, 0x21, 0xac, 0x71, 0xf8, 0x93, + 0xa5, 0xef, 0x5f, 0x57, 0x17, 0x2f, 0xd1, 0x56, 0xdf, 0x81, 0x7f, 0xb2, 0x91, 0xf0, 0x3f, 0xb0, + 0xe8, 0xd2, 0x7e, 0x1f, 0xbb, 0x71, 0x9d, 0x4d, 0x3c, 0x29, 0x6c, 0x61, 0x14, 0xdc, 0xf0, 0x60, + 0x19, 0xa8, 0xa8, 0x8b, 0x03, 0x6e, 0x7f, 0x88, 0x28, 0x47, 0xda, 0x54, 0x45, 0xa9, 0xe5, 0x2d, + 0x20, 0x42, 0xaf, 0xe2, 0x48, 0xf5, 0x93, 0x02, 0x4a, 0xcf, 0x76, 0x51, 0x3f, 0x42, 0x1c, 0x4f, + 0x7c, 0xeb, 0x17, 0x59, 0xb7, 0xbe, 0x9f, 0x75, 0xeb, 0x4b, 0xad, 0xef, 0x72, 0xef, 0x6f, 0x53, + 0x40, 0xbb, 0x09, 0x3c, 0xd9, 0xd5, 0xff, 0x05, 0x05, 0x21, 0xc6, 0x26, 0x5e, 0x22, 0xb1, 0x60, + 0xcd, 0x8b, 0xc0, 0x86, 0xc7, 0xae, 0xfa, 0x32, 0x7d, 0xd5, 0x17, 0xd8, 0x04, 0xaa, 0x83, 0x3b, + 0x34, 0xc4, 0xb6, 0x87, 0x38, 0xd6, 0xf2, 0x15, 0xa5, 0xa6, 0x36, 0x4a, 0x46, 0xb2, 0xa4, 0x46, + 0xba, 0xa4, 0xc6, 0x76, 0xba, 0xa4, 0xad, 0xfc, 0xe1, 0x69, 0x59, 0xb1, 0x40, 0x02, 0x7a, 0x8a, + 0x38, 0x86, 0x7b, 0x60, 0xc9, 0x47, 0x43, 0xdb, 0x8d, 0x18, 0xa7, 0xbe, 0x8d, 0x7c, 0x1a, 0x05, + 0x5c, 0x03, 0xc2, 0xab, 0xa2, 0x21, 0x17, 0x2f, 0x5e, 0xe6, 0x0b, 0xb3, 0xda, 0x94, 0x04, 0xad, + 0xb5, 0xa3, 0x93, 0x72, 0xee, 0xcb, 0x69, 0xb9, 0xd6, 0x25, 0xbc, 0x17, 0x39, 0x86, 0x4b, 0x7d, + 0xb9, 0xa5, 0xf2, 0x67, 0x95, 0x79, 0x3b, 0x26, 0xdf, 0x1f, 0x60, 0x26, 0x00, 0xcc, 0xfa, 0xd3, + 0x47, 0xc3, 0xb6, 0x20, 0x69, 0x0a, 0x8e, 0xea, 0x67, 0x05, 0xac, 0xbc, 0x26, 0xbc, 0xe7, 0x85, + 0x68, 0x6f, 0x13, 0xed, 0xfb, 0x38, 0xe0, 0x93, 0x4c, 0x75, 0x33, 0x6b, 0xaa, 0x46, 0xd6, 0x54, + 0xaf, 0x34, 0xbf, 0xd3, 0x5c, 0xf3, 0xa0, 0x74, 0x33, 0x1c, 0x16, 0xc1, 0x7c, 0x3a, 0x34, 0x29, + 0x6e, 0x4e, 0xce, 0x0c, 0xbe, 0x07, 0xb3, 0x24, 0x18, 0x44, 0x17, 0xca, 0x8a, 0x59, 0xca, 0x36, + 0xe2, 0x8a, 0xd6, 0xc3, 0xd8, 0xc3, 0x5f, 0x27, 0x65, 0xf3, 0x56, 0x0f, 0x87, 0xa6, 0x83, 0x82, + 0xd4, 0x4a, 0x01, 0xb4, 0x24, 0x03, 0x0c, 0xc0, 0x1c, 0x8d, 0xb8, 0x20, 0x9b, 0x16, 0x64, 0xa5, + 0x2c, 0xb2, 0x97, 0xa2, 0xa4, 0xf5, 0x48, 0xb2, 0xad, 0x4d, 0xce, 0x96, 0x20, 0xad, 0x94, 0x04, + 0xb6, 0xc0, 0xc2, 0x20, 0x31, 0xc3, 0x8e, 0x0b, 0xc4, 0xba, 0xfd, 0xd1, 0x28, 0x67, 0x91, 0x4a, + 0xd3, 0xb6, 0xf7, 0x07, 0xd8, 0x52, 0x07, 0xa3, 0x03, 0x7c, 0x0b, 0xfe, 0x76, 0x69, 0xc0, 0x43, + 0xe4, 0x72, 0xbb, 0x5e, 0x5f, 0x5f, 0xb7, 0x65, 0x52, 0x9b, 0x11, 0xbb, 0xfb, 0x7f, 0x56, 0xb3, + 0xb6, 0x04, 0xc4, 0xf5, 0xb2, 0xb1, 0xf5, 0x97, 0x7b, 0x3d, 0x08, 0x57, 0x40, 0x81, 0xd3, 0xa6, + 0xe7, 0x85, 0x98, 0x31, 0x6d, 0x56, 0x0c, 0x66, 0x14, 0x80, 0x15, 0xa0, 0x76, 0x42, 0xea, 0xa7, + 0xf9, 0x39, 0x91, 0x1f, 0x0f, 0xc1, 0x36, 0x58, 0x08, 0x71, 0x1f, 0x23, 0x26, 0xdf, 0xd3, 0xfc, + 0x84, 0xef, 0x49, 0x95, 0xa8, 0xf8, 0x41, 0xb5, 0xb6, 0x8e, 0xce, 0x74, 0xe5, 0xf8, 0x4c, 0x57, + 0x7e, 0x9e, 0xe9, 0xca, 0xe1, 0xb9, 0x9e, 0x3b, 0x3e, 0xd7, 0x73, 0x3f, 0xce, 0xf5, 0xdc, 0x9b, + 0xc7, 0x63, 0xd6, 0x93, 0x21, 0xed, 0xd0, 0x28, 0xf0, 0xc4, 0xbe, 0xc5, 0xa7, 0x55, 0xa7, 0x4f, + 0xdd, 0x1d, 0xb7, 0x87, 0x48, 0x60, 0xee, 0x36, 0xcc, 0x61, 0xfa, 0x0d, 0x10, 0xa3, 0x70, 0x66, + 0x05, 0xf7, 0x83, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x32, 0x3f, 0x64, 0x5a, 0xe5, 0x06, 0x00, + 0x00, } func (m *SubmitClaimAuthorization) Marshal() (dAtA []byte, err error) { diff --git a/x/claims/types/claims.go b/x/claims/types/claims.go index 22837884..27d03e1d 100644 --- a/x/claims/types/claims.go +++ b/x/claims/types/claims.go @@ -6,8 +6,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" - entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + entitytypes "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) // IsValidCollection tells if a Claim Collection is valid, diff --git a/x/claims/types/claims.pb.go b/x/claims/types/claims.pb.go index f2baea3d..d844c1c1 100644 --- a/x/claims/types/claims.pb.go +++ b/x/claims/types/claims.pb.go @@ -1036,102 +1036,102 @@ func init() { func init() { proto.RegisterFile("ixo/claims/v1beta1/claims.proto", fileDescriptor_619c1a0876cd0592) } var fileDescriptor_619c1a0876cd0592 = []byte{ - // 1505 bytes of a gzipped FileDescriptorProto + // 1507 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6f, 0x1b, 0x45, 0x1b, 0xcf, 0x3a, 0xb6, 0x63, 0x3f, 0xce, 0x57, 0x27, 0x79, 0x2b, 0xc7, 0xed, 0x6b, 0xfb, 0x75, - 0x5f, 0xbd, 0x6f, 0x14, 0xa9, 0x36, 0x49, 0x55, 0xa0, 0x14, 0xa8, 0x9c, 0xd8, 0x2d, 0xae, 0xd2, - 0xc4, 0x5a, 0x27, 0x95, 0x28, 0x12, 0xd6, 0x64, 0x77, 0xe2, 0x0c, 0xb1, 0x77, 0xb6, 0xbb, 0xb3, - 0x21, 0xe1, 0xc4, 0x0d, 0x29, 0x17, 0x7a, 0x41, 0xe2, 0x12, 0xa9, 0x57, 0xf8, 0x4b, 0x7a, 0xac, - 0xc4, 0x05, 0x81, 0xd4, 0x56, 0xed, 0x85, 0x3f, 0x81, 0x23, 0x9a, 0x8f, 0xf5, 0xda, 0x89, 0xd5, - 0x5a, 0x48, 0x9c, 0xe2, 0xe7, 0xe3, 0xf7, 0xcc, 0x3c, 0x5f, 0xbf, 0x9d, 0x40, 0x81, 0x1e, 0xb3, - 0x8a, 0xd5, 0xc5, 0xb4, 0xe7, 0x57, 0x8e, 0x56, 0xf7, 0x08, 0xc7, 0xab, 0x5a, 0x2c, 0xbb, 0x1e, - 0xe3, 0x0c, 0x21, 0x7a, 0xcc, 0xca, 0x5a, 0xa3, 0x1d, 0x72, 0x8b, 0x1d, 0xd6, 0x61, 0xd2, 0x5c, - 0x11, 0xbf, 0x94, 0x67, 0xae, 0xd0, 0x61, 0xac, 0xd3, 0x25, 0x15, 0x29, 0xed, 0x05, 0xfb, 0x15, - 0x4e, 0x7b, 0xc4, 0xe7, 0xb8, 0xe7, 0x6a, 0x87, 0xbc, 0xc5, 0xfc, 0x1e, 0xf3, 0x2b, 0x7b, 0xd8, - 0x27, 0xd1, 0x61, 0x8c, 0x3a, 0xa1, 0xfd, 0x7c, 0x00, 0x3b, 0xf0, 0x30, 0xa7, 0x4c, 0xdb, 0x4b, - 0x4f, 0x63, 0x90, 0x6c, 0x62, 0x0f, 0xf7, 0x7c, 0x54, 0x81, 0x05, 0x8b, 0x75, 0xbb, 0xc4, 0x12, - 0xe6, 0xb6, 0x4f, 0x1e, 0x07, 0xc4, 0xb1, 0x48, 0xd6, 0x28, 0x1a, 0xcb, 0x71, 0x13, 0x45, 0xa6, - 0x96, 0xb6, 0xa0, 0x02, 0x64, 0xe8, 0x31, 0x6b, 0x63, 0xcb, 0x62, 0x81, 0xc3, 0xb3, 0xb1, 0xa2, - 0xb1, 0x9c, 0x36, 0x81, 0x1e, 0xb3, 0xaa, 0xd2, 0x20, 0x1b, 0x2e, 0x3b, 0x84, 0x7f, 0xcd, 0xbc, - 0xc3, 0xf6, 0x3e, 0x21, 0x6d, 0x97, 0x78, 0x16, 0x71, 0x38, 0xee, 0x90, 0xec, 0xa4, 0xf0, 0x5d, - 0x2f, 0x3f, 0x7b, 0x51, 0x98, 0xf8, 0xed, 0x45, 0xe1, 0x7f, 0x1d, 0xca, 0x0f, 0x82, 0xbd, 0xb2, - 0xc5, 0x7a, 0x15, 0x9d, 0x8f, 0xfa, 0x73, 0xdd, 0xb7, 0x0f, 0x2b, 0xfc, 0xc4, 0x25, 0x7e, 0xb9, - 0x46, 0x2c, 0x73, 0x51, 0x47, 0xbb, 0x4b, 0x48, 0xb3, 0x1f, 0x0b, 0x7d, 0x09, 0x0b, 0x0e, 0xb3, - 0xc9, 0xf9, 0x23, 0xe2, 0x7f, 0xeb, 0x88, 0x4b, 0x22, 0xd4, 0x50, 0xfc, 0xd2, 0xf7, 0x71, 0x80, - 0x8d, 0x7e, 0xf6, 0x68, 0x16, 0x62, 0xd4, 0x96, 0x55, 0x49, 0x9b, 0x31, 0x6a, 0xa3, 0xcb, 0x90, - 0x24, 0x0e, 0xa7, 0xfc, 0x44, 0x17, 0x40, 0x4b, 0x68, 0x11, 0x12, 0xd8, 0xee, 0x51, 0x47, 0xe5, - 0x6a, 0x2a, 0x01, 0xe5, 0x20, 0x25, 0x0b, 0x6f, 0xb1, 0xae, 0xba, 0xa1, 0xd9, 0x97, 0xd1, 0x1d, - 0x00, 0x9f, 0x63, 0x8f, 0xb7, 0x6d, 0xcc, 0x49, 0x36, 0x51, 0x34, 0x96, 0x33, 0x6b, 0xb9, 0xb2, - 0x6a, 0x60, 0x39, 0x6c, 0x60, 0x79, 0x27, 0x9c, 0x80, 0xf5, 0xf8, 0x93, 0x97, 0x05, 0xc3, 0x4c, - 0x4b, 0x4c, 0x0d, 0x73, 0x82, 0x6e, 0x43, 0x8a, 0x38, 0xb6, 0x82, 0x27, 0xc7, 0x84, 0x4f, 0x11, - 0xc7, 0x96, 0xe0, 0x45, 0x48, 0x3c, 0x0e, 0x18, 0xc7, 0xd9, 0x29, 0xd9, 0x70, 0x25, 0x08, 0xad, - 0xea, 0x6e, 0x4a, 0x69, 0x55, 0x63, 0xaf, 0x42, 0x9a, 0x1c, 0xe1, 0x6e, 0x80, 0x39, 0xb1, 0xb3, - 0x69, 0x69, 0x89, 0x14, 0x22, 0x47, 0xec, 0xba, 0x1e, 0x3b, 0x22, 0x76, 0x16, 0xa4, 0xb1, 0x2f, - 0x0b, 0x9b, 0x47, 0xbe, 0x22, 0x96, 0x00, 0x66, 0x94, 0x2d, 0x94, 0x85, 0xcd, 0xa6, 0xbe, 0x1b, - 0x08, 0xdb, 0xb4, 0xb2, 0x85, 0x32, 0xba, 0x05, 0x09, 0x9f, 0x8b, 0xbc, 0x66, 0x8a, 0xc6, 0xf2, - 0xec, 0xda, 0xb5, 0xf2, 0xc5, 0x15, 0x2a, 0x47, 0x4d, 0x6a, 0x09, 0x57, 0x53, 0x21, 0xd0, 0x87, - 0x90, 0x72, 0xf1, 0x49, 0x8f, 0x38, 0xdc, 0xcf, 0xce, 0xca, 0xaa, 0x5c, 0x1d, 0x85, 0x6e, 0x6a, - 0x1f, 0xb3, 0xef, 0x2d, 0x5a, 0xeb, 0xd3, 0x8e, 0x43, 0xbc, 0xec, 0x9c, 0x6a, 0xad, 0x92, 0x4a, - 0x7f, 0x1a, 0x90, 0x0a, 0xdd, 0xd1, 0x6d, 0x00, 0x3f, 0xd8, 0xeb, 0x51, 0xdf, 0xa7, 0xcc, 0x91, - 0x73, 0x91, 0x59, 0xbb, 0xf2, 0x96, 0x03, 0xcc, 0x01, 0x77, 0x01, 0xd6, 0x75, 0x13, 0xe0, 0xd8, - 0x18, 0xe0, 0xc8, 0x1d, 0x7d, 0x10, 0xd6, 0x19, 0x77, 0xe5, 0x90, 0xbd, 0x03, 0xda, 0x77, 0x46, - 0xb7, 0x20, 0xad, 0x8a, 0x2e, 0x0e, 0x8d, 0xbf, 0x1b, 0x19, 0x79, 0x97, 0x7e, 0x8a, 0xc1, 0x94, - 0x56, 0xa3, 0x2c, 0x4c, 0x85, 0xbb, 0xaf, 0xd6, 0x21, 0x14, 0x91, 0x05, 0x49, 0xdc, 0xd3, 0xa4, - 0x30, 0xb9, 0x9c, 0x59, 0x5b, 0x2a, 0xab, 0x65, 0x2b, 0x0b, 0x9a, 0x1a, 0xe8, 0x17, 0x75, 0xd6, - 0xdf, 0x13, 0x0b, 0xfa, 0xf3, 0xcb, 0xc2, 0xf2, 0x18, 0x0b, 0x2a, 0x00, 0xbe, 0xa9, 0x43, 0xa3, - 0x2f, 0xe0, 0x5f, 0x16, 0x73, 0xb8, 0x87, 0x2d, 0xde, 0x5e, 0x5d, 0xbd, 0x79, 0xb3, 0xad, 0xfb, - 0xa6, 0x6b, 0xf1, 0xff, 0xd1, 0x23, 0xa2, 0x00, 0xc2, 0x3f, 0xcc, 0x6e, 0xc1, 0xba, 0xa8, 0x44, - 0xeb, 0x00, 0x82, 0x6a, 0x59, 0xc0, 0xdb, 0x8e, 0xaf, 0x6b, 0xb4, 0x74, 0x61, 0x99, 0x6a, 0x9a, - 0x4c, 0xd7, 0x53, 0x22, 0x8b, 0x1f, 0xe5, 0x3a, 0x6a, 0xd8, 0x96, 0x5f, 0x3a, 0x80, 0x85, 0x11, - 0xe7, 0xc9, 0xb2, 0xd9, 0xb6, 0x47, 0x7c, 0xbf, 0x5f, 0x36, 0x25, 0xa2, 0x25, 0x48, 0x71, 0x76, - 0x48, 0x9c, 0x36, 0xb5, 0x35, 0x99, 0x4c, 0x49, 0xb9, 0x21, 0x59, 0x46, 0x57, 0x54, 0x64, 0x37, - 0x13, 0x16, 0xe1, 0xa3, 0xf8, 0x1f, 0x4f, 0x0b, 0x46, 0xe9, 0x55, 0x0c, 0x12, 0x1b, 0x22, 0x53, - 0x74, 0x0d, 0x66, 0x06, 0x48, 0xbc, 0x4f, 0x54, 0xd3, 0x91, 0xb2, 0x61, 0xa3, 0x2b, 0x90, 0xc6, - 0x1d, 0xe2, 0xf0, 0xb6, 0xdd, 0x3f, 0x28, 0x25, 0x15, 0x35, 0x6a, 0x8b, 0x08, 0xca, 0x18, 0x5e, - 0x52, 0xf1, 0xd7, 0xb4, 0x54, 0x56, 0xf5, 0x4d, 0x1b, 0x30, 0x17, 0x4d, 0xb1, 0x22, 0x9c, 0xf8, - 0x98, 0x84, 0x33, 0x1b, 0x01, 0x25, 0xef, 0x2c, 0x41, 0x4a, 0x36, 0x49, 0x5c, 0x36, 0xa1, 0x92, - 0x96, 0x72, 0xc3, 0x46, 0x9f, 0x0e, 0x6d, 0x87, 0x62, 0xb4, 0xfc, 0xa8, 0xb6, 0xd6, 0xfb, 0x5e, - 0x43, 0x0b, 0x72, 0x1f, 0xe6, 0xc2, 0x5d, 0x6e, 0x0b, 0x2e, 0x08, 0x7c, 0x49, 0x6e, 0x99, 0xb5, - 0xff, 0x8c, 0x9c, 0x0d, 0x21, 0xf6, 0x59, 0x60, 0x36, 0x44, 0xb6, 0x24, 0xb0, 0xf4, 0x43, 0x0c, - 0x66, 0x86, 0x3c, 0x50, 0xf5, 0xc2, 0xe2, 0xcf, 0x8e, 0x0e, 0xac, 0x11, 0x2a, 0xd0, 0xd0, 0xfa, - 0x57, 0x2f, 0xac, 0xff, 0x78, 0x21, 0x06, 0x72, 0xfc, 0xe4, 0x1c, 0x09, 0x8c, 0x15, 0x20, 0xa2, - 0x82, 0x3b, 0xe7, 0xa9, 0x60, 0x2c, 0xfc, 0x00, 0x21, 0xfc, 0x3e, 0x09, 0x10, 0x95, 0x7f, 0xa8, - 0x9b, 0xc6, 0x70, 0x37, 0x2f, 0x8c, 0x66, 0x6c, 0xc4, 0x68, 0x5e, 0x86, 0x24, 0xf3, 0xb0, 0xd5, - 0xd5, 0x4f, 0x04, 0x53, 0x4b, 0xc3, 0x23, 0x1b, 0x7f, 0xd7, 0xc8, 0x26, 0x46, 0x8c, 0xec, 0xc7, - 0x90, 0xd4, 0x33, 0x90, 0x94, 0x69, 0xfe, 0xf7, 0xed, 0x83, 0xa4, 0x33, 0xd5, 0x18, 0x71, 0x2f, - 0x8f, 0x60, 0x9f, 0x39, 0x72, 0x82, 0x66, 0x4c, 0x2d, 0xa1, 0xeb, 0x80, 0x8e, 0x88, 0x47, 0xf7, - 0xa9, 0x25, 0x51, 0x6d, 0xd7, 0x63, 0x6c, 0x5f, 0x7e, 0x2c, 0xd3, 0xe6, 0xa5, 0x41, 0x4b, 0x53, - 0x18, 0xc4, 0xde, 0x44, 0xbd, 0x53, 0x7b, 0x93, 0x1e, 0x77, 0x6f, 0x22, 0xa0, 0xdc, 0x9b, 0x88, - 0x63, 0xe1, 0x1f, 0xe3, 0xd8, 0xd2, 0x63, 0x98, 0xaa, 0xa9, 0x4f, 0x30, 0xfa, 0xb7, 0x1c, 0x77, - 0xd1, 0xf6, 0xa8, 0xb7, 0x69, 0xad, 0x69, 0xd8, 0x08, 0x41, 0x5c, 0x04, 0x90, 0x4d, 0x4d, 0x98, - 0xf2, 0x37, 0xba, 0x01, 0x71, 0x1b, 0x73, 0xac, 0x09, 0xb9, 0x30, 0xaa, 0xe0, 0x3a, 0x7a, 0x0d, - 0x73, 0x6c, 0x4a, 0xe7, 0x52, 0x07, 0x32, 0x03, 0x4a, 0x34, 0x0f, 0x93, 0x81, 0x47, 0xf5, 0x79, - 0xe2, 0xe7, 0xd0, 0x49, 0x69, 0x7d, 0xd2, 0x22, 0x24, 0x54, 0xe5, 0xf5, 0x63, 0x4b, 0x0a, 0xf2, - 0x99, 0xe2, 0x58, 0xde, 0x89, 0x2b, 0x5e, 0x14, 0x62, 0x68, 0x52, 0x66, 0xa4, 0x58, 0xd9, 0x85, - 0xb9, 0x73, 0x2f, 0x06, 0x11, 0x7a, 0xbb, 0x59, 0xdf, 0x9a, 0x9f, 0xc8, 0xa5, 0x4e, 0xcf, 0x8a, - 0x71, 0xe6, 0x12, 0x47, 0x74, 0xbe, 0x59, 0xdd, 0x6d, 0xd5, 0x6b, 0xf3, 0x46, 0x0e, 0x4e, 0xcf, - 0x8a, 0x49, 0x17, 0x07, 0x3e, 0x91, 0x93, 0xba, 0xb1, 0xb9, 0x2d, 0xf4, 0x31, 0xa5, 0xb7, 0xba, - 0xcc, 0x27, 0xf6, 0xca, 0xb7, 0x06, 0xcc, 0x9f, 0x1f, 0x23, 0xc1, 0xf9, 0xcd, 0xfa, 0x56, 0xad, - 0xb1, 0x75, 0x6f, 0x7e, 0x22, 0x97, 0x39, 0x3d, 0x2b, 0x4e, 0xb9, 0xc4, 0xb1, 0xa9, 0xd3, 0x11, - 0x8f, 0x9e, 0x6a, 0xb3, 0x69, 0x6e, 0x3f, 0x94, 0x07, 0x4c, 0x9f, 0x9e, 0x15, 0x87, 0x1e, 0x4b, - 0x66, 0xfd, 0x7e, 0x7d, 0x63, 0x47, 0x1e, 0x22, 0x6d, 0x83, 0x8f, 0xa5, 0x5a, 0xa3, 0xd5, 0xdc, - 0x15, 0xb6, 0x49, 0x65, 0x0b, 0x1f, 0x4b, 0x2b, 0xdf, 0x19, 0x90, 0xd1, 0x0b, 0xbb, 0x23, 0xaa, - 0x93, 0x07, 0x68, 0xed, 0xae, 0x3f, 0x68, 0xb4, 0x5a, 0x8d, 0x6d, 0x91, 0xdc, 0xec, 0xe9, 0x59, - 0x71, 0x90, 0x86, 0xfa, 0x77, 0xa8, 0x6e, 0x0e, 0xdf, 0x01, 0x77, 0x05, 0xb6, 0xfe, 0xb0, 0xba, - 0xb9, 0x5b, 0xdd, 0x11, 0xd8, 0x98, 0xc2, 0x0e, 0xf0, 0xcf, 0x55, 0x48, 0xab, 0x3b, 0x0a, 0xf3, - 0x64, 0x6e, 0xe6, 0xf4, 0xac, 0x18, 0xb1, 0xc3, 0xca, 0x2f, 0x06, 0xcc, 0x0c, 0x51, 0x87, 0x88, - 0xb7, 0xb5, 0xdd, 0x6e, 0x56, 0x3f, 0x7f, 0x50, 0xdf, 0xda, 0x09, 0xef, 0xe2, 0xb0, 0xf0, 0xe3, - 0x2d, 0xee, 0xd2, 0x34, 0xb7, 0x1f, 0x34, 0x5a, 0x51, 0x3d, 0x5c, 0x8f, 0xf5, 0xa8, 0x28, 0x79, - 0x1e, 0xa0, 0xba, 0xbb, 0xf3, 0xd9, 0xb6, 0xd9, 0x78, 0x24, 0x2b, 0x22, 0xb1, 0x38, 0xe0, 0x07, - 0xcc, 0xa3, 0xdf, 0x28, 0xfb, 0xbd, 0xea, 0xae, 0x59, 0xdd, 0xda, 0xa9, 0xcb, 0xaa, 0x48, 0x7b, - 0x07, 0x07, 0x1e, 0x76, 0x38, 0x21, 0x72, 0x46, 0x9b, 0xd5, 0x46, 0x6d, 0x3e, 0xae, 0xda, 0xeb, - 0x62, 0xf5, 0x7c, 0xbf, 0x5b, 0x6d, 0x6c, 0xd6, 0x6b, 0xf3, 0x09, 0xd5, 0xc6, 0x7d, 0x4c, 0xbb, - 0xe7, 0xea, 0x9b, 0x1c, 0xae, 0xef, 0x7a, 0xf3, 0xd9, 0xeb, 0xbc, 0xf1, 0xfc, 0x75, 0xde, 0x78, - 0xf5, 0x3a, 0x6f, 0x3c, 0x79, 0x93, 0x9f, 0x78, 0xfe, 0x26, 0x3f, 0xf1, 0xeb, 0x9b, 0xfc, 0xc4, - 0xa3, 0xf7, 0x07, 0x36, 0x8c, 0x1e, 0xb3, 0x7d, 0x16, 0x38, 0xb6, 0xac, 0x93, 0x90, 0xae, 0xef, - 0x75, 0x99, 0x75, 0x68, 0x1d, 0x60, 0xea, 0x54, 0x8e, 0xc3, 0x7f, 0x10, 0xe5, 0xd6, 0xed, 0x25, - 0xe5, 0xda, 0xdf, 0xf8, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x30, 0xd8, 0x25, 0x48, 0x3b, 0x0e, 0x00, - 0x00, + 0x5f, 0x41, 0x14, 0xa9, 0x36, 0x49, 0x55, 0x41, 0x29, 0x50, 0x39, 0xb1, 0x5b, 0x5c, 0xa5, 0x89, + 0xb5, 0x4e, 0x2a, 0x51, 0x24, 0xac, 0xc9, 0xee, 0xc4, 0x19, 0x62, 0xef, 0x6c, 0x77, 0x67, 0x43, + 0xc2, 0x89, 0x1b, 0x52, 0x2e, 0xf4, 0x82, 0xc4, 0x25, 0x52, 0xaf, 0xf0, 0x97, 0xf4, 0x58, 0x89, + 0x0b, 0x02, 0xa9, 0xad, 0xda, 0x0b, 0x7f, 0x02, 0x47, 0x34, 0x1f, 0xeb, 0xb5, 0x13, 0xab, 0xb5, + 0x90, 0x38, 0xc5, 0xcf, 0xc7, 0xef, 0x99, 0x79, 0xbe, 0x7e, 0x3b, 0x81, 0x02, 0x3d, 0x66, 0x15, + 0xab, 0x8b, 0x69, 0xcf, 0xaf, 0x1c, 0xad, 0xee, 0x11, 0x8e, 0x57, 0xb5, 0x58, 0x76, 0x3d, 0xc6, + 0x19, 0x42, 0xf4, 0x98, 0x95, 0xb5, 0x46, 0x3b, 0xe4, 0x16, 0x3b, 0xac, 0xc3, 0xa4, 0xb9, 0x22, + 0x7e, 0x29, 0xcf, 0x5c, 0xa1, 0xc3, 0x58, 0xa7, 0x4b, 0x2a, 0x52, 0xda, 0x0b, 0xf6, 0x2b, 0x9c, + 0xf6, 0x88, 0xcf, 0x71, 0xcf, 0xd5, 0x0e, 0x79, 0x8b, 0xf9, 0x3d, 0xe6, 0x57, 0xf6, 0xb0, 0x4f, + 0xa2, 0xc3, 0x18, 0x75, 0x42, 0xfb, 0xf9, 0x00, 0x76, 0xe0, 0x61, 0x4e, 0x99, 0xb6, 0x97, 0x9e, + 0xc6, 0x20, 0xd9, 0xc4, 0x1e, 0xee, 0xf9, 0xa8, 0x02, 0x0b, 0x16, 0xeb, 0x76, 0x89, 0x25, 0xcc, + 0x6d, 0x9f, 0x3c, 0x0e, 0x88, 0x63, 0x91, 0xac, 0x51, 0x34, 0x96, 0xe3, 0x26, 0x8a, 0x4c, 0x2d, + 0x6d, 0x41, 0x05, 0xc8, 0xd0, 0x63, 0xd6, 0xc6, 0x96, 0xc5, 0x02, 0x87, 0x67, 0x63, 0x45, 0x63, + 0x39, 0x6d, 0x02, 0x3d, 0x66, 0x55, 0xa5, 0x41, 0x36, 0x5c, 0x76, 0x08, 0xff, 0x86, 0x79, 0x87, + 0xed, 0x7d, 0x42, 0xda, 0x2e, 0xf1, 0x2c, 0xe2, 0x70, 0xdc, 0x21, 0xd9, 0x49, 0xe1, 0xbb, 0x5e, + 0x7e, 0xf6, 0xa2, 0x30, 0xf1, 0xfb, 0x8b, 0xc2, 0x7b, 0x1d, 0xca, 0x0f, 0x82, 0xbd, 0xb2, 0xc5, + 0x7a, 0x15, 0x9d, 0x8f, 0xfa, 0x73, 0xdd, 0xb7, 0x0f, 0x2b, 0xfc, 0xc4, 0x25, 0x7e, 0xb9, 0x46, + 0x2c, 0x73, 0x51, 0x47, 0xbb, 0x4b, 0x48, 0xb3, 0x1f, 0x0b, 0x7d, 0x05, 0x0b, 0x0e, 0xb3, 0xc9, + 0xf9, 0x23, 0xe2, 0xff, 0xe8, 0x88, 0x4b, 0x22, 0xd4, 0x50, 0xfc, 0xd2, 0x0f, 0x71, 0x80, 0x8d, + 0x7e, 0xf6, 0x68, 0x16, 0x62, 0xd4, 0x96, 0x55, 0x49, 0x9b, 0x31, 0x6a, 0xa3, 0xcb, 0x90, 0x24, + 0x0e, 0xa7, 0xfc, 0x44, 0x17, 0x40, 0x4b, 0x68, 0x11, 0x12, 0xd8, 0xee, 0x51, 0x47, 0xe5, 0x6a, + 0x2a, 0x01, 0xe5, 0x20, 0x25, 0x0b, 0x6f, 0xb1, 0xae, 0xba, 0xa1, 0xd9, 0x97, 0xd1, 0x1d, 0x00, + 0x9f, 0x63, 0x8f, 0xb7, 0x6d, 0xcc, 0x49, 0x36, 0x51, 0x34, 0x96, 0x33, 0x6b, 0xb9, 0xb2, 0x6a, + 0x60, 0x39, 0x6c, 0x60, 0x79, 0x27, 0x9c, 0x80, 0xf5, 0xf8, 0x93, 0x97, 0x05, 0xc3, 0x4c, 0x4b, + 0x4c, 0x0d, 0x73, 0x82, 0x6e, 0x43, 0x8a, 0x38, 0xb6, 0x82, 0x27, 0xc7, 0x84, 0x4f, 0x11, 0xc7, + 0x96, 0xe0, 0x45, 0x48, 0x3c, 0x0e, 0x18, 0xc7, 0xd9, 0x29, 0xd9, 0x70, 0x25, 0x08, 0xad, 0xea, + 0x6e, 0x4a, 0x69, 0x55, 0x63, 0xaf, 0x42, 0x9a, 0x1c, 0xe1, 0x6e, 0x80, 0x39, 0xb1, 0xb3, 0x69, + 0x69, 0x89, 0x14, 0x22, 0x47, 0xec, 0xba, 0x1e, 0x3b, 0x22, 0x76, 0x16, 0xa4, 0xb1, 0x2f, 0x0b, + 0x9b, 0x47, 0xbe, 0x26, 0x96, 0x00, 0x66, 0x94, 0x2d, 0x94, 0x85, 0xcd, 0xa6, 0xbe, 0x1b, 0x08, + 0xdb, 0xb4, 0xb2, 0x85, 0x32, 0xba, 0x05, 0x09, 0x9f, 0x8b, 0xbc, 0x66, 0x8a, 0xc6, 0xf2, 0xec, + 0xda, 0xb5, 0xf2, 0xc5, 0x15, 0x2a, 0x47, 0x4d, 0x6a, 0x09, 0x57, 0x53, 0x21, 0xd0, 0x47, 0x90, + 0x72, 0xf1, 0x49, 0x8f, 0x38, 0xdc, 0xcf, 0xce, 0xca, 0xaa, 0x5c, 0x1d, 0x85, 0x6e, 0x6a, 0x1f, + 0xb3, 0xef, 0x2d, 0x5a, 0xeb, 0xd3, 0x8e, 0x43, 0xbc, 0xec, 0x9c, 0x6a, 0xad, 0x92, 0x4a, 0x7f, + 0x19, 0x90, 0x0a, 0xdd, 0xd1, 0x6d, 0x00, 0x3f, 0xd8, 0xeb, 0x51, 0xdf, 0xa7, 0xcc, 0x91, 0x73, + 0x91, 0x59, 0xbb, 0xf2, 0x96, 0x03, 0xcc, 0x01, 0x77, 0x01, 0xd6, 0x75, 0x13, 0xe0, 0xd8, 0x18, + 0xe0, 0xc8, 0x1d, 0x7d, 0x18, 0xd6, 0x19, 0x77, 0xe5, 0x90, 0xbd, 0x03, 0xda, 0x77, 0x46, 0xb7, + 0x20, 0xad, 0x8a, 0x2e, 0x0e, 0x8d, 0xbf, 0x1b, 0x19, 0x79, 0x97, 0x7e, 0x8e, 0xc1, 0x94, 0x56, + 0xa3, 0x2c, 0x4c, 0x85, 0xbb, 0xaf, 0xd6, 0x21, 0x14, 0x91, 0x05, 0x49, 0xdc, 0xd3, 0xa4, 0x30, + 0xb9, 0x9c, 0x59, 0x5b, 0x2a, 0xab, 0x65, 0x2b, 0x0b, 0x9a, 0x1a, 0xe8, 0x17, 0x75, 0xd6, 0x3f, + 0x10, 0x0b, 0xfa, 0xcb, 0xcb, 0xc2, 0xf2, 0x18, 0x0b, 0x2a, 0x00, 0xbe, 0xa9, 0x43, 0xa3, 0x2f, + 0xe1, 0x3f, 0x16, 0x73, 0xb8, 0x87, 0x2d, 0xde, 0x5e, 0x5d, 0xbd, 0x79, 0xb3, 0xad, 0xfb, 0xa6, + 0x6b, 0xf1, 0xfe, 0xe8, 0x11, 0x51, 0x00, 0xe1, 0x1f, 0x66, 0xb7, 0x60, 0x5d, 0x54, 0xa2, 0x75, + 0x00, 0x41, 0xb5, 0x2c, 0xe0, 0x6d, 0xc7, 0xd7, 0x35, 0x5a, 0xba, 0xb0, 0x4c, 0x35, 0x4d, 0xa6, + 0xeb, 0x29, 0x91, 0xc5, 0x4f, 0x72, 0x1d, 0x35, 0x6c, 0xcb, 0x2f, 0x1d, 0xc0, 0xc2, 0x88, 0xf3, + 0x64, 0xd9, 0x6c, 0xdb, 0x23, 0xbe, 0xdf, 0x2f, 0x9b, 0x12, 0xd1, 0x12, 0xa4, 0x38, 0x3b, 0x24, + 0x4e, 0x9b, 0xda, 0x9a, 0x4c, 0xa6, 0xa4, 0xdc, 0x90, 0x2c, 0xa3, 0x2b, 0x2a, 0xb2, 0x9b, 0x09, + 0x8b, 0xf0, 0x71, 0xfc, 0xcf, 0xa7, 0x05, 0xa3, 0xf4, 0x2a, 0x06, 0x89, 0x0d, 0x91, 0x29, 0xba, + 0x06, 0x33, 0x03, 0x24, 0xde, 0x27, 0xaa, 0xe9, 0x48, 0xd9, 0xb0, 0xd1, 0x15, 0x48, 0xe3, 0x0e, + 0x71, 0x78, 0xdb, 0xee, 0x1f, 0x94, 0x92, 0x8a, 0x1a, 0xb5, 0x45, 0x04, 0x65, 0x0c, 0x2f, 0xa9, + 0xf8, 0x6b, 0x5a, 0x2a, 0xab, 0xfa, 0xa6, 0x0d, 0x98, 0x8b, 0xa6, 0x58, 0x11, 0x4e, 0x7c, 0x4c, + 0xc2, 0x99, 0x8d, 0x80, 0x92, 0x77, 0x96, 0x20, 0x25, 0x9b, 0x24, 0x2e, 0x9b, 0x50, 0x49, 0x4b, + 0xb9, 0x61, 0xa3, 0xcf, 0x86, 0xb6, 0x43, 0x31, 0x5a, 0x7e, 0x54, 0x5b, 0xeb, 0x7d, 0xaf, 0xa1, + 0x05, 0xb9, 0x0f, 0x73, 0xe1, 0x2e, 0xb7, 0x05, 0x17, 0x04, 0xbe, 0x24, 0xb7, 0xcc, 0xda, 0xff, + 0x46, 0xce, 0x86, 0x10, 0xfb, 0x2c, 0x30, 0x1b, 0x22, 0x5b, 0x12, 0x58, 0xfa, 0x31, 0x06, 0x33, + 0x43, 0x1e, 0xa8, 0x7a, 0x61, 0xf1, 0x67, 0x47, 0x07, 0xd6, 0x08, 0x15, 0x68, 0x68, 0xfd, 0xab, + 0x17, 0xd6, 0x7f, 0xbc, 0x10, 0x03, 0x39, 0x7e, 0x7a, 0x8e, 0x04, 0xc6, 0x0a, 0x10, 0x51, 0xc1, + 0x9d, 0xf3, 0x54, 0x30, 0x16, 0x7e, 0x80, 0x10, 0xfe, 0x98, 0x04, 0x88, 0xca, 0x3f, 0xd4, 0x4d, + 0x63, 0xb8, 0x9b, 0x17, 0x46, 0x33, 0x36, 0x62, 0x34, 0x2f, 0x43, 0x92, 0x79, 0xd8, 0xea, 0xea, + 0x27, 0x82, 0xa9, 0xa5, 0xe1, 0x91, 0x8d, 0xbf, 0x6b, 0x64, 0x13, 0x23, 0x46, 0xf6, 0x13, 0x48, + 0xea, 0x19, 0x48, 0xca, 0x34, 0xff, 0xff, 0xf6, 0x41, 0xd2, 0x99, 0x6a, 0x8c, 0xb8, 0x97, 0x47, + 0xb0, 0xcf, 0x1c, 0x39, 0x41, 0x33, 0xa6, 0x96, 0xd0, 0x75, 0x40, 0x47, 0xc4, 0xa3, 0xfb, 0xd4, + 0x92, 0xa8, 0xb6, 0xeb, 0x31, 0xb6, 0x2f, 0x3f, 0x96, 0x69, 0xf3, 0xd2, 0xa0, 0xa5, 0x29, 0x0c, + 0x62, 0x6f, 0xa2, 0xde, 0xa9, 0xbd, 0x49, 0x8f, 0xbb, 0x37, 0x11, 0x50, 0xee, 0x4d, 0xc4, 0xb1, + 0xf0, 0xaf, 0x71, 0x6c, 0xe9, 0x31, 0x4c, 0xd5, 0xd4, 0x27, 0x18, 0xfd, 0x57, 0x8e, 0xbb, 0x68, + 0x7b, 0xd4, 0xdb, 0xb4, 0xd6, 0x34, 0x6c, 0x84, 0x20, 0x2e, 0x02, 0xc8, 0xa6, 0x26, 0x4c, 0xf9, + 0x1b, 0xdd, 0x80, 0xb8, 0x8d, 0x39, 0xd6, 0x84, 0x5c, 0x18, 0x55, 0x70, 0x1d, 0xbd, 0x86, 0x39, + 0x36, 0xa5, 0x73, 0xa9, 0x03, 0x99, 0x01, 0x25, 0x9a, 0x87, 0xc9, 0xc0, 0xa3, 0xfa, 0x3c, 0xf1, + 0x73, 0xe8, 0xa4, 0xb4, 0x3e, 0x69, 0x11, 0x12, 0xaa, 0xf2, 0xfa, 0xb1, 0x25, 0x05, 0xf9, 0x4c, + 0x71, 0x2c, 0xef, 0xc4, 0x15, 0x2f, 0x0a, 0x31, 0x34, 0x29, 0x33, 0x52, 0xac, 0xec, 0xc2, 0xdc, + 0xb9, 0x17, 0x83, 0x08, 0xbd, 0xdd, 0xac, 0x6f, 0xcd, 0x4f, 0xe4, 0x52, 0xa7, 0x67, 0xc5, 0x38, + 0x73, 0x89, 0x23, 0x3a, 0xdf, 0xac, 0xee, 0xb6, 0xea, 0xb5, 0x79, 0x23, 0x07, 0xa7, 0x67, 0xc5, + 0xa4, 0x8b, 0x03, 0x9f, 0xc8, 0x49, 0xdd, 0xd8, 0xdc, 0x16, 0xfa, 0x98, 0xd2, 0x5b, 0x5d, 0xe6, + 0x13, 0x7b, 0xe5, 0x3b, 0x03, 0xe6, 0xcf, 0x8f, 0x91, 0xe0, 0xfc, 0x66, 0x7d, 0xab, 0xd6, 0xd8, + 0xba, 0x37, 0x3f, 0x91, 0xcb, 0x9c, 0x9e, 0x15, 0xa7, 0x5c, 0xe2, 0xd8, 0xd4, 0xe9, 0x88, 0x47, + 0x4f, 0xb5, 0xd9, 0x34, 0xb7, 0x1f, 0xca, 0x03, 0xa6, 0x4f, 0xcf, 0x8a, 0x43, 0x8f, 0x25, 0xb3, + 0x7e, 0xbf, 0xbe, 0xb1, 0x23, 0x0f, 0x91, 0xb6, 0xc1, 0xc7, 0x52, 0xad, 0xd1, 0x6a, 0xee, 0x0a, + 0xdb, 0xa4, 0xb2, 0x85, 0x8f, 0xa5, 0x95, 0xef, 0x0d, 0xc8, 0xe8, 0x85, 0xdd, 0x11, 0xd5, 0xc9, + 0x03, 0xb4, 0x76, 0xd7, 0x1f, 0x34, 0x5a, 0xad, 0xc6, 0xb6, 0x48, 0x6e, 0xf6, 0xf4, 0xac, 0x38, + 0x48, 0x43, 0xfd, 0x3b, 0x54, 0x37, 0x87, 0xef, 0x80, 0xbb, 0x02, 0x5b, 0x7f, 0x58, 0xdd, 0xdc, + 0xad, 0xee, 0x08, 0x6c, 0x4c, 0x61, 0x07, 0xf8, 0xe7, 0x2a, 0xa4, 0xd5, 0x1d, 0x85, 0x79, 0x32, + 0x37, 0x73, 0x7a, 0x56, 0x8c, 0xd8, 0x61, 0xe5, 0x57, 0x03, 0x66, 0x86, 0xa8, 0x43, 0xc4, 0xdb, + 0xda, 0x6e, 0x37, 0xab, 0x5f, 0x3c, 0xa8, 0x6f, 0xed, 0x84, 0x77, 0x71, 0x58, 0xf8, 0xf1, 0x16, + 0x77, 0x69, 0x9a, 0xdb, 0x0f, 0x1a, 0xad, 0xa8, 0x1e, 0xae, 0xc7, 0x7a, 0x54, 0x94, 0x3c, 0x0f, + 0x50, 0xdd, 0xdd, 0xf9, 0x7c, 0xdb, 0x6c, 0x3c, 0x92, 0x15, 0x91, 0x58, 0x1c, 0xf0, 0x03, 0xe6, + 0xd1, 0x6f, 0x95, 0xfd, 0x5e, 0x75, 0xd7, 0xac, 0x6e, 0xed, 0xd4, 0x65, 0x55, 0xa4, 0xbd, 0x83, + 0x03, 0x0f, 0x3b, 0x9c, 0x10, 0x39, 0xa3, 0xcd, 0x6a, 0xa3, 0x36, 0x1f, 0x57, 0xed, 0x75, 0xb1, + 0x7a, 0xbe, 0xdf, 0xad, 0x36, 0x36, 0xeb, 0xb5, 0xf9, 0x84, 0x6a, 0xe3, 0x3e, 0xa6, 0xdd, 0x73, + 0xf5, 0x4d, 0x0e, 0xd7, 0x77, 0xbd, 0xf5, 0xec, 0x75, 0xde, 0x78, 0xfe, 0x3a, 0x6f, 0xbc, 0x7a, + 0x9d, 0x37, 0x9e, 0xbc, 0xc9, 0x4f, 0x3c, 0x7f, 0x93, 0x9f, 0xf8, 0xed, 0x4d, 0x7e, 0xe2, 0xd1, + 0xad, 0x81, 0x0d, 0xa3, 0xc7, 0x6c, 0x9f, 0x05, 0x8e, 0x2d, 0xeb, 0x24, 0xa4, 0xeb, 0x7b, 0x5d, + 0x66, 0x1d, 0x5a, 0x07, 0x98, 0x3a, 0x95, 0xa3, 0xb5, 0xca, 0x71, 0xf8, 0x3f, 0xa2, 0x5c, 0xbc, + 0xbd, 0xa4, 0xdc, 0xfc, 0x1b, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xef, 0x10, 0xad, 0xdc, 0x3e, + 0x0e, 0x00, 0x00, } func (this *Contract1155Payment) Equal(that interface{}) bool { diff --git a/x/claims/types/cosmos.pb.go b/x/claims/types/cosmos.pb.go index fc270349..7e3428e6 100644 --- a/x/claims/types/cosmos.pb.go +++ b/x/claims/types/cosmos.pb.go @@ -112,26 +112,26 @@ func init() { func init() { proto.RegisterFile("ixo/claims/v1beta1/cosmos.proto", fileDescriptor_11643540f1a672a2) } var fileDescriptor_11643540f1a672a2 = []byte{ - // 293 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcf, 0xac, 0xc8, 0xd7, - 0x4f, 0xce, 0x49, 0xcc, 0xcc, 0x2d, 0xd6, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, - 0xce, 0x2f, 0xce, 0xcd, 0x2f, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0xca, 0xac, 0xc8, - 0xd7, 0x83, 0x28, 0xd0, 0x83, 0x2a, 0x90, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x4b, 0xeb, 0x83, - 0x58, 0x10, 0x95, 0x52, 0x92, 0x10, 0x7d, 0xf1, 0x10, 0x09, 0x64, 0x43, 0xa4, 0xe4, 0x20, 0x3c, - 0xfd, 0xa4, 0xc4, 0xe2, 0x54, 0x24, 0x6b, 0x32, 0xf3, 0x20, 0xf2, 0x4a, 0x7d, 0x8c, 0x5c, 0xac, - 0x9e, 0x79, 0x05, 0xa5, 0x25, 0x42, 0x12, 0x5c, 0xec, 0x89, 0x29, 0x29, 0x45, 0xa9, 0xc5, 0xc5, - 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x30, 0xae, 0x50, 0x22, 0x17, 0x2b, 0x48, 0x47, 0xb1, - 0x04, 0x93, 0x02, 0xb3, 0x06, 0xb7, 0x91, 0xa4, 0x1e, 0xd4, 0x06, 0x90, 0x99, 0x30, 0x97, 0xe9, - 0x39, 0xe7, 0x67, 0xe6, 0x39, 0x19, 0x9c, 0xb8, 0x27, 0xcf, 0xb0, 0xea, 0xbe, 0xbc, 0x46, 0x7a, - 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0x2e, 0xd4, 0x39, 0x50, 0x4a, 0xb7, 0x38, 0x25, - 0x5b, 0xbf, 0xa4, 0xb2, 0x20, 0xb5, 0x18, 0xac, 0xa1, 0x38, 0x08, 0x62, 0xb2, 0x15, 0x47, 0xc7, - 0x02, 0x79, 0x86, 0x17, 0x0b, 0xe4, 0x19, 0x95, 0xfa, 0x19, 0xb9, 0xd8, 0xfc, 0x4b, 0x4b, 0x06, - 0x8f, 0x8b, 0x9c, 0x02, 0x4e, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, - 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0x2e, 0x3c, 0x96, 0x63, 0xb8, 0xf1, 0x58, 0x8e, 0x21, 0xca, 0x0c, - 0xc9, 0xd0, 0xcc, 0x8a, 0xfc, 0xb4, 0xfc, 0xd2, 0xbc, 0x94, 0xc4, 0x92, 0xcc, 0xfc, 0x3c, 0x10, - 0x4f, 0x37, 0x29, 0x27, 0x3f, 0x39, 0x3b, 0x39, 0x23, 0x31, 0x33, 0x4f, 0xbf, 0x02, 0x16, 0xd1, - 0x60, 0x8b, 0x92, 0xd8, 0xc0, 0x61, 0x6f, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x4c, 0xe5, 0x87, - 0x86, 0x03, 0x02, 0x00, 0x00, + // 294 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x51, 0x3b, 0x4e, 0xc3, 0x30, + 0x18, 0x8e, 0x41, 0x2d, 0x10, 0xb6, 0x88, 0x21, 0xcd, 0xe0, 0x54, 0x9d, 0xb2, 0xd4, 0xa6, 0x65, + 0x82, 0xb1, 0x4c, 0x4c, 0x48, 0x65, 0x63, 0x41, 0xce, 0x83, 0xd4, 0x6a, 0xe3, 0x3f, 0xaa, 0x9d, + 0x2a, 0xdc, 0x80, 0x09, 0x38, 0x42, 0x67, 0x4e, 0xd2, 0xb1, 0x23, 0x13, 0xa0, 0x64, 0xe1, 0x18, + 0x28, 0x71, 0x22, 0xe5, 0x08, 0x9d, 0xec, 0x4f, 0xdf, 0x53, 0xb6, 0xe9, 0xf2, 0x1c, 0x68, 0xb0, + 0x62, 0x3c, 0x91, 0x74, 0x33, 0xf1, 0x23, 0xc5, 0x26, 0x34, 0x00, 0x99, 0x80, 0x24, 0xe9, 0x1a, + 0x14, 0x58, 0x16, 0xcf, 0x81, 0x68, 0x01, 0x69, 0x04, 0xce, 0x45, 0x0c, 0x31, 0xd4, 0x34, 0xad, + 0x6e, 0x5a, 0xe9, 0x0c, 0xb4, 0xef, 0x49, 0x13, 0xdd, 0x10, 0x07, 0x6b, 0x44, 0x7d, 0x26, 0xa3, + 0x4e, 0x0d, 0x17, 0x9a, 0x1f, 0xbd, 0x21, 0xb3, 0x77, 0x27, 0xd2, 0x4c, 0x59, 0xb6, 0x79, 0xc2, + 0xc2, 0x70, 0x1d, 0x49, 0x69, 0xa3, 0x21, 0xf2, 0xce, 0xe6, 0x2d, 0xb4, 0x98, 0xd9, 0xab, 0x1c, + 0xd2, 0x3e, 0x1a, 0x1e, 0x7b, 0xe7, 0xd3, 0x01, 0x69, 0x1a, 0xaa, 0xcc, 0x76, 0x19, 0xb9, 0x05, + 0x2e, 0x66, 0x97, 0xbb, 0x6f, 0xd7, 0xf8, 0xfc, 0x71, 0xbd, 0x98, 0xab, 0x45, 0xe6, 0x93, 0x00, + 0x92, 0x66, 0x4e, 0x73, 0x8c, 0x65, 0xb8, 0xa4, 0xea, 0x25, 0x8d, 0x64, 0x6d, 0x90, 0x73, 0x9d, + 0x7c, 0x73, 0xfa, 0xba, 0x75, 0x8d, 0xbf, 0xad, 0x8b, 0x46, 0xef, 0xc8, 0xec, 0xdf, 0x67, 0xea, + 0x70, 0x16, 0xcd, 0x1e, 0x76, 0x05, 0x46, 0xfb, 0x02, 0xa3, 0xdf, 0x02, 0xa3, 0x8f, 0x12, 0x1b, + 0xfb, 0x12, 0x1b, 0x5f, 0x25, 0x36, 0x1e, 0xaf, 0x3b, 0xa1, 0x3c, 0x87, 0x67, 0xc8, 0x44, 0xc8, + 0x14, 0x07, 0x51, 0xa1, 0xb1, 0xbf, 0x82, 0x60, 0x19, 0x2c, 0x18, 0x17, 0x74, 0x33, 0xa5, 0x79, + 0xfb, 0xd7, 0x75, 0x97, 0xdf, 0xaf, 0x9f, 0xff, 0xea, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x0b, + 0x76, 0xd3, 0x06, 0x02, 0x00, 0x00, } func (this *Input) Equal(that interface{}) bool { diff --git a/x/claims/types/event.pb.go b/x/claims/types/event.pb.go index 7d751d3e..905a7c82 100644 --- a/x/claims/types/event.pb.go +++ b/x/claims/types/event.pb.go @@ -397,31 +397,31 @@ func init() { func init() { proto.RegisterFile("ixo/claims/v1beta1/event.proto", fileDescriptor_26b125bce36ddb45) } var fileDescriptor_26b125bce36ddb45 = []byte{ - // 375 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x93, 0xbd, 0x4e, 0xfb, 0x30, - 0x14, 0xc5, 0x9b, 0xe1, 0xff, 0x21, 0x33, 0x11, 0x3e, 0x04, 0xad, 0x64, 0x50, 0x26, 0x16, 0x62, - 0x15, 0x04, 0x23, 0x03, 0x69, 0x19, 0x60, 0xa9, 0x82, 0x2a, 0x10, 0x9b, 0xe3, 0x98, 0xc6, 0x22, - 0xb1, 0xa3, 0xc4, 0x69, 0x53, 0x9e, 0x82, 0xc7, 0x62, 0xec, 0xc8, 0x88, 0xda, 0x17, 0x41, 0x89, - 0xdd, 0xd0, 0x40, 0x24, 0x84, 0xd4, 0x2d, 0xf7, 0x9e, 0x73, 0x7e, 0xf7, 0x3a, 0xb2, 0x01, 0x64, - 0xb9, 0x40, 0x24, 0xc4, 0x2c, 0x4a, 0xd1, 0xb8, 0xeb, 0x51, 0x89, 0xbb, 0x88, 0x8e, 0x29, 0x97, - 0x76, 0x9c, 0x08, 0x29, 0x4c, 0x93, 0xe5, 0xc2, 0x56, 0xba, 0xad, 0xf5, 0xf6, 0xf6, 0x48, 0x8c, - 0x44, 0x29, 0xa3, 0xe2, 0x4b, 0x39, 0xdb, 0x07, 0x0d, 0x24, 0x1d, 0x54, 0x86, 0xa6, 0x51, 0x38, - 0x93, 0xc1, 0xb3, 0xd2, 0xad, 0x7b, 0xb0, 0xeb, 0x88, 0x30, 0xa4, 0x44, 0x32, 0xc1, 0x9d, 0x84, - 0x62, 0x49, 0xfd, 0x7e, 0xb1, 0x8a, 0x79, 0x01, 0x00, 0xa9, 0x94, 0x3d, 0xe3, 0xd0, 0x38, 0xda, - 0x38, 0x81, 0xf6, 0xf7, 0xcd, 0xec, 0xcf, 0xbc, 0xbb, 0x92, 0xa8, 0x93, 0x87, 0xb1, 0xbf, 0x3e, - 0xf2, 0x15, 0xd8, 0x72, 0x0a, 0xe3, 0x6d, 0xe6, 0x45, 0x4c, 0x56, 0x58, 0x04, 0xfe, 0x94, 0x79, - 0x4d, 0xdc, 0x6f, 0x24, 0x16, 0xa5, 0xab, 0x7c, 0x56, 0x0f, 0x6c, 0x96, 0x75, 0x6d, 0xb9, 0x5f, - 0x53, 0x86, 0x7a, 0x9b, 0xfe, 0x18, 0x87, 0x59, 0xed, 0x90, 0x54, 0x75, 0x7e, 0x38, 0x64, 0xbf, - 0x72, 0xb9, 0x2b, 0x09, 0xeb, 0x06, 0x98, 0x25, 0xb6, 0xc7, 0xd2, 0x38, 0xab, 0xa8, 0x67, 0xe0, - 0x9f, 0xaf, 0x1a, 0x1a, 0xd9, 0x69, 0x42, 0xea, 0x8c, 0xbb, 0xf4, 0x5a, 0x04, 0xec, 0x0c, 0xf0, - 0x34, 0xa2, 0x5c, 0xde, 0x31, 0x19, 0xf8, 0x09, 0x9e, 0x70, 0xc5, 0xbb, 0x06, 0xff, 0x27, 0xba, - 0xa3, 0x81, 0x76, 0x13, 0x70, 0x99, 0xd2, 0x10, 0x47, 0xf0, 0x54, 0x26, 0x98, 0x71, 0x99, 0xba, - 0x55, 0xde, 0x62, 0xa0, 0xf3, 0x65, 0x48, 0xed, 0x3e, 0xad, 0x71, 0xd4, 0xe5, 0xe0, 0x75, 0x0e, - 0x8d, 0xd9, 0x1c, 0x1a, 0xef, 0x73, 0x68, 0xbc, 0x2c, 0x60, 0x6b, 0xb6, 0x80, 0xad, 0xb7, 0x05, - 0x6c, 0x3d, 0x9c, 0x8f, 0x98, 0x0c, 0x32, 0xcf, 0x26, 0x22, 0x42, 0x2c, 0x17, 0x8f, 0x22, 0xe3, - 0x7e, 0xf9, 0x43, 0x8b, 0xea, 0xd8, 0x0b, 0x05, 0x79, 0x22, 0x01, 0x66, 0x1c, 0xe5, 0xcb, 0x57, - 0x21, 0xa7, 0x31, 0x4d, 0xbd, 0xbf, 0xe5, 0x73, 0x38, 0xfd, 0x08, 0x00, 0x00, 0xff, 0xff, 0x7d, - 0x27, 0x8b, 0xa3, 0x9b, 0x03, 0x00, 0x00, + // 379 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x93, 0xbf, 0x4e, 0xf3, 0x30, + 0x14, 0xc5, 0x9b, 0xe1, 0xfb, 0x40, 0x66, 0x22, 0xfc, 0x11, 0xb4, 0x92, 0x41, 0x99, 0x58, 0x88, + 0xd5, 0x22, 0x06, 0x16, 0x06, 0xd2, 0x32, 0xc0, 0x82, 0x52, 0x55, 0x20, 0x36, 0x27, 0x31, 0x8d, + 0x45, 0x62, 0x47, 0x89, 0x93, 0xa6, 0x3c, 0x05, 0x8f, 0xc5, 0xd8, 0x91, 0x11, 0xb5, 0x2f, 0x82, + 0x12, 0xbb, 0xa1, 0x81, 0x48, 0x08, 0xa9, 0x5b, 0xee, 0x3d, 0xe7, 0xfc, 0xee, 0x75, 0x64, 0x03, + 0x48, 0x73, 0x8e, 0xdc, 0x00, 0xd3, 0x30, 0x41, 0x59, 0xd7, 0x21, 0x02, 0x77, 0x11, 0xc9, 0x08, + 0x13, 0x66, 0x14, 0x73, 0xc1, 0x75, 0x9d, 0xe6, 0xdc, 0x94, 0xba, 0xa9, 0xf4, 0xf6, 0xee, 0x98, + 0x8f, 0x79, 0x29, 0xa3, 0xe2, 0x4b, 0x3a, 0xdb, 0x47, 0x0d, 0x24, 0x15, 0x94, 0x86, 0xa6, 0x51, + 0x38, 0x15, 0xfe, 0x8b, 0xd4, 0x8d, 0x07, 0xb0, 0x6f, 0xf1, 0x20, 0x20, 0xae, 0xa0, 0x9c, 0x59, + 0x31, 0xc1, 0x82, 0x78, 0x83, 0x62, 0x15, 0xfd, 0x12, 0x00, 0xb7, 0x52, 0x0e, 0xb4, 0x63, 0xed, + 0x64, 0xab, 0x07, 0xcd, 0x9f, 0x9b, 0x99, 0x5f, 0x79, 0x7b, 0x25, 0x51, 0x27, 0x8f, 0x22, 0x6f, + 0x7d, 0xe4, 0x6b, 0xb0, 0x63, 0x15, 0xc6, 0x61, 0xea, 0x84, 0x54, 0x54, 0x58, 0x04, 0xfe, 0x95, + 0x79, 0x45, 0x3c, 0x6c, 0x24, 0x16, 0xa5, 0x2d, 0x7d, 0x46, 0x1f, 0x6c, 0x97, 0x75, 0x6d, 0xb9, + 0x3f, 0x53, 0x46, 0x6a, 0x9b, 0x41, 0x86, 0x83, 0xb4, 0x76, 0x48, 0x22, 0x3b, 0xbf, 0x1c, 0x72, + 0x50, 0xb9, 0xec, 0x95, 0x84, 0x71, 0x0b, 0xf4, 0x12, 0xdb, 0xa7, 0x49, 0x94, 0x56, 0xd4, 0x73, + 0xb0, 0xe1, 0xc9, 0x86, 0x42, 0x76, 0x9a, 0x90, 0x2a, 0x63, 0x2f, 0xbd, 0x86, 0x0b, 0xf6, 0xee, + 0xf0, 0x34, 0x24, 0x4c, 0xdc, 0x53, 0xe1, 0x7b, 0x31, 0x9e, 0x30, 0xc9, 0xbb, 0x01, 0x9b, 0x13, + 0xd5, 0x51, 0x40, 0xb3, 0x09, 0xb8, 0x4c, 0x29, 0x88, 0xc5, 0x59, 0x22, 0x62, 0x4c, 0x99, 0x48, + 0xec, 0x2a, 0x6f, 0x50, 0xd0, 0xf9, 0x36, 0xa4, 0x76, 0x9f, 0xd6, 0x38, 0xea, 0x6a, 0xf8, 0x36, + 0x87, 0xda, 0x6c, 0x0e, 0xb5, 0x8f, 0x39, 0xd4, 0x5e, 0x17, 0xb0, 0x35, 0x5b, 0xc0, 0xd6, 0xfb, + 0x02, 0xb6, 0x1e, 0x2f, 0xc6, 0x54, 0xf8, 0xa9, 0x63, 0xba, 0x3c, 0x44, 0x34, 0xe7, 0x4f, 0x3c, + 0x65, 0x5e, 0xf9, 0x43, 0x8b, 0xea, 0xd4, 0x09, 0xb8, 0xfb, 0xec, 0xfa, 0x98, 0x32, 0x94, 0xf5, + 0x50, 0xbe, 0x7c, 0x18, 0x62, 0x1a, 0x91, 0xc4, 0xf9, 0x5f, 0xbe, 0x88, 0xb3, 0xcf, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x0a, 0x7d, 0xa5, 0x06, 0x9e, 0x03, 0x00, 0x00, } func (m *CollectionCreatedEvent) Marshal() (dAtA []byte, err error) { diff --git a/x/claims/types/genesis.pb.go b/x/claims/types/genesis.pb.go index 7b81f75e..eb5b7690 100644 --- a/x/claims/types/genesis.pb.go +++ b/x/claims/types/genesis.pb.go @@ -99,26 +99,26 @@ func init() { func init() { proto.RegisterFile("ixo/claims/v1beta1/genesis.proto", fileDescriptor_43a260806dd06159) } var fileDescriptor_43a260806dd06159 = []byte{ - // 293 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xb1, 0x4e, 0xeb, 0x30, - 0x14, 0x86, 0x93, 0xb6, 0xaa, 0xae, 0xdc, 0x3b, 0x59, 0x0c, 0xa1, 0x48, 0x6e, 0xc4, 0xd4, 0x05, - 0x5b, 0x2d, 0x12, 0xb0, 0xb0, 0x14, 0x04, 0x6b, 0x05, 0x1b, 0x9b, 0xe3, 0x9a, 0xd4, 0x22, 0xc9, - 0x89, 0x6a, 0x07, 0x85, 0x37, 0x60, 0xe4, 0xb1, 0x3a, 0x76, 0x64, 0x42, 0x28, 0x79, 0x11, 0x14, - 0x3b, 0xad, 0x90, 0xc8, 0xe6, 0xa3, 0xf3, 0x7d, 0xbf, 0x8f, 0x7e, 0x14, 0xaa, 0x12, 0x98, 0x48, - 0xb8, 0x4a, 0x35, 0x7b, 0x9d, 0x45, 0xd2, 0xf0, 0x19, 0x8b, 0x65, 0x26, 0xb5, 0xd2, 0x34, 0xdf, - 0x80, 0x01, 0x8c, 0x55, 0x09, 0xd4, 0x11, 0xb4, 0x25, 0xc6, 0x47, 0x31, 0xc4, 0x60, 0xd7, 0xac, - 0x79, 0x39, 0x72, 0x3c, 0xe9, 0xc8, 0x6a, 0x45, 0x0b, 0x9c, 0xbe, 0xf7, 0xd0, 0xff, 0x7b, 0x17, - 0xfe, 0x68, 0xb8, 0x91, 0xf8, 0x0a, 0x0d, 0x73, 0xbe, 0xe1, 0xa9, 0x0e, 0xfc, 0xd0, 0x9f, 0x8e, - 0xe6, 0x63, 0xfa, 0xf7, 0x33, 0xba, 0xb4, 0xc4, 0x62, 0xb0, 0xfd, 0x9a, 0x78, 0x0f, 0x2d, 0x8f, - 0xef, 0xd0, 0x48, 0x40, 0x92, 0x48, 0x61, 0x14, 0x64, 0x3a, 0xe8, 0x85, 0xfd, 0xe9, 0x68, 0x4e, - 0xba, 0xf4, 0x9b, 0x03, 0xd6, 0x46, 0xfc, 0x16, 0xf1, 0x25, 0x1a, 0x3a, 0x3e, 0xe8, 0xdb, 0x88, - 0xe3, 0xce, 0x88, 0x66, 0xdc, 0x1f, 0xe0, 0x76, 0xf8, 0x1a, 0xfd, 0x5b, 0x29, 0x9d, 0x17, 0x46, - 0xea, 0x60, 0x60, 0xd5, 0x93, 0x2e, 0xf5, 0xd6, 0x31, 0xad, 0x7c, 0x50, 0x16, 0xcb, 0x6d, 0x45, - 0xfc, 0x5d, 0x45, 0xfc, 0xef, 0x8a, 0xf8, 0x1f, 0x35, 0xf1, 0x76, 0x35, 0xf1, 0x3e, 0x6b, 0xe2, - 0x3d, 0x5d, 0xc4, 0xca, 0xac, 0x8b, 0x88, 0x0a, 0x48, 0x99, 0x2a, 0xe1, 0x19, 0x8a, 0x6c, 0xc5, - 0x9b, 0x63, 0x9b, 0xe9, 0x2c, 0x4a, 0x40, 0xbc, 0x88, 0x35, 0x57, 0x19, 0x2b, 0xf7, 0x5d, 0x9b, - 0xb7, 0x5c, 0xea, 0x68, 0x68, 0x3b, 0x3e, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0xbc, 0xa8, 0xc7, - 0x9d, 0xd2, 0x01, 0x00, 0x00, + // 294 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xb1, 0x4e, 0xc3, 0x30, + 0x10, 0x86, 0x93, 0xb6, 0xaa, 0x90, 0xcb, 0x64, 0x31, 0x84, 0x22, 0xb9, 0x15, 0x53, 0x17, 0x6c, + 0xb5, 0x0c, 0xc0, 0xc0, 0x52, 0x10, 0xac, 0x88, 0x6e, 0x6c, 0x8e, 0x6b, 0x52, 0x8b, 0x24, 0x17, + 0xd5, 0x4e, 0x15, 0xde, 0x80, 0x91, 0xc7, 0xea, 0xd8, 0x91, 0x09, 0xa1, 0xe4, 0x45, 0x50, 0xec, + 0xb4, 0x42, 0x22, 0x9b, 0x4f, 0xf7, 0x7d, 0xbf, 0x4f, 0x3f, 0x1a, 0xab, 0x02, 0x98, 0x88, 0xb9, + 0x4a, 0x34, 0xdb, 0x4c, 0x43, 0x69, 0xf8, 0x94, 0x45, 0x32, 0x95, 0x5a, 0x69, 0x9a, 0xad, 0xc1, + 0x00, 0xc6, 0xaa, 0x00, 0xea, 0x08, 0xda, 0x10, 0xc3, 0x93, 0x08, 0x22, 0xb0, 0x6b, 0x56, 0xbf, + 0x1c, 0x39, 0x1c, 0xb5, 0x64, 0x35, 0xa2, 0x05, 0xce, 0x3f, 0x3a, 0xe8, 0xf8, 0xd1, 0x85, 0x2f, + 0x0c, 0x37, 0x12, 0x5f, 0xa3, 0x7e, 0xc6, 0xd7, 0x3c, 0xd1, 0x81, 0x3f, 0xf6, 0x27, 0x83, 0xd9, + 0x90, 0xfe, 0xff, 0x8c, 0x3e, 0x59, 0x62, 0xde, 0xdb, 0x7e, 0x8f, 0xbc, 0xe7, 0x86, 0xc7, 0x0f, + 0x68, 0x20, 0x20, 0x8e, 0xa5, 0x30, 0x0a, 0x52, 0x1d, 0x74, 0xc6, 0xdd, 0xc9, 0x60, 0x46, 0xda, + 0xf4, 0xbb, 0x03, 0xd6, 0x44, 0xfc, 0x15, 0xf1, 0x15, 0xea, 0x3b, 0x3e, 0xe8, 0xda, 0x88, 0xd3, + 0xd6, 0x88, 0x7a, 0xdc, 0x1f, 0xe0, 0x76, 0xf8, 0x16, 0x1d, 0x2d, 0x95, 0xce, 0x72, 0x23, 0x75, + 0xd0, 0xb3, 0xea, 0x59, 0x9b, 0x7a, 0xef, 0x98, 0x46, 0x3e, 0x28, 0xf3, 0xc5, 0xb6, 0x24, 0xfe, + 0xae, 0x24, 0xfe, 0x4f, 0x49, 0xfc, 0xcf, 0x8a, 0x78, 0xbb, 0x8a, 0x78, 0x5f, 0x15, 0xf1, 0x5e, + 0x6e, 0x22, 0x65, 0x56, 0x79, 0x48, 0x05, 0x24, 0x4c, 0x15, 0xf0, 0x0a, 0x79, 0xba, 0xe4, 0xf5, + 0xb1, 0xf5, 0x74, 0x11, 0xc6, 0x20, 0xde, 0xc4, 0x8a, 0xab, 0x94, 0x6d, 0x66, 0xac, 0xd8, 0xd7, + 0x6d, 0xde, 0x33, 0xa9, 0xc3, 0xbe, 0xad, 0xf9, 0xf2, 0x37, 0x00, 0x00, 0xff, 0xff, 0x7c, 0x08, + 0xb9, 0x55, 0xd5, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/claims/types/msg_validation.go b/x/claims/types/msg_validation.go index 486db784..4ffa6179 100644 --- a/x/claims/types/msg_validation.go +++ b/x/claims/types/msg_validation.go @@ -3,8 +3,8 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - ixo "github.com/ixofoundation/ixo-blockchain/lib/ixo" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + ixo "github.com/ixofoundation/ixo-blockchain/v2/lib/ixo" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) // -------------------------- diff --git a/x/claims/types/query.pb.go b/x/claims/types/query.pb.go index 629aed1b..bb1ec3c6 100644 --- a/x/claims/types/query.pb.go +++ b/x/claims/types/query.pb.go @@ -683,54 +683,54 @@ func init() { func init() { proto.RegisterFile("ixo/claims/v1beta1/query.proto", fileDescriptor_496f233aff18959b) } var fileDescriptor_496f233aff18959b = []byte{ - // 739 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x96, 0x4f, 0x4f, 0xd4, 0x5c, - 0x14, 0xc6, 0xa7, 0xf3, 0xbe, 0x33, 0xc8, 0x81, 0x60, 0x38, 0x56, 0xc0, 0x42, 0x8a, 0xa9, 0x11, - 0x10, 0xb4, 0x0d, 0x18, 0xff, 0x24, 0xc6, 0x0d, 0x12, 0x5c, 0x68, 0x22, 0x8e, 0x3b, 0x37, 0xa4, - 0xd3, 0x29, 0xe5, 0xc6, 0x99, 0xde, 0x32, 0xed, 0x10, 0x90, 0xe0, 0x42, 0x77, 0xae, 0x4c, 0xdc, - 0xb9, 0xf4, 0x03, 0xf8, 0x39, 0x58, 0x92, 0xb8, 0x71, 0x65, 0x0c, 0xf8, 0x19, 0x5c, 0x9b, 0xde, - 0x7b, 0x66, 0xda, 0x61, 0x3a, 0x4e, 0x17, 0xb0, 0x9b, 0xde, 0xfb, 0x9c, 0xf3, 0xfc, 0xce, 0xb9, - 0xf7, 0x9e, 0x0c, 0xe8, 0x6c, 0x8f, 0x5b, 0x4e, 0xdd, 0x66, 0x8d, 0xd0, 0xda, 0x5d, 0xae, 0xba, - 0x91, 0xbd, 0x6c, 0xed, 0xb4, 0xdc, 0xe6, 0xbe, 0x19, 0x34, 0x79, 0xc4, 0x11, 0xd9, 0x1e, 0x37, - 0xe5, 0xbe, 0x49, 0xfb, 0x9a, 0xea, 0x71, 0x8f, 0x8b, 0x6d, 0x2b, 0xfe, 0x25, 0x95, 0xda, 0x8c, - 0xc7, 0xb9, 0x57, 0x77, 0x2d, 0x3b, 0x60, 0x96, 0xed, 0xfb, 0x3c, 0xb2, 0x23, 0xc6, 0xfd, 0x90, - 0x76, 0x17, 0x1d, 0x1e, 0x36, 0x78, 0x68, 0x55, 0xed, 0xd0, 0x95, 0x06, 0x1d, 0xbb, 0xc0, 0xf6, - 0x98, 0x2f, 0xc4, 0xa4, 0x9d, 0xcd, 0x60, 0x22, 0x04, 0x21, 0x30, 0x54, 0xc0, 0x97, 0x71, 0x8a, - 0x0d, 0xbb, 0x69, 0x37, 0xc2, 0x8a, 0xbb, 0xd3, 0x72, 0xc3, 0xc8, 0x78, 0x01, 0x57, 0xba, 0x56, - 0xc3, 0x80, 0xfb, 0xa1, 0x8b, 0x0f, 0xa1, 0x1c, 0x88, 0x95, 0x29, 0xe5, 0xba, 0xb2, 0x30, 0xb2, - 0xa2, 0x99, 0xbd, 0x25, 0x99, 0x32, 0x66, 0xf5, 0xff, 0xa3, 0x9f, 0xb3, 0x85, 0x0a, 0xe9, 0x8d, - 0x05, 0x98, 0x10, 0x09, 0x9f, 0xf0, 0x7a, 0xdd, 0x75, 0x62, 0x40, 0xb2, 0xc2, 0x31, 0x28, 0xb2, - 0x9a, 0xc8, 0x37, 0x5c, 0x29, 0xb2, 0x9a, 0xb1, 0x09, 0x93, 0x3d, 0x4a, 0xb2, 0x5f, 0x03, 0x70, - 0x3a, 0xab, 0x84, 0xa0, 0x67, 0x21, 0x24, 0xb1, 0x84, 0x91, 0x8a, 0x33, 0x6a, 0xa0, 0x9d, 0x31, - 0x78, 0xce, 0xc2, 0xa8, 0x8d, 0xb3, 0x0e, 0x90, 0x34, 0x91, 0x3c, 0xe6, 0x4c, 0xd9, 0x71, 0x33, - 0xee, 0xb8, 0x29, 0x8f, 0x34, 0xa9, 0xd6, 0x73, 0x29, 0xb6, 0x92, 0x8a, 0x34, 0xbe, 0x29, 0x30, - 0x9d, 0x69, 0x43, 0xb5, 0xac, 0xc3, 0x48, 0xc2, 0x14, 0xf7, 0xf3, 0xbf, 0xdc, 0xc5, 0xa4, 0x03, - 0xf1, 0x69, 0x17, 0x6f, 0x51, 0xf0, 0xce, 0x0f, 0xe4, 0x95, 0x10, 0x5d, 0xc0, 0x37, 0x60, 0x5c, - 0xf2, 0xc6, 0xee, 0xfd, 0x0e, 0xe7, 0x19, 0xdd, 0x16, 0x12, 0x51, 0x2d, 0xf7, 0xa0, 0x24, 0x98, - 0xa9, 0x5d, 0xd7, 0x32, 0xab, 0x88, 0x3f, 0xa9, 0x00, 0xa9, 0x36, 0x36, 0xe1, 0x6a, 0x92, 0xec, - 0x22, 0xce, 0xe0, 0x8b, 0xd2, 0xbe, 0x75, 0x89, 0x03, 0x21, 0x3f, 0x80, 0xb2, 0x04, 0xa4, 0xce, - 0x0f, 0x64, 0x26, 0xf9, 0xf9, 0xf5, 0x7b, 0x89, 0x9e, 0xd8, 0x1a, 0x0b, 0x83, 0x56, 0xd4, 0xe6, - 0x47, 0x15, 0x4a, 0x41, 0x93, 0xf3, 0x2d, 0x6a, 0xba, 0xfc, 0x30, 0x5e, 0x81, 0xda, 0x2d, 0xa6, - 0x32, 0x1e, 0xc1, 0x50, 0x4d, 0x2e, 0x51, 0x9b, 0xa6, 0xb3, 0xea, 0xa0, 0x28, 0xaa, 0xa4, 0x1d, - 0x61, 0xd8, 0xf4, 0xd2, 0x68, 0xfb, 0x22, 0x4e, 0xe0, 0xab, 0x02, 0x53, 0xbd, 0x1e, 0x04, 0xff, - 0x18, 0x2e, 0x11, 0x4a, 0xfb, 0x14, 0x72, 0xd0, 0x77, 0x42, 0xce, 0xed, 0x24, 0x56, 0xfe, 0x94, - 0xa1, 0x24, 0x20, 0xb1, 0x05, 0x65, 0x39, 0xbd, 0x70, 0x2e, 0x8b, 0xa4, 0x77, 0x50, 0x6a, 0xf3, - 0x03, 0x75, 0xd2, 0xd0, 0xd0, 0xde, 0x7f, 0xff, 0xfd, 0xb9, 0xa8, 0x22, 0x5a, 0xa9, 0x89, 0x2c, - 0x87, 0x23, 0x7e, 0x50, 0x00, 0x92, 0x57, 0x8e, 0x8b, 0x7d, 0x73, 0xf6, 0x4c, 0x4f, 0x6d, 0x29, - 0x97, 0x96, 0x18, 0x66, 0x04, 0xc3, 0x04, 0xaa, 0x92, 0xa1, 0x23, 0xb0, 0x0e, 0x58, 0xed, 0x10, - 0x3f, 0x2a, 0x30, 0xd6, 0x3d, 0xac, 0xd0, 0xcc, 0x91, 0x3d, 0x75, 0x6d, 0x34, 0x2b, 0xb7, 0x9e, - 0x88, 0x26, 0x05, 0xd1, 0x38, 0x5e, 0x3e, 0x43, 0x84, 0x1c, 0x4a, 0xe2, 0xf5, 0xe1, 0xcd, 0xfe, - 0x29, 0x53, 0x83, 0x4a, 0x9b, 0x1b, 0x24, 0xcb, 0x36, 0x8c, 0xf7, 0x64, 0xf5, 0xbb, 0x30, 0xdc, - 0x99, 0x12, 0x78, 0xeb, 0xdf, 0xd9, 0xd2, 0x25, 0x2f, 0xe6, 0x91, 0x92, 0x39, 0x0a, 0xf3, 0x51, - 0x84, 0xc4, 0x1c, 0xdf, 0xc2, 0x10, 0x5d, 0x70, 0xec, 0x7f, 0x97, 0xba, 0x67, 0x84, 0xb6, 0x30, - 0x58, 0x98, 0x79, 0xe2, 0xf4, 0x74, 0xac, 0x03, 0x31, 0x54, 0x0e, 0xf1, 0x1d, 0x8c, 0xa4, 0xde, - 0x25, 0x2e, 0x0d, 0x4a, 0x9b, 0xae, 0xfb, 0x76, 0x3e, 0x31, 0x71, 0xa8, 0x82, 0x63, 0x0c, 0x47, - 0xd3, 0x1c, 0xab, 0x1b, 0x47, 0x27, 0xba, 0x72, 0x7c, 0xa2, 0x2b, 0xbf, 0x4e, 0x74, 0xe5, 0xd3, - 0xa9, 0x5e, 0x38, 0x3e, 0xd5, 0x0b, 0x3f, 0x4e, 0xf5, 0xc2, 0xeb, 0xfb, 0x1e, 0x8b, 0xb6, 0x5b, - 0x55, 0xd3, 0xe1, 0x8d, 0x38, 0x62, 0x8b, 0xb7, 0xfc, 0x9a, 0x78, 0xac, 0xf1, 0xd7, 0x9d, 0x6a, - 0x9d, 0x3b, 0x6f, 0x9c, 0x6d, 0x9b, 0xf9, 0xd6, 0x5e, 0xfb, 0x29, 0x45, 0xfb, 0x81, 0x1b, 0x56, - 0xcb, 0xe2, 0x4f, 0xcd, 0xdd, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf1, 0xac, 0x93, 0x96, 0x8b, - 0x09, 0x00, 0x00, + // 741 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x96, 0xc1, 0x4f, 0xd4, 0x4e, + 0x14, 0xc7, 0xb7, 0xfb, 0xfb, 0xed, 0x22, 0x0f, 0x82, 0xe1, 0x59, 0x01, 0x0b, 0x29, 0xa6, 0x46, + 0x40, 0xd0, 0x36, 0x60, 0x8c, 0x1a, 0xe3, 0x05, 0x09, 0x1e, 0x34, 0x51, 0x97, 0x9b, 0x17, 0xd2, + 0xed, 0x96, 0x32, 0x71, 0xb7, 0x53, 0xb6, 0x5d, 0x02, 0x12, 0x3c, 0xe8, 0xcd, 0x93, 0x89, 0x37, + 0x8f, 0xfe, 0x01, 0xfe, 0x1d, 0x1c, 0x49, 0xbc, 0x78, 0x32, 0x06, 0xfc, 0x1b, 0x3c, 0x9b, 0xce, + 0xbc, 0xdd, 0x76, 0xd9, 0xae, 0xdb, 0x03, 0xdc, 0xb6, 0x33, 0xdf, 0xf7, 0xbe, 0x9f, 0xf7, 0x66, + 0xe6, 0x65, 0x41, 0x67, 0x7b, 0xdc, 0x72, 0xea, 0x36, 0x6b, 0x84, 0xd6, 0xee, 0x72, 0xd5, 0x8d, + 0xec, 0x65, 0x6b, 0xa7, 0xe5, 0x36, 0xf7, 0xcd, 0xa0, 0xc9, 0x23, 0x8e, 0xc8, 0xf6, 0xb8, 0x29, + 0xf7, 0x4d, 0xda, 0xd7, 0x54, 0x8f, 0x7b, 0x5c, 0x6c, 0x5b, 0xf1, 0x2f, 0xa9, 0xd4, 0x66, 0x3c, + 0xce, 0xbd, 0xba, 0x6b, 0xd9, 0x01, 0xb3, 0x6c, 0xdf, 0xe7, 0x91, 0x1d, 0x31, 0xee, 0x87, 0xb4, + 0xbb, 0xe8, 0xf0, 0xb0, 0xc1, 0x43, 0xab, 0x6a, 0x87, 0xae, 0x34, 0xe8, 0xd8, 0x05, 0xb6, 0xc7, + 0x7c, 0x21, 0x26, 0xed, 0x6c, 0x06, 0x13, 0x21, 0x08, 0x81, 0xa1, 0x02, 0xbe, 0x8a, 0x53, 0xbc, + 0xb4, 0x9b, 0x76, 0x23, 0xac, 0xb8, 0x3b, 0x2d, 0x37, 0x8c, 0x8c, 0x17, 0x70, 0xa5, 0x6b, 0x35, + 0x0c, 0xb8, 0x1f, 0xba, 0xf8, 0x00, 0xca, 0x81, 0x58, 0x99, 0x52, 0xae, 0x2b, 0x0b, 0x23, 0x2b, + 0x9a, 0xd9, 0x5b, 0x92, 0x29, 0x63, 0x56, 0xff, 0x3f, 0xfa, 0x39, 0x5b, 0xa8, 0x90, 0xde, 0x58, + 0x80, 0x09, 0x91, 0xf0, 0x09, 0xaf, 0xd7, 0x5d, 0x27, 0x06, 0x24, 0x2b, 0x1c, 0x83, 0x22, 0xab, + 0x89, 0x7c, 0xc3, 0x95, 0x22, 0xab, 0x19, 0x9b, 0x30, 0xd9, 0xa3, 0x24, 0xfb, 0x35, 0x00, 0xa7, + 0xb3, 0x4a, 0x08, 0x7a, 0x16, 0x42, 0x12, 0x4b, 0x18, 0xa9, 0x38, 0xa3, 0x06, 0xda, 0x19, 0x83, + 0xe7, 0x2c, 0x8c, 0xda, 0x38, 0xeb, 0x00, 0x49, 0x13, 0xc9, 0x63, 0xce, 0x94, 0x1d, 0x37, 0xe3, + 0x8e, 0x9b, 0xf2, 0x48, 0x93, 0x6a, 0x3d, 0x97, 0x62, 0x2b, 0xa9, 0x48, 0xe3, 0x9b, 0x02, 0xd3, + 0x99, 0x36, 0x54, 0xcb, 0x3a, 0x8c, 0x24, 0x4c, 0x71, 0x3f, 0xff, 0xcb, 0x5d, 0x4c, 0x3a, 0x10, + 0x9f, 0x76, 0xf1, 0x16, 0x05, 0xef, 0xfc, 0x40, 0x5e, 0x09, 0xd1, 0x05, 0x7c, 0x03, 0xc6, 0x25, + 0x6f, 0xec, 0xde, 0xef, 0x70, 0x9e, 0xd1, 0x6d, 0x21, 0x11, 0xd5, 0x72, 0x0f, 0x4a, 0x82, 0x99, + 0xda, 0x75, 0x2d, 0xb3, 0x8a, 0xf8, 0x93, 0x0a, 0x90, 0x6a, 0x63, 0x13, 0xae, 0x26, 0xc9, 0x2e, + 0xe2, 0x0c, 0xbe, 0x28, 0xed, 0x5b, 0x97, 0x38, 0x10, 0xf2, 0x7d, 0x28, 0x4b, 0x40, 0xea, 0xfc, + 0x40, 0x66, 0x92, 0x9f, 0x5f, 0xbf, 0x97, 0xe8, 0x89, 0xad, 0xb1, 0x30, 0x68, 0x45, 0x6d, 0x7e, + 0x54, 0xa1, 0x14, 0x34, 0x39, 0xdf, 0xa2, 0xa6, 0xcb, 0x0f, 0x63, 0x03, 0xd4, 0x6e, 0x31, 0x95, + 0xf1, 0x08, 0x86, 0x6a, 0x72, 0x89, 0xda, 0x34, 0x9d, 0x55, 0x07, 0x45, 0x51, 0x25, 0xed, 0x08, + 0xc3, 0xa6, 0x97, 0x46, 0xdb, 0x17, 0x71, 0x02, 0x5f, 0x15, 0x98, 0xea, 0xf5, 0x20, 0xf8, 0xc7, + 0x70, 0x89, 0x50, 0xda, 0xa7, 0x90, 0x83, 0xbe, 0x13, 0x72, 0x6e, 0x27, 0xb1, 0xf2, 0xa7, 0x0c, + 0x25, 0x01, 0x89, 0x2d, 0x28, 0xcb, 0xe9, 0x85, 0x73, 0x59, 0x24, 0xbd, 0x83, 0x52, 0x9b, 0x1f, + 0xa8, 0x93, 0x86, 0x86, 0xf6, 0xfe, 0xfb, 0xef, 0xcf, 0x45, 0x15, 0xd1, 0x4a, 0x4d, 0x64, 0x39, + 0x1c, 0xf1, 0x83, 0x02, 0x90, 0xbc, 0x72, 0x5c, 0xec, 0x9b, 0xb3, 0x67, 0x7a, 0x6a, 0x4b, 0xb9, + 0xb4, 0xc4, 0x30, 0x23, 0x18, 0x26, 0x50, 0x95, 0x0c, 0x1d, 0x81, 0x75, 0xc0, 0x6a, 0x87, 0xf8, + 0x51, 0x81, 0xb1, 0xee, 0x61, 0x85, 0x66, 0x8e, 0xec, 0xa9, 0x6b, 0xa3, 0x59, 0xb9, 0xf5, 0x44, + 0x34, 0x29, 0x88, 0xc6, 0xf1, 0xf2, 0x19, 0x22, 0xe4, 0x50, 0x12, 0xaf, 0x0f, 0x6f, 0xf6, 0x4f, + 0x99, 0x1a, 0x54, 0xda, 0xdc, 0x20, 0x59, 0xb6, 0x61, 0xbc, 0x27, 0xab, 0xdf, 0x85, 0xe1, 0xce, + 0x94, 0xc0, 0x5b, 0xff, 0xce, 0x96, 0x2e, 0x79, 0x31, 0x8f, 0x94, 0xcc, 0x51, 0x98, 0x8f, 0x22, + 0x24, 0xe6, 0xf8, 0x16, 0x86, 0xe8, 0x82, 0x63, 0xff, 0xbb, 0xd4, 0x3d, 0x23, 0xb4, 0x85, 0xc1, + 0xc2, 0xcc, 0x13, 0xa7, 0xa7, 0x63, 0x1d, 0x88, 0xa1, 0x72, 0x88, 0xef, 0x60, 0x24, 0xf5, 0x2e, + 0x71, 0x69, 0x50, 0xda, 0x74, 0xdd, 0xb7, 0xf3, 0x89, 0x89, 0x43, 0x15, 0x1c, 0x63, 0x38, 0x9a, + 0xe6, 0x58, 0xdd, 0x38, 0x3a, 0xd1, 0x95, 0xe3, 0x13, 0x5d, 0xf9, 0x75, 0xa2, 0x2b, 0x9f, 0x4e, + 0xf5, 0xc2, 0xf1, 0xa9, 0x5e, 0xf8, 0x71, 0xaa, 0x17, 0x5e, 0x3f, 0xf4, 0x58, 0xb4, 0xdd, 0xaa, + 0x9a, 0x0e, 0x6f, 0xc4, 0x11, 0x5b, 0xbc, 0xe5, 0xd7, 0xc4, 0x63, 0x8d, 0xbf, 0xee, 0x54, 0xeb, + 0xdc, 0x79, 0xe3, 0x6c, 0xdb, 0xcc, 0xb7, 0x76, 0x57, 0xac, 0xbd, 0xf6, 0x6b, 0x8a, 0xf6, 0x03, + 0x37, 0xac, 0x96, 0xc5, 0xff, 0x9a, 0xbb, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x46, 0x91, + 0x25, 0x8e, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/claims/types/tx.go b/x/claims/types/tx.go index 414943c6..31461794 100644 --- a/x/claims/types/tx.go +++ b/x/claims/types/tx.go @@ -2,8 +2,8 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" - iidante "github.com/ixofoundation/ixo-blockchain/x/iid/ante" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + iidante "github.com/ixofoundation/ixo-blockchain/v2/x/iid/ante" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) var ( diff --git a/x/claims/types/tx.pb.go b/x/claims/types/tx.pb.go index f21d415b..c4b464b3 100644 --- a/x/claims/types/tx.pb.go +++ b/x/claims/types/tx.pb.go @@ -13,7 +13,7 @@ import ( grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - github_com_ixofoundation_ixo_blockchain_x_iid_types "github.com/ixofoundation/ixo-blockchain/x/iid/types" + github_com_ixofoundation_ixo_blockchain_v2_x_iid_types "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -188,8 +188,8 @@ type MsgSubmitClaim struct { // claimID is the unique identifier of the claim in the cid hash format ClaimId string `protobuf:"bytes,2,opt,name=claim_id,json=claimId,proto3" json:"claim_id,omitempty"` // agent is the DID of the agent submitting the claim - AgentDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,3,opt,name=agent_did,json=agentDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"agent_did,omitempty"` - AgentAddress string `protobuf:"bytes,4,opt,name=agent_address,json=agentAddress,proto3" json:"agent_address,omitempty"` + AgentDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,3,opt,name=agent_did,json=agentDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"agent_did,omitempty"` + AgentAddress string `protobuf:"bytes,4,opt,name=agent_address,json=agentAddress,proto3" json:"agent_address,omitempty"` // admin address used to sign this message, validated against Collection Admin AdminAddress string `protobuf:"bytes,5,opt,name=admin_address,json=adminAddress,proto3" json:"admin_address,omitempty"` } @@ -241,7 +241,7 @@ func (m *MsgSubmitClaim) GetClaimId() string { return "" } -func (m *MsgSubmitClaim) GetAgentDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgSubmitClaim) GetAgentDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.AgentDid } @@ -306,8 +306,8 @@ type MsgEvaluateClaim struct { // oracle is the DID of the Oracle entity that evaluates the claim Oracle string `protobuf:"bytes,3,opt,name=oracle,proto3" json:"oracle,omitempty"` // agent is the DID of the agent that submits the evaluation - AgentDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=agent_did,json=agentDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"agent_did,omitempty"` - AgentAddress string `protobuf:"bytes,5,opt,name=agent_address,json=agentAddress,proto3" json:"agent_address,omitempty"` + AgentDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=agent_did,json=agentDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"agent_did,omitempty"` + AgentAddress string `protobuf:"bytes,5,opt,name=agent_address,json=agentAddress,proto3" json:"agent_address,omitempty"` // admin address used to sign this message, validated against Collection Admin AdminAddress string `protobuf:"bytes,6,opt,name=admin_address,json=adminAddress,proto3" json:"admin_address,omitempty"` // status is the evaluation status expressed as an integer (2=approved, @@ -377,7 +377,7 @@ func (m *MsgEvaluateClaim) GetOracle() string { return "" } -func (m *MsgEvaluateClaim) GetAgentDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgEvaluateClaim) GetAgentDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.AgentDid } @@ -470,8 +470,8 @@ type MsgDisputeClaim struct { SubjectId string `protobuf:"bytes,1,opt,name=subject_id,json=subjectId,proto3" json:"subject_id,omitempty"` // agent is the DID of the agent disputing the claim, agent detials wont be // saved in kvStore - AgentDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,2,opt,name=agent_did,json=agentDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"agent_did,omitempty"` - AgentAddress string `protobuf:"bytes,3,opt,name=agent_address,json=agentAddress,proto3" json:"agent_address,omitempty"` + AgentDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,2,opt,name=agent_did,json=agentDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"agent_did,omitempty"` + AgentAddress string `protobuf:"bytes,3,opt,name=agent_address,json=agentAddress,proto3" json:"agent_address,omitempty"` // type is expressed as an integer, interpreted by the client DisputeType int32 `protobuf:"varint,4,opt,name=dispute_type,json=disputeType,proto3" json:"dispute_type,omitempty"` Data *DisputeData `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` @@ -517,7 +517,7 @@ func (m *MsgDisputeClaim) GetSubjectId() string { return "" } -func (m *MsgDisputeClaim) GetAgentDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgDisputeClaim) GetAgentDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.AgentDid } @@ -752,75 +752,75 @@ func init() { func init() { proto.RegisterFile("ixo/claims/v1beta1/tx.proto", fileDescriptor_e0095508349b828a) } var fileDescriptor_e0095508349b828a = []byte{ - // 1073 bytes of a gzipped FileDescriptorProto + // 1075 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x4f, 0x6f, 0x1b, 0x45, 0x14, 0xcf, 0x3a, 0xb6, 0x63, 0x3f, 0xbb, 0x69, 0x99, 0x96, 0xb0, 0xd9, 0xa6, 0xb6, 0x71, 0x2a, - 0xb0, 0x80, 0xec, 0x36, 0xa9, 0x0a, 0x45, 0x20, 0x55, 0x75, 0x0c, 0x52, 0x0e, 0x16, 0xd1, 0xb6, - 0x12, 0x12, 0x08, 0xb9, 0xe3, 0xdd, 0xc9, 0x66, 0x5a, 0x7b, 0xc7, 0xec, 0xcc, 0x06, 0xe7, 0xc6, - 0x81, 0x3b, 0xfd, 0x1c, 0x7c, 0x92, 0x1e, 0x7b, 0x42, 0x9c, 0x52, 0x94, 0xdc, 0xf8, 0x08, 0x15, - 0x07, 0x34, 0xb3, 0xe3, 0xff, 0x9b, 0xe0, 0x53, 0x4f, 0xc9, 0x7b, 0xef, 0xf7, 0x7b, 0x6f, 0xe7, - 0xf7, 0xde, 0xbc, 0x31, 0xdc, 0xa6, 0x43, 0xe6, 0x78, 0x3d, 0x4c, 0xfb, 0xdc, 0x39, 0xd9, 0xed, - 0x12, 0x81, 0x77, 0x1d, 0x31, 0xb4, 0x07, 0x11, 0x13, 0x0c, 0x21, 0x3a, 0x64, 0x76, 0x12, 0xb4, - 0x75, 0xd0, 0xba, 0x15, 0xb0, 0x80, 0xa9, 0xb0, 0x23, 0xff, 0x4b, 0x90, 0x56, 0x35, 0x60, 0x2c, - 0xe8, 0x11, 0x47, 0x59, 0xdd, 0xf8, 0xc8, 0x11, 0xb4, 0x4f, 0xb8, 0xc0, 0xfd, 0xc1, 0x08, 0x90, - 0x52, 0x47, 0x67, 0x4e, 0x00, 0x15, 0x8f, 0xf1, 0x3e, 0xe3, 0x4e, 0x17, 0x73, 0x32, 0x41, 0x30, - 0x1a, 0x5e, 0x95, 0x40, 0x51, 0x12, 0x40, 0xfd, 0x9f, 0x0c, 0xdc, 0x6c, 0xf3, 0x60, 0x3f, 0x22, - 0x58, 0x90, 0x7d, 0xd6, 0xeb, 0x11, 0x4f, 0x50, 0x16, 0xa2, 0x0d, 0xc8, 0x93, 0x50, 0x50, 0x71, - 0x6a, 0x1a, 0x35, 0xa3, 0x51, 0x74, 0xb5, 0x25, 0xfd, 0x9c, 0x06, 0x21, 0x89, 0xcc, 0x4c, 0xe2, - 0x4f, 0x2c, 0x64, 0x41, 0x41, 0x25, 0xf4, 0x58, 0xcf, 0x5c, 0x55, 0x91, 0xb1, 0x8d, 0x1e, 0x01, - 0x70, 0x81, 0x23, 0xd1, 0xf1, 0xb1, 0x20, 0x66, 0xb6, 0x66, 0x34, 0x4a, 0x7b, 0x96, 0x9d, 0x9c, - 0xdd, 0x1e, 0x9d, 0xdd, 0x7e, 0x3a, 0x3a, 0x7b, 0x33, 0xfb, 0xf2, 0x4d, 0xd5, 0x70, 0x8b, 0x8a, - 0xd3, 0xc2, 0x82, 0xa0, 0xaf, 0xa0, 0x40, 0x42, 0x3f, 0xa1, 0xe7, 0x96, 0xa4, 0xaf, 0x91, 0xd0, - 0x57, 0xe4, 0x5b, 0x90, 0xfb, 0x39, 0x66, 0x02, 0x9b, 0xf9, 0x9a, 0xd1, 0xc8, 0xba, 0x89, 0x81, - 0xbe, 0x84, 0x1c, 0x17, 0x32, 0xdf, 0x5a, 0xcd, 0x68, 0xac, 0xef, 0x6d, 0xdb, 0x8b, 0x4d, 0xb3, - 0x27, 0x72, 0x3c, 0x91, 0x50, 0x37, 0x61, 0xa0, 0x87, 0x50, 0x18, 0xe0, 0xd3, 0x3e, 0x09, 0x05, - 0x37, 0x0b, 0xea, 0x6b, 0xb6, 0xd2, 0xd8, 0x87, 0x1a, 0xe3, 0x8e, 0xd1, 0xf5, 0x3b, 0x70, 0x3b, - 0x45, 0x6b, 0x97, 0xf0, 0x01, 0x0b, 0x39, 0xa9, 0xff, 0x6b, 0xc0, 0x7a, 0x9b, 0x07, 0x4f, 0xe2, - 0x6e, 0x9f, 0x8a, 0x7d, 0x99, 0x0d, 0x6d, 0xc3, 0x35, 0x6f, 0x0c, 0xec, 0x50, 0x5f, 0x77, 0xa3, - 0x3c, 0x71, 0x1e, 0xf8, 0x68, 0x13, 0x0a, 0xaa, 0xb6, 0x8c, 0x27, 0x5d, 0x59, 0x53, 0xf6, 0x81, - 0x8f, 0x9e, 0x41, 0x11, 0x07, 0x24, 0x14, 0x1d, 0x9f, 0xfa, 0x49, 0x5f, 0x9a, 0xfb, 0x6f, 0xcf, - 0xaa, 0x8f, 0x02, 0x2a, 0x8e, 0xe3, 0xae, 0xed, 0xb1, 0xbe, 0x43, 0x87, 0xec, 0x88, 0xc5, 0xa1, - 0x8f, 0x65, 0x36, 0x69, 0xed, 0x74, 0x7b, 0xcc, 0x7b, 0xe1, 0x1d, 0x63, 0x1a, 0x3a, 0x43, 0x87, - 0x52, 0xdf, 0x11, 0xa7, 0x03, 0xc2, 0xed, 0xd6, 0x41, 0xeb, 0xdb, 0x08, 0x07, 0xf2, 0x28, 0x6e, - 0x41, 0x65, 0x6d, 0x51, 0x5f, 0x7e, 0x61, 0x52, 0x01, 0xfb, 0x7e, 0x44, 0x38, 0x57, 0xfd, 0x2d, - 0xba, 0x65, 0xe5, 0x7c, 0x9c, 0xf8, 0x14, 0xc8, 0xef, 0xd3, 0x70, 0x0c, 0xca, 0x69, 0x90, 0x74, - 0x6a, 0x50, 0xdd, 0x84, 0x8d, 0xd9, 0xd3, 0x8f, 0x85, 0xf9, 0x35, 0x0b, 0x37, 0xda, 0x3c, 0xf8, - 0xe6, 0x04, 0xf7, 0x62, 0x29, 0x9d, 0x92, 0x66, 0xfa, 0xd4, 0xc6, 0xec, 0xa9, 0x17, 0x54, 0xcb, - 0xa4, 0xa8, 0xb6, 0x01, 0x79, 0x16, 0x61, 0xaf, 0x47, 0xf4, 0xbc, 0x6a, 0x6b, 0x56, 0xb2, 0xec, - 0x3b, 0x91, 0x2c, 0xb7, 0x8c, 0x64, 0xf9, 0x45, 0xc9, 0xd0, 0xd7, 0x90, 0x97, 0x33, 0x19, 0x73, - 0x3d, 0xc6, 0x77, 0xd3, 0x06, 0x51, 0xcb, 0xa6, 0xc7, 0x38, 0xe6, 0xae, 0xe6, 0x48, 0x05, 0x22, - 0x82, 0x39, 0x0b, 0xd5, 0x18, 0x5f, 0x73, 0xb5, 0x85, 0x76, 0x00, 0x9d, 0x90, 0x88, 0x1e, 0x51, - 0x4f, 0xb1, 0x3a, 0x83, 0x88, 0xb1, 0x23, 0xb3, 0xa8, 0xea, 0xbf, 0x37, 0x1d, 0x39, 0x94, 0x01, - 0xe4, 0x41, 0x1e, 0xf7, 0x59, 0x1c, 0x0a, 0x13, 0x6a, 0xab, 0x8d, 0xd2, 0xde, 0xa6, 0xad, 0x37, - 0x8c, 0x5c, 0x4a, 0x53, 0x97, 0x89, 0x86, 0xcd, 0x7b, 0xaf, 0xce, 0xaa, 0x2b, 0x7f, 0xbc, 0xa9, - 0x36, 0xa6, 0xc4, 0xd4, 0x1b, 0x2c, 0xf9, 0xb3, 0xc3, 0xfd, 0x17, 0x5a, 0x3b, 0x49, 0xe0, 0xae, - 0x4e, 0x5d, 0xb7, 0xc0, 0x9c, 0x9f, 0x80, 0xf1, 0x78, 0xfc, 0x9e, 0x81, 0xeb, 0x6d, 0x1e, 0xb4, - 0x28, 0x1f, 0xc4, 0xa3, 0xe9, 0xb8, 0x03, 0xc0, 0xe3, 0xee, 0x73, 0xe2, 0x89, 0xc9, 0x7c, 0x14, - 0xb5, 0x67, 0xfe, 0x5e, 0x64, 0xde, 0x49, 0x93, 0x57, 0x53, 0x9a, 0xfc, 0x21, 0x94, 0xfd, 0xe4, - 0xab, 0x3b, 0x32, 0x97, 0x1a, 0xb7, 0x9c, 0x5b, 0xd2, 0xbe, 0xa7, 0xa7, 0x03, 0x82, 0xee, 0x43, - 0xd6, 0xc7, 0x02, 0xeb, 0xbd, 0x57, 0x4d, 0x6b, 0xb0, 0x3e, 0x78, 0x0b, 0x0b, 0xec, 0x2a, 0x70, - 0x7d, 0x13, 0x3e, 0x98, 0x13, 0x64, 0x2c, 0xd6, 0x9f, 0x59, 0x40, 0x6d, 0x1e, 0x7c, 0x4f, 0xc5, - 0xb1, 0x1f, 0xe1, 0x5f, 0xf4, 0x96, 0xba, 0xea, 0x36, 0x3d, 0x87, 0x3c, 0x0d, 0x07, 0xb1, 0xe0, - 0x66, 0x46, 0xf7, 0x37, 0xe5, 0x1b, 0x0e, 0x24, 0xa2, 0xf9, 0x85, 0xec, 0xef, 0xdb, 0xb3, 0xaa, - 0x73, 0x65, 0x7f, 0x87, 0x4e, 0x17, 0x87, 0xa3, 0x36, 0x2b, 0xa2, 0xab, 0x2b, 0xa0, 0x10, 0xd6, - 0x58, 0x2c, 0x54, 0xb1, 0x55, 0x55, 0xcc, 0x4a, 0x2b, 0xf6, 0x9d, 0x82, 0x34, 0x1f, 0xea, 0x6a, - 0xf7, 0x96, 0xaf, 0x96, 0x30, 0xdd, 0x51, 0x11, 0xd4, 0x84, 0xb2, 0xde, 0xce, 0x93, 0x06, 0xac, - 0xa7, 0xab, 0xac, 0x95, 0x92, 0x4d, 0x71, 0x4b, 0x83, 0x89, 0x81, 0x7e, 0x84, 0xf7, 0x3d, 0x16, - 0x8a, 0x08, 0x7b, 0xa2, 0xb3, 0xbb, 0xfb, 0xe0, 0x41, 0x47, 0x07, 0x75, 0xcb, 0x3e, 0x4e, 0x7f, - 0x5a, 0x12, 0x82, 0xc4, 0xeb, 0xc4, 0xee, 0x4d, 0x6f, 0xd1, 0x89, 0xb6, 0xa0, 0x28, 0xd8, 0xe3, - 0x99, 0x15, 0x30, 0x71, 0xa0, 0x1a, 0x94, 0x8e, 0x22, 0xd6, 0x1f, 0xc5, 0xd7, 0x54, 0x7c, 0xda, - 0x85, 0xf6, 0xa1, 0x1c, 0x91, 0x1e, 0xc1, 0x9c, 0x24, 0xcf, 0x67, 0x61, 0xc9, 0xe7, 0xb3, 0xa4, - 0x59, 0xea, 0x09, 0x5d, 0xd8, 0x45, 0xc5, 0x94, 0xf5, 0xbd, 0x05, 0xd6, 0xe2, 0x5c, 0x8d, 0xc6, - 0x6e, 0xef, 0xb7, 0x2c, 0xac, 0xb6, 0x79, 0x80, 0x7a, 0x70, 0x63, 0xe1, 0xb7, 0x46, 0xaa, 0x42, - 0x29, 0x0f, 0xa5, 0xe5, 0x2c, 0x09, 0x1c, 0x55, 0x45, 0x3f, 0x41, 0x69, 0xfa, 0x35, 0xad, 0x5f, - 0xc2, 0x9f, 0xc2, 0x58, 0x9f, 0xfc, 0x3f, 0x66, 0x9c, 0xde, 0x83, 0x6b, 0xb3, 0x6f, 0xd2, 0xdd, - 0x4b, 0xc8, 0x33, 0x28, 0xeb, 0xb3, 0x65, 0x50, 0xe3, 0x22, 0xcf, 0xa0, 0x3c, 0xb3, 0xd9, 0xb6, - 0x2f, 0x61, 0x4f, 0x83, 0xac, 0x4f, 0x97, 0x00, 0x8d, 0x2b, 0x50, 0xb8, 0x3e, 0xbf, 0x0e, 0x3e, - 0xba, 0x84, 0x3f, 0x87, 0xb3, 0xec, 0xe5, 0x70, 0xa3, 0x52, 0xcd, 0xc3, 0x57, 0xe7, 0x15, 0xe3, - 0xf5, 0x79, 0xc5, 0xf8, 0xfb, 0xbc, 0x62, 0xbc, 0xbc, 0xa8, 0xac, 0xbc, 0xbe, 0xa8, 0xac, 0xfc, - 0x75, 0x51, 0x59, 0xf9, 0xe1, 0xf3, 0xe5, 0x57, 0xaf, 0xfe, 0x3d, 0xab, 0x6e, 0x74, 0x37, 0xaf, - 0x46, 0xf8, 0xfe, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x23, 0x58, 0xbf, 0x93, 0x0b, 0x00, - 0x00, + 0xb0, 0x80, 0xec, 0x36, 0xa9, 0x2a, 0x5a, 0x81, 0x84, 0xea, 0x98, 0x4a, 0x39, 0x58, 0x54, 0x9b, + 0x4a, 0x48, 0x20, 0x64, 0xc6, 0xbb, 0x93, 0xcd, 0xb4, 0xf6, 0x8e, 0xd9, 0x99, 0x0d, 0xce, 0x19, + 0x3e, 0x40, 0xc5, 0xc7, 0xe0, 0x93, 0xf4, 0xd8, 0x13, 0xe2, 0x94, 0xa2, 0xe4, 0xc6, 0x47, 0xe8, + 0x05, 0x34, 0xb3, 0xe3, 0xff, 0x9b, 0x60, 0x2e, 0x3d, 0x25, 0xef, 0xbd, 0xdf, 0xef, 0xbd, 0x9d, + 0xdf, 0x7b, 0xf3, 0xc6, 0x70, 0x9b, 0x0e, 0x99, 0xe3, 0xf5, 0x30, 0xed, 0x73, 0xe7, 0x64, 0xb7, + 0x4b, 0x04, 0xde, 0x75, 0xc4, 0xd0, 0x1e, 0x44, 0x4c, 0x30, 0x84, 0xe8, 0x90, 0xd9, 0x49, 0xd0, + 0xd6, 0x41, 0xeb, 0x56, 0xc0, 0x02, 0xa6, 0xc2, 0x8e, 0xfc, 0x2f, 0x41, 0x5a, 0xd5, 0x80, 0xb1, + 0xa0, 0x47, 0x1c, 0x65, 0x75, 0xe3, 0x23, 0x47, 0xd0, 0x3e, 0xe1, 0x02, 0xf7, 0x07, 0x23, 0x40, + 0x4a, 0x1d, 0x9d, 0x39, 0x01, 0x54, 0x3c, 0xc6, 0xfb, 0x8c, 0x3b, 0x5d, 0xcc, 0xc9, 0x04, 0xc1, + 0x68, 0x78, 0x55, 0x02, 0x45, 0x49, 0x00, 0xf5, 0xbf, 0x33, 0x70, 0xb3, 0xcd, 0x83, 0xfd, 0x88, + 0x60, 0x41, 0xf6, 0x59, 0xaf, 0x47, 0x3c, 0x41, 0x59, 0x88, 0x36, 0x20, 0x4f, 0x42, 0x41, 0xc5, + 0xa9, 0x69, 0xd4, 0x8c, 0x46, 0xd1, 0xd5, 0x96, 0xf4, 0x73, 0x1a, 0x84, 0x24, 0x32, 0x33, 0x89, + 0x3f, 0xb1, 0x90, 0x05, 0x05, 0x95, 0xd0, 0x63, 0x3d, 0x73, 0x55, 0x45, 0xc6, 0x36, 0xfa, 0x0a, + 0x80, 0x0b, 0x1c, 0x89, 0x8e, 0x8f, 0x05, 0x31, 0xb3, 0x35, 0xa3, 0x51, 0xda, 0xb3, 0xec, 0xe4, + 0xec, 0xf6, 0xe8, 0xec, 0xf6, 0xb3, 0xd1, 0xd9, 0x9b, 0xd9, 0x97, 0x6f, 0xaa, 0x86, 0x5b, 0x54, + 0x9c, 0x16, 0x16, 0x04, 0x7d, 0x01, 0x05, 0x12, 0xfa, 0x09, 0x3d, 0xb7, 0x24, 0x7d, 0x8d, 0x84, + 0xbe, 0x22, 0xdf, 0x82, 0xdc, 0x4f, 0x31, 0x13, 0xd8, 0xcc, 0xd7, 0x8c, 0x46, 0xd6, 0x4d, 0x0c, + 0xf4, 0x08, 0x72, 0x5c, 0xc8, 0x7c, 0x6b, 0x35, 0xa3, 0xb1, 0xbe, 0xb7, 0x6d, 0x2f, 0x36, 0xcd, + 0x9e, 0xc8, 0x71, 0x28, 0xa1, 0x6e, 0xc2, 0x40, 0x0f, 0xa1, 0x30, 0xc0, 0xa7, 0x7d, 0x12, 0x0a, + 0x6e, 0x16, 0xd4, 0xd7, 0x6c, 0xa5, 0xb1, 0x9f, 0x6a, 0x8c, 0x3b, 0x46, 0xd7, 0xef, 0xc0, 0xed, + 0x14, 0xad, 0x5d, 0xc2, 0x07, 0x2c, 0xe4, 0xa4, 0xfe, 0x8f, 0x01, 0xeb, 0x6d, 0x1e, 0x1c, 0xc6, + 0xdd, 0x3e, 0x15, 0xfb, 0x32, 0x1b, 0xda, 0x86, 0x6b, 0xde, 0x18, 0xd8, 0xa1, 0xbe, 0xee, 0x46, + 0x79, 0xe2, 0x3c, 0xf0, 0xd1, 0x26, 0x14, 0x54, 0x6d, 0x19, 0x4f, 0xba, 0xb2, 0xa6, 0xec, 0x03, + 0x1f, 0x79, 0x50, 0xc4, 0x01, 0x09, 0x45, 0xc7, 0xa7, 0x7e, 0xd2, 0x97, 0xe6, 0x93, 0xb7, 0x67, + 0xd5, 0x66, 0x40, 0xc5, 0x71, 0xdc, 0xb5, 0x3d, 0xd6, 0x77, 0xe8, 0x90, 0x1d, 0xb1, 0x38, 0xf4, + 0xb1, 0xcc, 0x26, 0xad, 0x9d, 0x6e, 0x8f, 0x79, 0x2f, 0xbc, 0x63, 0x4c, 0x43, 0xe7, 0x64, 0xcf, + 0x19, 0x3a, 0x94, 0xfa, 0x8e, 0x38, 0x1d, 0x10, 0x6e, 0xb7, 0x0e, 0x5a, 0x4f, 0x22, 0x1c, 0xc8, + 0xd3, 0xb8, 0x05, 0x95, 0xb8, 0x45, 0x7d, 0xf9, 0x91, 0x49, 0x11, 0xec, 0xfb, 0x11, 0xe1, 0x5c, + 0xb5, 0xb8, 0xe8, 0x96, 0x95, 0xf3, 0x71, 0xe2, 0x53, 0x20, 0xbf, 0x4f, 0xc3, 0x31, 0x28, 0xa7, + 0x41, 0xd2, 0xa9, 0x41, 0x75, 0x13, 0x36, 0x66, 0x05, 0x18, 0x6b, 0xf3, 0x4b, 0x16, 0x6e, 0xb4, + 0x79, 0xf0, 0xf5, 0x09, 0xee, 0xc5, 0x52, 0x3d, 0xa5, 0xce, 0xf4, 0xc1, 0x8d, 0xd9, 0x83, 0x2f, + 0x08, 0x97, 0x49, 0x11, 0x6e, 0x03, 0xf2, 0x2c, 0xc2, 0x5e, 0x8f, 0xe8, 0x91, 0xd5, 0xd6, 0xac, + 0x6a, 0xd9, 0x77, 0xa5, 0x5a, 0x6e, 0x19, 0xd5, 0xf2, 0x8b, 0xaa, 0xa1, 0x2f, 0x21, 0x2f, 0x27, + 0x33, 0xe6, 0x7a, 0x98, 0xef, 0xa6, 0x8d, 0xa3, 0x56, 0x4e, 0x0f, 0x73, 0xcc, 0x5d, 0xcd, 0x91, + 0x22, 0x44, 0x04, 0x73, 0x16, 0xaa, 0x61, 0xbe, 0xe6, 0x6a, 0x0b, 0xed, 0x00, 0x3a, 0x21, 0x11, + 0x3d, 0xa2, 0x9e, 0x62, 0x75, 0x06, 0x11, 0x63, 0x47, 0x66, 0x51, 0xd5, 0x7f, 0x6f, 0x3a, 0xf2, + 0x54, 0x06, 0x90, 0x07, 0x79, 0xdc, 0x67, 0x71, 0x28, 0x4c, 0xa8, 0xad, 0x36, 0x4a, 0x7b, 0x9b, + 0xb6, 0xde, 0x33, 0x72, 0x35, 0x4d, 0x5d, 0x29, 0x1a, 0x36, 0xef, 0xbd, 0x3a, 0xab, 0xae, 0xfc, + 0xfe, 0xa6, 0xda, 0x98, 0xd2, 0x53, 0xef, 0xb1, 0xe4, 0xcf, 0x0e, 0xf7, 0x5f, 0x68, 0xed, 0x24, + 0x81, 0xbb, 0x3a, 0x75, 0xdd, 0x02, 0x73, 0x7e, 0x08, 0xc6, 0x13, 0xf2, 0x5b, 0x06, 0xae, 0xb7, + 0x79, 0xd0, 0xa2, 0x7c, 0x10, 0x8f, 0x06, 0xe4, 0x0e, 0x00, 0x8f, 0xbb, 0xcf, 0x89, 0x27, 0x26, + 0x23, 0x52, 0xd4, 0x9e, 0xf9, 0xdb, 0x91, 0x79, 0x57, 0x7d, 0x5e, 0x4d, 0xe9, 0xf3, 0x87, 0x50, + 0xf6, 0x93, 0x0f, 0xef, 0xc8, 0x5c, 0x6a, 0xe8, 0x72, 0x6e, 0x49, 0xfb, 0x9e, 0x9d, 0x0e, 0x08, + 0xba, 0x0f, 0x59, 0x1f, 0x0b, 0xac, 0x17, 0x60, 0x35, 0xad, 0xc7, 0xfa, 0xec, 0x2d, 0x2c, 0xb0, + 0xab, 0xc0, 0xf5, 0x4d, 0xf8, 0x60, 0x4e, 0x93, 0xb1, 0x5e, 0x7f, 0x64, 0x01, 0xb5, 0x79, 0xf0, + 0x2d, 0x15, 0xc7, 0x7e, 0x84, 0x7f, 0xd6, 0xeb, 0xea, 0xaa, 0x3b, 0xf5, 0x1c, 0xf2, 0x34, 0x1c, + 0xc4, 0x82, 0x9b, 0x19, 0xdd, 0xe2, 0x94, 0x6f, 0x38, 0x90, 0x88, 0xe6, 0xe7, 0xb2, 0xc5, 0x6f, + 0xcf, 0xaa, 0xce, 0x95, 0x2d, 0x1e, 0x3a, 0x5d, 0x1c, 0x8e, 0x3a, 0xad, 0x88, 0xae, 0xae, 0x80, + 0x42, 0x58, 0x63, 0xb1, 0x50, 0xc5, 0x56, 0x55, 0x31, 0x2b, 0xad, 0xd8, 0x37, 0x0a, 0xd2, 0x7c, + 0xa8, 0xab, 0xdd, 0x5b, 0xbe, 0x5a, 0xc2, 0x74, 0x47, 0x45, 0x50, 0x13, 0xca, 0x7a, 0x4d, 0x4f, + 0x1a, 0xb0, 0x9e, 0xae, 0xb2, 0x56, 0x4a, 0x36, 0xc5, 0x2d, 0x0d, 0x26, 0x06, 0xfa, 0x1e, 0xde, + 0xf7, 0x58, 0x28, 0x22, 0xec, 0x89, 0xce, 0xee, 0xee, 0x83, 0x07, 0x1d, 0x1d, 0xd4, 0x2d, 0xfb, + 0x38, 0xfd, 0x8d, 0x49, 0x08, 0x12, 0xaf, 0x13, 0xbb, 0x37, 0xbd, 0x45, 0x27, 0xda, 0x82, 0xa2, + 0x60, 0x8f, 0x67, 0xb6, 0xc0, 0xc4, 0x81, 0x6a, 0x50, 0x3a, 0x8a, 0x58, 0x7f, 0x14, 0x5f, 0x53, + 0xf1, 0x69, 0x17, 0xda, 0x87, 0x72, 0x44, 0x7a, 0x04, 0x73, 0x92, 0xbc, 0xa3, 0x85, 0x25, 0xdf, + 0xd1, 0x92, 0x66, 0xa9, 0xb7, 0x74, 0x61, 0x1d, 0x15, 0x53, 0x96, 0xf8, 0x16, 0x58, 0x8b, 0x73, + 0x35, 0x1a, 0xbb, 0xbd, 0x5f, 0xb3, 0xb0, 0xda, 0xe6, 0x01, 0xea, 0xc1, 0x8d, 0x85, 0x1f, 0x1d, + 0xa9, 0x0a, 0xa5, 0xbc, 0x98, 0x96, 0xb3, 0x24, 0x70, 0x54, 0x15, 0xfd, 0x00, 0xa5, 0xe9, 0x67, + 0xb5, 0x7e, 0x09, 0x7f, 0x0a, 0x63, 0x7d, 0xf2, 0xdf, 0x98, 0x71, 0x7a, 0x0f, 0xae, 0xcd, 0xbe, + 0x4c, 0x77, 0x2f, 0x21, 0xcf, 0xa0, 0xac, 0xcf, 0x96, 0x41, 0x8d, 0x8b, 0xfc, 0x08, 0xe5, 0x99, + 0xe5, 0xb6, 0x7d, 0x09, 0x7b, 0x1a, 0x64, 0x7d, 0xba, 0x04, 0x68, 0x5c, 0x81, 0xc2, 0xf5, 0xf9, + 0x75, 0xf0, 0xd1, 0x25, 0xfc, 0x39, 0x9c, 0x65, 0x2f, 0x87, 0x1b, 0x95, 0x6a, 0x1e, 0xbe, 0x3a, + 0xaf, 0x18, 0xaf, 0xcf, 0x2b, 0xc6, 0x5f, 0xe7, 0x15, 0xe3, 0xe5, 0x45, 0x65, 0xe5, 0xf5, 0x45, + 0x65, 0xe5, 0xcf, 0x8b, 0xca, 0xca, 0x77, 0x8f, 0xfe, 0xd7, 0xf6, 0xd5, 0xbf, 0x6d, 0xd5, 0xa5, + 0xee, 0xe6, 0xd5, 0x14, 0xdf, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0xbf, 0x15, 0x6d, 0x60, 0x9f, + 0x0b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2289,7 +2289,7 @@ func (m *MsgSubmitClaim) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AgentDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.AgentDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { @@ -2581,7 +2581,7 @@ func (m *MsgEvaluateClaim) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AgentDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.AgentDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 5: if wireType != 2 { @@ -2913,7 +2913,7 @@ func (m *MsgDisputeClaim) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AgentDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.AgentDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { diff --git a/x/entity/ante/decorators.go b/x/entity/ante/decorators.go index b7ff4b9b..cd4c329f 100644 --- a/x/entity/ante/decorators.go +++ b/x/entity/ante/decorators.go @@ -4,8 +4,8 @@ import ( wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - entitykeeper "github.com/ixofoundation/ixo-blockchain/x/entity/keeper" - entitytypes "github.com/ixofoundation/ixo-blockchain/x/entity/types" + entitykeeper "github.com/ixofoundation/ixo-blockchain/v2/x/entity/keeper" + entitytypes "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" ) type BlockNftContractTransferForEntityDecorator struct { diff --git a/x/entity/client/cli/query.go b/x/entity/client/cli/query.go index fa865abb..0226ef7c 100644 --- a/x/entity/client/cli/query.go +++ b/x/entity/client/cli/query.go @@ -5,7 +5,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/ixofoundation/ixo-blockchain/x/entity/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" "github.com/spf13/cobra" ) diff --git a/x/entity/client/cli/tx.go b/x/entity/client/cli/tx.go index f9917035..cc0cae01 100644 --- a/x/entity/client/cli/tx.go +++ b/x/entity/client/cli/tx.go @@ -11,8 +11,8 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" govcli "github.com/cosmos/cosmos-sdk/x/gov/client/cli" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/ixofoundation/ixo-blockchain/x/entity/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" "github.com/spf13/cobra" ) diff --git a/x/entity/client/proposal_handler.go b/x/entity/client/proposal_handler.go index 5f7340c7..0fca6648 100644 --- a/x/entity/client/proposal_handler.go +++ b/x/entity/client/proposal_handler.go @@ -2,8 +2,8 @@ package client import ( govclient "github.com/cosmos/cosmos-sdk/x/gov/client" - "github.com/ixofoundation/ixo-blockchain/x/entity/client/cli" - "github.com/ixofoundation/ixo-blockchain/x/entity/client/rest" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/client/cli" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/client/rest" ) var ProposalHandler = govclient.NewProposalHandler(cli.NewCmdUpdateEntityParamsProposal, rest.ProposalRESTHandler) diff --git a/x/entity/genesis.go b/x/entity/genesis.go index 9a499747..ed5da1ed 100644 --- a/x/entity/genesis.go +++ b/x/entity/genesis.go @@ -2,8 +2,8 @@ package entity import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/entity/keeper" - "github.com/ixofoundation/ixo-blockchain/x/entity/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" abci "github.com/tendermint/tendermint/abci/types" ) @@ -24,6 +24,6 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { return &types.GenesisState{ Entities: entities, - Params: params, + Params: params, } } diff --git a/x/entity/keeper/entity.go b/x/entity/keeper/entity.go index 9ffb39ce..0135bd3e 100644 --- a/x/entity/keeper/entity.go +++ b/x/entity/keeper/entity.go @@ -6,9 +6,9 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/entity/types" - nft "github.com/ixofoundation/ixo-blockchain/x/entity/types/contracts" - iidTypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" + nft "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types/contracts" + iidTypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func (k Keeper) SetEntity(ctx sdk.Context, key []byte, meta types.Entity) { diff --git a/x/entity/keeper/grpc_query.go b/x/entity/keeper/grpc_query.go index f775174d..cc4fc216 100644 --- a/x/entity/keeper/grpc_query.go +++ b/x/entity/keeper/grpc_query.go @@ -6,7 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/ixofoundation/ixo-blockchain/x/entity/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) diff --git a/x/entity/keeper/keeper.go b/x/entity/keeper/keeper.go index 7bacd0a1..dd1cf4ce 100644 --- a/x/entity/keeper/keeper.go +++ b/x/entity/keeper/keeper.go @@ -10,8 +10,8 @@ import ( authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/ixofoundation/ixo-blockchain/x/entity/types" - iidkeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" + iidkeeper "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" "github.com/tendermint/tendermint/libs/log" ) diff --git a/x/entity/keeper/msg_server.go b/x/entity/keeper/msg_server.go index fc73911e..34653620 100644 --- a/x/entity/keeper/msg_server.go +++ b/x/entity/keeper/msg_server.go @@ -8,10 +8,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/entity/types" - nft "github.com/ixofoundation/ixo-blockchain/x/entity/types/contracts" - iidkeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" + nft "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types/contracts" + iidkeeper "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) type msgServer struct { diff --git a/x/entity/message_handler.go b/x/entity/message_handler.go index 21495964..63d4ac31 100644 --- a/x/entity/message_handler.go +++ b/x/entity/message_handler.go @@ -3,8 +3,8 @@ package entity import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/entity/keeper" - "github.com/ixofoundation/ixo-blockchain/x/entity/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" ) func NewHandler(k keeper.Keeper) sdk.Handler { diff --git a/x/entity/module.go b/x/entity/module.go index 3461a57c..509af092 100644 --- a/x/entity/module.go +++ b/x/entity/module.go @@ -12,11 +12,11 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" "github.com/gorilla/mux" "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/ixofoundation/ixo-blockchain/x/entity/client/cli" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/client/cli" - // "github.com/ixofoundation/ixo-blockchain/x/entity/client/rest" - "github.com/ixofoundation/ixo-blockchain/x/entity/keeper" - "github.com/ixofoundation/ixo-blockchain/x/entity/types" + // "github.com/ixofoundation/ixo-blockchain/v2/x/entity/client/rest" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" ) diff --git a/x/entity/proposal_handler.go b/x/entity/proposal_handler.go index 6c671860..6a705d19 100644 --- a/x/entity/proposal_handler.go +++ b/x/entity/proposal_handler.go @@ -5,9 +5,9 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/ixofoundation/ixo-blockchain/x/entity/keeper" - "github.com/ixofoundation/ixo-blockchain/x/entity/types" - nft "github.com/ixofoundation/ixo-blockchain/x/entity/types/contracts" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types" + nft "github.com/ixofoundation/ixo-blockchain/v2/x/entity/types/contracts" ) const ( diff --git a/x/entity/types/cosmos.pb.go b/x/entity/types/cosmos.pb.go index 8503b98f..32dd52ca 100644 --- a/x/entity/types/cosmos.pb.go +++ b/x/entity/types/cosmos.pb.go @@ -90,26 +90,26 @@ func init() { func init() { proto.RegisterFile("ixo/entity/v1beta1/cosmos.proto", fileDescriptor_3bb875cebaa6563e) } var fileDescriptor_3bb875cebaa6563e = []byte{ - // 291 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0x41, 0x4a, 0xf4, 0x30, - 0x18, 0x86, 0x9b, 0x1f, 0x7e, 0x91, 0xca, 0x2c, 0x2c, 0xb3, 0xd0, 0x2e, 0x52, 0x71, 0xe5, 0x66, - 0x12, 0x46, 0xc1, 0xfd, 0x14, 0xc1, 0x95, 0x20, 0x83, 0x2b, 0x37, 0x92, 0xd6, 0x4c, 0x1b, 0x9c, - 0xe6, 0x2b, 0xed, 0x57, 0x69, 0x3d, 0xc5, 0x1c, 0xc0, 0x63, 0x78, 0x88, 0xc1, 0xd5, 0x2c, 0x5d, - 0xa9, 0xb4, 0x17, 0x91, 0x49, 0x2c, 0x54, 0xdd, 0xe5, 0xe5, 0x7d, 0x9e, 0x37, 0x81, 0xb8, 0x81, - 0xaa, 0x81, 0x4b, 0x8d, 0x0a, 0x1b, 0xfe, 0x38, 0x8d, 0x24, 0x8a, 0x29, 0x8f, 0xa1, 0xcc, 0xa0, - 0x64, 0x79, 0x01, 0x08, 0x9e, 0xa7, 0x6a, 0x60, 0x16, 0x60, 0xdf, 0x80, 0x3f, 0x4e, 0x20, 0x01, - 0x53, 0xf3, 0xed, 0xc9, 0x92, 0xfe, 0xa1, 0xf5, 0xee, 0x6c, 0x31, 0x1c, 0xf1, 0x83, 0x04, 0x20, - 0x59, 0x4a, 0x6e, 0x52, 0x54, 0x2d, 0x38, 0xaa, 0x4c, 0x96, 0x28, 0xb2, 0xbc, 0x77, 0x7f, 0x03, - 0x42, 0x37, 0xb6, 0x3a, 0x7e, 0x26, 0xee, 0xff, 0xcb, 0x42, 0x68, 0xf4, 0xae, 0xdc, 0x91, 0xa8, - 0x30, 0x85, 0x42, 0x3d, 0x09, 0x54, 0xa0, 0x0f, 0xc8, 0x11, 0x39, 0xd9, 0x3b, 0x1d, 0x33, 0x2b, - 0xb3, 0x5e, 0x66, 0x33, 0xdd, 0x84, 0xfb, 0xaf, 0x2f, 0x93, 0xd1, 0x6c, 0x88, 0xcf, 0x7f, 0xda, - 0xde, 0x85, 0xeb, 0xca, 0x3a, 0x57, 0x85, 0xdd, 0xfa, 0x67, 0xb6, 0xfc, 0x3f, 0x5b, 0x37, 0xfd, - 0x4b, 0xc3, 0xdd, 0xf5, 0x7b, 0xe0, 0xac, 0x3e, 0x02, 0x32, 0x1f, 0x78, 0xe1, 0xf5, 0xba, 0xa5, - 0x64, 0xd3, 0x52, 0xf2, 0xd9, 0x52, 0xb2, 0xea, 0xa8, 0xb3, 0xe9, 0xa8, 0xf3, 0xd6, 0x51, 0xe7, - 0xf6, 0x3c, 0x51, 0x98, 0x56, 0x11, 0x8b, 0x21, 0xe3, 0xaa, 0x86, 0x05, 0x54, 0xfa, 0xde, 0x38, - 0xdb, 0x34, 0x89, 0x96, 0x10, 0x3f, 0xc4, 0xa9, 0x50, 0x9a, 0xd7, 0xfd, 0x07, 0x60, 0x93, 0xcb, - 0x32, 0xda, 0x31, 0x77, 0x9f, 0x7d, 0x05, 0x00, 0x00, 0xff, 0xff, 0xbd, 0x47, 0x20, 0xa1, 0x9b, - 0x01, 0x00, 0x00, + // 292 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0x31, 0x4e, 0xc3, 0x30, + 0x18, 0x85, 0x63, 0x24, 0x10, 0x0a, 0xea, 0x40, 0xd4, 0x01, 0x32, 0x38, 0x88, 0x89, 0xa5, 0xb6, + 0x5a, 0x26, 0xc6, 0x46, 0x48, 0x4c, 0x2c, 0x85, 0x89, 0x05, 0x39, 0xc1, 0x4d, 0x2c, 0x1a, 0xff, + 0x51, 0xf2, 0xa7, 0x4a, 0x38, 0x45, 0x0f, 0xc0, 0x31, 0x38, 0x44, 0xc5, 0xd4, 0x91, 0x09, 0x50, + 0x72, 0x11, 0xd4, 0x98, 0x48, 0x81, 0x6e, 0x7e, 0x7a, 0xdf, 0xf7, 0x6c, 0xc9, 0xb6, 0xa7, 0x4a, + 0xe0, 0x52, 0xa3, 0xc2, 0x8a, 0x2f, 0xc7, 0x81, 0x44, 0x31, 0xe6, 0x21, 0xe4, 0x09, 0xe4, 0x2c, + 0xcd, 0x00, 0xc1, 0x71, 0x54, 0x09, 0xcc, 0x00, 0xec, 0x17, 0x70, 0x87, 0x11, 0x44, 0xd0, 0xd6, + 0x7c, 0x7b, 0x32, 0xa4, 0x7b, 0x6a, 0xbc, 0x47, 0x53, 0xf4, 0x47, 0x5c, 0x2f, 0x02, 0x88, 0x16, + 0x92, 0xb7, 0x29, 0x28, 0xe6, 0x1c, 0x55, 0x22, 0x73, 0x14, 0x49, 0xda, 0xb9, 0xff, 0x01, 0xa1, + 0x2b, 0x53, 0x9d, 0xbf, 0x12, 0x7b, 0xff, 0x26, 0x13, 0x1a, 0x9d, 0x5b, 0x7b, 0x20, 0x0a, 0x8c, + 0x21, 0x53, 0x2f, 0x02, 0x15, 0xe8, 0x13, 0x72, 0x46, 0x2e, 0x8e, 0x26, 0x43, 0x66, 0x64, 0xd6, + 0xc9, 0x6c, 0xaa, 0x2b, 0xff, 0xf8, 0xfd, 0x6d, 0x34, 0x98, 0xf6, 0xf1, 0xd9, 0x5f, 0xdb, 0xb9, + 0xb6, 0x6d, 0x59, 0xa6, 0x2a, 0x33, 0x5b, 0x7b, 0xed, 0x96, 0xbb, 0xb3, 0x75, 0xdf, 0xbd, 0xd4, + 0x3f, 0x5c, 0x7f, 0x7a, 0xd6, 0xea, 0xcb, 0x23, 0xb3, 0x9e, 0xe7, 0xdf, 0xad, 0x6b, 0x4a, 0x36, + 0x35, 0x25, 0xdf, 0x35, 0x25, 0xab, 0x86, 0x5a, 0x9b, 0x86, 0x5a, 0x1f, 0x0d, 0xb5, 0x1e, 0xae, + 0x22, 0x85, 0x71, 0x11, 0xb0, 0x10, 0x12, 0xae, 0x4a, 0x98, 0x43, 0xa1, 0x9f, 0x5a, 0x67, 0x9b, + 0x46, 0xc1, 0x02, 0xc2, 0xe7, 0x30, 0x16, 0x4a, 0xf3, 0xe5, 0x84, 0x97, 0xdd, 0x1f, 0x60, 0x95, + 0xca, 0x3c, 0x38, 0x68, 0xaf, 0xbf, 0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x69, 0x5c, 0xb7, 0x0f, + 0x9e, 0x01, 0x00, 0x00, } func (m *Grant) Marshal() (dAtA []byte, err error) { diff --git a/x/entity/types/entity.pb.go b/x/entity/types/entity.pb.go index 3793f9b8..47682e4f 100644 --- a/x/entity/types/entity.pb.go +++ b/x/entity/types/entity.pb.go @@ -8,7 +8,7 @@ import ( _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - _ "github.com/ixofoundation/ixo-blockchain/x/iid/types" + _ "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" math "math" @@ -341,43 +341,43 @@ func init() { func init() { proto.RegisterFile("ixo/entity/v1beta1/entity.proto", fileDescriptor_9631845bd4f69820) } var fileDescriptor_9631845bd4f69820 = []byte{ - // 568 bytes of a gzipped FileDescriptorProto + // 570 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xbf, 0x6e, 0x13, 0x4f, - 0x10, 0xce, 0xc6, 0x8e, 0xff, 0x8c, 0x7f, 0x3f, 0x23, 0x56, 0x08, 0x1d, 0x91, 0x38, 0x5f, 0x5c, - 0x80, 0x0b, 0xb8, 0x53, 0x82, 0x44, 0x11, 0x04, 0x28, 0x09, 0x14, 0x14, 0x41, 0xd1, 0x81, 0x28, - 0x68, 0xac, 0xf5, 0xed, 0xd8, 0x59, 0xe1, 0xdb, 0x35, 0x7b, 0x7b, 0x91, 0xf3, 0x12, 0x28, 0x8f, - 0xc0, 0x0b, 0x50, 0xf2, 0x0e, 0x94, 0x29, 0xe9, 0x40, 0x49, 0xc3, 0x63, 0xa0, 0xdb, 0x5d, 0x5b, - 0x09, 0x01, 0x29, 0xdd, 0xcc, 0x37, 0xdf, 0x37, 0x3b, 0x73, 0xf3, 0xe9, 0xa0, 0x27, 0xe6, 0x2a, - 0x41, 0x69, 0x84, 0x39, 0x4e, 0x8e, 0x36, 0x47, 0x68, 0xd8, 0xa6, 0x4f, 0xe3, 0x99, 0x56, 0x46, - 0x51, 0x2a, 0xe6, 0x2a, 0xf6, 0x88, 0x27, 0xac, 0xdf, 0x9a, 0xa8, 0x89, 0xb2, 0xe5, 0xa4, 0x8a, - 0x1c, 0x73, 0xfd, 0x4e, 0xd5, 0x4a, 0x08, 0xbe, 0xec, 0x23, 0x04, 0xf7, 0xa5, 0xde, 0x44, 0xa9, - 0xc9, 0x14, 0x13, 0x9b, 0x8d, 0xca, 0x71, 0x62, 0x44, 0x8e, 0x85, 0x61, 0xf9, 0xcc, 0x11, 0xfa, - 0x9f, 0x08, 0x34, 0x0e, 0x98, 0x66, 0x79, 0x41, 0x63, 0xa0, 0x72, 0x6c, 0xf6, 0x94, 0x34, 0x9a, - 0x65, 0x66, 0x87, 0x73, 0x8d, 0x45, 0x11, 0x90, 0x88, 0x0c, 0xda, 0xe9, 0x5f, 0x2a, 0xf4, 0x01, - 0xdc, 0xbc, 0x80, 0xee, 0x0b, 0x69, 0x50, 0x07, 0xab, 0x96, 0x7e, 0xb5, 0x40, 0xef, 0x41, 0x37, - 0xd3, 0xc8, 0x0c, 0xbe, 0xc1, 0x8f, 0x25, 0xca, 0x0c, 0x83, 0x5a, 0x44, 0x06, 0xf5, 0xf4, 0x0f, - 0xb4, 0xff, 0xb5, 0x06, 0x8d, 0x97, 0x76, 0x6b, 0xda, 0x85, 0x55, 0xc1, 0xfd, 0x00, 0xab, 0x82, - 0x53, 0x0a, 0x75, 0x73, 0x3c, 0x43, 0xff, 0x86, 0x8d, 0xe9, 0x73, 0x80, 0xc2, 0x30, 0x6d, 0x86, - 0x9c, 0x19, 0xd7, 0xb2, 0xb3, 0xb5, 0x1e, 0xbb, 0xad, 0xe3, 0xc5, 0xd6, 0xf1, 0xdb, 0xc5, 0xd6, - 0xbb, 0xf5, 0x93, 0x1f, 0x3d, 0x92, 0xb6, 0xad, 0xe6, 0x05, 0x33, 0x48, 0x9f, 0x40, 0x0b, 0x25, - 0x77, 0xf2, 0xfa, 0x35, 0xe5, 0x4d, 0x94, 0xdc, 0x8a, 0x6f, 0x43, 0xa3, 0x30, 0xcc, 0x94, 0x45, - 0xb0, 0x16, 0x91, 0xc1, 0x5a, 0xea, 0x33, 0xba, 0x01, 0xff, 0x69, 0x9c, 0xb2, 0x63, 0xd4, 0x43, - 0xa9, 0x38, 0x06, 0x0d, 0x3b, 0x71, 0xc7, 0x63, 0xaf, 0x15, 0x47, 0x1a, 0x41, 0x27, 0xd3, 0xc8, - 0xab, 0x03, 0xb3, 0x69, 0x11, 0x34, 0xa3, 0x5a, 0xc5, 0xb8, 0x00, 0xd1, 0xfb, 0x70, 0xc3, 0x9d, - 0x7f, 0x78, 0x84, 0x5a, 0x8c, 0x05, 0xf2, 0xa0, 0x15, 0x91, 0x41, 0x2b, 0xed, 0x3a, 0xf8, 0x9d, - 0x47, 0xe9, 0x33, 0x68, 0xe5, 0x68, 0x18, 0x67, 0x86, 0x05, 0x6d, 0xbb, 0x42, 0x3f, 0xbe, 0x6a, - 0x9e, 0xd8, 0x7d, 0xd5, 0x7d, 0xcf, 0x4c, 0x97, 0x1a, 0xfa, 0x14, 0x5a, 0x2c, 0xcb, 0x54, 0x29, - 0x4d, 0x11, 0x40, 0x54, 0x1b, 0x74, 0xb6, 0x36, 0xfe, 0xad, 0xdf, 0x71, 0xcc, 0x74, 0x29, 0xd9, - 0xae, 0xff, 0xfa, 0xdc, 0x23, 0xfd, 0x3d, 0xf8, 0xff, 0x12, 0xa1, 0xba, 0x96, 0x64, 0x39, 0xfa, - 0xfb, 0xd9, 0x98, 0x06, 0xd0, 0x64, 0xde, 0x57, 0xee, 0x88, 0x8b, 0xd4, 0x37, 0xf9, 0x42, 0xa0, - 0x7b, 0x79, 0x4c, 0x7a, 0x17, 0xe0, 0x08, 0x75, 0x21, 0x94, 0x1c, 0x2e, 0xcd, 0xd0, 0xf6, 0xc8, - 0x2b, 0x4e, 0xb7, 0xa1, 0xe9, 0x0c, 0xc4, 0x6d, 0xc7, 0x6b, 0x5d, 0xcf, 0x0b, 0x2a, 0x6d, 0x39, - 0xe3, 0x56, 0x7b, 0x5d, 0xe3, 0x2c, 0x04, 0x6e, 0xde, 0xdd, 0x83, 0x6f, 0x67, 0x21, 0x39, 0x3d, - 0x0b, 0xc9, 0xcf, 0xb3, 0x90, 0x9c, 0x9c, 0x87, 0x2b, 0xa7, 0xe7, 0xe1, 0xca, 0xf7, 0xf3, 0x70, - 0xe5, 0xfd, 0xe3, 0x89, 0x30, 0x87, 0xe5, 0x28, 0xce, 0x54, 0x9e, 0x88, 0xb9, 0x1a, 0xab, 0x52, - 0x72, 0x66, 0x84, 0x92, 0x55, 0xf6, 0x70, 0x34, 0x55, 0xd9, 0x87, 0xec, 0x90, 0x09, 0x99, 0xcc, - 0x17, 0x3f, 0x81, 0xca, 0xce, 0xc5, 0xa8, 0x61, 0x9f, 0x7e, 0xf4, 0x3b, 0x00, 0x00, 0xff, 0xff, - 0x5e, 0xde, 0xec, 0xdd, 0x1f, 0x04, 0x00, 0x00, + 0x10, 0xce, 0xc6, 0x8e, 0xff, 0x8c, 0x7f, 0x3f, 0x23, 0x56, 0x08, 0x1d, 0x91, 0xb0, 0x2f, 0x2e, + 0xc0, 0x05, 0xdc, 0x29, 0xa1, 0x22, 0x08, 0x50, 0x12, 0x28, 0x28, 0x82, 0xd0, 0x05, 0x51, 0xd0, + 0x58, 0xeb, 0xdb, 0xb1, 0xb3, 0xc2, 0xb7, 0x6b, 0xf6, 0xf6, 0x2c, 0xe7, 0x25, 0x50, 0x1e, 0x81, + 0x17, 0xa0, 0xe4, 0x1d, 0x28, 0x53, 0xd2, 0x81, 0x92, 0x86, 0xc7, 0x40, 0xb7, 0xbb, 0xb6, 0x12, + 0x02, 0x92, 0xbb, 0x99, 0x6f, 0xbe, 0x6f, 0x76, 0xe6, 0xe6, 0xd3, 0x41, 0x57, 0xcc, 0x55, 0x8c, + 0xd2, 0x08, 0x73, 0x12, 0xcf, 0xb6, 0x87, 0x68, 0xd8, 0xb6, 0x4f, 0xa3, 0xa9, 0x56, 0x46, 0x51, + 0x2a, 0xe6, 0x2a, 0xf2, 0x88, 0x27, 0x6c, 0xde, 0x1a, 0xab, 0xb1, 0xb2, 0xe5, 0xb8, 0x8c, 0x1c, + 0x73, 0xf3, 0x4e, 0xd9, 0x4a, 0x08, 0xbe, 0xec, 0x23, 0x04, 0xf7, 0xa5, 0xee, 0x58, 0xa9, 0xf1, + 0x04, 0x63, 0x9b, 0x0d, 0x8b, 0x51, 0x6c, 0x44, 0x86, 0xb9, 0x61, 0xd9, 0xd4, 0x11, 0x7a, 0x9f, + 0x08, 0xd4, 0xde, 0x30, 0xcd, 0xb2, 0x9c, 0x46, 0x40, 0xe5, 0xc8, 0x1c, 0x28, 0x69, 0x34, 0x4b, + 0xcd, 0x1e, 0xe7, 0x1a, 0xf3, 0x3c, 0x20, 0x21, 0xe9, 0x37, 0x93, 0xbf, 0x54, 0xe8, 0x03, 0xb8, + 0x79, 0x09, 0x3d, 0x14, 0xd2, 0xa0, 0x0e, 0xd6, 0x2d, 0xfd, 0x7a, 0x81, 0xde, 0x83, 0x76, 0xaa, + 0x91, 0x19, 0x3c, 0xc2, 0x8f, 0x05, 0xca, 0x14, 0x83, 0x4a, 0x48, 0xfa, 0xd5, 0xe4, 0x0f, 0xb4, + 0xf7, 0xb5, 0x02, 0xb5, 0x97, 0x76, 0x6b, 0xda, 0x86, 0x75, 0xc1, 0xfd, 0x00, 0xeb, 0x82, 0x53, + 0x0a, 0x55, 0x73, 0x32, 0x45, 0xff, 0x86, 0x8d, 0xe9, 0x73, 0x80, 0xdc, 0x30, 0x6d, 0x06, 0x9c, + 0x19, 0xd7, 0xb2, 0xb5, 0xb3, 0x19, 0xb9, 0xad, 0xa3, 0xc5, 0xd6, 0xd1, 0xdb, 0xc5, 0xd6, 0xfb, + 0xd5, 0xd3, 0x1f, 0x5d, 0x92, 0x34, 0xad, 0xe6, 0x05, 0x33, 0x48, 0x9f, 0x40, 0x03, 0x25, 0x77, + 0xf2, 0xea, 0x8a, 0xf2, 0x3a, 0x4a, 0x6e, 0xc5, 0xb7, 0xa1, 0x96, 0x1b, 0x66, 0x8a, 0x3c, 0xd8, + 0x08, 0x49, 0x7f, 0x23, 0xf1, 0x19, 0xdd, 0x82, 0xff, 0x34, 0x4e, 0xd8, 0x09, 0xea, 0x81, 0x54, + 0x1c, 0x83, 0x9a, 0x9d, 0xb8, 0xe5, 0xb1, 0xd7, 0x8a, 0x23, 0x0d, 0xa1, 0x95, 0x6a, 0xe4, 0xe5, + 0x81, 0xd9, 0x24, 0x0f, 0xea, 0x61, 0xa5, 0x64, 0x5c, 0x82, 0xe8, 0x7d, 0xb8, 0xe1, 0xce, 0x3f, + 0x98, 0xa1, 0x16, 0x23, 0x81, 0x3c, 0x68, 0x84, 0xa4, 0xdf, 0x48, 0xda, 0x0e, 0x7e, 0xe7, 0x51, + 0xfa, 0x0c, 0x1a, 0x19, 0x1a, 0xc6, 0x99, 0x61, 0x41, 0xd3, 0xae, 0xd0, 0x8b, 0xae, 0x9b, 0x27, + 0x72, 0x5f, 0xf5, 0xd0, 0x33, 0x93, 0xa5, 0x86, 0x3e, 0x85, 0x06, 0x4b, 0x53, 0x55, 0x48, 0x93, + 0x07, 0x10, 0x56, 0xfa, 0xad, 0x9d, 0xad, 0x7f, 0xeb, 0xf7, 0x1c, 0x33, 0x59, 0x4a, 0x76, 0xab, + 0xbf, 0x3e, 0x77, 0x49, 0xef, 0x00, 0xfe, 0xbf, 0x42, 0x28, 0xaf, 0x25, 0x59, 0x86, 0xfe, 0x7e, + 0x36, 0xa6, 0x01, 0xd4, 0x99, 0xf7, 0x95, 0x3b, 0xe2, 0x22, 0xf5, 0x4d, 0xbe, 0x10, 0x68, 0x5f, + 0x1d, 0x93, 0xde, 0x05, 0x98, 0xa1, 0xce, 0x85, 0x92, 0x83, 0xa5, 0x19, 0x9a, 0x1e, 0x79, 0xc5, + 0xe9, 0x2e, 0xd4, 0x9d, 0x81, 0xb8, 0xed, 0xb8, 0xd2, 0xf5, 0xbc, 0xa0, 0xd4, 0x16, 0x53, 0x6e, + 0xb5, 0xab, 0x1a, 0x67, 0x21, 0x70, 0xf3, 0xee, 0x1f, 0x7d, 0x3b, 0xef, 0x90, 0xb3, 0xf3, 0x0e, + 0xf9, 0x79, 0xde, 0x21, 0xa7, 0x17, 0x9d, 0xb5, 0xb3, 0x8b, 0xce, 0xda, 0xf7, 0x8b, 0xce, 0xda, + 0xfb, 0xc7, 0x63, 0x61, 0x8e, 0x8b, 0x61, 0x94, 0xaa, 0x2c, 0x16, 0x73, 0x35, 0x52, 0x85, 0xe4, + 0xcc, 0x08, 0x25, 0xcb, 0xec, 0xe1, 0x70, 0xa2, 0xd2, 0x0f, 0xe9, 0x31, 0x13, 0x32, 0x9e, 0xed, + 0xc4, 0xf3, 0xc5, 0x7f, 0xa0, 0x74, 0x74, 0x3e, 0xac, 0xd9, 0xd7, 0x1f, 0xfd, 0x0e, 0x00, 0x00, + 0xff, 0xff, 0x24, 0x8d, 0x42, 0x96, 0x22, 0x04, 0x00, 0x00, } func (this *Entity) Equal(that interface{}) bool { diff --git a/x/entity/types/event.pb.go b/x/entity/types/event.pb.go index 3007ad17..c33792d3 100644 --- a/x/entity/types/event.pb.go +++ b/x/entity/types/event.pb.go @@ -418,34 +418,34 @@ func init() { func init() { proto.RegisterFile("ixo/entity/v1beta1/event.proto", fileDescriptor_3a73923d9783a1ef) } var fileDescriptor_3a73923d9783a1ef = []byte{ - // 429 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x53, 0xc1, 0x8e, 0xd3, 0x30, - 0x10, 0xad, 0xcb, 0x6e, 0xa1, 0x5e, 0x54, 0x24, 0x0b, 0xad, 0xb2, 0x3d, 0x98, 0xd2, 0x0b, 0xbd, - 0x90, 0x68, 0x17, 0x89, 0x7b, 0x41, 0x2b, 0x2e, 0x08, 0xa1, 0x08, 0x38, 0x70, 0x59, 0xdc, 0x78, - 0x9a, 0x5a, 0x10, 0x4f, 0xe5, 0x38, 0x55, 0x96, 0x9f, 0x80, 0xcf, 0xe2, 0xd8, 0x23, 0x47, 0xd4, - 0xfe, 0x08, 0x8a, 0xed, 0x6a, 0x89, 0xd8, 0x4a, 0x7b, 0xe9, 0x6d, 0x66, 0xde, 0x9b, 0xf7, 0x5e, - 0x14, 0x0f, 0xe5, 0xaa, 0xc6, 0x04, 0xb4, 0x55, 0xf6, 0x3a, 0x59, 0x9d, 0xcf, 0xc0, 0x8a, 0xf3, - 0x04, 0x56, 0xa0, 0x6d, 0xbc, 0x34, 0x68, 0x91, 0x31, 0x55, 0x63, 0xec, 0xf1, 0x38, 0xe0, 0xc3, - 0xc7, 0x39, 0xe6, 0xe8, 0xe0, 0xa4, 0xa9, 0x3c, 0x73, 0xf8, 0xe4, 0x36, 0x25, 0xbf, 0xb8, 0x9f, - 0x90, 0x61, 0x59, 0x60, 0xe9, 0x09, 0xe3, 0x2f, 0x94, 0x5d, 0x3a, 0xf8, 0xb5, 0x01, 0x61, 0x41, - 0x5e, 0x36, 0x39, 0xd8, 0x05, 0xed, 0xf9, 0xa5, 0x88, 0x8c, 0xc8, 0xe4, 0xe4, 0x62, 0x18, 0xff, - 0x1f, 0x29, 0xf6, 0x7b, 0x69, 0x60, 0xb2, 0x53, 0xda, 0x2b, 0x55, 0xae, 0xc1, 0x44, 0xdd, 0x11, - 0x99, 0xf4, 0xd3, 0xd0, 0xdd, 0x38, 0x7c, 0x5c, 0xca, 0xc3, 0x38, 0x14, 0x74, 0xe8, 0x99, 0x9f, - 0xc0, 0xa8, 0xb9, 0x02, 0xd9, 0x72, 0x1a, 0xd0, 0xae, 0x92, 0xce, 0xa5, 0x9f, 0x76, 0x95, 0xdc, - 0xa7, 0xc2, 0x9e, 0xd1, 0x47, 0xde, 0xe7, 0x6a, 0x15, 0x64, 0xa2, 0x7b, 0x23, 0x32, 0x79, 0x90, - 0x0e, 0xa0, 0x25, 0x3e, 0x7e, 0x4b, 0x4f, 0xbd, 0xdd, 0x07, 0x23, 0x74, 0x39, 0x07, 0x63, 0xf6, - 0x59, 0x31, 0x7a, 0x34, 0x37, 0x58, 0x04, 0x23, 0x57, 0x37, 0x1c, 0x8b, 0x4e, 0xb9, 0x9f, 0x76, - 0x2d, 0x8e, 0x7f, 0x10, 0x7a, 0xe6, 0xe5, 0xa6, 0x59, 0x86, 0x95, 0xb6, 0xad, 0x1f, 0x71, 0xd7, - 0xf0, 0x4f, 0xe9, 0x43, 0xe1, 0xd7, 0xaf, 0xb4, 0x28, 0x20, 0xe8, 0x9f, 0x84, 0xd9, 0x3b, 0x51, - 0x40, 0xf3, 0x7d, 0x3b, 0x8a, 0x90, 0xd2, 0x40, 0x59, 0x46, 0x47, 0x8e, 0x35, 0x08, 0xe3, 0xa9, - 0x9f, 0x8e, 0xd7, 0x84, 0xf2, 0x56, 0xa2, 0x69, 0x65, 0x17, 0xdf, 0x0f, 0x15, 0x2b, 0xa2, 0xf7, - 0x73, 0x23, 0xb4, 0x05, 0x13, 0xe2, 0xec, 0xda, 0x1b, 0x04, 0xa2, 0xe3, 0x7f, 0x11, 0x60, 0x09, - 0x3d, 0x76, 0x65, 0xd4, 0x73, 0x6f, 0xe7, 0xec, 0xb6, 0xb7, 0xf3, 0xa6, 0x21, 0xa4, 0x9e, 0xf7, - 0xea, 0xfd, 0xaf, 0x0d, 0x27, 0xeb, 0x0d, 0x27, 0x7f, 0x36, 0x9c, 0xfc, 0xdc, 0xf2, 0xce, 0x7a, - 0xcb, 0x3b, 0xbf, 0xb7, 0xbc, 0xf3, 0xf9, 0x65, 0xae, 0xec, 0xa2, 0x9a, 0xc5, 0x19, 0x16, 0x89, - 0xaa, 0x71, 0x8e, 0x95, 0x96, 0xc2, 0x2a, 0xd4, 0x4d, 0xf7, 0x7c, 0xf6, 0x0d, 0xb3, 0xaf, 0xd9, - 0x42, 0x28, 0x9d, 0xd4, 0xbb, 0x33, 0xb2, 0xd7, 0x4b, 0x28, 0x67, 0x3d, 0x77, 0x3e, 0x2f, 0xfe, - 0x06, 0x00, 0x00, 0xff, 0xff, 0x65, 0xaa, 0x8d, 0xa2, 0xcc, 0x03, 0x00, 0x00, + // 432 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x53, 0x3d, 0x8f, 0x13, 0x31, + 0x10, 0x8d, 0xc3, 0x5d, 0x20, 0x3e, 0x14, 0x24, 0x0b, 0x9d, 0xf6, 0x52, 0x98, 0x90, 0x86, 0x34, + 0xac, 0x75, 0xa1, 0xa2, 0x0c, 0xe8, 0x44, 0x83, 0x28, 0x96, 0x8f, 0x82, 0xe6, 0x70, 0xd6, 0x93, + 0x8d, 0x05, 0xeb, 0x89, 0xbc, 0x4e, 0x94, 0xe3, 0x4f, 0xc0, 0xcf, 0xa2, 0x4c, 0x49, 0x89, 0x92, + 0x3f, 0x82, 0xd6, 0x76, 0x74, 0xac, 0xb8, 0x48, 0xd7, 0x5c, 0x37, 0x33, 0xef, 0xcd, 0x7b, 0x6f, + 0xb5, 0x1e, 0xca, 0xf5, 0x1a, 0x05, 0x18, 0xa7, 0xdd, 0x95, 0x58, 0x9d, 0x4f, 0xc1, 0xc9, 0x73, + 0x01, 0x2b, 0x30, 0x2e, 0x5d, 0x58, 0x74, 0xc8, 0x98, 0x5e, 0x63, 0x1a, 0xf0, 0x34, 0xe2, 0xfd, + 0xc7, 0x05, 0x16, 0xe8, 0x61, 0x51, 0x57, 0x81, 0xd9, 0x7f, 0x72, 0x93, 0x52, 0x58, 0x3c, 0x4c, + 0xc8, 0xb1, 0x2a, 0xb1, 0x0a, 0x84, 0xe1, 0x17, 0xca, 0x2e, 0x3c, 0xfc, 0xda, 0x82, 0x74, 0xa0, + 0x2e, 0xea, 0x1c, 0x6c, 0x4c, 0x3b, 0x61, 0x29, 0x21, 0x03, 0x32, 0x3a, 0x19, 0xf7, 0xd3, 0xff, + 0x23, 0xa5, 0x61, 0x2f, 0x8b, 0x4c, 0x76, 0x4a, 0x3b, 0x95, 0x2e, 0x0c, 0xd8, 0xa4, 0x3d, 0x20, + 0xa3, 0x6e, 0x16, 0xbb, 0x6b, 0x87, 0x8f, 0x0b, 0x75, 0x37, 0x0e, 0x25, 0xed, 0x07, 0xe6, 0x27, + 0xb0, 0x7a, 0xa6, 0x41, 0x35, 0x9c, 0x7a, 0xb4, 0xad, 0x95, 0x77, 0xe9, 0x66, 0x6d, 0xad, 0x0e, + 0xa9, 0xb0, 0x67, 0xf4, 0x51, 0xf0, 0xb9, 0x5c, 0x45, 0x99, 0xe4, 0xde, 0x80, 0x8c, 0x1e, 0x64, + 0x3d, 0x68, 0x88, 0x0f, 0xdf, 0xd2, 0xd3, 0x60, 0xf7, 0xc1, 0x4a, 0x53, 0xcd, 0xc0, 0xda, 0x43, + 0x56, 0x8c, 0x1e, 0xcd, 0x2c, 0x96, 0xd1, 0xc8, 0xd7, 0x35, 0xc7, 0xa1, 0x57, 0xee, 0x66, 0x6d, + 0x87, 0xc3, 0x1f, 0x84, 0x9e, 0x05, 0xb9, 0x49, 0x9e, 0xe3, 0xd2, 0xb8, 0xc6, 0x8f, 0xb8, 0x6d, + 0xf8, 0xa7, 0xf4, 0xa1, 0x0c, 0xeb, 0x97, 0x46, 0x96, 0x10, 0xf5, 0x4f, 0xe2, 0xec, 0x9d, 0x2c, + 0xa1, 0xfe, 0xbe, 0x3d, 0x45, 0x2a, 0x65, 0xa1, 0xaa, 0x92, 0x23, 0xcf, 0xea, 0xc5, 0xf1, 0x24, + 0x4c, 0x87, 0x1b, 0x42, 0x79, 0x23, 0xd1, 0x64, 0xe9, 0xe6, 0xdf, 0xef, 0x2a, 0x56, 0x42, 0xef, + 0x17, 0x56, 0x1a, 0x07, 0x36, 0xc6, 0xd9, 0xb7, 0xd7, 0x08, 0x24, 0xc7, 0xff, 0x22, 0xc0, 0x04, + 0x3d, 0xf6, 0x65, 0xd2, 0xf1, 0x6f, 0xe7, 0xec, 0xa6, 0xb7, 0xf3, 0xa6, 0x26, 0x64, 0x81, 0xf7, + 0xea, 0xfd, 0xaf, 0x2d, 0x27, 0x9b, 0x2d, 0x27, 0x7f, 0xb6, 0x9c, 0xfc, 0xdc, 0xf1, 0xd6, 0x66, + 0xc7, 0x5b, 0xbf, 0x77, 0xbc, 0xf5, 0xf9, 0x65, 0xa1, 0xdd, 0x7c, 0x39, 0x4d, 0x73, 0x2c, 0x85, + 0x5e, 0xe3, 0x0c, 0x97, 0x46, 0x49, 0xa7, 0xd1, 0xd4, 0xdd, 0xf3, 0xe9, 0x37, 0xcc, 0xbf, 0xe6, + 0x73, 0xa9, 0x8d, 0x58, 0x8d, 0xc5, 0x7a, 0x7f, 0x49, 0xee, 0x6a, 0x01, 0xd5, 0xb4, 0xe3, 0x2f, + 0xe8, 0xc5, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x16, 0x6a, 0x9a, 0xcf, 0xcf, 0x03, 0x00, 0x00, } func (m *EntityCreatedEvent) Marshal() (dAtA []byte, err error) { diff --git a/x/entity/types/genesis.pb.go b/x/entity/types/genesis.pb.go index 36ea60c7..c3ecd3b3 100644 --- a/x/entity/types/genesis.pb.go +++ b/x/entity/types/genesis.pb.go @@ -83,7 +83,7 @@ func init() { func init() { proto.RegisterFile("ixo/entity/v1beta1/genesis.proto", fileDescriptor_0ddc9acf0baf66af) } var fileDescriptor_0ddc9acf0baf66af = []byte{ - // 240 bytes of a gzipped FileDescriptorProto + // 243 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xc8, 0xac, 0xc8, 0xd7, 0x4f, 0xcd, 0x2b, 0xc9, 0x2c, 0xa9, 0xd4, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x4f, 0xcd, 0x4b, 0x2d, 0xce, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0xca, 0xac, @@ -93,12 +93,13 @@ var fileDescriptor_0ddc9acf0baf66af = []byte{ 0x99, 0x5a, 0x2c, 0xc1, 0xa8, 0xc0, 0xac, 0xc1, 0x6d, 0x24, 0xa5, 0x87, 0x69, 0x9d, 0x9e, 0x2b, 0x98, 0xeb, 0xc4, 0x72, 0xe2, 0x9e, 0x3c, 0x43, 0x10, 0x5c, 0x87, 0x90, 0x05, 0x17, 0x5b, 0x41, 0x62, 0x51, 0x62, 0x6e, 0xb1, 0x04, 0x93, 0x02, 0x23, 0x2e, 0xbd, 0x01, 0x60, 0x15, 0x50, 0xbd, - 0x50, 0xf5, 0x4e, 0x01, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, - 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x10, 0x65, 0x96, + 0x50, 0xf5, 0x4e, 0xc1, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, + 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x10, 0x65, 0x99, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0x9f, 0x59, 0x91, 0x9f, 0x96, 0x5f, 0x9a, 0x97, 0x92, 0x58, 0x92, 0x99, 0x9f, 0x07, 0xe2, 0xe9, 0x26, 0xe5, 0xe4, 0x27, 0x67, 0x27, - 0x67, 0x24, 0x66, 0xe6, 0xe9, 0x57, 0xc0, 0x7c, 0x5a, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, - 0xf6, 0xa1, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x02, 0x95, 0xc2, 0x69, 0x50, 0x01, 0x00, 0x00, + 0x67, 0x24, 0x66, 0xe6, 0xe9, 0x97, 0x19, 0xe9, 0x57, 0xc0, 0x3c, 0x5b, 0x52, 0x59, 0x90, 0x5a, + 0x9c, 0xc4, 0x06, 0xf6, 0xa4, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x45, 0xc1, 0xbf, 0x3c, 0x53, + 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/entity/types/msg_validation.go b/x/entity/types/msg_validation.go index 05c029ad..ba1900de 100644 --- a/x/entity/types/msg_validation.go +++ b/x/entity/types/msg_validation.go @@ -3,8 +3,8 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - ixo "github.com/ixofoundation/ixo-blockchain/lib/ixo" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + ixo "github.com/ixofoundation/ixo-blockchain/v2/lib/ixo" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) // -------------------------- diff --git a/x/entity/types/proposal.go b/x/entity/types/proposal.go index e16dd3d1..5c295807 100644 --- a/x/entity/types/proposal.go +++ b/x/entity/types/proposal.go @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - types "github.com/ixofoundation/ixo-blockchain/x/iid/types" + types "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) var ( diff --git a/x/entity/types/proposal.pb.go b/x/entity/types/proposal.pb.go index e9039dc6..8c25f9a8 100644 --- a/x/entity/types/proposal.pb.go +++ b/x/entity/types/proposal.pb.go @@ -82,22 +82,22 @@ func init() { func init() { proto.RegisterFile("ixo/entity/v1beta1/proposal.proto", fileDescriptor_460dff4269aaf83b) } var fileDescriptor_460dff4269aaf83b = []byte{ - // 237 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x8f, 0xbf, 0x4a, 0x03, 0x41, - 0x10, 0x87, 0x6f, 0x45, 0x04, 0xaf, 0xd2, 0x43, 0x21, 0x58, 0x2c, 0xd1, 0x2a, 0x88, 0xde, 0x12, - 0x04, 0x7b, 0x4d, 0x95, 0xc2, 0x20, 0x29, 0xed, 0xf6, 0xdf, 0x5d, 0x06, 0xcf, 0x9d, 0x75, 0x77, - 0x22, 0x1b, 0x9f, 0xc2, 0xc7, 0xb2, 0x4c, 0x69, 0x29, 0x77, 0x2f, 0x22, 0x49, 0x14, 0x84, 0xeb, - 0xe6, 0x37, 0xdf, 0xd7, 0x7c, 0xf9, 0x39, 0x24, 0x14, 0xd6, 0x11, 0xd0, 0x4a, 0xbc, 0x8d, 0x95, - 0x25, 0x39, 0x16, 0x3e, 0xa0, 0xc7, 0x28, 0x9b, 0xd2, 0x07, 0x24, 0x2c, 0x0a, 0x48, 0x58, 0xee, - 0x94, 0xf2, 0x57, 0x39, 0x3b, 0xa9, 0xb1, 0xc6, 0x2d, 0x16, 0x9b, 0x6b, 0x67, 0x5e, 0xbc, 0xe6, - 0xa7, 0x53, 0x07, 0x04, 0xb2, 0x81, 0x77, 0x3b, 0xab, 0x68, 0x82, 0x8e, 0x82, 0xd4, 0x54, 0x5c, - 0xe5, 0xc7, 0xff, 0xe6, 0x04, 0x8d, 0x9d, 0x9a, 0x01, 0x1b, 0xb2, 0xd1, 0xfe, 0xbc, 0x0f, 0x8a, - 0xcb, 0xfc, 0x68, 0x56, 0xd1, 0x03, 0x38, 0xb2, 0xe1, 0xce, 0x98, 0x60, 0x63, 0x1c, 0xec, 0x0d, - 0xd9, 0xe8, 0x70, 0xde, 0xfb, 0xdf, 0x3f, 0x7e, 0xb6, 0x9c, 0xad, 0x5b, 0xce, 0xbe, 0x5b, 0xce, - 0x3e, 0x3a, 0x9e, 0xad, 0x3b, 0x9e, 0x7d, 0x75, 0x3c, 0x7b, 0xba, 0xad, 0x81, 0x16, 0x4b, 0x55, - 0x6a, 0x7c, 0x11, 0x90, 0xb0, 0xc2, 0xa5, 0x33, 0x92, 0x00, 0xdd, 0x66, 0x5d, 0xab, 0x06, 0xf5, - 0xb3, 0x5e, 0x48, 0x70, 0x22, 0xfd, 0xf5, 0xd3, 0xca, 0xdb, 0xa8, 0x0e, 0xb6, 0x2d, 0x37, 0x3f, - 0x01, 0x00, 0x00, 0xff, 0xff, 0xf1, 0xe8, 0x06, 0x16, 0x1a, 0x01, 0x00, 0x00, + // 240 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0xbd, 0x4a, 0x03, 0x41, + 0x10, 0x80, 0x6f, 0x45, 0x04, 0xaf, 0xd2, 0x43, 0x21, 0x58, 0x2c, 0xd1, 0x2a, 0x88, 0xde, 0x12, + 0xad, 0x2c, 0x35, 0x55, 0x0a, 0x53, 0xc4, 0xce, 0x6e, 0xff, 0xee, 0x32, 0x78, 0xee, 0xac, 0xbb, + 0x93, 0xb0, 0xf1, 0x29, 0x7c, 0x2c, 0xcb, 0x94, 0x96, 0x72, 0xf7, 0x22, 0x92, 0x44, 0x41, 0x48, + 0x37, 0xdf, 0x7c, 0x5f, 0x33, 0x93, 0x9f, 0x43, 0x42, 0x61, 0x1d, 0x01, 0x2d, 0xc5, 0x62, 0xa8, + 0x2c, 0xc9, 0xa1, 0xf0, 0x01, 0x3d, 0x46, 0xd9, 0x94, 0x3e, 0x20, 0x61, 0x51, 0x40, 0xc2, 0x72, + 0x9b, 0x94, 0xbf, 0xc9, 0xd9, 0x49, 0x8d, 0x35, 0x6e, 0xb4, 0x58, 0x4f, 0xdb, 0xf2, 0xe2, 0x2d, + 0x3f, 0x1d, 0x3b, 0x20, 0x90, 0x0d, 0xbc, 0xdb, 0x49, 0x45, 0x23, 0x74, 0x14, 0xa4, 0xa6, 0xe2, + 0x2a, 0x3f, 0xfe, 0x87, 0x23, 0x34, 0x76, 0x6c, 0x7a, 0xac, 0xcf, 0x06, 0xfb, 0xd3, 0x5d, 0x51, + 0x5c, 0xe6, 0x47, 0x93, 0x8a, 0x1e, 0xc1, 0x91, 0x0d, 0xf7, 0xc6, 0x04, 0x1b, 0x63, 0x6f, 0xaf, + 0xcf, 0x06, 0x87, 0xd3, 0x9d, 0xfd, 0xc3, 0xd3, 0x67, 0xcb, 0xd9, 0xaa, 0xe5, 0xec, 0xbb, 0xe5, + 0xec, 0xa3, 0xe3, 0xd9, 0xaa, 0xe3, 0xd9, 0x57, 0xc7, 0xb3, 0xe7, 0xbb, 0x1a, 0x68, 0x36, 0x57, + 0xa5, 0xc6, 0x57, 0x01, 0x09, 0x2b, 0x9c, 0x3b, 0x23, 0x09, 0xd0, 0xad, 0xe9, 0x5a, 0x35, 0xa8, + 0x5f, 0xf4, 0x4c, 0x82, 0x13, 0x8b, 0x1b, 0x91, 0xfe, 0x5e, 0x40, 0x4b, 0x6f, 0xa3, 0x3a, 0xd8, + 0x9c, 0x73, 0xfb, 0x13, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x0d, 0xa5, 0x8d, 0x1d, 0x01, 0x00, 0x00, } func (m *InitializeNftContract) Marshal() (dAtA []byte, err error) { diff --git a/x/entity/types/query.pb.go b/x/entity/types/query.pb.go index 249687c5..3c947e9a 100644 --- a/x/entity/types/query.pb.go +++ b/x/entity/types/query.pb.go @@ -10,7 +10,7 @@ import ( _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" - types "github.com/ixofoundation/ixo-blockchain/x/iid/types" + types "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -586,50 +586,50 @@ func init() { func init() { proto.RegisterFile("ixo/entity/v1beta1/query.proto", fileDescriptor_45d5ce4a4abd6232) } var fileDescriptor_45d5ce4a4abd6232 = []byte{ - // 684 bytes of a gzipped FileDescriptorProto + // 686 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0x41, 0x6f, 0xd3, 0x30, - 0x1c, 0xc5, 0x9b, 0x02, 0xd5, 0xf0, 0xc4, 0x00, 0x6f, 0x82, 0x2d, 0x2b, 0x19, 0x44, 0xd3, 0x8a, - 0x06, 0xc4, 0x6a, 0x91, 0x10, 0x07, 0x4e, 0x53, 0x19, 0x42, 0x02, 0x31, 0x7a, 0x00, 0x89, 0x0b, - 0xb8, 0x8d, 0x9b, 0x59, 0xac, 0x71, 0xd6, 0x38, 0x53, 0x0b, 0xe2, 0xc2, 0x27, 0x40, 0x02, 0xee, - 0xfb, 0x28, 0x1c, 0x77, 0x9c, 0xc4, 0x85, 0x13, 0x42, 0x2d, 0x1f, 0x04, 0xc5, 0x76, 0x9a, 0xa4, - 0x69, 0x9b, 0x22, 0xb8, 0x6d, 0xf9, 0xbf, 0xe7, 0xf7, 0xf3, 0xbf, 0x79, 0x2d, 0x30, 0x68, 0x8f, - 0x21, 0xe2, 0x72, 0xca, 0xfb, 0xe8, 0xa8, 0xda, 0x24, 0x1c, 0x57, 0xd1, 0x61, 0x40, 0xba, 0x7d, - 0xcb, 0xeb, 0x32, 0xce, 0x20, 0xa4, 0x3d, 0x66, 0xc9, 0xb9, 0xa5, 0xe6, 0xfa, 0x8a, 0xc3, 0x1c, - 0x26, 0xc6, 0x28, 0xfc, 0x4b, 0x2a, 0xf5, 0xb2, 0xc3, 0x98, 0x73, 0x40, 0x10, 0xf6, 0x28, 0xc2, - 0xae, 0xcb, 0x38, 0xe6, 0x94, 0xb9, 0xbe, 0x9a, 0x6e, 0x4c, 0xc8, 0x51, 0xc7, 0x4a, 0xc1, 0x5a, - 0x28, 0xa0, 0xd4, 0x1e, 0x4d, 0x29, 0xb5, 0xd5, 0x68, 0xbb, 0xc5, 0xfc, 0x0e, 0xf3, 0x51, 0x13, - 0xfb, 0x44, 0xc2, 0x8d, 0x44, 0x1e, 0x76, 0xa8, 0x2b, 0x82, 0xa4, 0xd6, 0x5c, 0x01, 0xf0, 0x79, - 0xa8, 0xd8, 0xc3, 0x5d, 0xdc, 0xf1, 0x1b, 0xe4, 0x30, 0x20, 0x3e, 0x37, 0x9f, 0x81, 0xe5, 0xd4, - 0x53, 0xdf, 0x63, 0xae, 0x4f, 0xe0, 0x7d, 0x50, 0xf2, 0xc4, 0x93, 0x55, 0xed, 0xba, 0x76, 0x73, - 0xb1, 0xa6, 0x5b, 0xd9, 0xdb, 0x5a, 0xd2, 0xb3, 0x73, 0xf6, 0xe4, 0xe7, 0x46, 0xa1, 0xa1, 0xf4, - 0xe6, 0xa6, 0x8a, 0x79, 0x28, 0xb4, 0x2a, 0x06, 0x2e, 0x81, 0x22, 0xb5, 0xc5, 0x59, 0xe7, 0x1b, - 0x45, 0x6a, 0x9b, 0x5f, 0x35, 0x95, 0x1b, 0xc9, 0xe2, 0x5c, 0x19, 0x32, 0x2b, 0x57, 0x7a, 0xa2, - 0x5c, 0x39, 0x84, 0x75, 0xb0, 0x48, 0xa9, 0x5d, 0x67, 0xad, 0xa0, 0x43, 0x5c, 0xbe, 0x5a, 0x14, - 0xf6, 0xb2, 0xb0, 0x87, 0xfb, 0x8a, 0xbc, 0x8f, 0x63, 0x8d, 0x3a, 0x20, 0x69, 0x33, 0x6f, 0x03, - 0x3d, 0x81, 0xf5, 0x94, 0x70, 0x6c, 0x63, 0x8e, 0xa7, 0xdd, 0xe2, 0x25, 0x58, 0x9f, 0xa8, 0xfe, - 0xd7, 0xcb, 0x98, 0x08, 0x5c, 0x4b, 0x1c, 0x9c, 0x60, 0x9e, 0x46, 0xd2, 0x06, 0xc6, 0x34, 0x83, - 0x82, 0x19, 0xdb, 0x8f, 0xf6, 0x3f, 0xf6, 0xf3, 0x82, 0x74, 0x69, 0x9b, 0x12, 0x7b, 0x1a, 0xd5, - 0x6e, 0x6a, 0x3f, 0xb1, 0x5a, 0x21, 0x55, 0xc0, 0x45, 0x79, 0xdf, 0xd7, 0x47, 0x6a, 0x24, 0xbc, - 0x0b, 0x8d, 0x25, 0x92, 0x32, 0x98, 0x6f, 0xc0, 0x95, 0xc4, 0x39, 0x4f, 0xa8, 0x3f, 0xda, 0xc3, - 0x2e, 0x00, 0xf1, 0x8b, 0xae, 0x2e, 0xb5, 0x65, 0xc9, 0x56, 0x58, 0x61, 0x2b, 0x2c, 0x59, 0xd9, - 0xf8, 0x95, 0x75, 0x88, 0xf2, 0x36, 0x12, 0x4e, 0xf3, 0x58, 0x03, 0x57, 0x33, 0x11, 0x0a, 0xf3, - 0x01, 0x58, 0x10, 0x3c, 0x94, 0x84, 0x6d, 0x38, 0x33, 0xd7, 0x07, 0x39, 0x72, 0xc0, 0x47, 0x29, - 0x42, 0xf9, 0x5a, 0x56, 0x72, 0x09, 0x65, 0x74, 0x12, 0xb1, 0xf6, 0xad, 0x04, 0xce, 0x09, 0x44, - 0x18, 0x80, 0x92, 0xac, 0x1e, 0xdc, 0x9a, 0x04, 0x92, 0x6d, 0xb9, 0x5e, 0xc9, 0xd5, 0xc9, 0x40, - 0x53, 0xff, 0xf8, 0xfd, 0xf7, 0xe7, 0xe2, 0x0a, 0x84, 0x28, 0xf1, 0xad, 0x24, 0x9b, 0x0d, 0x7d, - 0x50, 0x92, 0x77, 0x9c, 0x11, 0x9b, 0x6a, 0xfd, 0x8c, 0xd8, 0x74, 0xed, 0xcd, 0x55, 0x11, 0x0b, - 0xe1, 0xa5, 0x64, 0xec, 0x7b, 0x6a, 0x7f, 0x80, 0x5f, 0x34, 0xb0, 0x14, 0xd7, 0xab, 0x8e, 0x39, - 0x86, 0x56, 0xce, 0xa9, 0x63, 0xad, 0xd5, 0xd1, 0xdc, 0x7a, 0x45, 0x73, 0x43, 0xd0, 0xac, 0xc3, - 0xb5, 0x71, 0x1a, 0xd4, 0x51, 0x52, 0x78, 0xac, 0x81, 0xcb, 0x99, 0xae, 0xc1, 0x6a, 0x4e, 0x52, - 0xb6, 0xc8, 0x7a, 0xed, 0x6f, 0x2c, 0x8a, 0x6f, 0x53, 0xf0, 0x19, 0xb0, 0x9c, 0xe1, 0xa3, 0xd4, - 0xb6, 0x23, 0x98, 0x78, 0x73, 0x51, 0x8f, 0x72, 0x37, 0x37, 0xd6, 0xe7, 0xdc, 0xcd, 0x8d, 0x37, - 0x7a, 0xc6, 0xe6, 0xa2, 0x86, 0xc3, 0x77, 0x00, 0xc4, 0x1d, 0x83, 0xdb, 0x39, 0x09, 0x89, 0xae, - 0xeb, 0xb7, 0xe6, 0xd2, 0x2a, 0x92, 0x65, 0x41, 0x72, 0x01, 0x2e, 0x26, 0x48, 0x76, 0xf6, 0x4e, - 0x06, 0x86, 0x76, 0x3a, 0x30, 0xb4, 0x5f, 0x03, 0x43, 0xfb, 0x34, 0x34, 0x0a, 0xa7, 0x43, 0xa3, - 0xf0, 0x63, 0x68, 0x14, 0x5e, 0xdd, 0x73, 0x28, 0xdf, 0x0f, 0x9a, 0x56, 0x8b, 0x75, 0x42, 0x43, - 0x9b, 0x05, 0xae, 0x2d, 0x6a, 0x17, 0xfe, 0x77, 0xa7, 0x79, 0xc0, 0x5a, 0x6f, 0x5b, 0xfb, 0x98, - 0xba, 0xa8, 0x17, 0xdd, 0x8a, 0xf7, 0x3d, 0xe2, 0x37, 0x4b, 0xe2, 0xb7, 0xf5, 0xee, 0x9f, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x3a, 0x96, 0xf7, 0x25, 0x2d, 0x08, 0x00, 0x00, + 0x1c, 0xc5, 0x9b, 0x02, 0xd5, 0xf0, 0xc4, 0x00, 0x6f, 0x82, 0x2d, 0x1b, 0x19, 0x44, 0xd3, 0x8a, + 0x06, 0xc4, 0x6a, 0xb9, 0x80, 0xc4, 0x69, 0x2a, 0x43, 0x48, 0x20, 0xa0, 0x48, 0x20, 0x71, 0x01, + 0xb7, 0x71, 0x33, 0x8b, 0x35, 0xce, 0x1a, 0xa7, 0x6a, 0x41, 0x5c, 0xf8, 0x04, 0x48, 0xc0, 0x7d, + 0x1f, 0x85, 0xe3, 0x8e, 0x93, 0xb8, 0x70, 0x42, 0xa8, 0xe5, 0x83, 0xa0, 0xd8, 0x4e, 0x93, 0x34, + 0x6d, 0x53, 0x04, 0xb7, 0x2d, 0xff, 0xf7, 0xfc, 0x7e, 0xfe, 0x37, 0xaf, 0x05, 0x06, 0xed, 0x31, + 0x44, 0x5c, 0x4e, 0x79, 0x1f, 0x75, 0x2b, 0x0d, 0xc2, 0x71, 0x05, 0x1d, 0x06, 0xa4, 0xd3, 0xb7, + 0xbc, 0x0e, 0xe3, 0x0c, 0x42, 0xda, 0x63, 0x96, 0x9c, 0x5b, 0x6a, 0xae, 0xaf, 0x38, 0xcc, 0x61, + 0x62, 0x8c, 0xc2, 0xbf, 0xa4, 0x52, 0xdf, 0x70, 0x18, 0x73, 0x0e, 0x08, 0xc2, 0x1e, 0x45, 0xd8, + 0x75, 0x19, 0xc7, 0x9c, 0x32, 0xd7, 0x57, 0xd3, 0xcd, 0x09, 0x39, 0xea, 0x58, 0x29, 0x58, 0x0b, + 0x05, 0x94, 0xda, 0xa3, 0x29, 0xa5, 0xb6, 0x1a, 0xed, 0x34, 0x99, 0xdf, 0x66, 0x3e, 0x6a, 0x60, + 0x9f, 0x48, 0xb8, 0x91, 0xc8, 0xc3, 0x0e, 0x75, 0x45, 0x90, 0xd4, 0x9a, 0x2b, 0x00, 0x3e, 0x0b, + 0x15, 0x4f, 0x71, 0x07, 0xb7, 0xfd, 0x3a, 0x39, 0x0c, 0x88, 0xcf, 0xcd, 0x27, 0x60, 0x39, 0xf5, + 0xd4, 0xf7, 0x98, 0xeb, 0x13, 0x78, 0x07, 0x94, 0x3c, 0xf1, 0x64, 0x55, 0xbb, 0xaa, 0x5d, 0x5f, + 0xac, 0xea, 0x56, 0xf6, 0xb6, 0x96, 0xf4, 0xec, 0x9e, 0x3e, 0xfe, 0xb9, 0x59, 0xa8, 0x2b, 0xbd, + 0xb9, 0xa5, 0x62, 0xee, 0x0b, 0xad, 0x8a, 0x81, 0x4b, 0xa0, 0x48, 0x6d, 0x71, 0xd6, 0xd9, 0x7a, + 0x91, 0xda, 0xe6, 0x57, 0x4d, 0xe5, 0x46, 0xb2, 0x38, 0x57, 0x86, 0xcc, 0xca, 0x95, 0x9e, 0x28, + 0x57, 0x0e, 0x61, 0x0d, 0x2c, 0x52, 0x6a, 0xd7, 0x58, 0x33, 0x68, 0x13, 0x97, 0xaf, 0x16, 0x85, + 0x7d, 0x43, 0xd8, 0xc3, 0x7d, 0x45, 0xde, 0x87, 0xb1, 0x46, 0x1d, 0x90, 0xb4, 0x99, 0x37, 0x81, + 0x9e, 0xc0, 0x7a, 0x4c, 0x38, 0xb6, 0x31, 0xc7, 0xd3, 0x6e, 0xf1, 0x12, 0xac, 0x4f, 0x54, 0xff, + 0xeb, 0x65, 0x4c, 0x04, 0xae, 0x24, 0x0e, 0x4e, 0x30, 0x4f, 0x23, 0x69, 0x01, 0x63, 0x9a, 0x41, + 0xc1, 0x8c, 0xed, 0x47, 0xfb, 0x1f, 0xfb, 0x79, 0x41, 0x3a, 0xb4, 0x45, 0x89, 0x3d, 0x8d, 0x6a, + 0x2f, 0xb5, 0x9f, 0x58, 0xad, 0x90, 0xca, 0xe0, 0xbc, 0xbc, 0xef, 0xeb, 0xae, 0x1a, 0x09, 0xef, + 0x42, 0x7d, 0x89, 0xa4, 0x0c, 0xe6, 0x1b, 0x70, 0x29, 0x71, 0xce, 0x23, 0xea, 0x8f, 0xf6, 0xb0, + 0x07, 0x40, 0xfc, 0xa2, 0xab, 0x4b, 0x6d, 0x5b, 0xb2, 0x15, 0x56, 0xd8, 0x0a, 0x4b, 0x56, 0x36, + 0x7e, 0x65, 0x1d, 0xa2, 0xbc, 0xf5, 0x84, 0xd3, 0x3c, 0xd2, 0xc0, 0xe5, 0x4c, 0x84, 0xc2, 0xbc, + 0x07, 0x16, 0x04, 0x0f, 0x25, 0x61, 0x1b, 0x4e, 0xcd, 0xf5, 0x41, 0x8e, 0x1c, 0xf0, 0x41, 0x8a, + 0x50, 0xbe, 0x96, 0xe5, 0x5c, 0x42, 0x19, 0x9d, 0x44, 0xac, 0x7e, 0x2b, 0x81, 0x33, 0x02, 0x11, + 0x06, 0xa0, 0x24, 0xab, 0x07, 0xb7, 0x27, 0x81, 0x64, 0x5b, 0xae, 0x97, 0x73, 0x75, 0x32, 0xd0, + 0xd4, 0x3f, 0x7e, 0xff, 0xfd, 0xb9, 0xb8, 0x02, 0x21, 0x4a, 0x7c, 0x2b, 0xc9, 0x66, 0x43, 0x1f, + 0x94, 0xe4, 0x1d, 0x67, 0xc4, 0xa6, 0x5a, 0x3f, 0x23, 0x36, 0x5d, 0x7b, 0x73, 0x55, 0xc4, 0x42, + 0x78, 0x21, 0x19, 0xfb, 0x9e, 0xda, 0x1f, 0xe0, 0x17, 0x0d, 0x2c, 0xc5, 0xf5, 0xaa, 0x61, 0x8e, + 0xa1, 0x95, 0x73, 0xea, 0x58, 0x6b, 0x75, 0x34, 0xb7, 0x5e, 0xd1, 0x5c, 0x13, 0x34, 0xeb, 0x70, + 0x6d, 0x9c, 0x06, 0xb5, 0x95, 0x14, 0x1e, 0x69, 0xe0, 0x62, 0xa6, 0x6b, 0xb0, 0x92, 0x93, 0x94, + 0x2d, 0xb2, 0x5e, 0xfd, 0x1b, 0x8b, 0xe2, 0xdb, 0x12, 0x7c, 0x06, 0xdc, 0xc8, 0xf0, 0x51, 0x6a, + 0xdb, 0x11, 0x4c, 0xbc, 0xb9, 0xa8, 0x47, 0xb9, 0x9b, 0x1b, 0xeb, 0x73, 0xee, 0xe6, 0xc6, 0x1b, + 0x3d, 0x63, 0x73, 0x51, 0xc3, 0xe1, 0x3b, 0x00, 0xe2, 0x8e, 0xc1, 0x9d, 0x9c, 0x84, 0x44, 0xd7, + 0xf5, 0x1b, 0x73, 0x69, 0x15, 0xc9, 0xb2, 0x20, 0x39, 0x07, 0x17, 0x13, 0x24, 0xbb, 0xcf, 0x8f, + 0x07, 0x86, 0x76, 0x32, 0x30, 0xb4, 0x5f, 0x03, 0x43, 0xfb, 0x34, 0x34, 0x0a, 0x27, 0x43, 0xa3, + 0xf0, 0x63, 0x68, 0x14, 0x5e, 0xdd, 0x75, 0x28, 0xdf, 0x0f, 0x1a, 0x56, 0x93, 0xb5, 0x43, 0x43, + 0x8b, 0x05, 0xae, 0x2d, 0x6a, 0x17, 0xfe, 0x77, 0xab, 0x71, 0xc0, 0x9a, 0x6f, 0x9b, 0xfb, 0x98, + 0xba, 0xa8, 0x5b, 0x45, 0xbd, 0xe8, 0x62, 0xbc, 0xef, 0x11, 0xbf, 0x51, 0x12, 0x3f, 0xaf, 0xb7, + 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xc1, 0xe2, 0x59, 0x6b, 0x30, 0x08, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/entity/types/tx.go b/x/entity/types/tx.go index cb5393cd..52177fd2 100644 --- a/x/entity/types/tx.go +++ b/x/entity/types/tx.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/authz" - iidante "github.com/ixofoundation/ixo-blockchain/x/iid/ante" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + iidante "github.com/ixofoundation/ixo-blockchain/v2/x/iid/ante" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) // func didToAddressSplitter(did string) (sdk.AccAddress, error) { diff --git a/x/entity/types/tx.pb.go b/x/entity/types/tx.pb.go index f0e1019f..b52a43a8 100644 --- a/x/entity/types/tx.pb.go +++ b/x/entity/types/tx.pb.go @@ -12,8 +12,8 @@ import ( grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - github_com_ixofoundation_ixo_blockchain_x_iid_types "github.com/ixofoundation/ixo-blockchain/x/iid/types" - types "github.com/ixofoundation/ixo-blockchain/x/iid/types" + github_com_ixofoundation_ixo_blockchain_v2_x_iid_types "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" + types "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -60,12 +60,12 @@ type MsgCreateEntity struct { RelayerNode string `protobuf:"bytes,12,opt,name=relayer_node,json=relayerNode,proto3" json:"relayer_node,omitempty"` // Content ID or Hash of public Verifiable Credentials associated with the // subject - Credentials []string `protobuf:"bytes,13,rep,name=credentials,proto3" json:"credentials,omitempty"` - OwnerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,14,opt,name=owner_did,json=ownerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"owner_did,omitempty"` - OwnerAddress string `protobuf:"bytes,15,opt,name=owner_address,json=ownerAddress,proto3" json:"owner_address,omitempty"` - Data encoding_json.RawMessage `protobuf:"bytes,16,opt,name=data,proto3,casttype=encoding/json.RawMessage" json:"data,omitempty"` - AlsoKnownAs string `protobuf:"bytes,17,opt,name=alsoKnownAs,proto3" json:"alsoKnownAs,omitempty"` - LinkedClaim []*types.LinkedClaim `protobuf:"bytes,18,rep,name=linked_claim,json=linkedClaim,proto3" json:"linked_claim,omitempty"` + Credentials []string `protobuf:"bytes,13,rep,name=credentials,proto3" json:"credentials,omitempty"` + OwnerDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,14,opt,name=owner_did,json=ownerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"owner_did,omitempty"` + OwnerAddress string `protobuf:"bytes,15,opt,name=owner_address,json=ownerAddress,proto3" json:"owner_address,omitempty"` + Data encoding_json.RawMessage `protobuf:"bytes,16,opt,name=data,proto3,casttype=encoding/json.RawMessage" json:"data,omitempty"` + AlsoKnownAs string `protobuf:"bytes,17,opt,name=alsoKnownAs,proto3" json:"alsoKnownAs,omitempty"` + LinkedClaim []*types.LinkedClaim `protobuf:"bytes,18,rep,name=linked_claim,json=linkedClaim,proto3" json:"linked_claim,omitempty"` } func (m *MsgCreateEntity) Reset() { *m = MsgCreateEntity{} } @@ -192,7 +192,7 @@ func (m *MsgCreateEntity) GetCredentials() []string { return nil } -func (m *MsgCreateEntity) GetOwnerDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgCreateEntity) GetOwnerDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.OwnerDid } @@ -303,9 +303,9 @@ type MsgUpdateEntity struct { EndDate *time.Time `protobuf:"bytes,4,opt,name=end_date,json=endDate,proto3,stdtime" json:"end_date,omitempty"` // Content ID or Hash of public Verifiable Credentials associated with the // subject - Credentials []string `protobuf:"bytes,5,rep,name=credentials,proto3" json:"credentials,omitempty"` - ControllerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,6,opt,name=controller_did,json=controllerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"controller_did,omitempty"` - ControllerAddress string `protobuf:"bytes,7,opt,name=controller_address,json=controllerAddress,proto3" json:"controller_address,omitempty"` + Credentials []string `protobuf:"bytes,5,rep,name=credentials,proto3" json:"credentials,omitempty"` + ControllerDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,6,opt,name=controller_did,json=controllerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"controller_did,omitempty"` + ControllerAddress string `protobuf:"bytes,7,opt,name=controller_address,json=controllerAddress,proto3" json:"controller_address,omitempty"` } func (m *MsgUpdateEntity) Reset() { *m = MsgUpdateEntity{} } @@ -376,7 +376,7 @@ func (m *MsgUpdateEntity) GetCredentials() []string { return nil } -func (m *MsgUpdateEntity) GetControllerDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgUpdateEntity) GetControllerDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.ControllerDid } @@ -431,9 +431,9 @@ type MsgUpdateEntityVerified struct { // Id of entity to be updated Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Whether entity is verified or not based on credentials - EntityVerified bool `protobuf:"varint,2,opt,name=entity_verified,json=entityVerified,proto3" json:"entity_verified,omitempty"` - RelayerNodeDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,3,opt,name=relayer_node_did,json=relayerNodeDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"relayer_node_did,omitempty"` - RelayerNodeAddress string `protobuf:"bytes,4,opt,name=relayer_node_address,json=relayerNodeAddress,proto3" json:"relayer_node_address,omitempty"` + EntityVerified bool `protobuf:"varint,2,opt,name=entity_verified,json=entityVerified,proto3" json:"entity_verified,omitempty"` + RelayerNodeDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,3,opt,name=relayer_node_did,json=relayerNodeDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"relayer_node_did,omitempty"` + RelayerNodeAddress string `protobuf:"bytes,4,opt,name=relayer_node_address,json=relayerNodeAddress,proto3" json:"relayer_node_address,omitempty"` } func (m *MsgUpdateEntityVerified) Reset() { *m = MsgUpdateEntityVerified{} } @@ -483,7 +483,7 @@ func (m *MsgUpdateEntityVerified) GetEntityVerified() bool { return false } -func (m *MsgUpdateEntityVerified) GetRelayerNodeDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgUpdateEntityVerified) GetRelayerNodeDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.RelayerNodeDid } @@ -536,10 +536,10 @@ var xxx_messageInfo_MsgUpdateEntityVerifiedResponse proto.InternalMessageInfo type MsgTransferEntity struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The owner_did used to sign this transaction. - OwnerDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,2,opt,name=owner_did,json=ownerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"owner_did,omitempty"` + OwnerDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,2,opt,name=owner_did,json=ownerDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"owner_did,omitempty"` // The owner_address used to sign this transaction. - OwnerAddress string `protobuf:"bytes,3,opt,name=owner_address,json=ownerAddress,proto3" json:"owner_address,omitempty"` - RecipientDid github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=recipient_did,json=recipientDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"recipient_did,omitempty"` + OwnerAddress string `protobuf:"bytes,3,opt,name=owner_address,json=ownerAddress,proto3" json:"owner_address,omitempty"` + RecipientDid github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,4,opt,name=recipient_did,json=recipientDid,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"recipient_did,omitempty"` } func (m *MsgTransferEntity) Reset() { *m = MsgTransferEntity{} } @@ -582,7 +582,7 @@ func (m *MsgTransferEntity) GetId() string { return "" } -func (m *MsgTransferEntity) GetOwnerDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgTransferEntity) GetOwnerDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.OwnerDid } @@ -596,7 +596,7 @@ func (m *MsgTransferEntity) GetOwnerAddress() string { return "" } -func (m *MsgTransferEntity) GetRecipientDid() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgTransferEntity) GetRecipientDid() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.RecipientDid } @@ -886,80 +886,81 @@ func init() { func init() { proto.RegisterFile("ixo/entity/v1beta1/tx.proto", fileDescriptor_60859df4ac9fa053) } var fileDescriptor_60859df4ac9fa053 = []byte{ - // 1166 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcd, 0x6e, 0xdb, 0x46, - 0x10, 0xb6, 0xfe, 0x22, 0x7b, 0xf4, 0xe3, 0x64, 0x1b, 0x34, 0xb4, 0x9c, 0x4a, 0x8a, 0xd2, 0x22, - 0x46, 0x0a, 0x53, 0x89, 0x02, 0xe4, 0xd0, 0x1e, 0x02, 0xcb, 0x4e, 0xdb, 0xa0, 0x75, 0x51, 0x30, - 0x69, 0x0f, 0xbd, 0xc8, 0x6b, 0xee, 0x9a, 0xde, 0x98, 0xe2, 0x0a, 0xdc, 0x95, 0x2d, 0x17, 0xbd, - 0xe4, 0x0d, 0x72, 0xe8, 0x33, 0xf4, 0x59, 0x72, 0xcc, 0xa9, 0xe8, 0xc9, 0x2d, 0xec, 0x47, 0xe8, - 0xcd, 0xa7, 0x82, 0xbb, 0xa4, 0x44, 0x89, 0x22, 0x22, 0xa3, 0x46, 0x4f, 0xe2, 0xce, 0x7c, 0xf3, - 0xb3, 0x33, 0xdf, 0x0c, 0x29, 0x58, 0x67, 0x23, 0xde, 0xa6, 0x9e, 0x64, 0xf2, 0xb4, 0x7d, 0xfc, - 0x78, 0x9f, 0x4a, 0xfc, 0xb8, 0x2d, 0x47, 0xe6, 0xc0, 0xe7, 0x92, 0x23, 0xc4, 0x46, 0xdc, 0xd4, - 0x4a, 0x33, 0x54, 0xd6, 0x6e, 0x3b, 0xdc, 0xe1, 0x4a, 0xdd, 0x0e, 0x9e, 0x34, 0xb2, 0xb6, 0x16, - 0xb8, 0x61, 0x8c, 0x8c, 0x7d, 0x30, 0x46, 0x42, 0x95, 0x31, 0xab, 0x8a, 0xdc, 0xd7, 0xd6, 0x13, - 0x9a, 0xd3, 0x01, 0x15, 0xa1, 0xb2, 0x31, 0x27, 0xb1, 0x30, 0x95, 0x74, 0x80, 0xcd, 0x45, 0x9f, - 0x8f, 0x3d, 0x38, 0x9c, 0x3b, 0x2e, 0x6d, 0xab, 0xd3, 0xfe, 0xf0, 0xa0, 0x2d, 0x59, 0x9f, 0x0a, - 0x89, 0xfb, 0x03, 0x0d, 0x68, 0xfd, 0x51, 0x84, 0xd5, 0x5d, 0xe1, 0x6c, 0xfb, 0x14, 0x4b, 0xfa, - 0x5c, 0x79, 0x42, 0x0d, 0x28, 0x69, 0x9f, 0xbd, 0x20, 0x19, 0x23, 0xd3, 0xcc, 0x6c, 0xac, 0x58, - 0xa0, 0x45, 0xaf, 0x4e, 0x07, 0x14, 0xdd, 0x87, 0x4a, 0x08, 0x10, 0x12, 0xcb, 0xa1, 0x30, 0xb2, - 0xcd, 0xcc, 0x46, 0xc1, 0x2a, 0x6b, 0xe1, 0x4b, 0x25, 0x43, 0x75, 0x00, 0x9b, 0x7b, 0xd2, 0xe7, - 0xae, 0x4b, 0x7d, 0x23, 0xd7, 0xcc, 0x05, 0x4e, 0x26, 0x12, 0xd4, 0x81, 0x62, 0x70, 0xa2, 0x23, - 0x69, 0xe4, 0x9b, 0xb9, 0x8d, 0x52, 0xc7, 0x30, 0x83, 0x52, 0x07, 0x45, 0x0b, 0xaf, 0x62, 0x6e, - 0x6b, 0xbd, 0x15, 0x01, 0xd1, 0x16, 0x94, 0x8f, 0xa9, 0xcf, 0x0e, 0x98, 0x8d, 0x25, 0xe3, 0x9e, - 0x51, 0x50, 0x86, 0x9f, 0x24, 0x0c, 0x7f, 0x8a, 0x81, 0xac, 0x29, 0x93, 0x20, 0xac, 0xa0, 0xfe, - 0x31, 0xb3, 0xa9, 0x71, 0x23, 0x25, 0xec, 0x4b, 0xad, 0xb7, 0x22, 0x20, 0x7a, 0x0e, 0x55, 0x6c, - 0xdb, 0xdc, 0x27, 0x94, 0xf4, 0x7c, 0xe6, 0x1c, 0x4a, 0xa3, 0xa8, 0x4c, 0xeb, 0x09, 0xd3, 0xad, - 0x10, 0x66, 0x05, 0x28, 0xab, 0x82, 0xe3, 0x47, 0xf4, 0x0d, 0xac, 0xba, 0xcc, 0x3b, 0x0a, 0x9c, - 0x50, 0xc1, 0x87, 0xbe, 0x4d, 0x8d, 0x65, 0xe5, 0xa7, 0x91, 0xf0, 0xf3, 0x9d, 0xc2, 0x59, 0x21, - 0xcc, 0xaa, 0xba, 0x53, 0x67, 0xd4, 0x85, 0x4a, 0xe8, 0x49, 0x97, 0xdc, 0x58, 0x49, 0x29, 0x84, - 0xf6, 0xa3, 0xfb, 0x6a, 0x95, 0xdd, 0xd8, 0x09, 0x3d, 0x03, 0x10, 0x12, 0xfb, 0xb2, 0x47, 0xb0, - 0xa4, 0x06, 0x34, 0x33, 0x1b, 0xa5, 0x4e, 0xcd, 0xd4, 0x7c, 0x31, 0x23, 0xbe, 0x98, 0xaf, 0x22, - 0xbe, 0x74, 0xf3, 0x6f, 0xff, 0x6a, 0x64, 0xac, 0x15, 0x65, 0xb3, 0x83, 0x25, 0x45, 0x5f, 0xc2, - 0x32, 0xf5, 0x88, 0x36, 0x2f, 0x2d, 0x68, 0x5e, 0xa4, 0x1e, 0x51, 0xc6, 0xf7, 0xa0, 0xec, 0x53, - 0x17, 0x9f, 0x52, 0xbf, 0xe7, 0x71, 0x42, 0x8d, 0xb2, 0x22, 0x59, 0x29, 0x94, 0x7d, 0xcf, 0x09, - 0x45, 0x4d, 0x28, 0xd9, 0x3e, 0x25, 0xc1, 0x0d, 0xb1, 0x2b, 0x8c, 0x8a, 0x62, 0x50, 0x5c, 0x84, - 0xf6, 0x60, 0x85, 0x9f, 0x78, 0xd4, 0xef, 0x11, 0x46, 0x8c, 0x6a, 0xe0, 0xa1, 0xbb, 0x7d, 0x79, - 0xd6, 0x78, 0xe6, 0x30, 0x79, 0x38, 0xdc, 0x37, 0x6d, 0xde, 0x6f, 0xb3, 0x11, 0x3f, 0xe0, 0x43, - 0x8f, 0xa8, 0xe6, 0x07, 0xa7, 0xcd, 0x7d, 0x97, 0xdb, 0x47, 0xf6, 0x21, 0x66, 0x5e, 0x7b, 0xa4, - 0x26, 0x4f, 0x4f, 0xdc, 0xce, 0x8b, 0x9d, 0xaf, 0x7c, 0xec, 0xf4, 0xa9, 0x27, 0xad, 0x65, 0xe5, - 0x75, 0x87, 0x91, 0x80, 0xe9, 0x3a, 0x02, 0x26, 0xc4, 0xa7, 0x42, 0x18, 0xab, 0x2a, 0xcf, 0xb2, - 0x12, 0x6e, 0x69, 0x19, 0x7a, 0x04, 0x79, 0x82, 0x25, 0x36, 0x6e, 0x36, 0x33, 0x1b, 0xe5, 0xee, - 0xdd, 0xcb, 0xb3, 0x86, 0x41, 0x3d, 0x9b, 0x13, 0xe6, 0x39, 0xed, 0xd7, 0x82, 0x7b, 0xa6, 0x85, - 0x4f, 0x76, 0xa9, 0x10, 0xd8, 0xa1, 0x96, 0x42, 0x06, 0x57, 0xc3, 0xae, 0xe0, 0xdf, 0x7a, 0xfc, - 0xc4, 0xdb, 0x12, 0xc6, 0x2d, 0x7d, 0xf9, 0x98, 0x08, 0x3d, 0x83, 0xb0, 0x5b, 0x3d, 0xdb, 0xc5, - 0xac, 0x6f, 0x20, 0xd5, 0xe0, 0xbb, 0x29, 0x0d, 0xde, 0x0e, 0x30, 0x56, 0xc9, 0x9d, 0x1c, 0x5a, - 0xbf, 0xc2, 0x9d, 0x99, 0xb9, 0xb6, 0xa8, 0x18, 0x70, 0x4f, 0x50, 0xb4, 0x0e, 0x2b, 0xe1, 0xf8, - 0x32, 0x12, 0x4e, 0xf7, 0xb2, 0x16, 0xbc, 0x20, 0xb3, 0xc3, 0x9f, 0xfd, 0xf0, 0xf0, 0xe7, 0x92, - 0xc3, 0xdf, 0x7a, 0x93, 0x53, 0x6b, 0xe5, 0xc7, 0x01, 0x99, 0xac, 0x95, 0x2a, 0x64, 0xc7, 0xf1, - 0xb2, 0xba, 0xb6, 0x1f, 0xde, 0x22, 0xd3, 0x2c, 0xcd, 0xfd, 0x37, 0x96, 0xe6, 0xaf, 0xca, 0xd2, - 0x19, 0x0a, 0x16, 0x92, 0x14, 0x7c, 0x0d, 0xd5, 0xc9, 0x4e, 0x53, 0x3c, 0xbc, 0x71, 0x7d, 0x3c, - 0xac, 0x4c, 0x5c, 0x07, 0x64, 0xdc, 0x04, 0x14, 0x8b, 0x15, 0x31, 0xb2, 0xa8, 0x0a, 0x7a, 0x6b, - 0xa2, 0x09, 0x69, 0xd9, 0x5a, 0x53, 0x0c, 0x88, 0xb7, 0x20, 0x62, 0x40, 0xeb, 0x9f, 0x4c, 0x42, - 0xa7, 0x57, 0x26, 0x25, 0x89, 0x36, 0x3d, 0x80, 0xd5, 0xb0, 0x4d, 0xc7, 0x21, 0x44, 0x35, 0x6a, - 0xd9, 0xaa, 0xd2, 0x69, 0xc3, 0x3e, 0xdc, 0x8c, 0x8f, 0xb4, 0x2a, 0x46, 0xee, 0xfa, 0x8a, 0x51, - 0x8d, 0xed, 0x86, 0xa0, 0x1a, 0x8f, 0xe0, 0xf6, 0x54, 0xb8, 0xa8, 0x1e, 0x79, 0x95, 0x39, 0x8a, - 0xa1, 0xa3, 0x82, 0xdc, 0x83, 0x46, 0xca, 0xa5, 0xc7, 0x85, 0xf9, 0x2d, 0x0b, 0xb7, 0x76, 0x85, - 0xf3, 0xca, 0xc7, 0x9e, 0x38, 0xa0, 0x7e, 0x0a, 0x73, 0xa7, 0xf6, 0x4e, 0xf6, 0x7f, 0xd9, 0x3b, - 0xb9, 0x39, 0x7b, 0xe7, 0x10, 0x2a, 0x3e, 0xb5, 0xd9, 0x80, 0x51, 0x4f, 0xaa, 0x54, 0xf2, 0xd7, - 0x97, 0x4a, 0x79, 0xec, 0x79, 0x87, 0x91, 0xd6, 0x3a, 0xac, 0x25, 0xaa, 0x32, 0xae, 0x19, 0x86, - 0x8f, 0x67, 0x36, 0x4d, 0xf0, 0x16, 0x1c, 0x7a, 0x32, 0x51, 0x37, 0x04, 0x79, 0x0f, 0xf7, 0xa3, - 0xa5, 0xa2, 0x9e, 0x17, 0xba, 0x69, 0xeb, 0x0b, 0xa8, 0xcf, 0x0f, 0x31, 0xde, 0x69, 0x06, 0x14, - 0xb1, 0x16, 0x85, 0xf1, 0xa2, 0x63, 0xc0, 0xf5, 0xda, 0xae, 0x70, 0xbe, 0xf6, 0xb1, 0x27, 0xa7, - 0x6c, 0xb7, 0x86, 0xf2, 0xf0, 0x97, 0x85, 0x72, 0x7c, 0x00, 0xab, 0x4e, 0x60, 0x4e, 0xe9, 0x4c, - 0x96, 0xd5, 0x50, 0x1c, 0x75, 0xc4, 0x86, 0x82, 0x92, 0x84, 0x9b, 0x66, 0xcd, 0x4c, 0x7e, 0x3c, - 0x9a, 0x2a, 0x91, 0x6e, 0xe7, 0xdd, 0x59, 0x63, 0xe9, 0xf2, 0xac, 0xf1, 0x30, 0xd6, 0x28, 0xfd, - 0xe5, 0x16, 0xfe, 0x6c, 0x0a, 0x72, 0xd4, 0x1e, 0xb5, 0x71, 0x90, 0xa4, 0xb6, 0xb1, 0xb4, 0xef, - 0x64, 0xc5, 0x0a, 0x73, 0x2a, 0xf6, 0x29, 0xb4, 0xd2, 0x2f, 0x1d, 0x55, 0xad, 0xf3, 0x7b, 0x01, - 0x72, 0xbb, 0xc2, 0x41, 0x7b, 0x50, 0x9e, 0xfa, 0x02, 0xbc, 0x3f, 0x2f, 0xf1, 0x99, 0x0e, 0xd4, - 0x3e, 0x5f, 0x00, 0x34, 0xee, 0xcf, 0x1e, 0x94, 0xa7, 0x5e, 0x06, 0x69, 0x11, 0xe2, 0xa0, 0xd4, - 0x08, 0xf3, 0x76, 0x1a, 0x1a, 0xc1, 0xed, 0xb9, 0xfb, 0x6c, 0x11, 0x27, 0x11, 0xb8, 0xf6, 0xe4, - 0x0a, 0xe0, 0x71, 0xe4, 0x03, 0xa8, 0xce, 0x2c, 0x8c, 0xcf, 0x52, 0xdc, 0x4c, 0xc3, 0x6a, 0x9b, - 0x0b, 0xc1, 0xc6, 0x71, 0x86, 0xf0, 0xd1, 0xbc, 0x29, 0x7b, 0xb8, 0x40, 0x1f, 0x42, 0x6c, 0xad, - 0xb3, 0x38, 0x76, 0x1c, 0xf6, 0x4d, 0x06, 0xee, 0xa4, 0x4d, 0x8f, 0x99, 0xe2, 0x2f, 0x05, 0x5f, - 0x7b, 0x7a, 0x35, 0x7c, 0x94, 0x43, 0xf7, 0x87, 0x77, 0xe7, 0xf5, 0xcc, 0xfb, 0xf3, 0x7a, 0xe6, - 0xef, 0xf3, 0x7a, 0xe6, 0xed, 0x45, 0x7d, 0xe9, 0xfd, 0x45, 0x7d, 0xe9, 0xcf, 0x8b, 0xfa, 0xd2, - 0xcf, 0x4f, 0x17, 0xdf, 0x74, 0xe1, 0x1f, 0x25, 0xb5, 0xec, 0xf6, 0x6f, 0xa8, 0xb7, 0xff, 0x93, - 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x53, 0x7a, 0x4e, 0x9a, 0xfd, 0x0d, 0x00, 0x00, + // 1171 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xcf, 0xfa, 0x4f, 0x9d, 0x3c, 0xff, 0x49, 0xbb, 0x54, 0x74, 0xe3, 0x14, 0xdb, 0x75, 0x41, + 0x8d, 0x8a, 0xb2, 0xdb, 0xba, 0x12, 0x12, 0x70, 0xa8, 0xe2, 0xa6, 0x85, 0x0a, 0xc2, 0x61, 0x13, + 0x38, 0x70, 0x71, 0x27, 0x3b, 0x93, 0xcd, 0x90, 0xf5, 0x8e, 0xb5, 0x33, 0x4e, 0x1c, 0xc4, 0x05, + 0x89, 0x0f, 0xd0, 0x33, 0x1f, 0x80, 0xcf, 0xd2, 0x63, 0x8f, 0x70, 0x09, 0x28, 0xf9, 0x08, 0x48, + 0x1c, 0x72, 0x42, 0x3b, 0xb3, 0x6b, 0xaf, 0xbd, 0x5e, 0xd5, 0x11, 0x11, 0xa7, 0x78, 0xde, 0xfb, + 0xbd, 0xdf, 0x7b, 0xf3, 0xfe, 0xed, 0x04, 0xd6, 0xe9, 0x88, 0x59, 0xc4, 0x17, 0x54, 0x9c, 0x5a, + 0xc7, 0x8f, 0xf7, 0x89, 0x40, 0x8f, 0x2d, 0x31, 0x32, 0x07, 0x01, 0x13, 0x4c, 0xd7, 0xe9, 0x88, + 0x99, 0x4a, 0x69, 0x46, 0xca, 0xfa, 0x6d, 0x97, 0xb9, 0x4c, 0xaa, 0xad, 0xf0, 0x97, 0x42, 0xd6, + 0xd7, 0x42, 0x1a, 0x4a, 0xf1, 0x98, 0x83, 0x52, 0x1c, 0xa9, 0x8c, 0x59, 0x55, 0x4c, 0x5f, 0x5f, + 0x4f, 0x69, 0x4e, 0x07, 0x84, 0x47, 0xca, 0xe6, 0x9c, 0xc0, 0xa2, 0x50, 0xb2, 0x01, 0x0e, 0xe3, + 0x7d, 0x36, 0x66, 0x70, 0x19, 0x73, 0x3d, 0x62, 0xc9, 0xd3, 0xfe, 0xf0, 0xc0, 0x12, 0xb4, 0x4f, + 0xb8, 0x40, 0xfd, 0x81, 0x02, 0xb4, 0xff, 0x28, 0xc1, 0xea, 0x0e, 0x77, 0x9f, 0x05, 0x04, 0x09, + 0xf2, 0x5c, 0x32, 0xe9, 0x4d, 0x28, 0x2b, 0xce, 0x5e, 0x18, 0x8c, 0xa1, 0xb5, 0xb4, 0x8d, 0x15, + 0x1b, 0x94, 0x68, 0xef, 0x74, 0x40, 0xf4, 0xfb, 0x50, 0x8d, 0x00, 0x5c, 0x20, 0x31, 0xe4, 0x46, + 0xae, 0xa5, 0x6d, 0x14, 0xed, 0x8a, 0x12, 0xee, 0x4a, 0x99, 0xde, 0x00, 0x70, 0x98, 0x2f, 0x02, + 0xe6, 0x79, 0x24, 0x30, 0xf2, 0xad, 0x7c, 0x48, 0x32, 0x91, 0xe8, 0x1d, 0x28, 0x85, 0x27, 0x32, + 0x12, 0x46, 0xa1, 0x95, 0xdf, 0x28, 0x77, 0x0c, 0x33, 0x4c, 0x75, 0x98, 0xb4, 0xe8, 0x2a, 0xe6, + 0x33, 0xa5, 0xb7, 0x63, 0xa0, 0xbe, 0x05, 0x95, 0x63, 0x12, 0xd0, 0x03, 0xea, 0x20, 0x41, 0x99, + 0x6f, 0x14, 0xa5, 0xe1, 0x07, 0x29, 0xc3, 0xef, 0x12, 0x20, 0x7b, 0xca, 0x24, 0x74, 0xcb, 0x49, + 0x70, 0x4c, 0x1d, 0x62, 0xdc, 0xc8, 0x70, 0xbb, 0xab, 0xf4, 0x76, 0x0c, 0xd4, 0x9f, 0x43, 0x0d, + 0x39, 0x0e, 0x0b, 0x30, 0xc1, 0xbd, 0x80, 0xba, 0x87, 0xc2, 0x28, 0x49, 0xd3, 0x46, 0xca, 0x74, + 0x2b, 0x82, 0xd9, 0x21, 0xca, 0xae, 0xa2, 0xe4, 0x51, 0xff, 0x12, 0x56, 0x3d, 0xea, 0x1f, 0x85, + 0x24, 0x84, 0xb3, 0x61, 0xe0, 0x10, 0x63, 0x59, 0xf2, 0x34, 0x53, 0x3c, 0x5f, 0x4b, 0x9c, 0x1d, + 0xc1, 0xec, 0x9a, 0x37, 0x75, 0xd6, 0xbb, 0x50, 0x8d, 0x98, 0x54, 0xca, 0x8d, 0x95, 0x8c, 0x44, + 0x28, 0x1e, 0x55, 0x57, 0xbb, 0xe2, 0x25, 0x4e, 0xfa, 0x53, 0x00, 0x2e, 0x50, 0x20, 0x7a, 0x18, + 0x09, 0x62, 0x40, 0x4b, 0xdb, 0x28, 0x77, 0xea, 0xa6, 0xea, 0x17, 0x33, 0xee, 0x17, 0x73, 0x2f, + 0xee, 0x97, 0x6e, 0xe1, 0xf5, 0x9f, 0x4d, 0xcd, 0x5e, 0x91, 0x36, 0xdb, 0x48, 0x10, 0xfd, 0x73, + 0x58, 0x26, 0x3e, 0x56, 0xe6, 0xe5, 0x05, 0xcd, 0x4b, 0xc4, 0xc7, 0xd2, 0xf8, 0x1e, 0x54, 0x02, + 0xe2, 0xa1, 0x53, 0x12, 0xf4, 0x7c, 0x86, 0x89, 0x51, 0x91, 0x4d, 0x56, 0x8e, 0x64, 0xdf, 0x30, + 0x4c, 0xf4, 0x16, 0x94, 0x9d, 0x80, 0xe0, 0xf0, 0x86, 0xc8, 0xe3, 0x46, 0x55, 0x76, 0x50, 0x52, + 0xa4, 0x3b, 0xb0, 0xc2, 0x4e, 0x7c, 0x12, 0xf4, 0x30, 0xc5, 0x46, 0x2d, 0x64, 0xe8, 0xbe, 0xb8, + 0x3c, 0x6b, 0x76, 0x5d, 0x2a, 0x0e, 0x87, 0xfb, 0xa6, 0xc3, 0xfa, 0x16, 0x1d, 0xb1, 0x03, 0x36, + 0xf4, 0xb1, 0x2c, 0x7e, 0x78, 0xda, 0xdc, 0xf7, 0x98, 0x73, 0xe4, 0x1c, 0x22, 0xea, 0x5b, 0xc7, + 0x1d, 0x6b, 0x24, 0x87, 0x4f, 0x0d, 0xdd, 0xf6, 0xcb, 0xed, 0x17, 0x01, 0x72, 0xfb, 0xc4, 0x17, + 0xf6, 0xb2, 0x24, 0xde, 0xa6, 0x38, 0x6c, 0x76, 0xe5, 0x04, 0x61, 0x1c, 0x10, 0xce, 0x8d, 0x55, + 0x19, 0x6a, 0x45, 0x0a, 0xb7, 0x94, 0x4c, 0x7f, 0x04, 0x05, 0x8c, 0x04, 0x32, 0x6e, 0xb6, 0xb4, + 0x8d, 0x4a, 0xf7, 0xee, 0xe5, 0x59, 0xd3, 0x20, 0xbe, 0xc3, 0x30, 0xf5, 0x5d, 0xeb, 0x07, 0xce, + 0x7c, 0xd3, 0x46, 0x27, 0x3b, 0x84, 0x73, 0xe4, 0x12, 0x5b, 0x22, 0xc3, 0xdb, 0x21, 0x8f, 0xb3, + 0xaf, 0x7c, 0x76, 0xe2, 0x6f, 0x71, 0xe3, 0x96, 0xba, 0x7f, 0x42, 0xa4, 0x3f, 0x85, 0xa8, 0x60, + 0x3d, 0xc7, 0x43, 0xb4, 0x6f, 0xe8, 0xb2, 0xc6, 0x77, 0x33, 0x6a, 0xfc, 0x2c, 0xc4, 0xd8, 0x65, + 0x6f, 0x72, 0x68, 0xff, 0x04, 0x77, 0x66, 0x46, 0xdb, 0x26, 0x7c, 0xc0, 0x7c, 0x4e, 0xf4, 0x75, + 0x58, 0x89, 0x26, 0x98, 0xe2, 0x68, 0xc0, 0x97, 0x95, 0xe0, 0x25, 0x9e, 0x9d, 0xff, 0xdc, 0xbb, + 0xe7, 0x3f, 0x9f, 0x9e, 0xff, 0xf6, 0x2f, 0x79, 0xb9, 0x59, 0xbe, 0x1d, 0xe0, 0xc9, 0x66, 0xa9, + 0x41, 0x6e, 0xec, 0x2f, 0xa7, 0x72, 0xfb, 0xee, 0x45, 0x32, 0xdd, 0xa8, 0xf9, 0xff, 0xd6, 0xa8, + 0x85, 0xab, 0x36, 0xea, 0x4c, 0x17, 0x16, 0xd3, 0x5d, 0xd8, 0x87, 0xda, 0x64, 0xad, 0xc9, 0x56, + 0xbc, 0x71, 0xad, 0xad, 0x58, 0x9d, 0xb0, 0x87, 0xfd, 0xb8, 0x09, 0x7a, 0xc2, 0x5d, 0xdc, 0x94, + 0x25, 0x99, 0xd3, 0x5b, 0x13, 0x4d, 0xd4, 0x99, 0xed, 0x35, 0xd9, 0x04, 0xc9, 0x2a, 0xc4, 0x4d, + 0xd0, 0xfe, 0x47, 0x4b, 0xe9, 0xd4, 0xe2, 0x24, 0x38, 0x55, 0xa9, 0x07, 0xb0, 0x1a, 0x55, 0xea, + 0x38, 0x82, 0xc8, 0x5a, 0x2d, 0xdb, 0x35, 0x32, 0x6d, 0x38, 0x80, 0x9b, 0xc9, 0xc1, 0x96, 0xf9, + 0xc8, 0x5f, 0x6b, 0x3e, 0x6a, 0x89, 0x25, 0x11, 0x26, 0xe4, 0x11, 0xdc, 0x9e, 0xf2, 0x18, 0xa7, + 0xa4, 0x20, 0x83, 0xd7, 0x13, 0xe8, 0x38, 0x27, 0xf7, 0xa0, 0x99, 0x71, 0xef, 0x71, 0x6e, 0x7e, + 0xcd, 0xc1, 0xad, 0x1d, 0xee, 0xee, 0x05, 0xc8, 0xe7, 0x07, 0x24, 0xc8, 0xe8, 0xdf, 0xa9, 0x05, + 0x94, 0xfb, 0xbf, 0x16, 0x50, 0x7e, 0xce, 0x02, 0x3a, 0x82, 0x6a, 0x40, 0x1c, 0x3a, 0xa0, 0xc4, + 0x17, 0x32, 0x9a, 0xc2, 0xb5, 0x46, 0x53, 0x19, 0x93, 0x6f, 0x53, 0xdc, 0x5e, 0x87, 0xb5, 0x54, + 0x6e, 0xc6, 0x99, 0x43, 0xf0, 0xfe, 0xcc, 0xd6, 0x09, 0x3f, 0x8a, 0x43, 0x5f, 0xa4, 0xb2, 0xa7, + 0x43, 0xc1, 0x47, 0xfd, 0x78, 0xc1, 0xc8, 0xdf, 0x0b, 0x5d, 0xb6, 0xfd, 0x19, 0x34, 0xe6, 0xbb, + 0x18, 0xef, 0x37, 0x03, 0x4a, 0x48, 0x89, 0x22, 0x7f, 0xf1, 0xb1, 0xfd, 0xb7, 0x06, 0xf5, 0x1d, + 0xee, 0x7e, 0x11, 0x20, 0x5f, 0x4c, 0xd9, 0x6e, 0x0d, 0xc5, 0xe1, 0x8f, 0x0b, 0xc5, 0xf8, 0x00, + 0x56, 0xdd, 0xd0, 0x9c, 0x90, 0x99, 0x28, 0x6b, 0x91, 0x38, 0x2e, 0x8a, 0x03, 0x45, 0x29, 0x89, + 0xb6, 0xce, 0x9a, 0x99, 0x7e, 0x4b, 0x9a, 0x32, 0x90, 0x6e, 0xe7, 0xcd, 0x59, 0x73, 0xe9, 0xf2, + 0xac, 0xf9, 0x30, 0x51, 0x2b, 0xf5, 0x90, 0x8b, 0xfe, 0x6c, 0x72, 0x7c, 0x64, 0x8d, 0x2c, 0x14, + 0x06, 0xa9, 0x6c, 0x6c, 0xc5, 0x9d, 0xce, 0x58, 0x71, 0x4e, 0xc6, 0x3e, 0x84, 0x76, 0xf6, 0xa5, + 0xe3, 0xac, 0x75, 0x7e, 0x2b, 0x42, 0x7e, 0x87, 0xbb, 0xfa, 0x2b, 0xa8, 0x4c, 0x3d, 0x08, 0xef, + 0xcf, 0x0b, 0x7c, 0xa6, 0x02, 0xf5, 0x8f, 0x17, 0x00, 0x8d, 0xeb, 0xf3, 0x0a, 0x2a, 0x53, 0x1f, + 0x86, 0x2c, 0x0f, 0x49, 0x50, 0xa6, 0x87, 0x79, 0xcb, 0x4d, 0x1f, 0xc1, 0xed, 0xb9, 0x8b, 0x6d, + 0x11, 0x92, 0x18, 0x5c, 0x7f, 0x72, 0x05, 0xf0, 0xd8, 0xf3, 0x01, 0xd4, 0x66, 0xd6, 0xc6, 0x47, + 0x19, 0x34, 0xd3, 0xb0, 0xfa, 0xe6, 0x42, 0xb0, 0xb1, 0x9f, 0x21, 0xbc, 0x37, 0x6f, 0xca, 0x1e, + 0x2e, 0x50, 0x87, 0x08, 0x5b, 0xef, 0x2c, 0x8e, 0x1d, 0xbb, 0xfd, 0x59, 0x83, 0x3b, 0x59, 0xd3, + 0x63, 0x66, 0xf0, 0x65, 0xe0, 0xeb, 0x9f, 0x5c, 0x0d, 0x1f, 0xc7, 0xd0, 0xdd, 0x7d, 0x73, 0xde, + 0xd0, 0xde, 0x9e, 0x37, 0xb4, 0xbf, 0xce, 0x1b, 0xda, 0xeb, 0x8b, 0xc6, 0xd2, 0xdb, 0x8b, 0xc6, + 0xd2, 0xef, 0x17, 0x8d, 0xa5, 0xef, 0x3f, 0xbd, 0xd2, 0xb2, 0x8b, 0xfe, 0x75, 0x92, 0xfb, 0x6e, + 0xff, 0x86, 0x7c, 0x0c, 0x3c, 0xf9, 0x37, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x4b, 0xc2, 0xa4, 0x0f, + 0x0e, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2699,7 +2700,7 @@ func (m *MsgCreateEntity) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OwnerDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.OwnerDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 15: if wireType != 2 { @@ -3201,7 +3202,7 @@ func (m *MsgUpdateEntity) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ControllerDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.ControllerDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 7: if wireType != 2 { @@ -3417,7 +3418,7 @@ func (m *MsgUpdateEntityVerified) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RelayerNodeDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.RelayerNodeDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { @@ -3613,7 +3614,7 @@ func (m *MsgTransferEntity) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OwnerDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.OwnerDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { @@ -3677,7 +3678,7 @@ func (m *MsgTransferEntity) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RecipientDid = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.RecipientDid = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/x/iid/ante/decorators.go b/x/iid/ante/decorators.go index 89a05a98..d10712d5 100644 --- a/x/iid/ante/decorators.go +++ b/x/iid/ante/decorators.go @@ -4,7 +4,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/auth/signing" - iidkeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" + iidkeeper "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" ) type IidResolutionDecorator struct { diff --git a/x/iid/ante/iidtx.go b/x/iid/ante/iidtx.go index 886095ca..e4102f3e 100644 --- a/x/iid/ante/iidtx.go +++ b/x/iid/ante/iidtx.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/auth/signing" - iidkeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + iidkeeper "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func GetIidControllers(tx signing.SigVerifiableTx) []IidTxMsg { diff --git a/x/iid/client/cli/aries.go b/x/iid/client/cli/aries.go index 01c35faa..217e2801 100644 --- a/x/iid/client/cli/aries.go +++ b/x/iid/client/cli/aries.go @@ -14,7 +14,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" "github.com/spf13/cobra" ) diff --git a/x/iid/client/cli/query.go b/x/iid/client/cli/query.go index 86e5cc8a..5f45eb4b 100644 --- a/x/iid/client/cli/query.go +++ b/x/iid/client/cli/query.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" "github.com/spf13/cobra" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) // GetQueryCmd returns the cli query commands for this module @@ -48,8 +48,7 @@ func GetCmdQueryIdentifers() *cobra.Command { result, err := queryClient.IidDocuments( context.Background(), - &types.QueryIidDocumentsRequest{ - }, + &types.QueryIidDocumentsRequest{}, ) if err != nil { return err diff --git a/x/iid/client/cli/tx.go b/x/iid/client/cli/tx.go index 62ea78b6..4df83566 100644 --- a/x/iid/client/cli/tx.go +++ b/x/iid/client/cli/tx.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" "github.com/spf13/cobra" ) diff --git a/x/iid/genesis.go b/x/iid/genesis.go index 03f9f7b8..60e20d3e 100644 --- a/x/iid/genesis.go +++ b/x/iid/genesis.go @@ -2,8 +2,8 @@ package iid import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" abci "github.com/tendermint/tendermint/abci/types" ) diff --git a/x/iid/keeper/grpc_query.go b/x/iid/keeper/grpc_query.go index a5ad54ee..b4a1999b 100644 --- a/x/iid/keeper/grpc_query.go +++ b/x/iid/keeper/grpc_query.go @@ -9,7 +9,7 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) var _ types.QueryServer = Querier{} diff --git a/x/iid/keeper/grpc_query_test.go.ignore b/x/iid/keeper/grpc_query_test.go.ignore index 4c7bdfe0..1c43b831 100644 --- a/x/iid/keeper/grpc_query_test.go.ignore +++ b/x/iid/keeper/grpc_query_test.go.ignore @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func (suite *KeeperTestSuite) TestGRPCQueryDidDocuments() { diff --git a/x/iid/keeper/iid.go b/x/iid/keeper/iid.go index 2065d54b..f7f0d8aa 100644 --- a/x/iid/keeper/iid.go +++ b/x/iid/keeper/iid.go @@ -4,7 +4,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func (k Keeper) SetDidDocument(ctx sdk.Context, key []byte, document types.IidDocument) { diff --git a/x/iid/keeper/iid_test.go.ignore b/x/iid/keeper/iid_test.go.ignore index 3a5460e5..fd9c2277 100644 --- a/x/iid/keeper/iid_test.go.ignore +++ b/x/iid/keeper/iid_test.go.ignore @@ -3,7 +3,7 @@ package keeper import ( "fmt" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func (suite *KeeperTestSuite) TestDidDocumentKeeperSetAndGet() { diff --git a/x/iid/keeper/keeper.go b/x/iid/keeper/keeper.go index 519f8abf..5965a0ba 100644 --- a/x/iid/keeper/keeper.go +++ b/x/iid/keeper/keeper.go @@ -7,7 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/tendermint/tendermint/libs/log" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) // UnmarshalFn is a generic function to unmarshal bytes diff --git a/x/iid/keeper/keeper_test.go.ignore b/x/iid/keeper/keeper_test.go.ignore index e279f664..2e616f53 100644 --- a/x/iid/keeper/keeper_test.go.ignore +++ b/x/iid/keeper/keeper_test.go.ignore @@ -12,7 +12,7 @@ import ( server "github.com/cosmos/cosmos-sdk/server" "github.com/cosmos/cosmos-sdk/store" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" "github.com/cosmos/cosmos-sdk/baseapp" diff --git a/x/iid/keeper/msg_server.go b/x/iid/keeper/msg_server.go index 8a87af06..a301cf9e 100644 --- a/x/iid/keeper/msg_server.go +++ b/x/iid/keeper/msg_server.go @@ -5,7 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) type msgServer struct { diff --git a/x/iid/keeper/msg_server_test.go.ignore b/x/iid/keeper/msg_server_test.go.ignore index ed6cb171..e14b65b6 100644 --- a/x/iid/keeper/msg_server_test.go.ignore +++ b/x/iid/keeper/msg_server_test.go.ignore @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func (suite *KeeperTestSuite) TestHandleMsgCreateDidDocument() { diff --git a/x/iid/module.go b/x/iid/module.go index 53983e8e..3406f5a2 100644 --- a/x/iid/module.go +++ b/x/iid/module.go @@ -15,9 +15,9 @@ import ( // this line is used by starport scaffolding # 1 "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" - "github.com/ixofoundation/ixo-blockchain/x/iid/client/cli" - "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" - "github.com/ixofoundation/ixo-blockchain/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/client/cli" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) var ( diff --git a/x/iid/types/event.pb.go b/x/iid/types/event.pb.go index 35ed16b9..df722ce3 100644 --- a/x/iid/types/event.pb.go +++ b/x/iid/types/event.pb.go @@ -107,7 +107,7 @@ func init() { func init() { proto.RegisterFile("ixo/iid/v1beta1/event.proto", fileDescriptor_04ca551b26acac87) } var fileDescriptor_04ca551b26acac87 = []byte{ - // 241 bytes of a gzipped FileDescriptorProto + // 244 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xce, 0xac, 0xc8, 0xd7, 0xcf, 0xcc, 0x4c, 0xd1, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xcf, 0xac, 0xc8, 0xd7, 0xcb, 0xcc, 0x4c, @@ -117,13 +117,13 @@ var fileDescriptor_04ca551b26acac87 = []byte{ 0xce, 0x45, 0xa9, 0x89, 0x25, 0xa9, 0x29, 0xae, 0x20, 0xfb, 0x85, 0xec, 0xb8, 0xb8, 0x33, 0x11, 0x52, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xdc, 0x46, 0x32, 0x7a, 0x68, 0xee, 0xd1, 0x43, 0xd2, 0x1e, 0x84, 0xac, 0xc1, 0x8a, 0xa3, 0x63, 0x81, 0x3c, 0xc3, 0x8b, 0x05, 0xf2, 0x8c, 0x68, 0x96, 0x84, - 0x16, 0xa4, 0xd0, 0xc0, 0x12, 0x27, 0xdf, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, + 0x16, 0xa4, 0xd0, 0xc0, 0x12, 0xa7, 0x80, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, - 0x88, 0x32, 0x4e, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0xcf, 0xac, 0xc8, + 0x88, 0x32, 0x4b, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0xcf, 0xac, 0xc8, 0x4f, 0xcb, 0x2f, 0xcd, 0x4b, 0x49, 0x2c, 0xc9, 0xcc, 0xcf, 0x03, 0xf1, 0x74, 0x93, 0x72, 0xf2, - 0x93, 0xb3, 0x93, 0x33, 0x12, 0x33, 0xf3, 0xf4, 0x2b, 0xc0, 0x81, 0x04, 0x0e, 0xb9, 0x24, 0x36, - 0x70, 0xf8, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x57, 0x05, 0xc4, 0xe6, 0x9d, 0x01, 0x00, - 0x00, + 0x93, 0xb3, 0x93, 0x33, 0x12, 0x33, 0xf3, 0xf4, 0xcb, 0x8c, 0xf4, 0x2b, 0xc0, 0xe1, 0x04, 0x0e, + 0xbc, 0x24, 0x36, 0x70, 0x10, 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xcf, 0xd1, 0xc4, 0xad, + 0xa0, 0x01, 0x00, 0x00, } func (this *IidDocumentCreatedEvent) Equal(that interface{}) bool { diff --git a/x/iid/types/genesis.pb.go b/x/iid/types/genesis.pb.go index dda7d3cf..db911379 100644 --- a/x/iid/types/genesis.pb.go +++ b/x/iid/types/genesis.pb.go @@ -75,7 +75,7 @@ func init() { func init() { proto.RegisterFile("ixo/iid/v1beta1/genesis.proto", fileDescriptor_da4523a0526d3e8e) } var fileDescriptor_da4523a0526d3e8e = []byte{ - // 228 bytes of a gzipped FileDescriptorProto + // 231 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcd, 0xac, 0xc8, 0xd7, 0xcf, 0xcc, 0x4c, 0xd1, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x4f, 0xcd, 0x4b, 0x2d, 0xce, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xcf, 0xac, 0xc8, 0xd7, 0xcb, @@ -84,13 +84,13 @@ var fileDescriptor_da4523a0526d3e8e = []byte{ 0x23, 0x83, 0x4b, 0x12, 0x4b, 0x52, 0x85, 0x6c, 0xb9, 0x38, 0x32, 0x33, 0x53, 0xe2, 0x53, 0xf2, 0x93, 0x8b, 0x25, 0x18, 0x15, 0x98, 0x35, 0xb8, 0x8d, 0x64, 0xf4, 0xd0, 0x2c, 0xd1, 0xf3, 0xcc, 0x4c, 0x71, 0xc9, 0x4f, 0x2e, 0xcd, 0x4d, 0xcd, 0x2b, 0x71, 0x62, 0x39, 0x71, 0x4f, 0x9e, 0x21, - 0x88, 0x3d, 0x13, 0x2c, 0x54, 0xec, 0xe4, 0x7b, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, + 0x88, 0x3d, 0x13, 0x2c, 0x54, 0xec, 0x14, 0x70, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, - 0x0c, 0x51, 0xc6, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0x99, 0x15, + 0x0c, 0x51, 0x66, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0x99, 0x15, 0xf9, 0x69, 0xf9, 0xa5, 0x79, 0x29, 0x89, 0x25, 0x99, 0xf9, 0x79, 0x20, 0x9e, 0x6e, 0x52, 0x4e, - 0x7e, 0x72, 0x76, 0x72, 0x46, 0x62, 0x66, 0x9e, 0x7e, 0x05, 0xd8, 0xa5, 0x25, 0x95, 0x05, 0xa9, - 0xc5, 0x49, 0x6c, 0x60, 0x47, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x65, 0xfd, 0x33, - 0x07, 0x01, 0x00, 0x00, + 0x7e, 0x72, 0x76, 0x72, 0x46, 0x62, 0x66, 0x9e, 0x7e, 0x99, 0x91, 0x7e, 0x05, 0xd8, 0xb1, 0x25, + 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0x77, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd7, + 0x3d, 0x75, 0x26, 0x0a, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/iid/types/iid.pb.go b/x/iid/types/iid.pb.go index 2e70d732..a6f704c3 100644 --- a/x/iid/types/iid.pb.go +++ b/x/iid/types/iid.pb.go @@ -111,41 +111,42 @@ func init() { func init() { proto.RegisterFile("ixo/iid/v1beta1/iid.proto", fileDescriptor_49fbbae1d42aab68) } var fileDescriptor_49fbbae1d42aab68 = []byte{ - // 541 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0x4f, 0x6f, 0x12, 0x41, - 0x18, 0xc6, 0xd9, 0xa2, 0xfc, 0x19, 0x28, 0x98, 0x49, 0x63, 0xc6, 0xaa, 0x0b, 0xa9, 0x89, 0xe1, - 0xa0, 0x90, 0xd2, 0x8b, 0xf1, 0x60, 0xa4, 0xc5, 0x18, 0x54, 0x2e, 0xd3, 0xc4, 0x83, 0xb7, 0x61, - 0xf7, 0xed, 0xf2, 0x86, 0xdd, 0x19, 0xb2, 0x3b, 0x20, 0x7c, 0x03, 0x8f, 0x7e, 0x84, 0x7e, 0x1c, - 0x8f, 0x3d, 0x7a, 0x32, 0x06, 0x2e, 0x8d, 0x9f, 0xc2, 0xec, 0x2c, 0x55, 0x58, 0xe0, 0x36, 0xf3, - 0x3e, 0xbf, 0xe7, 0x99, 0x77, 0x66, 0xf7, 0x25, 0x8f, 0x70, 0xa6, 0x5a, 0x88, 0x6e, 0x6b, 0x7a, - 0x3a, 0x00, 0x2d, 0x4e, 0xe3, 0x75, 0x73, 0x1c, 0x2a, 0xad, 0x68, 0x15, 0x67, 0xaa, 0x19, 0x6f, - 0x57, 0xd2, 0xf1, 0x91, 0xa7, 0x3c, 0x65, 0xb4, 0x56, 0xbc, 0x4a, 0xb0, 0xe3, 0xc7, 0xe9, 0x04, - 0x3d, 0x1f, 0x43, 0x94, 0x88, 0x27, 0xb7, 0x39, 0x52, 0xea, 0xa1, 0xdb, 0x55, 0xce, 0x24, 0x00, - 0xa9, 0xe9, 0x07, 0x92, 0x77, 0x94, 0xd4, 0x30, 0xd3, 0xcc, 0xaa, 0x67, 0x1b, 0xa5, 0x36, 0x6b, - 0xa6, 0x4e, 0x69, 0x5e, 0x24, 0xfa, 0xf9, 0xc3, 0x3f, 0xbf, 0x6a, 0xf4, 0xed, 0x8a, 0x7e, 0xa1, - 0x02, 0xd4, 0x10, 0x8c, 0xf5, 0x9c, 0xdf, 0x05, 0xd0, 0x0a, 0x39, 0x40, 0x97, 0x1d, 0xd4, 0xad, - 0x46, 0x91, 0x1f, 0xa0, 0x4b, 0x6d, 0x42, 0x62, 0x29, 0x54, 0xbe, 0x0f, 0x21, 0xcb, 0xd6, 0xb3, - 0x8d, 0x22, 0x5f, 0xab, 0xd0, 0x4b, 0x42, 0xa7, 0x10, 0xe2, 0x15, 0x3a, 0x42, 0xa3, 0x92, 0x7d, - 0xd0, 0x43, 0xe5, 0xb2, 0x7b, 0xa6, 0x8d, 0x67, 0x5b, 0x6d, 0x7c, 0xde, 0x42, 0xf9, 0x0e, 0x3b, - 0x6d, 0x93, 0x7c, 0x04, 0xe1, 0x14, 0x1d, 0x60, 0xf7, 0xf7, 0x5c, 0xe8, 0x32, 0xd1, 0xf9, 0x1d, - 0x48, 0x9f, 0x93, 0x8a, 0x98, 0xe8, 0x21, 0x48, 0xbd, 0xca, 0x62, 0x39, 0xd3, 0x6c, 0xaa, 0x4a, - 0x1b, 0xa4, 0x2a, 0xa2, 0x08, 0xc2, 0xb5, 0x6e, 0xf3, 0x06, 0x4c, 0x97, 0xe9, 0x09, 0x29, 0x8f, - 0x60, 0xde, 0xf1, 0x42, 0x80, 0xf8, 0x99, 0x59, 0xc1, 0x60, 0x1b, 0x35, 0xda, 0x26, 0x47, 0x8e, - 0x18, 0x8b, 0x01, 0xfa, 0xa8, 0xe7, 0x3d, 0x39, 0x55, 0xab, 0xb3, 0x8b, 0x86, 0xdd, 0xa9, 0x6d, - 0x7a, 0xba, 0xe0, 0x83, 0x97, 0x78, 0x48, 0xda, 0xf3, 0x5f, 0xa3, 0xef, 0x49, 0xc5, 0x47, 0x39, - 0x02, 0x97, 0x43, 0xa4, 0x26, 0xa1, 0x03, 0xac, 0x64, 0x1e, 0xa6, 0xb6, 0xf5, 0x30, 0x9f, 0x36, - 0x30, 0x9e, 0xb2, 0xd1, 0x37, 0xa4, 0x94, 0x54, 0x2e, 0x7c, 0x81, 0x01, 0x2b, 0x9b, 0x94, 0x27, - 0x7b, 0x52, 0x0c, 0xc3, 0xd7, 0x0d, 0xb4, 0x4b, 0x0e, 0x85, 0xe3, 0xa8, 0xd0, 0x05, 0x97, 0xa3, - 0x37, 0xd4, 0xec, 0xd0, 0x24, 0xd8, 0x5b, 0x09, 0x9d, 0x75, 0x8a, 0x6f, 0x9a, 0x68, 0x87, 0x94, - 0x93, 0xd0, 0x77, 0x52, 0xa3, 0x9e, 0xb3, 0x8a, 0x09, 0x79, 0xba, 0xa7, 0x8d, 0x04, 0xe2, 0x1b, - 0x16, 0x5a, 0x27, 0x25, 0xe1, 0x47, 0xea, 0xa3, 0x54, 0x5f, 0x65, 0x27, 0x62, 0x55, 0xf3, 0xc7, - 0xae, 0x97, 0xe8, 0x2b, 0x52, 0x08, 0x40, 0x0b, 0x57, 0x68, 0xc1, 0x1e, 0xd4, 0xad, 0x9d, 0xf7, - 0xec, 0xa1, 0xdb, 0x5f, 0x31, 0xfc, 0x1f, 0xfd, 0xba, 0xf0, 0xed, 0xba, 0x96, 0xb9, 0xbd, 0xae, - 0x59, 0xe7, 0xfd, 0x1f, 0x0b, 0xdb, 0xba, 0x59, 0xd8, 0xd6, 0xef, 0x85, 0x6d, 0x7d, 0x5f, 0xda, - 0x99, 0x9b, 0xa5, 0x9d, 0xf9, 0xb9, 0xb4, 0x33, 0x5f, 0xce, 0x3c, 0xd4, 0xc3, 0xc9, 0xa0, 0xe9, - 0xa8, 0xa0, 0x85, 0x33, 0x75, 0xa5, 0x26, 0xd2, 0x35, 0xdf, 0x2a, 0xde, 0xbd, 0x1c, 0xf8, 0xca, - 0x19, 0x39, 0x43, 0x81, 0xb2, 0x35, 0x33, 0x73, 0x6c, 0xe6, 0x77, 0x90, 0x33, 0x03, 0x7c, 0xf6, - 0x37, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x31, 0x6b, 0x1c, 0x21, 0x04, 0x00, 0x00, + // 547 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0xcf, 0x6e, 0xd3, 0x4c, + 0x14, 0xc5, 0xe3, 0xf6, 0xfb, 0xf2, 0x67, 0x92, 0x26, 0x68, 0x54, 0xa1, 0xa1, 0x80, 0x13, 0x15, + 0x09, 0x65, 0x01, 0xb1, 0x1a, 0x24, 0x84, 0x58, 0x20, 0xd2, 0x06, 0xa1, 0x00, 0x95, 0xd0, 0x54, + 0x62, 0xc1, 0x6e, 0x62, 0xdf, 0x3a, 0x57, 0xb1, 0x67, 0x22, 0x7b, 0x12, 0x92, 0x37, 0x60, 0xc9, + 0x23, 0xf4, 0x71, 0x58, 0x76, 0xc9, 0x0a, 0xa1, 0x64, 0x53, 0xf1, 0x14, 0xc8, 0xe3, 0x14, 0x12, + 0x27, 0xd9, 0xcd, 0xdc, 0xf3, 0x3b, 0x67, 0xee, 0x8c, 0x7d, 0xc9, 0x3d, 0x9c, 0x2a, 0x07, 0xd1, + 0x73, 0x26, 0x27, 0x7d, 0xd0, 0xe2, 0x24, 0x59, 0xb7, 0x46, 0x91, 0xd2, 0x8a, 0xd6, 0x70, 0xaa, + 0x5a, 0xc9, 0x76, 0x29, 0x1d, 0x1d, 0xfa, 0xca, 0x57, 0x46, 0x73, 0x92, 0x55, 0x8a, 0x1d, 0xdd, + 0xcf, 0x26, 0xe8, 0xd9, 0x08, 0xe2, 0x54, 0x3c, 0xbe, 0xc9, 0x93, 0x72, 0x0f, 0xbd, 0xae, 0x72, + 0xc7, 0x21, 0x48, 0x4d, 0xdf, 0x91, 0x82, 0xab, 0xa4, 0x86, 0xa9, 0x66, 0x56, 0x63, 0xbf, 0x59, + 0x6e, 0xb3, 0x56, 0xe6, 0x94, 0xd6, 0x59, 0xaa, 0x9f, 0xde, 0xfd, 0xfd, 0xb3, 0x4e, 0x5f, 0x2f, + 0xe9, 0x27, 0x2a, 0x44, 0x0d, 0xe1, 0x48, 0xcf, 0xf8, 0x6d, 0x00, 0xad, 0x92, 0x3d, 0xf4, 0xd8, + 0x5e, 0xc3, 0x6a, 0x96, 0xf8, 0x1e, 0x7a, 0xd4, 0x26, 0x24, 0x91, 0x22, 0x15, 0x04, 0x10, 0xb1, + 0xfd, 0xc6, 0x7e, 0xb3, 0xc4, 0x57, 0x2a, 0xf4, 0x82, 0xd0, 0x09, 0x44, 0x78, 0x89, 0xae, 0xd0, + 0xa8, 0xe4, 0x39, 0xe8, 0x81, 0xf2, 0xd8, 0x7f, 0xa6, 0x8d, 0x47, 0x1b, 0x6d, 0x7c, 0xda, 0x40, + 0xf9, 0x16, 0x3b, 0x6d, 0x93, 0x42, 0x0c, 0xd1, 0x04, 0x5d, 0x60, 0xff, 0xef, 0xb8, 0xd0, 0x45, + 0xaa, 0xf3, 0x5b, 0x90, 0x3e, 0x26, 0x55, 0x31, 0xd6, 0x03, 0x90, 0x7a, 0x99, 0xc5, 0xf2, 0xa6, + 0xd9, 0x4c, 0x95, 0x36, 0x49, 0x4d, 0xc4, 0x31, 0x44, 0x2b, 0xdd, 0x16, 0x0c, 0x98, 0x2d, 0xd3, + 0x63, 0x52, 0x19, 0xc2, 0xac, 0xe3, 0x47, 0x00, 0xc9, 0x33, 0xb3, 0xa2, 0xc1, 0xd6, 0x6a, 0xb4, + 0x4d, 0x0e, 0x5d, 0x31, 0x12, 0x7d, 0x0c, 0x50, 0xcf, 0x7a, 0x72, 0xa2, 0x96, 0x67, 0x97, 0x0c, + 0xbb, 0x55, 0x5b, 0xf7, 0x74, 0x21, 0x00, 0x3f, 0xf5, 0x90, 0xac, 0xe7, 0x9f, 0x46, 0xdf, 0x92, + 0x6a, 0x80, 0x72, 0x08, 0x1e, 0x87, 0x58, 0x8d, 0x23, 0x17, 0x58, 0xd9, 0x3c, 0x4c, 0x7d, 0xe3, + 0x61, 0x3e, 0xac, 0x61, 0x3c, 0x63, 0xa3, 0xaf, 0x48, 0x39, 0xad, 0x9c, 0x05, 0x02, 0x43, 0x56, + 0x31, 0x29, 0x0f, 0x76, 0xa4, 0x18, 0x86, 0xaf, 0x1a, 0x68, 0x97, 0x1c, 0x08, 0xd7, 0x55, 0x91, + 0x07, 0x1e, 0x47, 0x7f, 0xa0, 0xd9, 0x81, 0x49, 0xb0, 0x37, 0x12, 0x3a, 0xab, 0x14, 0x5f, 0x37, + 0xd1, 0x0e, 0xa9, 0xa4, 0xa1, 0x6f, 0xa4, 0x46, 0x3d, 0x63, 0x55, 0x13, 0xf2, 0x70, 0x47, 0x1b, + 0x29, 0xc4, 0xd7, 0x2c, 0xb4, 0x41, 0xca, 0x22, 0x88, 0xd5, 0x7b, 0xa9, 0xbe, 0xc8, 0x4e, 0xcc, + 0x6a, 0xe6, 0x8f, 0x5d, 0x2d, 0xd1, 0x17, 0xa4, 0x18, 0x82, 0x16, 0x9e, 0xd0, 0x82, 0xdd, 0x69, + 0x58, 0x5b, 0xef, 0xd9, 0x43, 0xef, 0x7c, 0xc9, 0xf0, 0xbf, 0xf4, 0xcb, 0xe2, 0xd7, 0xab, 0x7a, + 0xee, 0xe6, 0xaa, 0x6e, 0x9d, 0x7e, 0xfc, 0x3e, 0xb7, 0xad, 0xeb, 0xb9, 0x6d, 0xfd, 0x9a, 0xdb, + 0xd6, 0xb7, 0x85, 0x9d, 0xbb, 0x5e, 0xd8, 0xb9, 0x1f, 0x0b, 0x3b, 0xf7, 0xf9, 0xb9, 0x8f, 0x7a, + 0x30, 0xee, 0xb7, 0x5c, 0x15, 0x3a, 0x38, 0x55, 0x97, 0x6a, 0x2c, 0x3d, 0xf3, 0xad, 0x92, 0xdd, + 0xd3, 0x7e, 0xa0, 0xdc, 0xa1, 0x3b, 0x10, 0x28, 0x9d, 0x49, 0xdb, 0x99, 0x9a, 0x51, 0x36, 0x23, + 0xdc, 0xcf, 0x9b, 0x19, 0x7e, 0xf6, 0x27, 0x00, 0x00, 0xff, 0xff, 0xe3, 0x8b, 0xd9, 0x66, 0x24, + 0x04, 0x00, 0x00, } func (this *IidDocument) Equal(that interface{}) bool { diff --git a/x/iid/types/query.pb.go b/x/iid/types/query.pb.go index f35df37b..50a436c3 100644 --- a/x/iid/types/query.pb.go +++ b/x/iid/types/query.pb.go @@ -227,35 +227,35 @@ func init() { func init() { proto.RegisterFile("ixo/iid/v1beta1/query.proto", fileDescriptor_4950ee37c7844ad4) } var fileDescriptor_4950ee37c7844ad4 = []byte{ - // 442 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x4d, 0x6b, 0x14, 0x31, - 0x18, 0xde, 0x19, 0x3f, 0xc0, 0x6c, 0xb5, 0x10, 0x2a, 0x6e, 0xd7, 0x32, 0x96, 0x3d, 0xe8, 0x6e, - 0xc1, 0x84, 0x6e, 0xff, 0x41, 0x29, 0x15, 0x0f, 0x82, 0xce, 0xd1, 0x93, 0x99, 0x49, 0x9c, 0xbe, - 0xd8, 0xcd, 0x3b, 0x6d, 0x32, 0xb2, 0xc5, 0x8f, 0x83, 0xe0, 0x5d, 0xf0, 0x6f, 0xf8, 0x43, 0x7a, - 0x2c, 0x78, 0xf1, 0x24, 0xb2, 0xeb, 0x0f, 0x91, 0x24, 0xd3, 0x3a, 0xb3, 0x55, 0xba, 0x87, 0x85, - 0x6c, 0xf2, 0x7c, 0xbd, 0x4f, 0x32, 0xe4, 0x3e, 0x4c, 0x91, 0x03, 0x48, 0xfe, 0x76, 0x3b, 0x53, - 0x56, 0x6c, 0xf3, 0xa3, 0x4a, 0x1d, 0x9f, 0xb0, 0xf2, 0x18, 0x2d, 0xd2, 0x55, 0x98, 0x22, 0x03, - 0x90, 0xac, 0x3e, 0xec, 0x6f, 0x14, 0x88, 0xc5, 0xa1, 0xe2, 0xa2, 0x04, 0x2e, 0xb4, 0x46, 0x2b, - 0x2c, 0xa0, 0x36, 0x01, 0xde, 0x5f, 0x5f, 0xd4, 0x72, 0xd4, 0x70, 0xb4, 0x56, 0x60, 0x81, 0x7e, - 0xc9, 0xdd, 0xaa, 0xde, 0xdd, 0xca, 0xd1, 0x4c, 0xd0, 0xf0, 0x4c, 0x18, 0x15, 0x8c, 0x2f, 0xa8, - 0xa5, 0x28, 0x40, 0x7b, 0xf5, 0x80, 0x1d, 0x64, 0xa4, 0xf7, 0xc2, 0x21, 0x9e, 0x82, 0xdc, 0xc3, - 0xbc, 0x9a, 0x28, 0x6d, 0x4d, 0xaa, 0x8e, 0x2a, 0x65, 0x2c, 0xdd, 0x27, 0xe4, 0x2f, 0xbe, 0x17, - 0x6d, 0x46, 0xc3, 0xee, 0xf8, 0x21, 0x0b, 0xe2, 0xcc, 0x89, 0xb3, 0x30, 0x55, 0x2d, 0xce, 0x9e, - 0x8b, 0x42, 0xd5, 0xdc, 0xb4, 0xc1, 0x1c, 0x7c, 0x8b, 0xc8, 0xfa, 0x3f, 0x4c, 0x4c, 0x89, 0xda, - 0x28, 0xba, 0x4f, 0x56, 0xa0, 0xb1, 0xdf, 0x8b, 0x36, 0xaf, 0x0d, 0xbb, 0xe3, 0x0d, 0xb6, 0x50, - 0x12, 0x6b, 0x90, 0x77, 0xaf, 0x9f, 0xfe, 0x7c, 0xd0, 0x49, 0x5b, 0x3c, 0xfa, 0xa4, 0x95, 0x36, - 0xf6, 0x69, 0x1f, 0x5d, 0x99, 0x36, 0x84, 0x68, 0xc5, 0x1d, 0x91, 0x7b, 0x8b, 0x69, 0xcf, 0x1b, - 0xb9, 0x43, 0x62, 0x90, 0xbe, 0x89, 0x5b, 0x69, 0x0c, 0x72, 0xf0, 0xea, 0x72, 0x7b, 0x17, 0x73, - 0xed, 0x91, 0x6e, 0x23, 0x5f, 0x5d, 0xdf, 0x32, 0x63, 0x35, 0x69, 0xe3, 0xcf, 0x31, 0xb9, 0xe1, - 0x2d, 0xe8, 0x7b, 0xb2, 0xd2, 0xec, 0x8f, 0x8e, 0x2e, 0x49, 0xfd, 0xef, 0x22, 0xfb, 0x5b, 0xcb, - 0x40, 0x43, 0xec, 0xc1, 0xdd, 0x4f, 0xdf, 0x7f, 0x7f, 0x8d, 0x57, 0xe9, 0x6d, 0xee, 0x9e, 0x9d, - 0x04, 0xe9, 0x7e, 0x86, 0x7e, 0x24, 0xdd, 0x06, 0x9c, 0x0e, 0xaf, 0x54, 0x3c, 0xf7, 0x1e, 0x2d, - 0x81, 0xac, 0xad, 0xfb, 0xde, 0x7a, 0x8d, 0xd2, 0x96, 0x35, 0x7f, 0x07, 0xf2, 0xc3, 0xee, 0xb3, - 0xd3, 0x59, 0x12, 0x9d, 0xcd, 0x92, 0xe8, 0xd7, 0x2c, 0x89, 0xbe, 0xcc, 0x93, 0xce, 0xd9, 0x3c, - 0xe9, 0xfc, 0x98, 0x27, 0x9d, 0x97, 0x3b, 0x05, 0xd8, 0x83, 0x2a, 0x63, 0x39, 0x4e, 0x1c, 0xef, - 0x35, 0x56, 0x5a, 0xfa, 0x8b, 0x74, 0xff, 0x1e, 0x67, 0x87, 0x98, 0xbf, 0xc9, 0x0f, 0x04, 0x68, - 0x3e, 0xf5, 0x1f, 0x91, 0x3d, 0x29, 0x95, 0xc9, 0x6e, 0xfa, 0xd7, 0xbf, 0xf3, 0x27, 0x00, 0x00, - 0xff, 0xff, 0x27, 0xc7, 0x8d, 0x6b, 0xa8, 0x03, 0x00, 0x00, + // 445 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x4d, 0x6b, 0x13, 0x41, + 0x18, 0xce, 0xae, 0x1f, 0xe0, 0xa4, 0x5a, 0x18, 0x2a, 0xa6, 0xb1, 0xac, 0x25, 0x07, 0x4d, 0x0a, + 0xce, 0xd0, 0x08, 0xfe, 0x80, 0x52, 0x2a, 0xde, 0x6a, 0x8e, 0x9e, 0x9c, 0xdd, 0x19, 0xb7, 0x2f, + 0x36, 0xf3, 0x6e, 0x3b, 0xb3, 0x25, 0xc5, 0x8f, 0x83, 0xe0, 0x5d, 0xf0, 0x6f, 0xf8, 0x43, 0x7a, + 0x2c, 0x78, 0xf1, 0x24, 0x92, 0xf8, 0x43, 0x64, 0x66, 0xb6, 0x75, 0x37, 0xb5, 0x24, 0x87, 0xc0, + 0x64, 0xe6, 0xf9, 0x7a, 0x9f, 0xd9, 0x21, 0x0f, 0x61, 0x82, 0x1c, 0x40, 0xf2, 0x93, 0xed, 0x54, + 0x59, 0xb1, 0xcd, 0x8f, 0x4a, 0x75, 0x7c, 0xca, 0x8a, 0x63, 0xb4, 0x48, 0x57, 0x61, 0x82, 0x0c, + 0x40, 0xb2, 0xea, 0xb0, 0xbb, 0x91, 0x23, 0xe6, 0x87, 0x8a, 0x8b, 0x02, 0xb8, 0xd0, 0x1a, 0xad, + 0xb0, 0x80, 0xda, 0x04, 0x78, 0x77, 0x7d, 0x5e, 0xcb, 0x51, 0xc3, 0xd1, 0x5a, 0x8e, 0x39, 0xfa, + 0x25, 0x77, 0xab, 0x6a, 0x77, 0x2b, 0x43, 0x33, 0x46, 0xc3, 0x53, 0x61, 0x54, 0x30, 0xbe, 0xa4, + 0x16, 0x22, 0x07, 0xed, 0xd5, 0x03, 0xb6, 0x97, 0x92, 0xce, 0x2b, 0x87, 0x78, 0x09, 0x72, 0x17, + 0xb3, 0x72, 0xac, 0xb4, 0x35, 0x23, 0x75, 0x54, 0x2a, 0x63, 0xe9, 0x1e, 0x21, 0xff, 0xf0, 0x9d, + 0x68, 0x33, 0xea, 0xb7, 0x87, 0x8f, 0x59, 0x10, 0x67, 0x4e, 0x9c, 0x85, 0xa9, 0x2a, 0x71, 0xb6, + 0x2f, 0x72, 0x55, 0x71, 0x47, 0x35, 0x66, 0xef, 0x7b, 0x44, 0xd6, 0xff, 0x63, 0x62, 0x0a, 0xd4, + 0x46, 0xd1, 0x3d, 0xb2, 0x02, 0xb5, 0xfd, 0x4e, 0xb4, 0x79, 0xa3, 0xdf, 0x1e, 0x6e, 0xb0, 0xb9, + 0x92, 0x58, 0x8d, 0xbc, 0x73, 0xf3, 0xec, 0xd7, 0xa3, 0xd6, 0xa8, 0xc1, 0xa3, 0x2f, 0x1a, 0x69, + 0x63, 0x9f, 0xf6, 0xc9, 0xc2, 0xb4, 0x21, 0x44, 0x23, 0xee, 0x80, 0x3c, 0x98, 0x4f, 0x7b, 0xd1, + 0xc8, 0x3d, 0x12, 0x83, 0xf4, 0x4d, 0xdc, 0x19, 0xc5, 0x20, 0x7b, 0x6f, 0xae, 0xb6, 0x77, 0x39, + 0xd7, 0x2e, 0x69, 0xd7, 0xf2, 0x55, 0xf5, 0x2d, 0x33, 0x56, 0x9d, 0x36, 0xfc, 0x12, 0x93, 0x5b, + 0xde, 0x82, 0x7e, 0x20, 0x2b, 0xf5, 0xfe, 0xe8, 0xe0, 0x8a, 0xd4, 0x75, 0x17, 0xd9, 0xdd, 0x5a, + 0x06, 0x1a, 0x62, 0xf7, 0xee, 0x7f, 0xfe, 0xf1, 0xe7, 0x5b, 0xbc, 0x4a, 0xef, 0x72, 0xf7, 0xd9, + 0x49, 0x90, 0xee, 0x67, 0xe8, 0x27, 0xd2, 0xae, 0xc1, 0x69, 0x7f, 0xa1, 0xe2, 0x85, 0xf7, 0x60, + 0x09, 0x64, 0x65, 0xdd, 0xf5, 0xd6, 0x6b, 0x94, 0x36, 0xac, 0xf9, 0x7b, 0x90, 0x1f, 0x77, 0xf6, + 0xcf, 0xa6, 0x49, 0x74, 0x3e, 0x4d, 0xa2, 0xdf, 0xd3, 0x24, 0xfa, 0x3a, 0x4b, 0x5a, 0xe7, 0xb3, + 0xa4, 0xf5, 0x73, 0x96, 0xb4, 0x5e, 0x3f, 0xcf, 0xc1, 0x1e, 0x94, 0x29, 0xcb, 0x70, 0xec, 0x78, + 0x6f, 0xb1, 0xd4, 0xd2, 0x5f, 0xa4, 0xfb, 0xf7, 0x34, 0x3d, 0xc4, 0xec, 0x5d, 0x76, 0x20, 0x40, + 0xf3, 0x93, 0x21, 0x9f, 0xf8, 0x77, 0x64, 0x4f, 0x0b, 0x65, 0xd2, 0xdb, 0xfe, 0x01, 0x3c, 0xfb, + 0x1b, 0x00, 0x00, 0xff, 0xff, 0xea, 0xf5, 0xf9, 0x0f, 0xab, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/iid/types/tx.pb.go b/x/iid/types/tx.pb.go index 1dfd690f..e167122f 100644 --- a/x/iid/types/tx.pb.go +++ b/x/iid/types/tx.pb.go @@ -1662,94 +1662,94 @@ func init() { func init() { proto.RegisterFile("ixo/iid/v1beta1/tx.proto", fileDescriptor_5d148d8ca0e87464) } var fileDescriptor_5d148d8ca0e87464 = []byte{ - // 1385 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcf, 0x6e, 0xdb, 0xc6, - 0x13, 0x36, 0xed, 0xc4, 0x91, 0x46, 0x96, 0x93, 0x30, 0xfe, 0x25, 0xb4, 0x6c, 0x4b, 0x8e, 0x13, - 0x27, 0xce, 0xaf, 0x89, 0x94, 0x38, 0x3d, 0x14, 0x0d, 0x50, 0x40, 0xb5, 0x8a, 0xc2, 0x48, 0x74, - 0x61, 0xda, 0x1e, 0x02, 0x14, 0x29, 0x4d, 0xae, 0xe9, 0x85, 0x65, 0xae, 0x40, 0xd2, 0xae, 0x72, - 0xe9, 0xad, 0x40, 0xff, 0xa0, 0x40, 0x7b, 0xe9, 0x39, 0x2f, 0xd1, 0x77, 0xe8, 0xa5, 0x40, 0x8e, - 0x3d, 0x16, 0xc9, 0xa5, 0x8f, 0x51, 0x68, 0x97, 0x5a, 0x2e, 0xb9, 0xbb, 0x24, 0x03, 0x14, 0x3d, - 0xe5, 0x66, 0xee, 0x7c, 0x3b, 0xf3, 0xcd, 0xee, 0xec, 0x37, 0x63, 0x08, 0x2c, 0x3c, 0x21, 0x3d, - 0x8c, 0xbd, 0xde, 0xd9, 0x83, 0x03, 0x14, 0x3b, 0x0f, 0x7a, 0xf1, 0xa4, 0x3b, 0x0e, 0x49, 0x4c, - 0xcc, 0x8b, 0x78, 0x42, 0xba, 0x18, 0x7b, 0xdd, 0xc4, 0xd2, 0x5a, 0xf1, 0x89, 0x4f, 0xa8, 0xad, - 0x37, 0xfd, 0x8b, 0xc1, 0x5a, 0xeb, 0x3e, 0x21, 0xfe, 0x08, 0xf5, 0x9c, 0x31, 0xee, 0x39, 0x41, - 0x40, 0x62, 0x27, 0xc6, 0x24, 0x88, 0x12, 0xeb, 0x6a, 0xde, 0xfd, 0xd4, 0x21, 0x33, 0xad, 0x49, - 0x91, 0x5f, 0x8c, 0x51, 0xb2, 0x6f, 0xeb, 0x47, 0x03, 0x96, 0xbe, 0x40, 0x21, 0x3e, 0xc4, 0x2e, - 0xf5, 0x67, 0xde, 0x84, 0x66, 0x88, 0x46, 0xcc, 0xf7, 0x11, 0x1e, 0x47, 0x96, 0xb1, 0xb9, 0xb0, - 0x53, 0xb7, 0xb3, 0x8b, 0xe6, 0x23, 0x58, 0x3c, 0x41, 0xf1, 0x11, 0xf1, 0xac, 0xf9, 0x4d, 0x63, - 0xa7, 0xb1, 0x7b, 0xa3, 0x9b, 0x4b, 0xa2, 0x2b, 0x3a, 0x1d, 0x52, 0xa8, 0x9d, 0x6c, 0x31, 0x2d, - 0xb8, 0xe0, 0x92, 0x20, 0x46, 0x93, 0xd8, 0x5a, 0xa0, 0xce, 0x67, 0x9f, 0x5b, 0x7f, 0x9c, 0x83, - 0x95, 0x61, 0xe4, 0xef, 0x85, 0xc8, 0x89, 0xd1, 0x3e, 0xf6, 0x06, 0xc4, 0x3d, 0x3d, 0x41, 0x41, - 0x6c, 0x2e, 0xc3, 0x3c, 0xf6, 0x2c, 0x63, 0xd3, 0xd8, 0xa9, 0xdb, 0xf3, 0xd8, 0x33, 0x37, 0xa1, - 0x31, 0xdd, 0x13, 0x92, 0xd1, 0x08, 0x85, 0x91, 0x35, 0x4f, 0xdd, 0x88, 0x4b, 0xe6, 0x6e, 0x36, - 0x48, 0x63, 0xd7, 0x92, 0x28, 0xee, 0x31, 0x3b, 0x0f, 0x6f, 0xee, 0x41, 0xf3, 0x4c, 0xa0, 0x1d, - 0x59, 0xe7, 0xe8, 0xce, 0x8d, 0xc2, 0xe4, 0xec, 0xec, 0x1e, 0xf3, 0x7d, 0xa8, 0x45, 0x28, 0x3c, - 0xc3, 0x2e, 0x8a, 0xac, 0xf3, 0x9a, 0xc8, 0x4f, 0x19, 0xc0, 0xe6, 0x48, 0x73, 0x00, 0x4d, 0xc7, - 0x75, 0x49, 0xe8, 0x21, 0xcf, 0xc6, 0xfe, 0x51, 0x6c, 0x2d, 0xd2, 0xad, 0x6d, 0x69, 0x6b, 0x5f, - 0x44, 0xd9, 0xd9, 0x4d, 0xe6, 0xa7, 0xb0, 0x3c, 0xc2, 0xc1, 0x31, 0xf2, 0x6c, 0x14, 0x91, 0xd3, - 0xd0, 0x45, 0xd6, 0x05, 0xea, 0xa6, 0x23, 0xb9, 0x79, 0x92, 0x81, 0xd9, 0xb9, 0x6d, 0x66, 0x1f, - 0x96, 0xd8, 0xca, 0x27, 0x41, 0x8c, 0xe3, 0x17, 0x56, 0x4d, 0x73, 0x10, 0x4f, 0x04, 0x90, 0x9d, - 0xd9, 0x32, 0xbd, 0x22, 0x67, 0x14, 0x91, 0xc7, 0x01, 0xf9, 0x3a, 0xe8, 0x47, 0x56, 0x9d, 0xde, - 0x9d, 0xb8, 0x64, 0x5e, 0x85, 0xc5, 0x08, 0xfb, 0x01, 0x0a, 0x2d, 0xa0, 0xc6, 0xe4, 0xcb, 0xfc, - 0x08, 0x1a, 0xcc, 0xd3, 0xde, 0xc8, 0xc1, 0x27, 0x56, 0x83, 0xc6, 0x5e, 0xd7, 0xc4, 0xa6, 0x18, - 0x5b, 0xdc, 0xf0, 0x61, 0xed, 0xbb, 0x97, 0x9d, 0xb9, 0xbf, 0x5f, 0x76, 0xe6, 0xb6, 0xda, 0xb0, - 0xae, 0x2a, 0x27, 0x1b, 0x45, 0x63, 0x12, 0x44, 0x68, 0x56, 0x6f, 0x9f, 0x8f, 0xbd, 0x77, 0xf5, - 0xf6, 0xae, 0xde, 0xfe, 0xad, 0x7a, 0x93, 0xca, 0x89, 0xd7, 0xdb, 0xf7, 0x06, 0x98, 0xc3, 0xc8, - 0xef, 0x7b, 0x5e, 0x46, 0x73, 0xf3, 0xd5, 0xd6, 0x87, 0x25, 0xf1, 0x8e, 0x13, 0x8d, 0x2d, 0x29, - 0x8b, 0xcc, 0x16, 0x21, 0xd7, 0x05, 0x31, 0x57, 0x81, 0xeb, 0x3a, 0xb4, 0x64, 0x2a, 0x9c, 0xe9, - 0xaf, 0x06, 0x74, 0x86, 0x91, 0xff, 0x14, 0xc5, 0x59, 0xb3, 0xd8, 0x04, 0xf2, 0xb4, 0xd7, 0xa0, - 0xce, 0x14, 0xfe, 0x39, 0x66, 0x7d, 0xa1, 0x6e, 0xd7, 0xd8, 0xc2, 0xbe, 0x27, 0xf7, 0x95, 0x05, - 0x55, 0x5f, 0x49, 0x69, 0x9f, 0xd3, 0xd0, 0xbe, 0x03, 0xb7, 0x4b, 0x78, 0xf1, 0x1c, 0x0e, 0xe1, - 0x7f, 0xc3, 0xc8, 0xb7, 0xd1, 0x19, 0x39, 0x46, 0x85, 0xe7, 0x5d, 0x48, 0xbc, 0xfc, 0x24, 0x3b, - 0xb0, 0xa1, 0x8c, 0xc3, 0x89, 0x7c, 0x03, 0x4d, 0x76, 0xd4, 0xc9, 0x3b, 0x94, 0x08, 0x3c, 0x82, - 0xa5, 0xe4, 0x65, 0x3e, 0xf7, 0x9c, 0xd8, 0x49, 0x2e, 0x5c, 0xff, 0x8e, 0x1b, 0x09, 0x7a, 0xe0, - 0xc4, 0x4e, 0x05, 0x82, 0xd7, 0xe8, 0x41, 0xa4, 0xf1, 0x39, 0x31, 0x17, 0x2e, 0x0d, 0x23, 0x7f, - 0x80, 0x46, 0x28, 0x46, 0x3a, 0x6e, 0x1b, 0x00, 0x33, 0x6e, 0xfc, 0x74, 0xea, 0xc9, 0x4a, 0xa5, - 0xe3, 0x69, 0x81, 0x95, 0x0f, 0xc2, 0x09, 0x1c, 0x53, 0x02, 0x7d, 0xcf, 0xdb, 0xe3, 0x52, 0x2a, - 0x11, 0xd8, 0x86, 0xe5, 0x54, 0x68, 0x9f, 0x7b, 0x9c, 0x44, 0x33, 0x5d, 0x1d, 0xe0, 0xea, 0x44, - 0x32, 0xc1, 0x38, 0x91, 0x00, 0xae, 0x70, 0x92, 0xff, 0x05, 0x97, 0x0d, 0x58, 0x53, 0xc4, 0xe3, - 0x74, 0x7e, 0x31, 0x68, 0x63, 0xea, 0x7b, 0x5e, 0x56, 0x38, 0x25, 0x42, 0xb2, 0x02, 0xb3, 0xda, - 0x79, 0x6b, 0x05, 0x2e, 0xa7, 0x3c, 0x82, 0x6b, 0x9c, 0x72, 0x09, 0xab, 0x0e, 0x34, 0xc2, 0xc4, - 0x96, 0x16, 0x0d, 0xcc, 0x96, 0x2a, 0x55, 0xcd, 0xb7, 0x06, 0x5c, 0x16, 0x4f, 0x80, 0x4a, 0xad, + // 1388 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x6f, 0xdc, 0x44, + 0x14, 0x8f, 0x93, 0x36, 0xdd, 0x7d, 0x9b, 0xa4, 0xad, 0x1b, 0x5a, 0x67, 0x93, 0x6c, 0xd2, 0xb4, + 0x69, 0x53, 0x68, 0x77, 0xdb, 0x80, 0x10, 0xa2, 0x12, 0xd2, 0x92, 0x45, 0x28, 0x6a, 0x57, 0x42, + 0x2e, 0x70, 0xa8, 0x84, 0x8a, 0x63, 0x4f, 0x9c, 0x51, 0x36, 0x9e, 0x95, 0xed, 0x2c, 0xdb, 0x0b, + 0x37, 0x24, 0xfe, 0x08, 0x09, 0x2e, 0x9c, 0xfb, 0x25, 0xf8, 0x0e, 0x5c, 0x90, 0x7a, 0xe4, 0x88, + 0xda, 0x0b, 0x1f, 0x03, 0xed, 0x8c, 0x77, 0x3c, 0xf6, 0xcc, 0xd8, 0x8e, 0x84, 0x38, 0xf5, 0x16, + 0xcf, 0xfb, 0xcd, 0x7b, 0xbf, 0x37, 0xf3, 0xe6, 0xf7, 0x5e, 0xb4, 0x60, 0xe1, 0x31, 0xe9, 0x60, + 0xec, 0x75, 0x46, 0x0f, 0x0e, 0x50, 0xec, 0x3c, 0xe8, 0xc4, 0xe3, 0xf6, 0x30, 0x24, 0x31, 0x31, + 0x2f, 0xe2, 0x31, 0x69, 0x63, 0xec, 0xb5, 0x13, 0x4b, 0x73, 0xd9, 0x27, 0x3e, 0xa1, 0xb6, 0xce, + 0xe4, 0x2f, 0x06, 0x6b, 0xae, 0xf9, 0x84, 0xf8, 0x03, 0xd4, 0x71, 0x86, 0xb8, 0xe3, 0x04, 0x01, + 0x89, 0x9d, 0x18, 0x93, 0x20, 0x4a, 0xac, 0x2b, 0x79, 0xf7, 0x13, 0x87, 0xcc, 0xb4, 0x2a, 0x45, + 0x7e, 0x3e, 0x44, 0xc9, 0xbe, 0xad, 0x9f, 0x0c, 0x58, 0xf8, 0x12, 0x85, 0xf8, 0x10, 0xbb, 0xd4, + 0x9f, 0x79, 0x13, 0x16, 0x43, 0x34, 0x60, 0xbe, 0x8f, 0xf0, 0x30, 0xb2, 0x8c, 0xcd, 0xb9, 0x9d, + 0xba, 0x9d, 0x5d, 0x34, 0x1f, 0xc2, 0xfc, 0x09, 0x8a, 0x8f, 0x88, 0x67, 0xcd, 0x6e, 0x1a, 0x3b, + 0x8d, 0xdd, 0x1b, 0xed, 0x5c, 0x12, 0x6d, 0xd1, 0x69, 0x9f, 0x42, 0xed, 0x64, 0x8b, 0x69, 0xc1, + 0x05, 0x97, 0x04, 0x31, 0x1a, 0xc7, 0xd6, 0x1c, 0x75, 0x3e, 0xfd, 0xdc, 0xfa, 0xf3, 0x1c, 0x2c, + 0xf7, 0x23, 0x7f, 0x2f, 0x44, 0x4e, 0x8c, 0xf6, 0xb1, 0xd7, 0x23, 0xee, 0xe9, 0x09, 0x0a, 0x62, + 0x73, 0x09, 0x66, 0xb1, 0x67, 0x19, 0x9b, 0xc6, 0x4e, 0xdd, 0x9e, 0xc5, 0x9e, 0xb9, 0x09, 0x8d, + 0xc9, 0x9e, 0x90, 0x0c, 0x06, 0x28, 0x8c, 0xac, 0x59, 0xea, 0x46, 0x5c, 0x32, 0x77, 0xb3, 0x41, + 0x1a, 0xbb, 0x96, 0x44, 0x71, 0x8f, 0xd9, 0x79, 0x78, 0x73, 0x0f, 0x16, 0x47, 0x02, 0xed, 0xc8, + 0x3a, 0x47, 0x77, 0xae, 0x17, 0x26, 0x67, 0x67, 0xf7, 0x98, 0xef, 0x41, 0x2d, 0x42, 0xe1, 0x08, + 0xbb, 0x28, 0xb2, 0xce, 0x6b, 0x22, 0x3f, 0x61, 0x00, 0x9b, 0x23, 0xcd, 0x1e, 0x2c, 0x3a, 0xae, + 0x4b, 0x42, 0x0f, 0x79, 0x36, 0xf6, 0x8f, 0x62, 0x6b, 0x9e, 0x6e, 0x6d, 0x49, 0x5b, 0xbb, 0x22, + 0xca, 0xce, 0x6e, 0x32, 0x3f, 0x85, 0xa5, 0x01, 0x0e, 0x8e, 0x91, 0x67, 0xa3, 0x88, 0x9c, 0x86, + 0x2e, 0xb2, 0x2e, 0x50, 0x37, 0x1b, 0x92, 0x9b, 0xc7, 0x19, 0x98, 0x9d, 0xdb, 0x66, 0x76, 0x61, + 0x81, 0xad, 0x7c, 0x12, 0xc4, 0x38, 0x7e, 0x6e, 0xd5, 0x34, 0x07, 0xf1, 0x58, 0x00, 0xd9, 0x99, + 0x2d, 0x93, 0x2b, 0x72, 0x06, 0x11, 0x79, 0x14, 0x90, 0x6f, 0x82, 0x6e, 0x64, 0xd5, 0xe9, 0xdd, + 0x89, 0x4b, 0xe6, 0x55, 0x98, 0x8f, 0xb0, 0x1f, 0xa0, 0xd0, 0x02, 0x6a, 0x4c, 0xbe, 0xcc, 0x8f, + 0xa0, 0xc1, 0x3c, 0xed, 0x0d, 0x1c, 0x7c, 0x62, 0x35, 0x68, 0xec, 0x35, 0x4d, 0x6c, 0x8a, 0xb1, + 0xc5, 0x0d, 0x1f, 0xd6, 0xbe, 0x7f, 0xb1, 0x31, 0xf3, 0xcf, 0x8b, 0x8d, 0x99, 0xad, 0x16, 0xac, + 0xa9, 0xca, 0xc9, 0x46, 0xd1, 0x90, 0x04, 0x11, 0x9a, 0xd6, 0xdb, 0x17, 0x43, 0xef, 0x4d, 0xbd, + 0xbd, 0xa9, 0xb7, 0xff, 0xaa, 0xde, 0xa4, 0x72, 0xe2, 0xf5, 0xf6, 0x83, 0x01, 0x66, 0x3f, 0xf2, + 0xbb, 0x9e, 0x97, 0xd1, 0xdc, 0x7c, 0xb5, 0x75, 0x61, 0x41, 0xbc, 0xe3, 0x44, 0x63, 0x4b, 0xca, + 0x22, 0xb3, 0x45, 0xc8, 0x75, 0x4e, 0xcc, 0x55, 0xe0, 0xba, 0x06, 0x4d, 0x99, 0x0a, 0x67, 0xfa, + 0x9b, 0x01, 0x1b, 0xfd, 0xc8, 0x7f, 0x82, 0xe2, 0xac, 0x59, 0x6c, 0x02, 0x79, 0xda, 0xab, 0x50, + 0x67, 0x0a, 0xff, 0x0c, 0xb3, 0xbe, 0x50, 0xb7, 0x6b, 0x6c, 0x61, 0xdf, 0x93, 0xfb, 0xca, 0x9c, + 0xaa, 0xaf, 0xa4, 0xb4, 0xcf, 0x69, 0x68, 0xdf, 0x81, 0xdb, 0x25, 0xbc, 0x78, 0x0e, 0x87, 0xf0, + 0x56, 0x3f, 0xf2, 0x6d, 0x34, 0x22, 0xc7, 0xa8, 0xf0, 0xbc, 0x0b, 0x89, 0x97, 0x9f, 0xe4, 0x06, + 0xac, 0x2b, 0xe3, 0x70, 0x22, 0xdf, 0xc2, 0x22, 0x3b, 0xea, 0xe4, 0x1d, 0x4a, 0x04, 0x1e, 0xc2, + 0x42, 0xf2, 0x32, 0x9f, 0x79, 0x4e, 0xec, 0x24, 0x17, 0xae, 0x7f, 0xc7, 0x8d, 0x04, 0xdd, 0x73, + 0x62, 0xa7, 0x02, 0xc1, 0x6b, 0xf4, 0x20, 0xd2, 0xf8, 0x9c, 0x98, 0x0b, 0x97, 0xfa, 0x91, 0xdf, + 0x43, 0x03, 0x14, 0x23, 0x1d, 0xb7, 0x75, 0x80, 0x29, 0x37, 0x7e, 0x3a, 0xf5, 0x64, 0xa5, 0xd2, + 0xf1, 0x34, 0xc1, 0xca, 0x07, 0xe1, 0x04, 0x8e, 0x29, 0x81, 0xae, 0xe7, 0xed, 0x71, 0x29, 0x95, + 0x08, 0x6c, 0xc3, 0x52, 0x2a, 0xb4, 0xcf, 0x3c, 0x4e, 0x62, 0x31, 0x5d, 0xed, 0xe1, 0xea, 0x44, + 0x32, 0xc1, 0x38, 0x91, 0x00, 0xae, 0x70, 0x92, 0xff, 0x07, 0x97, 0x75, 0x58, 0x55, 0xc4, 0xe3, + 0x74, 0x7e, 0x35, 0x68, 0x63, 0xea, 0x7a, 0x5e, 0x56, 0x38, 0x25, 0x42, 0xb2, 0x02, 0xb3, 0xda, + 0x39, 0xb3, 0x02, 0x97, 0x53, 0x1e, 0xc0, 0x35, 0x4e, 0xb9, 0x84, 0xd5, 0x06, 0x34, 0xc2, 0xc4, + 0x96, 0x16, 0x0d, 0x4c, 0x97, 0x2a, 0x55, 0xcd, 0x77, 0x06, 0x5c, 0x16, 0x4f, 0x80, 0x4a, 0xad, 0x14, 0x28, 0x27, 0xdd, 0x2c, 0xf7, 0xea, 0xd2, 0x5d, 0x81, 0x87, 0x4b, 0x2f, 0x42, 0xcc, 0x5a, - 0xcd, 0x64, 0x15, 0x6a, 0xee, 0xd4, 0x90, 0xe6, 0x7b, 0x81, 0x7e, 0x57, 0x4a, 0x36, 0xed, 0x0b, + 0xcd, 0x64, 0x05, 0x6a, 0xee, 0xc4, 0x90, 0xe6, 0x7b, 0x81, 0x7e, 0x57, 0x4a, 0x36, 0xed, 0x0b, 0x62, 0x83, 0x53, 0xf5, 0x85, 0x4c, 0x97, 0xd4, 0xf5, 0x85, 0x82, 0x2e, 0x59, 0xce, 0x85, 0xa9, - 0xa6, 0x98, 0xb0, 0x86, 0xcd, 0x1a, 0xd4, 0x11, 0xb5, 0x08, 0xaa, 0xc9, 0x16, 0x2a, 0xe5, 0xfc, - 0x93, 0x41, 0x9f, 0x5c, 0xdf, 0xf3, 0x32, 0x23, 0x86, 0x14, 0x46, 0x9a, 0x54, 0x58, 0xd6, 0x6f, - 0x39, 0xa9, 0x94, 0xf3, 0x41, 0x70, 0x95, 0xe7, 0x5d, 0xcc, 0x68, 0x15, 0x6a, 0xe1, 0xd4, 0x20, - 0x5c, 0x35, 0xfd, 0xae, 0x94, 0xf6, 0x64, 0xa6, 0x78, 0xfb, 0xd8, 0x4b, 0x06, 0x42, 0x29, 0x80, - 0x30, 0x4b, 0xea, 0x3a, 0x81, 0x34, 0x4b, 0x96, 0x47, 0x7e, 0x96, 0x88, 0xbd, 0xe3, 0xc6, 0xf8, - 0x6c, 0x3a, 0xa0, 0xec, 0x0f, 0xa4, 0xc8, 0x2b, 0x70, 0x3e, 0x8a, 0x9d, 0x98, 0xa9, 0x48, 0xcd, - 0x66, 0x1f, 0x15, 0x7c, 0xfb, 0x82, 0x7c, 0x16, 0x24, 0xd6, 0x06, 0x48, 0xf8, 0x3e, 0x46, 0x2f, - 0x66, 0xb2, 0x90, 0xae, 0x54, 0x08, 0xc4, 0x26, 0x2c, 0x49, 0x17, 0xb9, 0x70, 0x5e, 0xa7, 0x63, - 0x8b, 0x4a, 0xa4, 0x38, 0x64, 0x0d, 0x56, 0x25, 0x61, 0xe1, 0x46, 0xe6, 0x5f, 0x7a, 0xee, 0xdc, - 0xce, 0xa7, 0xa6, 0xcc, 0x1b, 0x9b, 0x59, 0xd9, 0x24, 0x20, 0xbf, 0x1d, 0x0e, 0x60, 0xb2, 0x9f, - 0xaf, 0x79, 0x6e, 0xde, 0x84, 0xb6, 0xba, 0x06, 0x39, 0x82, 0xf7, 0xb0, 0xf4, 0x94, 0x73, 0xce, - 0xf3, 0x97, 0x90, 0xdb, 0x9a, 0xb9, 0xff, 0x99, 0x6d, 0xf7, 0xb7, 0x4b, 0xb0, 0x30, 0x8c, 0x7c, - 0x13, 0xc3, 0x65, 0xf9, 0x9f, 0xef, 0x6d, 0xa9, 0xfa, 0x54, 0xff, 0x54, 0xb5, 0xee, 0x55, 0x82, - 0xcd, 0x42, 0x4e, 0x43, 0xc9, 0xff, 0x77, 0x29, 0x43, 0x49, 0x30, 0x75, 0x28, 0xed, 0xd8, 0x6d, - 0xba, 0x70, 0x31, 0x3f, 0x72, 0xdf, 0x50, 0x79, 0xc8, 0x81, 0x5a, 0xef, 0x55, 0x00, 0xf1, 0x20, - 0x23, 0x30, 0x15, 0xa3, 0xe6, 0x2d, 0x95, 0x0b, 0x19, 0xd7, 0xea, 0x56, 0xc3, 0xf1, 0x68, 0x3f, - 0x18, 0xb0, 0x5e, 0x38, 0x9c, 0xdf, 0x57, 0x39, 0x2c, 0xda, 0xd1, 0xfa, 0xe0, 0x6d, 0x77, 0x70, - 0x32, 0x9f, 0x01, 0x08, 0xc3, 0x6d, 0x5b, 0x73, 0x6a, 0x89, 0xbd, 0x75, 0xab, 0xd8, 0xce, 0xbd, - 0x7e, 0x09, 0xcd, 0xec, 0x64, 0x7a, 0x5d, 0xb5, 0x31, 0x03, 0x69, 0xdd, 0x29, 0x85, 0x88, 0xee, - 0xb3, 0x73, 0xe7, 0x75, 0x0d, 0xaf, 0x14, 0xa2, 0x76, 0xaf, 0x1c, 0x28, 0xcd, 0x43, 0xb8, 0x24, - 0x4d, 0x93, 0x37, 0xf5, 0xec, 0x84, 0x20, 0x77, 0xab, 0xa0, 0xc4, 0x67, 0x24, 0x4f, 0x89, 0xdb, - 0x1a, 0x9e, 0x59, 0x98, 0xfa, 0x19, 0x69, 0xb5, 0xd5, 0x0c, 0x61, 0x45, 0x39, 0xfd, 0xed, 0xe8, - 0x09, 0xe7, 0x02, 0xde, 0xaf, 0x8a, 0xe4, 0x31, 0xbf, 0x82, 0xe5, 0xdc, 0x08, 0xb8, 0x55, 0x48, - 0x9a, 0x62, 0x5a, 0xff, 0x2f, 0xc7, 0x88, 0x07, 0x28, 0x4f, 0x77, 0xdb, 0x65, 0x44, 0x59, 0x9c, - 0x7b, 0x95, 0x60, 0x39, 0x1d, 0xca, 0x0c, 0x55, 0x37, 0x0a, 0x99, 0x32, 0x90, 0x56, 0x87, 0x54, - 0x2d, 0x66, 0xaa, 0x43, 0x8a, 0xe1, 0xed, 0x56, 0x19, 0xd3, 0x24, 0x54, 0xb7, 0x1a, 0x4e, 0x2c, - 0x73, 0x69, 0x82, 0xbb, 0xa9, 0xa1, 0x9b, 0x41, 0xa9, 0xcb, 0x5c, 0xd7, 0x19, 0x4d, 0x02, 0x57, - 0x54, 0xa3, 0xd9, 0x6d, 0x3d, 0xdd, 0x6c, 0xb4, 0x5e, 0x45, 0x60, 0x4e, 0x1e, 0x84, 0x59, 0x46, - 0x27, 0x0f, 0x29, 0x44, 0x2b, 0x0f, 0x72, 0x33, 0x66, 0xe2, 0x26, 0x4e, 0x62, 0x1a, 0x71, 0x13, - 0x20, 0x3a, 0x71, 0x53, 0xf4, 0xf3, 0x54, 0x7d, 0x84, 0x04, 0x0a, 0xd4, 0x47, 0xc8, 0xe1, 0x6e, - 0x15, 0xd4, 0x2c, 0xce, 0xc7, 0xc3, 0xdf, 0x5f, 0xb7, 0x8d, 0x57, 0xaf, 0xdb, 0xc6, 0x5f, 0xaf, - 0xdb, 0xc6, 0xcf, 0x6f, 0xda, 0x73, 0xaf, 0xde, 0xb4, 0xe7, 0xfe, 0x7c, 0xd3, 0x9e, 0x7b, 0xf6, - 0xd0, 0xc7, 0xf1, 0xd1, 0xe9, 0x41, 0xd7, 0x25, 0x27, 0x3d, 0x3c, 0x21, 0x87, 0xe4, 0x34, 0xf0, - 0x68, 0xeb, 0x98, 0x7e, 0xdd, 0x3b, 0x18, 0x11, 0xf7, 0xd8, 0x3d, 0x72, 0x70, 0xd0, 0x9b, 0xd0, - 0xdf, 0x26, 0xe8, 0x6f, 0x12, 0x07, 0x8b, 0xf4, 0x47, 0x89, 0x87, 0xff, 0x04, 0x00, 0x00, 0xff, - 0xff, 0xee, 0xd2, 0xac, 0x19, 0x2d, 0x19, 0x00, 0x00, + 0xa6, 0x98, 0xb0, 0x86, 0xcd, 0x2a, 0xd4, 0x11, 0xb5, 0x08, 0xaa, 0xc9, 0x16, 0x2a, 0xe5, 0xfc, + 0xb3, 0x41, 0x9f, 0x5c, 0xd7, 0xf3, 0x32, 0x23, 0x86, 0x14, 0x46, 0x9a, 0x54, 0x58, 0xd6, 0x67, + 0x9c, 0x54, 0xca, 0xf9, 0x20, 0xb8, 0xca, 0xf3, 0x2e, 0x66, 0xb4, 0x02, 0xb5, 0x70, 0x62, 0x10, + 0xae, 0x9a, 0x7e, 0x57, 0x4a, 0x7b, 0x3c, 0x55, 0xbc, 0x7d, 0xec, 0x25, 0x03, 0xa1, 0x14, 0x40, + 0x98, 0x25, 0x75, 0x9d, 0x40, 0x9a, 0x25, 0xcb, 0x23, 0x3f, 0x4d, 0xc4, 0xde, 0x71, 0x63, 0x3c, + 0x9a, 0x0c, 0x28, 0xfb, 0x3d, 0x29, 0xf2, 0x32, 0x9c, 0x8f, 0x62, 0x27, 0x66, 0x2a, 0x52, 0xb3, + 0xd9, 0x47, 0x05, 0xdf, 0xbe, 0x20, 0x9f, 0x05, 0x89, 0xb5, 0x00, 0x12, 0xbe, 0x8f, 0xd0, 0xf3, + 0xa9, 0x2c, 0xa4, 0x2b, 0x15, 0x02, 0xb1, 0x09, 0x4b, 0xd2, 0x45, 0x2e, 0x9c, 0xd7, 0xe9, 0xd8, + 0xa2, 0x12, 0x29, 0x0e, 0x59, 0x85, 0x15, 0x49, 0x58, 0xb8, 0x91, 0xf9, 0x97, 0x9e, 0x3b, 0xb7, + 0xf3, 0xa9, 0x29, 0xf3, 0xc6, 0xa6, 0x56, 0x36, 0x09, 0xc8, 0x6f, 0x87, 0x03, 0x98, 0xec, 0xe7, + 0x6b, 0x9e, 0x9b, 0x37, 0xa1, 0xa5, 0xae, 0x41, 0x8e, 0xe0, 0x3d, 0x2c, 0x3d, 0xe5, 0x9c, 0xf3, + 0xfc, 0x25, 0xe4, 0xb6, 0x66, 0xee, 0x7f, 0x6a, 0xdb, 0xfd, 0xfd, 0x12, 0xcc, 0xf5, 0x23, 0xdf, + 0xc4, 0x70, 0x59, 0xfe, 0xe7, 0x7b, 0x5b, 0xaa, 0x3e, 0xd5, 0x3f, 0x55, 0xcd, 0x7b, 0x95, 0x60, + 0xd3, 0x90, 0x93, 0x50, 0xf2, 0xff, 0x5d, 0xca, 0x50, 0x12, 0x4c, 0x1d, 0x4a, 0x3b, 0x76, 0x9b, + 0x2e, 0x5c, 0xcc, 0x8f, 0xdc, 0x37, 0x54, 0x1e, 0x72, 0xa0, 0xe6, 0x3b, 0x15, 0x40, 0x3c, 0xc8, + 0x00, 0x4c, 0xc5, 0xa8, 0x79, 0x4b, 0xe5, 0x42, 0xc6, 0x35, 0xdb, 0xd5, 0x70, 0x3c, 0xda, 0x8f, + 0x06, 0xac, 0x15, 0x0e, 0xe7, 0xf7, 0x55, 0x0e, 0x8b, 0x76, 0x34, 0x3f, 0x38, 0xeb, 0x0e, 0x4e, + 0xe6, 0x73, 0x00, 0x61, 0xb8, 0x6d, 0x69, 0x4e, 0x2d, 0xb1, 0x37, 0x6f, 0x15, 0xdb, 0xb9, 0xd7, + 0xaf, 0x60, 0x31, 0x3b, 0x99, 0x5e, 0x57, 0x6d, 0xcc, 0x40, 0x9a, 0x77, 0x4a, 0x21, 0xa2, 0xfb, + 0xec, 0xdc, 0x79, 0x5d, 0xc3, 0x2b, 0x85, 0xa8, 0xdd, 0x2b, 0x07, 0x4a, 0xf3, 0x10, 0x2e, 0x49, + 0xd3, 0xe4, 0x4d, 0x3d, 0x3b, 0x21, 0xc8, 0xdd, 0x2a, 0x28, 0xf1, 0x19, 0xc9, 0x53, 0xe2, 0xb6, + 0x86, 0x67, 0x16, 0xa6, 0x7e, 0x46, 0x5a, 0x6d, 0x35, 0x43, 0x58, 0x56, 0x4e, 0x7f, 0x3b, 0x7a, + 0xc2, 0xb9, 0x80, 0xf7, 0xab, 0x22, 0x79, 0xcc, 0xaf, 0x61, 0x29, 0x37, 0x02, 0x6e, 0x15, 0x92, + 0xa6, 0x98, 0xe6, 0xdb, 0xe5, 0x18, 0xf1, 0x00, 0xe5, 0xe9, 0x6e, 0xbb, 0x8c, 0x28, 0x8b, 0x73, + 0xaf, 0x12, 0x2c, 0xa7, 0x43, 0x99, 0xa1, 0xea, 0x46, 0x21, 0x53, 0x06, 0xd2, 0xea, 0x90, 0xaa, + 0xc5, 0x4c, 0x74, 0x48, 0x31, 0xbc, 0xdd, 0x2a, 0x63, 0x9a, 0x84, 0x6a, 0x57, 0xc3, 0x89, 0x65, + 0x2e, 0x4d, 0x70, 0x37, 0x35, 0x74, 0x33, 0x28, 0x75, 0x99, 0xeb, 0x3a, 0xa3, 0x49, 0xe0, 0x8a, + 0x6a, 0x34, 0xbb, 0xad, 0xa7, 0x9b, 0x8d, 0xd6, 0xa9, 0x08, 0xcc, 0xc9, 0x83, 0x30, 0xcb, 0xe8, + 0xe4, 0x21, 0x85, 0x68, 0xe5, 0x41, 0x6e, 0xc6, 0x4c, 0xdc, 0xc4, 0x49, 0x4c, 0x23, 0x6e, 0x02, + 0x44, 0x27, 0x6e, 0x8a, 0x7e, 0x9e, 0xaa, 0x8f, 0x90, 0x40, 0x81, 0xfa, 0x08, 0x39, 0xdc, 0xad, + 0x82, 0x9a, 0xc6, 0xf9, 0xf8, 0xb3, 0x3f, 0x5e, 0xb5, 0x8c, 0x97, 0xaf, 0x5a, 0xc6, 0xdf, 0xaf, + 0x5a, 0xc6, 0x2f, 0xaf, 0x5b, 0x33, 0x2f, 0x5f, 0xb7, 0x66, 0xfe, 0x7a, 0xdd, 0x9a, 0x79, 0xfa, + 0xbe, 0x8f, 0xe3, 0xa3, 0xd3, 0x83, 0xb6, 0x4b, 0x4e, 0x3a, 0x78, 0x4c, 0x0e, 0xc9, 0x69, 0xe0, + 0xd1, 0xd6, 0x31, 0xf9, 0xba, 0x77, 0x30, 0x20, 0xee, 0xb1, 0x7b, 0xe4, 0xe0, 0xa0, 0x33, 0xda, + 0xed, 0x8c, 0xe9, 0xcf, 0x13, 0xf4, 0x67, 0x89, 0x83, 0x79, 0xfa, 0xbb, 0xc4, 0xbb, 0xff, 0x06, + 0x00, 0x00, 0xff, 0xff, 0x1d, 0xae, 0x5b, 0xea, 0x30, 0x19, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/iid/types/types.pb.go b/x/iid/types/types.pb.go index b3ce6bbf..36f1cb1f 100644 --- a/x/iid/types/types.pb.go +++ b/x/iid/types/types.pb.go @@ -442,50 +442,50 @@ func init() { proto.RegisterFile("ixo/iid/v1beta1/types.proto", fileDescriptor_c var fileDescriptor_ce32fb6dd075d3c4 = []byte{ // 706 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xc1, 0x6e, 0xdb, 0x38, - 0x10, 0x95, 0x6c, 0x27, 0x4e, 0xe8, 0x6c, 0xb2, 0xe0, 0x06, 0x0b, 0x21, 0xbb, 0xb0, 0x03, 0x63, - 0x0f, 0xc1, 0x02, 0x6b, 0x6d, 0x12, 0x14, 0x2d, 0x72, 0x6b, 0xd2, 0x00, 0x0e, 0x5a, 0x5f, 0xd4, - 0xa0, 0x87, 0xde, 0x68, 0x72, 0x6c, 0x0f, 0x22, 0x8b, 0x02, 0x45, 0x19, 0x76, 0xbf, 0xa0, 0xb7, - 0xe6, 0x13, 0xf2, 0x0d, 0xfd, 0x8a, 0xde, 0x9a, 0xde, 0x7a, 0x6b, 0x91, 0x5c, 0x7a, 0xee, 0x17, - 0x14, 0x14, 0x65, 0x5b, 0x09, 0x1c, 0xd4, 0x87, 0xde, 0x38, 0x6f, 0x34, 0xc3, 0xf7, 0x1e, 0x47, - 0x24, 0xf9, 0x0b, 0xc7, 0xd2, 0x47, 0x14, 0xfe, 0x68, 0xbf, 0x0b, 0x9a, 0xed, 0xfb, 0x7a, 0x12, - 0x43, 0xd2, 0x8a, 0x95, 0xd4, 0x92, 0x6e, 0xe1, 0x58, 0xb6, 0x10, 0x45, 0x2b, 0x4f, 0xee, 0x6c, - 0xf7, 0x65, 0x5f, 0x66, 0x39, 0xdf, 0xac, 0xec, 0x67, 0x3b, 0x8d, 0xbe, 0x94, 0xfd, 0x10, 0xfc, - 0x2c, 0xea, 0xa6, 0x3d, 0x5f, 0xe3, 0x10, 0x12, 0xcd, 0x86, 0xb1, 0xfd, 0xa0, 0xf9, 0x98, 0x54, - 0x4f, 0x64, 0xa4, 0x61, 0xac, 0xe9, 0xef, 0xa4, 0x7c, 0x01, 0x13, 0xcf, 0xdd, 0x75, 0xf7, 0xd6, - 0x03, 0xb3, 0x34, 0xc8, 0x88, 0x85, 0x5e, 0xc9, 0x22, 0x23, 0x16, 0x1e, 0xad, 0xbd, 0xbd, 0x6a, - 0x38, 0xdf, 0xae, 0x1a, 0x6e, 0xf3, 0x9d, 0x4b, 0x7e, 0x7b, 0xca, 0xb9, 0x54, 0x02, 0x44, 0x80, - 0xfd, 0x81, 0xa6, 0x94, 0x54, 0x0c, 0xc3, 0xbc, 0x41, 0xb6, 0xa6, 0x9b, 0xa4, 0x84, 0x22, 0x6f, - 0x50, 0x42, 0x41, 0xff, 0x26, 0xeb, 0x43, 0xe0, 0x03, 0x16, 0x61, 0x32, 0xf4, 0xca, 0x19, 0x3c, - 0x07, 0xa8, 0x47, 0xaa, 0x43, 0x48, 0x12, 0xd6, 0x07, 0xaf, 0x92, 0xe5, 0xa6, 0xa1, 0xc9, 0x24, - 0xa0, 0x46, 0xc8, 0xc1, 0x5b, 0xb1, 0x99, 0x3c, 0x2c, 0x30, 0xfa, 0xee, 0x92, 0xcd, 0x17, 0x18, - 0x5d, 0x80, 0x08, 0x20, 0x91, 0xa9, 0xe2, 0xb0, 0x14, 0xa5, 0x5d, 0x52, 0x13, 0x90, 0x70, 0x85, - 0xb1, 0x46, 0x19, 0xe5, 0xa4, 0x8a, 0x90, 0x25, 0x2d, 0x90, 0x9d, 0x9b, 0x56, 0x95, 0x29, 0xe9, - 0x1c, 0xa0, 0x7b, 0x64, 0x2b, 0xe7, 0x72, 0x1a, 0x89, 0x58, 0x62, 0xa4, 0x73, 0x8a, 0xf7, 0x61, - 0xba, 0x4d, 0x56, 0x62, 0x25, 0x65, 0xcf, 0x5b, 0xcd, 0xf2, 0x36, 0x30, 0xdd, 0x21, 0xe2, 0x6a, - 0x12, 0x6b, 0x10, 0x5e, 0xd5, 0x76, 0x9f, 0x01, 0xa6, 0x46, 0x19, 0x77, 0xbd, 0x35, 0x5b, 0x93, - 0x05, 0x05, 0xd1, 0x9f, 0x5c, 0x52, 0xb3, 0xa2, 0x4f, 0x42, 0x86, 0xc3, 0x5f, 0xa4, 0x78, 0x81, - 0xa6, 0xca, 0x4f, 0x34, 0xad, 0x3c, 0xa8, 0x69, 0xf5, 0x41, 0x4d, 0xd5, 0xc5, 0x9a, 0xde, 0x90, - 0x0d, 0x2b, 0xe9, 0x34, 0xd2, 0xa8, 0x27, 0x4b, 0x69, 0x6a, 0x92, 0x0d, 0x05, 0x21, 0x33, 0xec, - 0x93, 0x01, 0xc6, 0xb9, 0xa8, 0x3b, 0x58, 0x71, 0x88, 0x2a, 0x0f, 0x0d, 0xd1, 0xfb, 0x12, 0xa1, - 0xaf, 0x40, 0x61, 0x0f, 0x79, 0x56, 0xd8, 0x01, 0x3d, 0x90, 0x22, 0xdf, 0xce, 0x9d, 0x6d, 0x37, - 0xa5, 0x54, 0x2a, 0x50, 0xaa, 0x13, 0xc2, 0x65, 0xa4, 0x95, 0x0c, 0x43, 0x50, 0x39, 0x81, 0x02, - 0x42, 0x0f, 0xc8, 0x1f, 0xdd, 0x50, 0xf2, 0x0b, 0x3e, 0x60, 0x18, 0x99, 0x5f, 0x27, 0x8d, 0xf4, - 0xd9, 0x33, 0x4b, 0xa5, 0xed, 0x04, 0x8b, 0x92, 0xf4, 0x1f, 0xb2, 0x11, 0xa7, 0xdd, 0x10, 0xf9, - 0x73, 0x98, 0xb4, 0x61, 0x6c, 0x5d, 0x6e, 0x3b, 0xc1, 0x1d, 0x94, 0xfe, 0x4f, 0xe8, 0x2c, 0xee, - 0xa4, 0xa1, 0xc6, 0x2e, 0x4b, 0xc0, 0xfa, 0xde, 0x76, 0x82, 0x05, 0x39, 0xfa, 0x2f, 0xd9, 0x9a, - 0xa1, 0xc7, 0x2c, 0x81, 0x47, 0x4f, 0xec, 0x61, 0xb4, 0x9d, 0xe0, 0x7e, 0x62, 0x6e, 0xce, 0xf1, - 0x9f, 0x64, 0x7b, 0x54, 0xf4, 0x86, 0x69, 0x50, 0xc8, 0xc2, 0x26, 0x23, 0xd5, 0x97, 0xd6, 0xc9, - 0xa5, 0x8c, 0x5a, 0x30, 0x5d, 0xe5, 0x85, 0xd3, 0x55, 0x38, 0x97, 0x8f, 0x2e, 0xa9, 0x9d, 0xa1, - 0xe8, 0x80, 0x66, 0x82, 0x69, 0x66, 0x26, 0x6c, 0x04, 0x2a, 0x41, 0x19, 0x9d, 0x4d, 0xb7, 0x9b, - 0x03, 0xf4, 0x88, 0x54, 0xb9, 0x02, 0x66, 0xa6, 0xcf, 0x6c, 0x5c, 0x3b, 0xd8, 0x69, 0xd9, 0x8b, - 0xb0, 0x35, 0xbd, 0x08, 0x5b, 0xe7, 0xd3, 0x8b, 0xf0, 0xb8, 0x72, 0xf9, 0xa5, 0xe1, 0x06, 0xd3, - 0x02, 0x53, 0x9b, 0xc6, 0x22, 0xab, 0x2d, 0x2f, 0x5b, 0x9b, 0x17, 0xd8, 0x3f, 0x8b, 0x71, 0x8d, - 0xa3, 0xac, 0xde, 0x1c, 0xed, 0x5a, 0x50, 0x84, 0x0a, 0x66, 0x76, 0x3e, 0xdc, 0xd4, 0xdd, 0xeb, - 0x9b, 0xba, 0xfb, 0xf5, 0xa6, 0xee, 0x5e, 0xde, 0xd6, 0x9d, 0xeb, 0xdb, 0xba, 0xf3, 0xf9, 0xb6, - 0xee, 0xbc, 0x3e, 0xec, 0xa3, 0x1e, 0xa4, 0xdd, 0x16, 0x97, 0x43, 0x1f, 0xc7, 0xb2, 0x27, 0xd3, - 0x48, 0x64, 0x86, 0x9b, 0xe8, 0xbf, 0xf9, 0x98, 0xf8, 0xe3, 0xec, 0x79, 0xc8, 0x9e, 0x85, 0xee, - 0x6a, 0xc6, 0xee, 0xf0, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x25, 0x77, 0x05, 0x36, 0x06, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xcd, 0x6e, 0xd3, 0x40, + 0x10, 0xb6, 0x93, 0xb4, 0x69, 0x37, 0xa5, 0x45, 0x4b, 0x85, 0xac, 0x82, 0x92, 0x2a, 0xe2, 0x50, + 0x21, 0x11, 0xd3, 0x22, 0x7e, 0xd4, 0x1b, 0x2d, 0x95, 0x52, 0x41, 0x25, 0x64, 0x2a, 0x0e, 0xdc, + 0x36, 0xde, 0x49, 0x32, 0xaa, 0xe3, 0xb5, 0xd6, 0x6b, 0x2b, 0xe1, 0x09, 0xb8, 0xd1, 0x47, 0xe8, + 0x33, 0xf0, 0x14, 0xdc, 0x28, 0x37, 0x6e, 0xa0, 0xf6, 0xc2, 0x99, 0x27, 0x40, 0xeb, 0x75, 0x12, + 0xb7, 0x4a, 0x45, 0x0e, 0xdc, 0x76, 0xbe, 0xf1, 0xcc, 0x7e, 0xdf, 0xb7, 0xe3, 0x5d, 0x72, 0x0f, + 0x87, 0xc2, 0x45, 0xe4, 0x6e, 0xba, 0xdd, 0x01, 0xc5, 0xb6, 0x5d, 0x35, 0x8a, 0x20, 0x6e, 0x45, + 0x52, 0x28, 0x41, 0xd7, 0x70, 0x28, 0x5a, 0x88, 0xbc, 0x95, 0x27, 0x37, 0xd6, 0x7b, 0xa2, 0x27, + 0xb2, 0x9c, 0xab, 0x57, 0xe6, 0xb3, 0x8d, 0x46, 0x4f, 0x88, 0x5e, 0x00, 0x6e, 0x16, 0x75, 0x92, + 0xae, 0xab, 0x70, 0x00, 0xb1, 0x62, 0x83, 0xc8, 0x7c, 0xd0, 0x7c, 0x4e, 0xaa, 0xfb, 0x22, 0x54, + 0x30, 0x54, 0xf4, 0x36, 0x29, 0x9f, 0xc0, 0xc8, 0xb1, 0x37, 0xed, 0xad, 0x65, 0x4f, 0x2f, 0x35, + 0x92, 0xb2, 0xc0, 0x29, 0x19, 0x24, 0x65, 0xc1, 0xee, 0xd2, 0xa7, 0xb3, 0x86, 0xf5, 0xfb, 0xac, + 0x61, 0x37, 0x3f, 0xdb, 0xe4, 0xd6, 0x4b, 0xdf, 0x17, 0x92, 0x03, 0xf7, 0xb0, 0xd7, 0x57, 0x94, + 0x92, 0x8a, 0x66, 0x98, 0x37, 0xc8, 0xd6, 0x74, 0x95, 0x94, 0x90, 0xe7, 0x0d, 0x4a, 0xc8, 0xe9, + 0x7d, 0xb2, 0x3c, 0x00, 0xbf, 0xcf, 0x42, 0x8c, 0x07, 0x4e, 0x39, 0x83, 0xa7, 0x00, 0x75, 0x48, + 0x75, 0x00, 0x71, 0xcc, 0x7a, 0xe0, 0x54, 0xb2, 0xdc, 0x38, 0xd4, 0x99, 0x18, 0x64, 0x8a, 0x3e, + 0x38, 0x0b, 0x26, 0x93, 0x87, 0x05, 0x46, 0x7f, 0x6c, 0xb2, 0xfa, 0x06, 0xc3, 0x13, 0xe0, 0x1e, + 0xc4, 0x22, 0x91, 0x3e, 0xcc, 0x45, 0x69, 0x93, 0xd4, 0x38, 0xc4, 0xbe, 0xc4, 0x48, 0xa1, 0x08, + 0x73, 0x52, 0x45, 0xc8, 0x90, 0xe6, 0xc8, 0x8e, 0x75, 0xab, 0xca, 0x98, 0x74, 0x0e, 0xd0, 0x2d, + 0xb2, 0x96, 0x73, 0x39, 0x08, 0x79, 0x24, 0x30, 0x54, 0x39, 0xc5, 0xeb, 0x30, 0x5d, 0x27, 0x0b, + 0x91, 0x14, 0xa2, 0xeb, 0x2c, 0x66, 0x79, 0x13, 0xe8, 0xee, 0x10, 0xfa, 0x72, 0x14, 0x29, 0xe0, + 0x4e, 0xd5, 0x74, 0x9f, 0x00, 0xba, 0x46, 0x6a, 0x77, 0x9d, 0x25, 0x53, 0x93, 0x05, 0x05, 0xd1, + 0xdf, 0x6d, 0x52, 0x33, 0xa2, 0xf7, 0x03, 0x86, 0x83, 0xff, 0xa4, 0x78, 0x86, 0xa6, 0xca, 0x3f, + 0x34, 0x2d, 0xdc, 0xa8, 0x69, 0xf1, 0x46, 0x4d, 0xd5, 0xd9, 0x9a, 0x3e, 0x92, 0x15, 0x23, 0xe9, + 0x20, 0x54, 0xa8, 0x46, 0x73, 0x69, 0x6a, 0x92, 0x15, 0x09, 0x01, 0xd3, 0xec, 0xe3, 0x3e, 0x46, + 0xb9, 0xa8, 0x2b, 0x58, 0x71, 0x88, 0x2a, 0x37, 0x0d, 0xd1, 0x97, 0x12, 0xa1, 0xef, 0x41, 0x62, + 0x17, 0xfd, 0xac, 0xf0, 0x08, 0x54, 0x5f, 0xf0, 0x7c, 0x3b, 0x7b, 0xb2, 0xdd, 0x98, 0x52, 0xa9, + 0x40, 0xa9, 0x4e, 0x88, 0x2f, 0x42, 0x25, 0x45, 0x10, 0x80, 0xcc, 0x09, 0x14, 0x10, 0xba, 0x43, + 0xee, 0x74, 0x02, 0xe1, 0x9f, 0xf8, 0x7d, 0x86, 0xa1, 0xfe, 0x75, 0x92, 0x50, 0x1d, 0xbe, 0x32, + 0x54, 0xda, 0x96, 0x37, 0x2b, 0x49, 0x1f, 0x90, 0x95, 0x28, 0xe9, 0x04, 0xe8, 0xbf, 0x86, 0x51, + 0x1b, 0x86, 0xc6, 0xe5, 0xb6, 0xe5, 0x5d, 0x41, 0xe9, 0x63, 0x42, 0x27, 0xf1, 0x51, 0x12, 0x28, + 0xec, 0xb0, 0x18, 0x8c, 0xef, 0x6d, 0xcb, 0x9b, 0x91, 0xa3, 0x0f, 0xc9, 0xda, 0x04, 0xdd, 0x63, + 0x31, 0x3c, 0x7d, 0x61, 0x0e, 0xa3, 0x6d, 0x79, 0xd7, 0x13, 0x53, 0x73, 0xf6, 0xee, 0x92, 0xf5, + 0xb4, 0xe8, 0x0d, 0x53, 0x20, 0x91, 0x05, 0x4d, 0x46, 0xaa, 0xef, 0x8c, 0x93, 0x73, 0x19, 0x35, + 0x63, 0xba, 0xca, 0x33, 0xa7, 0xab, 0x70, 0x2e, 0xdf, 0x6c, 0x52, 0x3b, 0x44, 0x7e, 0x04, 0x8a, + 0x71, 0xa6, 0x98, 0x9e, 0xb0, 0x14, 0x64, 0x8c, 0x22, 0x3c, 0x1c, 0x6f, 0x37, 0x05, 0xe8, 0x2e, + 0xa9, 0xfa, 0x12, 0x98, 0x9e, 0x3e, 0xbd, 0x71, 0x6d, 0x67, 0xa3, 0x65, 0x2e, 0xc2, 0xd6, 0xf8, + 0x22, 0x6c, 0x1d, 0x8f, 0x2f, 0xc2, 0xbd, 0xca, 0xe9, 0xcf, 0x86, 0xed, 0x8d, 0x0b, 0x74, 0x6d, + 0x12, 0xf1, 0xac, 0xb6, 0x3c, 0x6f, 0x6d, 0x5e, 0x60, 0xfe, 0x2c, 0xe6, 0x2b, 0x4c, 0xb3, 0x7a, + 0x7d, 0xb4, 0x4b, 0x5e, 0x11, 0x2a, 0x98, 0xf9, 0xf6, 0xeb, 0x45, 0xdd, 0x3e, 0xbf, 0xa8, 0xdb, + 0xbf, 0x2e, 0xea, 0xf6, 0xe9, 0x65, 0xdd, 0x3a, 0xbf, 0xac, 0x5b, 0x3f, 0x2e, 0xeb, 0xd6, 0x87, + 0x67, 0x3d, 0x54, 0xfd, 0xa4, 0xd3, 0xf2, 0xc5, 0xc0, 0xc5, 0xa1, 0xe8, 0x8a, 0x24, 0xe4, 0x99, + 0xe1, 0x3a, 0x7a, 0x34, 0x1d, 0x13, 0x37, 0xdd, 0x71, 0x87, 0xd9, 0x0b, 0x91, 0xbd, 0x0c, 0x9d, + 0xc5, 0x8c, 0xe0, 0x93, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xac, 0x4d, 0x14, 0x7f, 0x39, 0x06, 0x00, 0x00, } diff --git a/x/iid/util/util.go b/x/iid/util/util.go index 6a5d5f7b..7603de7a 100644 --- a/x/iid/util/util.go +++ b/x/iid/util/util.go @@ -4,7 +4,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" authante "github.com/cosmos/cosmos-sdk/x/auth/ante" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func GetAccountForVerificationMethod(ctx sdk.Context, accountKeeper authante.AccountKeeper, iidDoc iidtypes.IidDocument, methodId string) (authtypes.AccountI, error) { diff --git a/x/token/client/cli/query.go b/x/token/client/cli/query.go index ca3fcdb6..4e169650 100644 --- a/x/token/client/cli/query.go +++ b/x/token/client/cli/query.go @@ -5,7 +5,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/ixofoundation/ixo-blockchain/x/token/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" "github.com/spf13/cobra" ) diff --git a/x/token/client/cli/tx.go b/x/token/client/cli/tx.go index fb3ca138..b903c840 100644 --- a/x/token/client/cli/tx.go +++ b/x/token/client/cli/tx.go @@ -10,7 +10,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" govcli "github.com/cosmos/cosmos-sdk/x/gov/client/cli" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/ixofoundation/ixo-blockchain/x/token/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" "github.com/spf13/cobra" ) diff --git a/x/token/client/proposal_handler.go b/x/token/client/proposal_handler.go index a2e34a9a..9926f32a 100644 --- a/x/token/client/proposal_handler.go +++ b/x/token/client/proposal_handler.go @@ -2,8 +2,8 @@ package client import ( govclient "github.com/cosmos/cosmos-sdk/x/gov/client" - "github.com/ixofoundation/ixo-blockchain/x/token/client/cli" - "github.com/ixofoundation/ixo-blockchain/x/token/client/rest" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/client/cli" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/client/rest" ) var ProposalHandler = govclient.NewProposalHandler(cli.NewCmdUpdateTokenParamsProposal, rest.ProposalRESTHandler) diff --git a/x/token/genesis.go b/x/token/genesis.go index 94973363..0b90d480 100644 --- a/x/token/genesis.go +++ b/x/token/genesis.go @@ -2,8 +2,8 @@ package token import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/x/token/keeper" - "github.com/ixofoundation/ixo-blockchain/x/token/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" abci "github.com/tendermint/tendermint/abci/types" ) diff --git a/x/token/keeper/grpc_query.go b/x/token/keeper/grpc_query.go index b4329a60..9ef0eef5 100644 --- a/x/token/keeper/grpc_query.go +++ b/x/token/keeper/grpc_query.go @@ -5,7 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/ixofoundation/ixo-blockchain/x/token/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) diff --git a/x/token/keeper/keeper.go b/x/token/keeper/keeper.go index 38ddedc7..7958383b 100644 --- a/x/token/keeper/keeper.go +++ b/x/token/keeper/keeper.go @@ -8,8 +8,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" - iidkeeper "github.com/ixofoundation/ixo-blockchain/x/iid/keeper" - "github.com/ixofoundation/ixo-blockchain/x/token/types" + iidkeeper "github.com/ixofoundation/ixo-blockchain/v2/x/iid/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" "github.com/tendermint/tendermint/libs/log" ) diff --git a/x/token/keeper/msg_server.go b/x/token/keeper/msg_server.go index 03387ace..850992df 100644 --- a/x/token/keeper/msg_server.go +++ b/x/token/keeper/msg_server.go @@ -7,9 +7,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" - "github.com/ixofoundation/ixo-blockchain/x/token/types" - "github.com/ixofoundation/ixo-blockchain/x/token/types/contracts/ixo1155" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types/contracts/ixo1155" ) type msgServer struct { diff --git a/x/token/keeper/token.go b/x/token/keeper/token.go index c06c3624..87ff5399 100644 --- a/x/token/keeper/token.go +++ b/x/token/keeper/token.go @@ -4,7 +4,7 @@ import ( "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/token/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" ) func tokenKey(minter, contract_address string) []byte { diff --git a/x/token/message_handler.go b/x/token/message_handler.go index 41df5c0f..51a52400 100644 --- a/x/token/message_handler.go +++ b/x/token/message_handler.go @@ -3,8 +3,8 @@ package token import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/ixofoundation/ixo-blockchain/x/token/keeper" - "github.com/ixofoundation/ixo-blockchain/x/token/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" ) func NewHandler(k keeper.Keeper) sdk.Handler { diff --git a/x/token/module.go b/x/token/module.go index f72c0521..942acd2d 100644 --- a/x/token/module.go +++ b/x/token/module.go @@ -12,11 +12,11 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" "github.com/gorilla/mux" "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/ixofoundation/ixo-blockchain/x/token/client/cli" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/client/cli" - // "github.com/ixofoundation/ixo-blockchain/x/token/client/rest" - "github.com/ixofoundation/ixo-blockchain/x/token/keeper" - "github.com/ixofoundation/ixo-blockchain/x/token/types" + // "github.com/ixofoundation/ixo-blockchain/v2/x/token/client/rest" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" ) diff --git a/x/token/proposal_handler.go b/x/token/proposal_handler.go index 02381830..02cfffda 100644 --- a/x/token/proposal_handler.go +++ b/x/token/proposal_handler.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/ixofoundation/ixo-blockchain/x/token/keeper" - "github.com/ixofoundation/ixo-blockchain/x/token/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/keeper" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types" ) const ( diff --git a/x/token/types/authz.go b/x/token/types/authz.go index 76070af7..d1d88be0 100644 --- a/x/token/types/authz.go +++ b/x/token/types/authz.go @@ -4,7 +4,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/authz" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) var ( diff --git a/x/token/types/authz.pb.go b/x/token/types/authz.pb.go index c41d25d7..cb126b9f 100644 --- a/x/token/types/authz.pb.go +++ b/x/token/types/authz.pb.go @@ -8,7 +8,7 @@ import ( github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" - _ "github.com/ixofoundation/ixo-blockchain/x/iid/types" + _ "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" _ "github.com/regen-network/cosmos-proto" io "io" math "math" @@ -170,33 +170,33 @@ func init() { func init() { proto.RegisterFile("ixo/token/v1beta1/authz.proto", fileDescriptor_cca6ff8f08fc36db) } var fileDescriptor_cca6ff8f08fc36db = []byte{ - // 412 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x52, 0xc1, 0x6e, 0xd3, 0x40, - 0x10, 0xb5, 0xd3, 0xd6, 0x52, 0xb7, 0x42, 0x25, 0xab, 0x0a, 0x99, 0x0a, 0xdc, 0x2a, 0x17, 0xca, - 0x21, 0xb6, 0x0a, 0xe2, 0xd2, 0x5b, 0x4b, 0x25, 0x4e, 0x08, 0xc9, 0x82, 0x0b, 0x97, 0x6a, 0xbd, - 0x5e, 0xe2, 0x51, 0xe2, 0x9d, 0xca, 0x3b, 0x46, 0xa6, 0x67, 0x6e, 0x5c, 0xf8, 0x18, 0x3e, 0x22, - 0xc7, 0x88, 0x13, 0xe2, 0x10, 0xa1, 0xe4, 0x47, 0x90, 0xd7, 0x1b, 0x12, 0x20, 0x27, 0xef, 0xcc, - 0x7b, 0xf3, 0x66, 0xdf, 0xf3, 0xb2, 0xc7, 0xd0, 0x60, 0x42, 0x38, 0x56, 0x3a, 0xf9, 0x78, 0x9e, - 0x29, 0x12, 0xe7, 0x89, 0xa8, 0xa9, 0xb8, 0x8b, 0x6f, 0x2b, 0x24, 0xe4, 0x7d, 0x68, 0x30, 0xb6, - 0x70, 0xec, 0xe0, 0xe3, 0xa3, 0x11, 0x8e, 0xd0, 0xa2, 0x49, 0x7b, 0xea, 0x88, 0xc7, 0x0f, 0x5b, - 0x1d, 0x80, 0xfc, 0x8f, 0x0a, 0x40, 0xee, 0xa0, 0x2d, 0x2b, 0x3a, 0x45, 0x37, 0x29, 0xd1, 0x94, - 0x68, 0x6e, 0x3a, 0xc9, 0xae, 0xe8, 0xa0, 0xc1, 0x67, 0x9f, 0xf5, 0x5f, 0x83, 0xa6, 0xcb, 0x9a, - 0x0a, 0xac, 0xe0, 0x4e, 0x10, 0xa0, 0xe6, 0x0f, 0x58, 0x50, 0x82, 0x26, 0x55, 0x85, 0xfe, 0xa9, - 0x7f, 0xb6, 0x9f, 0xba, 0x8a, 0x5f, 0xb3, 0x03, 0x89, 0xda, 0x50, 0x25, 0x40, 0x93, 0x09, 0x7b, - 0xa7, 0x3b, 0x67, 0x07, 0xcf, 0x06, 0xf1, 0x7f, 0x0e, 0xe2, 0x56, 0xf2, 0xe5, 0x9a, 0x99, 0x6e, - 0x8e, 0x5d, 0xf4, 0xbf, 0x7f, 0x1b, 0xde, 0xfb, 0x6b, 0xe1, 0xe0, 0x4b, 0x8f, 0x1d, 0xfe, 0x33, - 0xc3, 0x9f, 0xb2, 0xfb, 0x12, 0x35, 0x55, 0x42, 0xd2, 0x8d, 0xc8, 0xf3, 0x4a, 0x19, 0xe3, 0xae, - 0x73, 0xb8, 0xea, 0x5f, 0x76, 0x6d, 0xfe, 0x8a, 0x05, 0xa2, 0xc4, 0x5a, 0x53, 0xd8, 0x6b, 0x09, - 0x57, 0xc9, 0x74, 0x7e, 0xe2, 0xfd, 0x9c, 0x9f, 0x3c, 0x19, 0x01, 0x15, 0x75, 0x16, 0x4b, 0x2c, - 0x9d, 0x6d, 0xf7, 0x19, 0x9a, 0x7c, 0x9c, 0xd0, 0xa7, 0x5b, 0x65, 0xe2, 0x77, 0xa0, 0x29, 0x75, - 0xe3, 0x9c, 0xb3, 0x5d, 0x2d, 0x4a, 0x15, 0xee, 0xd8, 0x3d, 0xf6, 0xcc, 0x8f, 0xd8, 0x1e, 0xe8, - 0x5c, 0x35, 0xe1, 0xae, 0x6d, 0x76, 0x05, 0x8f, 0x18, 0x93, 0x38, 0x99, 0x28, 0xd9, 0xde, 0x3f, - 0xdc, 0xb3, 0xd0, 0x46, 0x87, 0x5f, 0xb0, 0x7d, 0x1b, 0xc9, 0xb5, 0x20, 0x11, 0x06, 0x36, 0xa8, - 0x47, 0x5b, 0x82, 0x7a, 0xbb, 0xe2, 0xa4, 0x6b, 0xfa, 0xd5, 0x9b, 0xe9, 0x22, 0xf2, 0x67, 0x8b, - 0xc8, 0xff, 0xb5, 0x88, 0xfc, 0xaf, 0xcb, 0xc8, 0x9b, 0x2d, 0x23, 0xef, 0xc7, 0x32, 0xf2, 0xde, - 0xbf, 0xd8, 0x30, 0x04, 0x0d, 0x7e, 0xc0, 0x5a, 0xe7, 0x36, 0xc1, 0xb6, 0x1a, 0x66, 0x13, 0x94, - 0x63, 0x59, 0x08, 0xd0, 0x49, 0xe3, 0x9e, 0x83, 0xf5, 0x98, 0x05, 0xf6, 0x67, 0x3f, 0xff, 0x1d, - 0x00, 0x00, 0xff, 0xff, 0x91, 0xa3, 0xf3, 0x32, 0x8b, 0x02, 0x00, 0x00, + // 414 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x52, 0xb1, 0x6e, 0xd4, 0x40, + 0x10, 0xb5, 0x2f, 0x89, 0xa5, 0x6c, 0x84, 0xc2, 0xad, 0x22, 0x64, 0x22, 0x70, 0xa2, 0x6b, 0x08, + 0xc5, 0x79, 0x95, 0xd0, 0xa0, 0x74, 0x09, 0x91, 0xa8, 0x68, 0x2c, 0x68, 0x68, 0xa2, 0xf5, 0x7a, + 0x39, 0x8f, 0xee, 0xbc, 0x13, 0x79, 0xc7, 0x91, 0x49, 0x4d, 0x47, 0xc3, 0xc7, 0xf0, 0x11, 0x29, + 0x23, 0x2a, 0x44, 0x11, 0xa1, 0xbb, 0x1f, 0x41, 0x5e, 0x6f, 0xc8, 0x41, 0xae, 0xf2, 0xce, 0xbc, + 0x37, 0x6f, 0xf6, 0x3d, 0x2f, 0x7b, 0x0e, 0x2d, 0x0a, 0xc2, 0xa9, 0x36, 0xe2, 0xf2, 0x30, 0xd7, + 0x24, 0x0f, 0x85, 0x6c, 0xa8, 0xbc, 0x4a, 0x2f, 0x6a, 0x24, 0xe4, 0x43, 0x68, 0x31, 0x75, 0x70, + 0xea, 0xe1, 0xdd, 0x9d, 0x09, 0x4e, 0xd0, 0xa1, 0xa2, 0x3b, 0xf5, 0xc4, 0xdd, 0xa7, 0x9d, 0x0e, + 0x40, 0xf1, 0x57, 0x05, 0xa0, 0xf0, 0xd0, 0x8a, 0x15, 0xbd, 0xa2, 0x9f, 0x54, 0x68, 0x2b, 0xb4, + 0xe7, 0xbd, 0x64, 0x5f, 0xf4, 0xd0, 0xe8, 0x4b, 0xc8, 0x86, 0xef, 0xc0, 0xd0, 0x49, 0x43, 0x25, + 0xd6, 0x70, 0x25, 0x09, 0xd0, 0xf0, 0x27, 0x2c, 0xaa, 0xc0, 0x90, 0xae, 0xe3, 0x70, 0x3f, 0x3c, + 0xd8, 0xcc, 0x7c, 0xc5, 0xcf, 0xd8, 0x96, 0x42, 0x63, 0xa9, 0x96, 0x60, 0xc8, 0xc6, 0x83, 0xfd, + 0xb5, 0x83, 0xad, 0xa3, 0x51, 0xfa, 0xc0, 0x41, 0xda, 0x49, 0xbe, 0xb9, 0x67, 0x66, 0xcb, 0x63, + 0xc7, 0xc3, 0x1f, 0xdf, 0xc7, 0x8f, 0xfe, 0x59, 0x38, 0xfa, 0x3a, 0x60, 0xdb, 0xff, 0xcd, 0xf0, + 0x97, 0xec, 0xb1, 0x42, 0x43, 0xb5, 0x54, 0x74, 0x2e, 0x8b, 0xa2, 0xd6, 0xd6, 0xfa, 0xeb, 0x6c, + 0xdf, 0xf5, 0x4f, 0xfa, 0x36, 0x7f, 0xcb, 0x22, 0x59, 0x61, 0x63, 0x28, 0x1e, 0x74, 0x84, 0x53, + 0x71, 0x7d, 0xbb, 0x17, 0xfc, 0xba, 0xdd, 0x7b, 0x31, 0x01, 0x2a, 0x9b, 0x3c, 0x55, 0x58, 0x79, + 0xdb, 0xfe, 0x33, 0xb6, 0xc5, 0x54, 0xd0, 0xe7, 0x0b, 0x6d, 0xd3, 0x0f, 0x60, 0x28, 0xf3, 0xe3, + 0x9c, 0xb3, 0x75, 0x23, 0x2b, 0x1d, 0xaf, 0xb9, 0x3d, 0xee, 0xcc, 0x77, 0xd8, 0x06, 0x98, 0x42, + 0xb7, 0xf1, 0xba, 0x6b, 0xf6, 0x05, 0x4f, 0x18, 0x53, 0x38, 0x9b, 0x69, 0xd5, 0xdd, 0x3f, 0xde, + 0x70, 0xd0, 0x52, 0x87, 0x1f, 0xb3, 0x4d, 0x17, 0xc9, 0x99, 0x24, 0x19, 0x47, 0x2e, 0xa8, 0x67, + 0x2b, 0x82, 0x7a, 0x7f, 0xc7, 0xc9, 0xee, 0xe9, 0xa7, 0xd9, 0xf5, 0x3c, 0x09, 0x6f, 0xe6, 0x49, + 0xf8, 0x7b, 0x9e, 0x84, 0xdf, 0x16, 0x49, 0x70, 0xb3, 0x48, 0x82, 0x9f, 0x8b, 0x24, 0xf8, 0xf8, + 0x7a, 0xc9, 0x10, 0xb4, 0xf8, 0x09, 0x1b, 0x53, 0xb8, 0x04, 0xbb, 0x6a, 0x9c, 0xcf, 0x50, 0x4d, + 0x55, 0x29, 0xc1, 0x88, 0xcb, 0x23, 0xd1, 0xfa, 0x17, 0xe1, 0x6c, 0xe6, 0x91, 0xfb, 0xdf, 0xaf, + 0xfe, 0x04, 0x00, 0x00, 0xff, 0xff, 0xfb, 0x29, 0x4b, 0xd9, 0x8e, 0x02, 0x00, 0x00, } func (m *MintAuthorization) Marshal() (dAtA []byte, err error) { diff --git a/x/token/types/event.pb.go b/x/token/types/event.pb.go index bf2cde85..ca37e326 100644 --- a/x/token/types/event.pb.go +++ b/x/token/types/event.pb.go @@ -496,38 +496,38 @@ func init() { func init() { proto.RegisterFile("ixo/token/v1beta1/event.proto", fileDescriptor_e847de8f4073cc7d) } var fileDescriptor_e847de8f4073cc7d = []byte{ - // 495 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x54, 0x41, 0x6f, 0xd3, 0x4c, - 0x10, 0x8d, 0x93, 0x2f, 0xf9, 0xe8, 0xf6, 0xd0, 0xd6, 0x14, 0x64, 0x45, 0xd4, 0xad, 0x7c, 0xa1, - 0x1c, 0x6a, 0xab, 0x45, 0xfd, 0x01, 0xa4, 0x42, 0x5c, 0x40, 0x54, 0xa6, 0xbd, 0x70, 0x81, 0xf5, - 0x7a, 0x9b, 0xac, 0x12, 0xef, 0xac, 0x76, 0x37, 0xc5, 0x5c, 0xfb, 0x0b, 0xf8, 0x59, 0x3d, 0xf6, - 0x88, 0x38, 0x54, 0x28, 0xf9, 0x23, 0xc8, 0xe3, 0x4d, 0x52, 0x20, 0x41, 0x02, 0xc1, 0x29, 0x9e, - 0x37, 0x6f, 0xde, 0x9b, 0x89, 0x9e, 0x96, 0xec, 0x88, 0x12, 0x12, 0x0b, 0x43, 0x2e, 0x93, 0xcb, - 0xc3, 0x8c, 0x5b, 0x7a, 0x98, 0xf0, 0x4b, 0x2e, 0x6d, 0xac, 0x34, 0x58, 0xf0, 0xb7, 0x44, 0x09, - 0x31, 0xb6, 0x63, 0xd7, 0xee, 0x2e, 0x99, 0xa8, 0x09, 0x38, 0xd1, 0xed, 0x2e, 0x69, 0x97, 0xae, - 0xb7, 0xdd, 0x87, 0x3e, 0xe0, 0x67, 0x52, 0x7d, 0xd5, 0x68, 0x74, 0x42, 0xb6, 0xce, 0x2a, 0xfe, - 0x89, 0xe6, 0xd4, 0xf2, 0xfc, 0x79, 0x65, 0xef, 0xc7, 0xa4, 0x8d, 0x22, 0x81, 0xb7, 0xe7, 0xed, - 0xaf, 0x1f, 0x05, 0xf1, 0x4f, 0x8b, 0xc4, 0x38, 0x94, 0xd6, 0xb4, 0xb9, 0xc8, 0xb9, 0xca, 0xff, - 0x5c, 0xe4, 0xaa, 0x49, 0x36, 0x11, 0x78, 0x25, 0xe4, 0x5c, 0xe4, 0x09, 0xd9, 0x64, 0x20, 0xad, - 0xa6, 0xcc, 0xbe, 0xa3, 0x79, 0xae, 0xb9, 0x31, 0xa8, 0xb7, 0x96, 0x6e, 0xcc, 0xf0, 0x67, 0x35, - 0xec, 0x3f, 0x24, 0x9d, 0xa2, 0x9a, 0xd4, 0x41, 0x13, 0x09, 0xae, 0xf2, 0xb7, 0x49, 0x1b, 0x3e, - 0x48, 0xae, 0x83, 0x16, 0xc2, 0x75, 0xe1, 0xbf, 0x20, 0x1d, 0x5a, 0xc0, 0x58, 0xda, 0xe0, 0xbf, - 0x0a, 0xee, 0x25, 0xd7, 0xb7, 0xbb, 0x8d, 0x2f, 0xb7, 0xbb, 0x8f, 0xfb, 0xc2, 0x0e, 0xc6, 0x59, - 0xcc, 0xa0, 0x48, 0x18, 0x98, 0x02, 0x8c, 0xfb, 0x39, 0x30, 0xf9, 0x30, 0xb1, 0x1f, 0x15, 0x37, - 0xf1, 0xb9, 0x90, 0x36, 0x75, 0xe3, 0xfe, 0x4b, 0xb2, 0x81, 0xfb, 0x9f, 0x6a, 0x50, 0x5c, 0x5b, - 0xc1, 0x4d, 0xd0, 0xc6, 0x83, 0xa3, 0x55, 0x07, 0x2f, 0x98, 0xe9, 0x8f, 0xa3, 0xd1, 0x95, 0x47, - 0x1e, 0x20, 0xe9, 0x4c, 0x53, 0x69, 0x2e, 0xb8, 0xd6, 0xb3, 0x7f, 0x62, 0x7e, 0x86, 0x77, 0xf7, - 0x8c, 0x47, 0x64, 0x4d, 0x73, 0x26, 0x94, 0xe0, 0xd2, 0xba, 0xbb, 0x17, 0x80, 0x7f, 0x4c, 0x3a, - 0x68, 0x60, 0x82, 0xd6, 0x5e, 0x6b, 0x7f, 0xfd, 0x68, 0x67, 0xd5, 0x4a, 0x3d, 0x6a, 0xd9, 0x20, - 0x75, 0xe4, 0x28, 0x23, 0xf7, 0xeb, 0x4c, 0x50, 0xc9, 0xf8, 0x68, 0xf4, 0xeb, 0x0d, 0x16, 0x1e, - 0xcd, 0xdf, 0xf1, 0x78, 0xef, 0x22, 0x93, 0x72, 0x2b, 0xf4, 0x3f, 0x71, 0x28, 0x5c, 0x9c, 0x4e, - 0xe9, 0xd8, 0xcc, 0x0c, 0x16, 0x19, 0xf1, 0xbe, 0xcb, 0xc8, 0xb2, 0x98, 0x35, 0x57, 0xc6, 0x4c, - 0xa1, 0x22, 0xe6, 0xe9, 0x5e, 0xea, 0xaa, 0x48, 0xb9, 0x83, 0xde, 0x58, 0x50, 0xea, 0x2f, 0xfa, - 0x05, 0xe4, 0x7f, 0x53, 0x4b, 0x3a, 0xc3, 0x59, 0xd9, 0x7b, 0x7d, 0x3d, 0x09, 0xbd, 0x9b, 0x49, - 0xe8, 0x7d, 0x9d, 0x84, 0xde, 0xa7, 0x69, 0xd8, 0xb8, 0x99, 0x86, 0x8d, 0xcf, 0xd3, 0xb0, 0xf1, - 0xf6, 0xf8, 0x4e, 0x88, 0x45, 0x09, 0x17, 0x30, 0x96, 0x39, 0xb5, 0x02, 0x64, 0x55, 0x1d, 0x64, - 0x23, 0x60, 0x43, 0x36, 0xa0, 0x42, 0x26, 0xa5, 0x7b, 0x2c, 0x30, 0xd7, 0x59, 0x07, 0x9f, 0x84, - 0xa7, 0xdf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xdf, 0xff, 0x05, 0x46, 0x97, 0x04, 0x00, 0x00, + // 496 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x54, 0x41, 0x6f, 0xd3, 0x30, + 0x14, 0x6e, 0x5a, 0x5a, 0x98, 0x77, 0xd8, 0x16, 0x06, 0x8a, 0x2a, 0x96, 0x4d, 0xb9, 0x30, 0x0e, + 0x8b, 0xb5, 0x22, 0x24, 0xae, 0x74, 0x42, 0x5c, 0x40, 0x9a, 0xc2, 0x76, 0xe1, 0x02, 0x8e, 0xe3, + 0xb5, 0x56, 0x1b, 0x3f, 0xcb, 0x76, 0x4b, 0xb8, 0xee, 0x17, 0xf0, 0xb3, 0x76, 0xdc, 0x11, 0x71, + 0x98, 0x50, 0xfb, 0x47, 0x50, 0x1c, 0xb7, 0x19, 0xd0, 0x22, 0x81, 0xe0, 0xd4, 0xbc, 0xef, 0x7d, + 0xef, 0xfb, 0xde, 0xab, 0x3e, 0x19, 0xed, 0xf1, 0x02, 0xb0, 0x81, 0x11, 0x13, 0x78, 0x7a, 0x9c, + 0x32, 0x43, 0x8e, 0x31, 0x9b, 0x32, 0x61, 0x62, 0xa9, 0xc0, 0x80, 0xbf, 0xc3, 0x0b, 0x88, 0x6d, + 0x3b, 0x76, 0xed, 0xee, 0x8a, 0x89, 0x8a, 0x60, 0x27, 0xba, 0xdd, 0x15, 0xed, 0xc2, 0xf5, 0x76, + 0x07, 0x30, 0x00, 0xfb, 0x89, 0xcb, 0xaf, 0x0a, 0x8d, 0x4e, 0xd0, 0xce, 0x59, 0xc9, 0x3f, 0x51, + 0x8c, 0x18, 0x96, 0xbd, 0x2c, 0xed, 0xfd, 0x18, 0xb5, 0xad, 0x48, 0xe0, 0x1d, 0x78, 0x87, 0x9b, + 0xbd, 0x20, 0xfe, 0x65, 0x91, 0xd8, 0x0e, 0x25, 0x15, 0x6d, 0x29, 0x72, 0x2e, 0xb3, 0xbf, 0x17, + 0xb9, 0x6c, 0xa2, 0x6d, 0x0b, 0xbc, 0xe1, 0x62, 0x29, 0xf2, 0x04, 0x6d, 0x53, 0x10, 0x46, 0x11, + 0x6a, 0xde, 0x93, 0x2c, 0x53, 0x4c, 0x6b, 0xab, 0xb7, 0x91, 0x6c, 0x2d, 0xf0, 0x17, 0x15, 0xec, + 0x3f, 0x44, 0x9d, 0xbc, 0x9c, 0x54, 0x41, 0xd3, 0x12, 0x5c, 0xe5, 0xef, 0xa2, 0x36, 0x7c, 0x14, + 0x4c, 0x05, 0x2d, 0x0b, 0x57, 0x85, 0xff, 0x0a, 0x75, 0x48, 0x0e, 0x13, 0x61, 0x82, 0x3b, 0x25, + 0xdc, 0xc7, 0x57, 0x37, 0xfb, 0x8d, 0xaf, 0x37, 0xfb, 0x8f, 0x07, 0xdc, 0x0c, 0x27, 0x69, 0x4c, + 0x21, 0xc7, 0x14, 0x74, 0x0e, 0xda, 0xfd, 0x1c, 0xe9, 0x6c, 0x84, 0xcd, 0x27, 0xc9, 0x74, 0x7c, + 0xce, 0x85, 0x49, 0xdc, 0xb8, 0xff, 0x1a, 0x6d, 0xd9, 0xfd, 0x4f, 0x15, 0x48, 0xa6, 0x0c, 0x67, + 0x3a, 0x68, 0xdb, 0x83, 0xa3, 0x75, 0x07, 0xd7, 0xcc, 0xe4, 0xe7, 0xd1, 0xe8, 0xd2, 0x43, 0x0f, + 0x2c, 0xe9, 0x4c, 0x11, 0xa1, 0x2f, 0x98, 0x52, 0x8b, 0x7f, 0x62, 0x79, 0x86, 0x77, 0xfb, 0x8c, + 0x47, 0x68, 0x43, 0x31, 0xca, 0x25, 0x67, 0xc2, 0xb8, 0xbb, 0x6b, 0xc0, 0x7f, 0x86, 0x3a, 0xd6, + 0x40, 0x07, 0xad, 0x83, 0xd6, 0xe1, 0x66, 0x6f, 0x6f, 0xdd, 0x4a, 0x7d, 0x62, 0xe8, 0x30, 0x71, + 0xe4, 0x28, 0x45, 0xf7, 0xab, 0x4c, 0x10, 0x41, 0xd9, 0x78, 0xfc, 0xfb, 0x0d, 0x6a, 0x8f, 0xe6, + 0x9f, 0x78, 0x7c, 0x70, 0x91, 0x49, 0x98, 0xe1, 0xea, 0xbf, 0x38, 0xe4, 0x2e, 0x4e, 0xa7, 0x64, + 0xa2, 0x17, 0x06, 0x75, 0x46, 0xbc, 0x1f, 0x32, 0xb2, 0x2a, 0x66, 0xcd, 0xb5, 0x31, 0x93, 0x56, + 0xd1, 0xe6, 0xe9, 0x5e, 0xe2, 0xaa, 0x48, 0xba, 0x83, 0xde, 0x1a, 0x90, 0xf2, 0x1f, 0xfa, 0x05, + 0xe8, 0xae, 0xae, 0x24, 0x9d, 0xe1, 0xa2, 0xec, 0x27, 0x57, 0xb3, 0xd0, 0xbb, 0x9e, 0x85, 0xde, + 0xb7, 0x59, 0xe8, 0x7d, 0x9e, 0x87, 0x8d, 0xeb, 0x79, 0xd8, 0xf8, 0x32, 0x0f, 0x1b, 0xef, 0x9e, + 0xdf, 0x0a, 0x31, 0x2f, 0xe0, 0x02, 0x26, 0x22, 0x23, 0x86, 0x83, 0x28, 0xab, 0xa3, 0x74, 0x0c, + 0x74, 0x44, 0x87, 0x84, 0x0b, 0x3c, 0xed, 0xe1, 0xc2, 0xbd, 0x17, 0x36, 0xda, 0x69, 0xc7, 0xbe, + 0x0a, 0x4f, 0xbf, 0x07, 0x00, 0x00, 0xff, 0xff, 0x34, 0xcc, 0x9f, 0xe1, 0x9a, 0x04, 0x00, 0x00, } func (m *TokenCreatedEvent) Marshal() (dAtA []byte, err error) { diff --git a/x/token/types/genesis.pb.go b/x/token/types/genesis.pb.go index 341d1145..96f2cb99 100644 --- a/x/token/types/genesis.pb.go +++ b/x/token/types/genesis.pb.go @@ -91,7 +91,7 @@ func init() { func init() { proto.RegisterFile("ixo/token/v1beta1/genesis.proto", fileDescriptor_cbef8fb9fb837c8b) } var fileDescriptor_cbef8fb9fb837c8b = []byte{ - // 274 bytes of a gzipped FileDescriptorProto + // 277 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcf, 0xac, 0xc8, 0xd7, 0x2f, 0xc9, 0xcf, 0x4e, 0xcd, 0xd3, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x4f, 0xcd, 0x4b, 0x2d, 0xce, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0xcc, 0xac, 0xc8, @@ -103,13 +103,13 @@ var fileDescriptor_cbef8fb9fb837c8b = []byte{ 0xaa, 0x62, 0x09, 0x26, 0x05, 0x66, 0x0d, 0x6e, 0x23, 0x09, 0x2c, 0x1a, 0x43, 0x40, 0x3c, 0x98, 0x3e, 0x88, 0x6a, 0xa1, 0x60, 0x2e, 0x01, 0x30, 0x2b, 0xbe, 0xa0, 0x28, 0xbf, 0x20, 0xb5, 0xa8, 0x24, 0x33, 0xb5, 0x58, 0x82, 0x19, 0x6c, 0x82, 0x12, 0x2e, 0x13, 0x02, 0xe0, 0x2a, 0xa1, 0x66, - 0xf1, 0x97, 0xa0, 0x09, 0xfb, 0x9f, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, + 0xf1, 0x97, 0xa0, 0x09, 0x07, 0x9d, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, - 0x69, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x66, 0x45, 0x7e, 0x5a, + 0x45, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x66, 0x45, 0x7e, 0x5a, 0x7e, 0x69, 0x5e, 0x4a, 0x62, 0x49, 0x66, 0x7e, 0x1e, 0x88, 0xa7, 0x9b, 0x94, 0x93, 0x9f, 0x9c, - 0x9d, 0x9c, 0x91, 0x98, 0x99, 0xa7, 0x5f, 0x01, 0x0d, 0xb5, 0x92, 0xca, 0x82, 0xd4, 0xe2, 0x24, - 0x36, 0x70, 0x70, 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x86, 0x24, 0xeb, 0x99, 0x01, - 0x00, 0x00, + 0x9d, 0x9c, 0x91, 0x98, 0x99, 0xa7, 0x5f, 0x66, 0xa4, 0x5f, 0x01, 0x0d, 0xb8, 0x92, 0xca, 0x82, + 0xd4, 0xe2, 0x24, 0x36, 0x70, 0x88, 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa3, 0xe9, 0x49, + 0xd8, 0x9c, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/token/types/msg_validation.go b/x/token/types/msg_validation.go index ac21503e..36999ef2 100644 --- a/x/token/types/msg_validation.go +++ b/x/token/types/msg_validation.go @@ -3,7 +3,7 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" ) func (msg MsgCreateToken) ValidateBasic() error { diff --git a/x/token/types/proposal.pb.go b/x/token/types/proposal.pb.go index 64267124..8dfbe05f 100644 --- a/x/token/types/proposal.pb.go +++ b/x/token/types/proposal.pb.go @@ -74,7 +74,7 @@ func init() { func init() { proto.RegisterFile("ixo/token/v1beta1/proposal.proto", fileDescriptor_f412bb51be3c129b) } var fileDescriptor_f412bb51be3c129b = []byte{ - // 225 bytes of a gzipped FileDescriptorProto + // 228 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xc8, 0xac, 0xc8, 0xd7, 0x2f, 0xc9, 0xcf, 0x4e, 0xcd, 0xd3, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x2f, 0x28, 0xca, 0x2f, 0xc8, 0x2f, 0x4e, 0xcc, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0xcc, 0xac, @@ -83,13 +83,13 @@ var fileDescriptor_f412bb51be3c129b = []byte{ 0x83, 0x53, 0x4b, 0x42, 0x40, 0x22, 0xce, 0xf9, 0x79, 0x25, 0x45, 0x89, 0xc9, 0x25, 0xce, 0xf9, 0x29, 0xa9, 0xc5, 0x42, 0x46, 0x5c, 0xa2, 0x99, 0x15, 0xf9, 0x86, 0x86, 0xa6, 0xa6, 0xf1, 0xc9, 0x50, 0x89, 0xf8, 0xe4, 0xfc, 0x94, 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x61, 0xa8, - 0x24, 0xb2, 0x26, 0x27, 0xff, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, - 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x32, - 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0xcf, 0xac, 0xc8, 0x4f, 0xcb, + 0x24, 0xb2, 0x26, 0xa7, 0xa0, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, + 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0xb2, + 0x48, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0xcf, 0xac, 0xc8, 0x4f, 0xcb, 0x2f, 0xcd, 0x4b, 0x49, 0x2c, 0xc9, 0xcc, 0xcf, 0x03, 0xf1, 0x74, 0x93, 0x72, 0xf2, 0x93, 0xb3, - 0x93, 0x33, 0x12, 0x33, 0xf3, 0xf4, 0x2b, 0xa0, 0x6e, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, - 0x03, 0x3b, 0xd2, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x5c, 0xfd, 0x48, 0xad, 0x10, 0x01, 0x00, - 0x00, + 0x93, 0x33, 0x12, 0x33, 0xf3, 0xf4, 0xcb, 0x8c, 0xf4, 0x2b, 0xa0, 0xce, 0x2d, 0xa9, 0x2c, 0x48, + 0x2d, 0x4e, 0x62, 0x03, 0xbb, 0xd3, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xa9, 0x36, 0xb7, 0x38, + 0x13, 0x01, 0x00, 0x00, } func (m *SetTokenContractCodes) Marshal() (dAtA []byte, err error) { diff --git a/x/token/types/query.pb.go b/x/token/types/query.pb.go index 8125de9a..735b9d1b 100644 --- a/x/token/types/query.pb.go +++ b/x/token/types/query.pb.go @@ -524,56 +524,56 @@ func init() { func init() { proto.RegisterFile("ixo/token/v1beta1/query.proto", fileDescriptor_ce478daca359f034) } var fileDescriptor_ce478daca359f034 = []byte{ - // 771 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xcf, 0x4f, 0xdb, 0x48, - 0x14, 0x8e, 0x43, 0x88, 0xe0, 0xa1, 0x5d, 0x60, 0xc8, 0xb2, 0xc6, 0x62, 0x43, 0x64, 0x69, 0x21, - 0xb0, 0x8b, 0x2d, 0x58, 0xa1, 0x95, 0xd0, 0x5e, 0x16, 0x21, 0x56, 0x5a, 0xf5, 0x07, 0x4d, 0x7b, - 0x69, 0x2f, 0xd5, 0xc4, 0x9e, 0x9a, 0x11, 0xb1, 0xc7, 0x78, 0x26, 0x6d, 0x10, 0xe2, 0x52, 0xf5, - 0x5c, 0x55, 0x6a, 0xef, 0xed, 0xb9, 0x97, 0xfe, 0x1b, 0x1c, 0x91, 0x7a, 0xe9, 0xa9, 0xaa, 0xa0, - 0xaa, 0xfa, 0x67, 0x54, 0x9e, 0x99, 0xc4, 0x06, 0x12, 0xc2, 0x29, 0xf3, 0xde, 0xfb, 0xde, 0xf7, - 0xbe, 0xf7, 0xc6, 0xf3, 0x02, 0xbf, 0xd1, 0x0e, 0x73, 0x05, 0xdb, 0x27, 0x91, 0xfb, 0x74, 0xad, - 0x49, 0x04, 0x5e, 0x73, 0x0f, 0xda, 0x24, 0x39, 0x74, 0xe2, 0x84, 0x09, 0x86, 0xa6, 0x69, 0x87, - 0x39, 0x32, 0xec, 0xe8, 0xb0, 0x55, 0x09, 0x58, 0xc0, 0x64, 0xd4, 0x4d, 0x4f, 0x0a, 0x68, 0xcd, - 0x07, 0x8c, 0x05, 0x2d, 0xe2, 0xe2, 0x98, 0xba, 0x38, 0x8a, 0x98, 0xc0, 0x82, 0xb2, 0x88, 0xeb, - 0x68, 0x9f, 0x2a, 0x8a, 0x54, 0x85, 0x57, 0x3c, 0xc6, 0x43, 0xc6, 0xdd, 0x26, 0xe6, 0x44, 0x95, - 0xef, 0xc1, 0x62, 0x1c, 0xd0, 0x48, 0x72, 0x29, 0xac, 0x5d, 0x01, 0x74, 0x2f, 0x45, 0xec, 0xe2, - 0x04, 0x87, 0xbc, 0x41, 0x0e, 0xda, 0x84, 0x0b, 0xfb, 0x0e, 0xcc, 0x5c, 0xf0, 0xf2, 0x98, 0x45, - 0x9c, 0xa0, 0xbf, 0xa1, 0x1c, 0x4b, 0x8f, 0x69, 0xd4, 0x8c, 0xfa, 0xc4, 0xfa, 0x9c, 0x73, 0xa5, - 0x1f, 0x47, 0xa5, 0x6c, 0x95, 0x4e, 0x3e, 0x2f, 0x14, 0x1a, 0x1a, 0x6e, 0x3f, 0x83, 0x5f, 0x24, - 0xdf, 0x83, 0x14, 0x7a, 0x8b, 0x72, 0xa1, 0x0b, 0xa1, 0x1d, 0x80, 0x4c, 0x92, 0x66, 0x5d, 0x74, - 0x94, 0x7e, 0x27, 0xd5, 0xef, 0xa8, 0xf1, 0x65, 0xec, 0x01, 0xd1, 0xb9, 0x8d, 0x5c, 0x26, 0x9a, - 0x85, 0x72, 0x48, 0x23, 0x41, 0x12, 0xb3, 0x58, 0x33, 0xea, 0xe3, 0x0d, 0x6d, 0xd9, 0x6f, 0x0d, - 0x98, 0xbd, 0x5c, 0x59, 0x37, 0xf3, 0x5f, 0x9f, 0xd2, 0x4b, 0x43, 0x4b, 0xab, 0xe4, 0x0b, 0xb5, - 0xff, 0x81, 0x71, 0x39, 0x82, 0x6d, 0xe6, 0x71, 0xb3, 0x58, 0x1b, 0xa9, 0x4f, 0xac, 0x9b, 0x7d, - 0x06, 0x23, 0x15, 0xe8, 0xb9, 0x64, 0x09, 0xf6, 0x43, 0xa8, 0x64, 0x02, 0xb7, 0x99, 0xd7, 0x9d, - 0x4c, 0xd6, 0x91, 0x91, 0xef, 0x08, 0x2d, 0xc3, 0x94, 0xc7, 0x22, 0x91, 0x60, 0x4f, 0x3c, 0xc6, - 0xbe, 0x9f, 0x10, 0xce, 0x75, 0xcf, 0x93, 0x5d, 0xff, 0xbf, 0xca, 0x6d, 0xdf, 0xcf, 0x4f, 0x5d, - 0x52, 0xeb, 0xd6, 0x37, 0x61, 0xac, 0x2b, 0x40, 0x37, 0x3e, 0x4c, 0x70, 0x0f, 0x6f, 0xff, 0x01, - 0x73, 0x19, 0xe9, 0x6d, 0x22, 0xb0, 0x8f, 0x05, 0xee, 0x8a, 0xfe, 0x19, 0x8a, 0xd4, 0xd7, 0x82, - 0x8b, 0xd4, 0xb7, 0xbf, 0x19, 0x60, 0xf5, 0x43, 0x6b, 0x1d, 0x08, 0x4a, 0x11, 0x0e, 0x89, 0x4e, - 0x90, 0x67, 0x54, 0x83, 0x09, 0x9f, 0x70, 0x2f, 0xa1, 0xb1, 0xbc, 0x17, 0xd5, 0x5a, 0xde, 0x85, - 0x2c, 0x18, 0xf3, 0x89, 0x47, 0x43, 0xdc, 0xe2, 0xe6, 0x88, 0x0c, 0xf7, 0x6c, 0x54, 0x81, 0x51, - 0x1a, 0xe2, 0x80, 0x98, 0x25, 0x19, 0x50, 0x86, 0xf4, 0x46, 0x3e, 0xe9, 0x98, 0xa3, 0xda, 0x9b, - 0x1a, 0xe8, 0x7f, 0x80, 0x38, 0x61, 0x31, 0x49, 0x04, 0x25, 0xdc, 0x2c, 0xcb, 0x39, 0xac, 0x0c, - 0x9a, 0x43, 0x57, 0xfb, 0x6e, 0x2f, 0xa3, 0x91, 0xcb, 0xb6, 0x3f, 0x18, 0xf0, 0xeb, 0x00, 0x5c, - 0x5a, 0xdd, 0x6b, 0x61, 0xce, 0x75, 0x9b, 0xca, 0x40, 0x55, 0x00, 0x8f, 0xb5, 0x5a, 0xc4, 0xcb, - 0xb5, 0x99, 0xf3, 0xa0, 0x29, 0x18, 0xf1, 0x70, 0xac, 0x1b, 0x4c, 0x8f, 0x68, 0x07, 0x26, 0x5b, - 0x34, 0xda, 0x27, 0x7e, 0x83, 0x70, 0xd6, 0x4e, 0x3c, 0xc2, 0xcd, 0x92, 0xfc, 0xda, 0xe6, 0x07, - 0x89, 0xde, 0x4e, 0x87, 0x7d, 0x39, 0x69, 0xb3, 0xf4, 0xfd, 0xdd, 0x82, 0xb1, 0xfe, 0xbe, 0x04, - 0xa3, 0xf2, 0x6a, 0x50, 0x02, 0x65, 0xf5, 0x68, 0xd1, 0xef, 0x7d, 0x88, 0xae, 0x6e, 0x07, 0x6b, - 0x71, 0x18, 0x4c, 0x5d, 0xaf, 0x3d, 0xf7, 0xfc, 0xe3, 0xd7, 0xd7, 0xc5, 0x19, 0x34, 0xed, 0x66, - 0xfb, 0x4a, 0x2d, 0x04, 0xf4, 0xd2, 0x80, 0x9f, 0x2e, 0xcc, 0x0b, 0xfd, 0x39, 0x88, 0xb4, 0xdf, - 0x87, 0x66, 0xad, 0xde, 0x10, 0xad, 0x95, 0xd4, 0xa4, 0x12, 0x0b, 0x99, 0x39, 0x25, 0xa1, 0x06, - 0xb9, 0x47, 0xd4, 0x3f, 0x46, 0x2f, 0x0c, 0x18, 0xef, 0xed, 0x08, 0x54, 0xbf, 0x96, 0x3e, 0xb7, - 0xc0, 0xac, 0xe5, 0x1b, 0x20, 0xb5, 0x08, 0x5b, 0x8a, 0x98, 0x47, 0x56, 0x5e, 0x84, 0x7c, 0xd4, - 0xee, 0x91, 0xfa, 0x3d, 0x46, 0x6f, 0x0c, 0x18, 0xeb, 0x3e, 0x57, 0xb4, 0x74, 0x2d, 0x77, 0xb6, - 0x2b, 0xac, 0xfa, 0x70, 0xa0, 0xd6, 0xb0, 0x21, 0x35, 0xb8, 0x68, 0x75, 0xb0, 0x06, 0xf7, 0xe8, - 0xf2, 0x7e, 0x39, 0xde, 0xba, 0x7b, 0x72, 0x56, 0x35, 0x4e, 0xcf, 0xaa, 0xc6, 0x97, 0xb3, 0xaa, - 0xf1, 0xea, 0xbc, 0x5a, 0x38, 0x3d, 0xaf, 0x16, 0x3e, 0x9d, 0x57, 0x0b, 0x8f, 0x36, 0x02, 0x2a, - 0xf6, 0xda, 0x4d, 0xc7, 0x63, 0x61, 0x4a, 0xf9, 0x84, 0xb5, 0x23, 0x5f, 0xae, 0xc5, 0xd4, 0x5a, - 0x6d, 0xb6, 0x98, 0xb7, 0xef, 0xed, 0x61, 0x1a, 0xb9, 0x1d, 0x5d, 0x4d, 0x1c, 0xc6, 0x84, 0x37, - 0xcb, 0xf2, 0xdf, 0xe7, 0xaf, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x92, 0x04, 0x84, 0x3e, 0x30, - 0x07, 0x00, 0x00, + // 769 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xc1, 0x4f, 0x13, 0x4f, + 0x14, 0xee, 0x96, 0xd2, 0xc0, 0x23, 0xbf, 0x1f, 0x30, 0x54, 0x5c, 0x36, 0x58, 0x9a, 0x4d, 0x84, + 0x82, 0xb2, 0x1b, 0x6a, 0x8c, 0x86, 0x78, 0x91, 0x10, 0x4c, 0x8c, 0x1a, 0xac, 0x5e, 0xf4, 0x62, + 0xa6, 0xbb, 0xe3, 0x32, 0xa1, 0xbb, 0xb3, 0xec, 0x6c, 0xb1, 0x84, 0x70, 0x31, 0x9e, 0x8d, 0x89, + 0xde, 0xf5, 0xec, 0xc5, 0x7f, 0x83, 0x23, 0x89, 0x17, 0x4f, 0xc6, 0x80, 0x31, 0xfe, 0x19, 0x66, + 0x67, 0xa6, 0xdd, 0x05, 0x5a, 0xca, 0xa9, 0xf3, 0xde, 0xfb, 0xde, 0xf7, 0xbe, 0xf7, 0x66, 0xe7, + 0x15, 0xae, 0xd1, 0x36, 0xb3, 0x63, 0xb6, 0x4d, 0x02, 0x7b, 0x77, 0xa5, 0x41, 0x62, 0xbc, 0x62, + 0xef, 0xb4, 0x48, 0xb4, 0x67, 0x85, 0x11, 0x8b, 0x19, 0x9a, 0xa4, 0x6d, 0x66, 0x89, 0xb0, 0xa5, + 0xc2, 0x46, 0xc9, 0x63, 0x1e, 0x13, 0x51, 0x3b, 0x39, 0x49, 0xa0, 0x31, 0xeb, 0x31, 0xe6, 0x35, + 0x89, 0x8d, 0x43, 0x6a, 0xe3, 0x20, 0x60, 0x31, 0x8e, 0x29, 0x0b, 0xb8, 0x8a, 0xf6, 0xa8, 0x22, + 0x49, 0x65, 0x78, 0xc9, 0x61, 0xdc, 0x67, 0xdc, 0x6e, 0x60, 0x4e, 0x64, 0xf9, 0x2e, 0x2c, 0xc4, + 0x1e, 0x0d, 0x04, 0x97, 0xc4, 0x9a, 0x25, 0x40, 0x4f, 0x13, 0xc4, 0x26, 0x8e, 0xb0, 0xcf, 0xeb, + 0x64, 0xa7, 0x45, 0x78, 0x6c, 0x3e, 0x81, 0xa9, 0x53, 0x5e, 0x1e, 0xb2, 0x80, 0x13, 0x74, 0x07, + 0x8a, 0xa1, 0xf0, 0xe8, 0x5a, 0x45, 0xab, 0x8e, 0xd5, 0x66, 0xac, 0x73, 0xfd, 0x58, 0x32, 0x65, + 0xad, 0x70, 0xf8, 0x73, 0x2e, 0x57, 0x57, 0x70, 0xf3, 0x0d, 0x5c, 0x11, 0x7c, 0xcf, 0x13, 0xe8, + 0x23, 0xca, 0x63, 0x55, 0x08, 0x6d, 0x00, 0xa4, 0x92, 0x14, 0xeb, 0xbc, 0x25, 0xf5, 0x5b, 0x89, + 0x7e, 0x4b, 0x8e, 0x2f, 0x65, 0xf7, 0x88, 0xca, 0xad, 0x67, 0x32, 0xd1, 0x34, 0x14, 0x7d, 0x1a, + 0xc4, 0x24, 0xd2, 0xf3, 0x15, 0xad, 0x3a, 0x5a, 0x57, 0x96, 0xf9, 0x59, 0x83, 0xe9, 0xb3, 0x95, + 0x55, 0x33, 0x0f, 0x7a, 0x94, 0x5e, 0x18, 0x58, 0x5a, 0x26, 0x9f, 0xaa, 0x7d, 0x0f, 0x46, 0xc5, + 0x08, 0xd6, 0x99, 0xc3, 0xf5, 0x7c, 0x65, 0xa8, 0x3a, 0x56, 0xd3, 0x7b, 0x0c, 0x46, 0x28, 0x50, + 0x73, 0x49, 0x13, 0xcc, 0x17, 0x50, 0x4a, 0x05, 0xae, 0x33, 0xa7, 0x33, 0x99, 0xb4, 0x23, 0x2d, + 0xdb, 0x11, 0x5a, 0x84, 0x09, 0x87, 0x05, 0x71, 0x84, 0x9d, 0xf8, 0x15, 0x76, 0xdd, 0x88, 0x70, + 0xae, 0x7a, 0x1e, 0xef, 0xf8, 0xef, 0x4b, 0xb7, 0xf9, 0x2c, 0x3b, 0x75, 0x41, 0xad, 0x5a, 0x5f, + 0x85, 0x91, 0x8e, 0x00, 0xd5, 0xf8, 0x20, 0xc1, 0x5d, 0xbc, 0x79, 0x03, 0x66, 0x52, 0xd2, 0xc7, + 0x24, 0xc6, 0x2e, 0x8e, 0x71, 0x47, 0xf4, 0xff, 0x90, 0xa7, 0xae, 0x12, 0x9c, 0xa7, 0xae, 0xf9, + 0x47, 0x03, 0xa3, 0x17, 0x5a, 0xe9, 0x40, 0x50, 0x08, 0xb0, 0x4f, 0x54, 0x82, 0x38, 0xa3, 0x0a, + 0x8c, 0xb9, 0x84, 0x3b, 0x11, 0x0d, 0xc5, 0xbd, 0xc8, 0xd6, 0xb2, 0x2e, 0x64, 0xc0, 0x88, 0x4b, + 0x1c, 0xea, 0xe3, 0x26, 0xd7, 0x87, 0x44, 0xb8, 0x6b, 0xa3, 0x12, 0x0c, 0x53, 0x1f, 0x7b, 0x44, + 0x2f, 0x88, 0x80, 0x34, 0x84, 0x37, 0x70, 0x49, 0x5b, 0x1f, 0x56, 0xde, 0xc4, 0x40, 0x0f, 0x01, + 0xc2, 0x88, 0x85, 0x24, 0x8a, 0x29, 0xe1, 0x7a, 0x51, 0xcc, 0x61, 0xa9, 0xdf, 0x1c, 0x3a, 0xda, + 0x37, 0xbb, 0x19, 0xf5, 0x4c, 0xb6, 0xf9, 0x4d, 0x83, 0xab, 0x7d, 0x70, 0x49, 0x75, 0xa7, 0x89, + 0x39, 0x57, 0x6d, 0x4a, 0x03, 0x95, 0x01, 0x1c, 0xd6, 0x6c, 0x12, 0x27, 0xd3, 0x66, 0xc6, 0x83, + 0x26, 0x60, 0xc8, 0xc1, 0xa1, 0x6a, 0x30, 0x39, 0xa2, 0x0d, 0x18, 0x6f, 0xd2, 0x60, 0x9b, 0xb8, + 0x75, 0xc2, 0x59, 0x2b, 0x72, 0x08, 0xd7, 0x0b, 0xe2, 0x6b, 0x9b, 0xed, 0x27, 0x7a, 0x3d, 0x19, + 0xf6, 0xd9, 0xa4, 0xd5, 0xc2, 0xdf, 0x2f, 0x73, 0x5a, 0xed, 0x6b, 0x01, 0x86, 0xc5, 0xd5, 0xa0, + 0x08, 0x8a, 0xf2, 0xd1, 0xa2, 0xeb, 0x3d, 0x88, 0xce, 0x6f, 0x07, 0x63, 0x7e, 0x10, 0x4c, 0x5e, + 0xaf, 0x39, 0xf3, 0xf6, 0xfb, 0xef, 0x8f, 0xf9, 0x29, 0x34, 0x69, 0xa7, 0xfb, 0x4a, 0x2e, 0x04, + 0xf4, 0x5e, 0x83, 0xff, 0x4e, 0xcd, 0x0b, 0xdd, 0xec, 0x47, 0xda, 0xeb, 0x43, 0x33, 0x96, 0x2f, + 0x89, 0x56, 0x4a, 0x2a, 0x42, 0x89, 0x81, 0xf4, 0x8c, 0x12, 0x5f, 0x81, 0xec, 0x7d, 0xea, 0x1e, + 0xa0, 0x77, 0x1a, 0x8c, 0x76, 0x77, 0x04, 0xaa, 0x5e, 0x48, 0x9f, 0x59, 0x60, 0xc6, 0xe2, 0x25, + 0x90, 0x4a, 0x84, 0x29, 0x44, 0xcc, 0x22, 0x23, 0x2b, 0x42, 0x3c, 0x6a, 0x7b, 0x5f, 0xfe, 0x1e, + 0xa0, 0x4f, 0x1a, 0x8c, 0x74, 0x9e, 0x2b, 0x5a, 0xb8, 0x90, 0x3b, 0xdd, 0x15, 0x46, 0x75, 0x30, + 0x50, 0x69, 0xb8, 0x2d, 0x34, 0xd8, 0x68, 0xb9, 0xbf, 0x06, 0x7b, 0xff, 0xec, 0x7e, 0x39, 0x58, + 0xab, 0x1f, 0x1e, 0x97, 0xb5, 0xa3, 0xe3, 0xb2, 0xf6, 0xeb, 0xb8, 0xac, 0x7d, 0x38, 0x29, 0xe7, + 0x8e, 0x4e, 0xca, 0xb9, 0x1f, 0x27, 0xe5, 0xdc, 0xcb, 0xbb, 0x1e, 0x8d, 0xb7, 0x5a, 0x0d, 0xcb, + 0x61, 0x7e, 0x42, 0xf9, 0x9a, 0xb5, 0x02, 0x57, 0xac, 0xc5, 0xc4, 0x5a, 0x6e, 0x34, 0x99, 0xb3, + 0xed, 0x6c, 0x61, 0x1a, 0xd8, 0xbb, 0x35, 0xbb, 0xad, 0x0a, 0xc6, 0x7b, 0x21, 0xe1, 0x8d, 0xa2, + 0xf8, 0x03, 0xba, 0xf5, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x59, 0x2a, 0xf4, 0x33, 0x07, 0x00, + 0x00, } func (this *TokenMetadataProperties) Equal(that interface{}) bool { diff --git a/x/token/types/token.go b/x/token/types/token.go index a56dfcc2..24602629 100644 --- a/x/token/types/token.go +++ b/x/token/types/token.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" - iidtypes "github.com/ixofoundation/ixo-blockchain/x/iid/types" - "github.com/ixofoundation/ixo-blockchain/x/token/types/contracts/ixo1155" + iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" + "github.com/ixofoundation/ixo-blockchain/v2/x/token/types/contracts/ixo1155" ) var ( diff --git a/x/token/types/token.pb.go b/x/token/types/token.pb.go index 9d0b8f5f..7f8b905c 100644 --- a/x/token/types/token.pb.go +++ b/x/token/types/token.pb.go @@ -511,48 +511,49 @@ func init() { func init() { proto.RegisterFile("ixo/token/v1beta1/token.proto", fileDescriptor_5772c07022bd1ddf) } var fileDescriptor_5772c07022bd1ddf = []byte{ - // 656 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xcd, 0x4e, 0x14, 0x31, - 0x1c, 0xdf, 0x61, 0x3f, 0x60, 0x0b, 0x08, 0x56, 0x34, 0x8d, 0xc1, 0x61, 0xb3, 0x17, 0xf1, 0xc0, - 0x4e, 0x16, 0xc3, 0x85, 0x78, 0x10, 0x30, 0xf1, 0x28, 0x99, 0xe8, 0xc5, 0x0b, 0xe9, 0xb6, 0x65, - 0xa9, 0xcc, 0xb4, 0x93, 0xb6, 0xa3, 0x4b, 0xbc, 0xf9, 0x04, 0x3e, 0x81, 0xf1, 0x05, 0x7c, 0x07, - 0x8f, 0x1c, 0x39, 0x1a, 0x0f, 0xc4, 0xc0, 0xc5, 0xc7, 0x30, 0xfd, 0x98, 0xdd, 0x45, 0x42, 0x62, - 0x88, 0xa7, 0xe9, 0xef, 0xf7, 0xff, 0xe8, 0xef, 0xff, 0xd1, 0x01, 0x8f, 0xf8, 0x48, 0x26, 0x46, - 0x1e, 0x33, 0x91, 0xbc, 0xef, 0x0f, 0x98, 0xc1, 0x7d, 0x8f, 0x7a, 0x85, 0x92, 0x46, 0xc2, 0xbb, - 0x7c, 0x24, 0x7b, 0x9e, 0x08, 0xe6, 0x87, 0x2b, 0x43, 0x39, 0x94, 0xce, 0x9a, 0xd8, 0x93, 0x77, - 0xec, 0x3e, 0x03, 0xad, 0x7d, 0xac, 0x70, 0xae, 0xe1, 0x26, 0xb8, 0xcf, 0x47, 0xb2, 0xdf, 0xdf, - 0xda, 0x3a, 0x20, 0x52, 0x18, 0x85, 0x89, 0x39, 0x20, 0x92, 0x32, 0x14, 0x75, 0xa2, 0xf5, 0x46, - 0x7a, 0x2f, 0x18, 0xf7, 0x82, 0x6d, 0x4f, 0x52, 0xd6, 0xfd, 0xd4, 0x00, 0xcd, 0xd7, 0xf6, 0x16, - 0xf8, 0x00, 0xb4, 0x72, 0x2e, 0x0c, 0x53, 0xce, 0xbd, 0x9d, 0x06, 0x04, 0x9f, 0x80, 0xe5, 0x71, - 0x36, 0x4c, 0xa9, 0x62, 0x5a, 0xa3, 0x19, 0xe7, 0xb1, 0x54, 0xf1, 0x3b, 0x9e, 0x86, 0x2b, 0xa0, - 0x49, 0x32, 0xac, 0x35, 0xaa, 0x3b, 0xbb, 0x07, 0x10, 0x82, 0x86, 0xc0, 0x39, 0x43, 0x0d, 0x47, - 0xba, 0x33, 0xec, 0x80, 0x79, 0xca, 0x34, 0x51, 0xbc, 0x30, 0x5c, 0x0a, 0xd4, 0x74, 0xa6, 0x69, - 0xca, 0xe6, 0xe2, 0x39, 0x1e, 0x32, 0xd4, 0xf2, 0xb9, 0x1c, 0xb0, 0xb9, 0xcc, 0x49, 0xc1, 0xd0, - 0xac, 0xcf, 0x65, 0xcf, 0x70, 0x07, 0xd4, 0x09, 0x2e, 0xd0, 0x9c, 0xa5, 0x76, 0x93, 0xd3, 0xf3, - 0xb5, 0xda, 0xcf, 0xf3, 0xb5, 0xc7, 0x43, 0x6e, 0x8e, 0xca, 0x41, 0x8f, 0xc8, 0x3c, 0x21, 0x52, - 0xe7, 0x52, 0x87, 0xcf, 0x86, 0xa6, 0xc7, 0x89, 0x8d, 0xd3, 0xbd, 0x37, 0x5c, 0x98, 0xd4, 0xc6, - 0xc2, 0x97, 0xa0, 0xa5, 0xcb, 0xa2, 0xc8, 0x4e, 0x50, 0xfb, 0x76, 0x59, 0x42, 0xb8, 0x6d, 0x62, - 0x81, 0x4b, 0xcd, 0x28, 0x02, 0x9d, 0x68, 0x7d, 0x2e, 0x0d, 0x08, 0x22, 0x30, 0xab, 0x8d, 0x2c, - 0x0a, 0x46, 0xd1, 0xbc, 0x33, 0x54, 0x10, 0x6e, 0x83, 0x59, 0xc5, 0x0c, 0x57, 0x8c, 0xa2, 0x85, - 0x4e, 0x7d, 0x7d, 0x7e, 0xb3, 0xd3, 0xbb, 0x36, 0xf9, 0x9e, 0x9b, 0x90, 0x4e, 0xbd, 0x5f, 0x5a, - 0x05, 0xc0, 0xe7, 0xa0, 0x4d, 0xb0, 0x20, 0x2c, 0xcb, 0x18, 0x45, 0x8b, 0x2e, 0xba, 0x7b, 0x63, - 0xf4, 0x5e, 0xe5, 0x99, 0x4e, 0x82, 0xb6, 0x1b, 0xbf, 0xbf, 0xae, 0x45, 0xdd, 0xef, 0x11, 0x58, - 0xbc, 0x72, 0x05, 0xbc, 0x03, 0x66, 0x38, 0x0d, 0x8b, 0x30, 0xc3, 0xa9, 0xad, 0x4b, 0x31, 0xac, - 0xa5, 0x08, 0xa3, 0x0f, 0x08, 0x76, 0xc1, 0xc2, 0xbb, 0x52, 0x71, 0x4d, 0x39, 0x71, 0x83, 0xf4, - 0x83, 0xbf, 0xc2, 0xd9, 0xe6, 0xe2, 0x5c, 0x96, 0xc2, 0xf8, 0x0d, 0xb8, 0x45, 0x73, 0x7d, 0xb8, - 0x5d, 0x09, 0xf9, 0x41, 0x30, 0x15, 0xd6, 0xc5, 0x83, 0x50, 0xc2, 0x97, 0x08, 0x2c, 0xfd, 0x55, - 0xe7, 0x3f, 0x17, 0x31, 0x11, 0x58, 0xff, 0x4f, 0x02, 0x1b, 0xd7, 0x05, 0x7e, 0xab, 0x04, 0xee, - 0x2b, 0x59, 0x30, 0x65, 0x38, 0xd3, 0xd7, 0x04, 0xda, 0x9d, 0x17, 0x94, 0x8d, 0x82, 0x3e, 0x0f, - 0xc6, 0xef, 0xa7, 0x3e, 0xf5, 0x7e, 0x62, 0x00, 0x88, 0xcc, 0x32, 0xe6, 0xbb, 0xee, 0xaf, 0x9b, - 0x62, 0xe0, 0x36, 0x68, 0xbb, 0x1d, 0x78, 0x81, 0x0d, 0x46, 0x4d, 0xb7, 0x19, 0xab, 0x37, 0x6d, - 0x86, 0xf5, 0x49, 0x27, 0xee, 0x41, 0xef, 0x47, 0xd0, 0x1e, 0x5b, 0xe1, 0x32, 0xa8, 0x97, 0x8a, - 0x07, 0xa5, 0xf6, 0x08, 0x57, 0x41, 0x9b, 0x09, 0xa2, 0x4e, 0x0a, 0xc3, 0xa8, 0x93, 0x3b, 0x97, - 0x4e, 0x08, 0x5b, 0x48, 0xa1, 0xa4, 0x3c, 0xac, 0x7e, 0x04, 0x0e, 0x8c, 0x1f, 0x6f, 0x63, 0xea, - 0xf1, 0xfa, 0x16, 0x34, 0xab, 0x16, 0xf8, 0xcb, 0x77, 0x5f, 0x9d, 0x5e, 0xc4, 0xd1, 0xd9, 0x45, - 0x1c, 0xfd, 0xba, 0x88, 0xa3, 0xcf, 0x97, 0x71, 0xed, 0xec, 0x32, 0xae, 0xfd, 0xb8, 0x8c, 0x6b, - 0x6f, 0xb7, 0xa6, 0x66, 0xc2, 0x47, 0xf2, 0x50, 0x96, 0x82, 0x62, 0x5b, 0xb2, 0x45, 0x1b, 0x83, - 0x4c, 0x92, 0x63, 0x72, 0x84, 0xb9, 0x48, 0x46, 0xe1, 0xdf, 0xea, 0xc6, 0x34, 0x68, 0xb9, 0x7f, - 0xe5, 0xd3, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x33, 0xc8, 0xcb, 0x62, 0x75, 0x05, 0x00, 0x00, + // 660 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0x4d, 0x4f, 0x14, 0x3f, + 0x1c, 0xde, 0x61, 0x5f, 0x60, 0x0b, 0xfc, 0xe1, 0x5f, 0xd1, 0x34, 0x06, 0x87, 0xcd, 0x5e, 0xc4, + 0x03, 0x3b, 0x59, 0x0c, 0x89, 0x21, 0x1e, 0x04, 0x4c, 0xbc, 0x92, 0x89, 0x5e, 0xbc, 0x90, 0x6e, + 0x5b, 0x96, 0xca, 0x4c, 0x3b, 0x69, 0x3b, 0xb8, 0xc4, 0x9b, 0x9f, 0xc0, 0x4f, 0x60, 0xfc, 0x02, + 0x7e, 0x07, 0x8f, 0x1c, 0x39, 0x1a, 0x0f, 0xc4, 0xc0, 0xc5, 0x8f, 0x61, 0xfa, 0x32, 0xbb, 0x8b, + 0x84, 0xc4, 0x10, 0x4f, 0xd3, 0xe7, 0xf9, 0xbd, 0xf4, 0xf9, 0xbd, 0x74, 0xc0, 0x23, 0x3e, 0x92, + 0x89, 0x91, 0xc7, 0x4c, 0x24, 0x27, 0xfd, 0x01, 0x33, 0xb8, 0xef, 0x51, 0xaf, 0x50, 0xd2, 0x48, + 0xf8, 0x3f, 0x1f, 0xc9, 0x9e, 0x27, 0x82, 0xf9, 0xe1, 0xca, 0x50, 0x0e, 0xa5, 0xb3, 0x26, 0xf6, + 0xe4, 0x1d, 0xbb, 0xcf, 0x41, 0x6b, 0x1f, 0x2b, 0x9c, 0x6b, 0xb8, 0x09, 0xee, 0xf3, 0x91, 0xec, + 0xf7, 0xb7, 0xb6, 0x0e, 0x88, 0x14, 0x46, 0x61, 0x62, 0x0e, 0x88, 0xa4, 0x0c, 0x45, 0x9d, 0x68, + 0xbd, 0x91, 0xde, 0x0b, 0xc6, 0xbd, 0x60, 0xdb, 0x93, 0x94, 0x75, 0x3f, 0x36, 0x40, 0xf3, 0xb5, + 0xbd, 0x05, 0x3e, 0x00, 0xad, 0x9c, 0x0b, 0xc3, 0x94, 0x73, 0x6f, 0xa7, 0x01, 0xc1, 0x27, 0x60, + 0x79, 0x9c, 0x0d, 0x53, 0xaa, 0x98, 0xd6, 0x68, 0xc6, 0x79, 0x2c, 0x55, 0xfc, 0x8e, 0xa7, 0xe1, + 0x0a, 0x68, 0x92, 0x0c, 0x6b, 0x8d, 0xea, 0xce, 0xee, 0x01, 0x84, 0xa0, 0x21, 0x70, 0xce, 0x50, + 0xc3, 0x91, 0xee, 0x0c, 0x3b, 0x60, 0x9e, 0x32, 0x4d, 0x14, 0x2f, 0x0c, 0x97, 0x02, 0x35, 0x9d, + 0x69, 0x9a, 0xb2, 0xb9, 0x78, 0x8e, 0x87, 0x0c, 0xb5, 0x7c, 0x2e, 0x07, 0x6c, 0x2e, 0x73, 0x5a, + 0x30, 0x34, 0xeb, 0x73, 0xd9, 0x33, 0xdc, 0x01, 0x75, 0x82, 0x0b, 0x34, 0x67, 0xa9, 0xdd, 0xe4, + 0xec, 0x62, 0xad, 0xf6, 0xe3, 0x62, 0xed, 0xf1, 0x90, 0x9b, 0xa3, 0x72, 0xd0, 0x23, 0x32, 0x4f, + 0x88, 0xd4, 0xb9, 0xd4, 0xe1, 0xb3, 0xa1, 0xe9, 0x71, 0x62, 0xe3, 0x74, 0xef, 0x0d, 0x17, 0x26, + 0xb5, 0xb1, 0xf0, 0x15, 0x68, 0xe9, 0xb2, 0x28, 0xb2, 0x53, 0xd4, 0xbe, 0x5b, 0x96, 0x10, 0x6e, + 0x9b, 0x58, 0xe0, 0x52, 0x33, 0x8a, 0x40, 0x27, 0x5a, 0x9f, 0x4b, 0x03, 0x82, 0x08, 0xcc, 0x6a, + 0x23, 0x8b, 0x82, 0x51, 0x34, 0xef, 0x0c, 0x15, 0x84, 0xdb, 0x60, 0x56, 0x31, 0xc3, 0x15, 0xa3, + 0x68, 0xa1, 0x53, 0x5f, 0x9f, 0xdf, 0xec, 0xf4, 0x6e, 0x4c, 0xbe, 0xe7, 0x26, 0xa4, 0x53, 0xef, + 0x97, 0x56, 0x01, 0xf0, 0x05, 0x68, 0x13, 0x2c, 0x08, 0xcb, 0x32, 0x46, 0xd1, 0xa2, 0x8b, 0xee, + 0xde, 0x1a, 0xbd, 0x57, 0x79, 0xa6, 0x93, 0xa0, 0xed, 0xc6, 0xaf, 0x2f, 0x6b, 0x51, 0xf7, 0x5b, + 0x04, 0x16, 0xaf, 0x5d, 0x01, 0xff, 0x03, 0x33, 0x9c, 0x86, 0x45, 0x98, 0xe1, 0xd4, 0xd6, 0xa5, + 0x18, 0xd6, 0x52, 0x84, 0xd1, 0x07, 0x04, 0xbb, 0x60, 0xe1, 0x5d, 0xa9, 0xb8, 0xa6, 0x9c, 0xb8, + 0x41, 0xfa, 0xc1, 0x5f, 0xe3, 0x6c, 0x73, 0x71, 0x2e, 0x4b, 0x61, 0xfc, 0x06, 0xdc, 0xa1, 0xb9, + 0x3e, 0xdc, 0xae, 0x84, 0x7c, 0x2f, 0x98, 0x0a, 0xeb, 0xe2, 0x41, 0x28, 0xe1, 0x73, 0x04, 0x96, + 0xfe, 0xa8, 0xf3, 0xaf, 0x8b, 0x98, 0x08, 0xac, 0xff, 0x23, 0x81, 0x8d, 0x9b, 0x02, 0xbf, 0x56, + 0x02, 0xf7, 0x95, 0x2c, 0x98, 0x32, 0x9c, 0xe9, 0x1b, 0x02, 0xed, 0xce, 0x0b, 0xca, 0x46, 0x41, + 0x9f, 0x07, 0xe3, 0xf7, 0x53, 0x9f, 0x7a, 0x3f, 0x31, 0x00, 0x44, 0x66, 0x19, 0xf3, 0x5d, 0xf7, + 0xd7, 0x4d, 0x31, 0x70, 0x1b, 0xb4, 0xdd, 0x0e, 0xbc, 0xc4, 0x06, 0xa3, 0xa6, 0xdb, 0x8c, 0xd5, + 0xdb, 0x36, 0xc3, 0xfa, 0xa4, 0x13, 0xf7, 0xa0, 0xf7, 0x03, 0x68, 0x8f, 0xad, 0x70, 0x19, 0xd4, + 0x4b, 0xc5, 0x83, 0x52, 0x7b, 0x84, 0xab, 0xa0, 0xcd, 0x04, 0x51, 0xa7, 0x85, 0x61, 0xd4, 0xc9, + 0x9d, 0x4b, 0x27, 0x84, 0x2d, 0xa4, 0x50, 0x52, 0x1e, 0x56, 0x3f, 0x02, 0x07, 0xc6, 0x8f, 0xb7, + 0x31, 0xf5, 0x78, 0x7d, 0x0b, 0x9a, 0x55, 0x0b, 0xfc, 0xe5, 0xbb, 0xe9, 0xd9, 0x65, 0x1c, 0x9d, + 0x5f, 0xc6, 0xd1, 0xcf, 0xcb, 0x38, 0xfa, 0x74, 0x15, 0xd7, 0xce, 0xaf, 0xe2, 0xda, 0xf7, 0xab, + 0xb8, 0xf6, 0xf6, 0xd9, 0xd4, 0x4c, 0xf8, 0x48, 0x1e, 0xca, 0x52, 0x50, 0x6c, 0x4b, 0xb6, 0x68, + 0x63, 0x90, 0x49, 0x72, 0x4c, 0x8e, 0x30, 0x17, 0xc9, 0xc9, 0x66, 0x32, 0x0a, 0xbf, 0x57, 0x37, + 0xa9, 0x41, 0xcb, 0xfd, 0x2e, 0x9f, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x57, 0xaa, 0xbc, 0xad, + 0x78, 0x05, 0x00, 0x00, } func (this *Token) Equal(that interface{}) bool { diff --git a/x/token/types/tx.pb.go b/x/token/types/tx.pb.go index 5bf290c9..ef6505bf 100644 --- a/x/token/types/tx.pb.go +++ b/x/token/types/tx.pb.go @@ -10,8 +10,8 @@ import ( _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" - _ "github.com/ixofoundation/ixo-blockchain/x/iid/types" - github_com_ixofoundation_ixo_blockchain_x_iid_types "github.com/ixofoundation/ixo-blockchain/x/iid/types" + _ "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" + github_com_ixofoundation_ixo_blockchain_v2_x_iid_types "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -36,7 +36,7 @@ type MsgCreateToken struct { // address of minter Minter string `protobuf:"bytes,1,opt,name=minter,proto3" json:"minter,omitempty"` // class is the token protocol entity DID (validated) - Class github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment `protobuf:"bytes,2,opt,name=class,proto3,casttype=github.com/ixofoundation/ixo-blockchain/x/iid/types.DIDFragment" json:"class,omitempty"` + Class github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment `protobuf:"bytes,2,opt,name=class,proto3,casttype=github.com/ixofoundation/ixo-blockchain/v2/x/iid/types.DIDFragment" json:"class,omitempty"` // name is the token name, which must be unique (namespace) Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // description is any arbitrary description @@ -90,7 +90,7 @@ func (m *MsgCreateToken) GetMinter() string { return "" } -func (m *MsgCreateToken) GetClass() github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment { +func (m *MsgCreateToken) GetClass() github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment { if m != nil { return m.Class } @@ -913,62 +913,62 @@ func init() { func init() { proto.RegisterFile("ixo/token/v1beta1/tx.proto", fileDescriptor_bb958a4ae6c01cf1) } var fileDescriptor_bb958a4ae6c01cf1 = []byte{ - // 868 bytes of a gzipped FileDescriptorProto + // 869 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xcf, 0xda, 0xb1, 0xc1, 0x2f, 0x6d, 0x29, 0xa3, 0x60, 0x96, 0x55, 0x63, 0x9b, 0xe5, 0xd0, - 0x54, 0xa8, 0x5e, 0xb5, 0xa8, 0x17, 0x38, 0xa0, 0xa6, 0x11, 0x88, 0x83, 0x05, 0x2c, 0xa9, 0x04, - 0xf4, 0x10, 0x8d, 0x77, 0x27, 0x9b, 0xa9, 0xbd, 0x33, 0xab, 0x9d, 0x31, 0xb8, 0x07, 0xce, 0x5c, - 0xb9, 0x72, 0xe3, 0xc0, 0x17, 0xe0, 0x5b, 0xf4, 0xd8, 0x23, 0xe2, 0x10, 0x41, 0x72, 0xe1, 0x33, - 0x70, 0x42, 0xf3, 0xc7, 0xeb, 0x31, 0xf1, 0x36, 0xad, 0x48, 0x4f, 0x9e, 0xf7, 0xde, 0x6f, 0xde, - 0xfb, 0xcd, 0xef, 0xbd, 0x19, 0x2f, 0x04, 0x74, 0xce, 0x23, 0xc9, 0x27, 0x84, 0x45, 0xdf, 0xdd, - 0x19, 0x13, 0x89, 0xef, 0x44, 0x72, 0x3e, 0x2c, 0x4a, 0x2e, 0x39, 0x7a, 0x93, 0xce, 0xf9, 0x50, - 0xc7, 0x86, 0x36, 0x16, 0x6c, 0x67, 0x3c, 0xe3, 0x3a, 0x1a, 0xa9, 0x95, 0x01, 0x06, 0xef, 0xa8, - 0x24, 0x94, 0xa6, 0x55, 0x0a, 0x4a, 0x53, 0x1b, 0xda, 0x59, 0x93, 0x5f, 0x67, 0x34, 0xe1, 0x7e, - 0xc6, 0x79, 0x36, 0x25, 0x91, 0xb6, 0xc6, 0xb3, 0xa3, 0x48, 0xd2, 0x9c, 0x08, 0x89, 0xf3, 0xc2, - 0x00, 0xc2, 0xdf, 0x1a, 0x70, 0x6d, 0x24, 0xb2, 0x07, 0x25, 0xc1, 0x92, 0x1c, 0xa8, 0x9d, 0xa8, - 0x0b, 0xed, 0x9c, 0x32, 0x49, 0x4a, 0xdf, 0x1b, 0x78, 0xbb, 0x9d, 0xd8, 0x5a, 0xe8, 0x1b, 0x68, - 0x25, 0x53, 0x2c, 0x84, 0xdf, 0x50, 0xee, 0xbd, 0x07, 0xff, 0x9c, 0xf4, 0x3f, 0xce, 0xa8, 0x3c, - 0x9e, 0x8d, 0x87, 0x09, 0xcf, 0x23, 0x3a, 0xe7, 0x47, 0x7c, 0xc6, 0x52, 0x2c, 0x29, 0x67, 0xca, - 0xba, 0x3d, 0x9e, 0xf2, 0x64, 0x92, 0x1c, 0x63, 0xca, 0xa2, 0xb9, 0xa6, 0x2f, 0x9f, 0x14, 0x44, - 0x0c, 0xf7, 0x3f, 0xdb, 0xff, 0xa4, 0xc4, 0x59, 0x4e, 0x98, 0x8c, 0x4d, 0x46, 0x84, 0x60, 0x93, - 0xe1, 0x9c, 0xf8, 0x4d, 0x5d, 0x50, 0xaf, 0xd1, 0x00, 0xb6, 0x52, 0x22, 0x92, 0x92, 0x16, 0x2a, - 0xa1, 0xbf, 0xa9, 0x43, 0xae, 0x0b, 0x6d, 0x43, 0x8b, 0xe6, 0x38, 0x23, 0x7e, 0x4b, 0xc7, 0x8c, - 0x81, 0x76, 0x00, 0xb4, 0x02, 0x87, 0xaa, 0x9a, 0xdf, 0xd6, 0xa1, 0x8e, 0xf6, 0x1c, 0x3c, 0x29, - 0x08, 0xba, 0x0f, 0xcd, 0x04, 0x17, 0xfe, 0x6b, 0xfa, 0x0c, 0xd1, 0xd3, 0x93, 0xfe, 0xc6, 0x1f, - 0x27, 0xfd, 0x9b, 0xce, 0x39, 0x12, 0x2e, 0x72, 0x2e, 0xec, 0xcf, 0x6d, 0x91, 0x4e, 0x2c, 0xed, - 0x87, 0x94, 0xc9, 0x58, 0xed, 0x0d, 0x7d, 0xe8, 0xae, 0x4a, 0x16, 0x13, 0x51, 0x70, 0x26, 0x48, - 0xf8, 0xab, 0x07, 0x57, 0x46, 0x22, 0x1b, 0x51, 0x26, 0x9f, 0xaf, 0xe5, 0x2d, 0xb8, 0x9e, 0x70, - 0x26, 0x4b, 0x9c, 0xc8, 0x43, 0x9c, 0xa6, 0x25, 0x59, 0xc8, 0x1a, 0xbf, 0xb1, 0xf0, 0xdf, 0x37, - 0x6e, 0x75, 0x4a, 0xfe, 0x3d, 0x23, 0xa5, 0x15, 0xc7, 0x18, 0xe8, 0x23, 0x00, 0x95, 0xea, 0x70, - 0x8c, 0x65, 0x72, 0xec, 0x6f, 0x0e, 0x9a, 0xbb, 0x5b, 0x77, 0x6f, 0x0c, 0xcf, 0x0d, 0xd4, 0x50, - 0x51, 0xd9, 0x53, 0x98, 0xb8, 0x93, 0x2f, 0x96, 0xe1, 0x5f, 0x1e, 0x74, 0xaa, 0x40, 0x25, 0xbe, - 0xe7, 0x88, 0xaf, 0xa4, 0x65, 0x29, 0x99, 0x5b, 0x52, 0xc6, 0x40, 0x9f, 0x42, 0x1b, 0xe7, 0x7c, - 0xc6, 0xa4, 0xe1, 0xf2, 0xf2, 0xf2, 0xd9, 0xed, 0xa8, 0x07, 0x90, 0xf0, 0xe9, 0x94, 0x24, 0x4e, - 0x6b, 0x1d, 0x8f, 0x3a, 0x9d, 0xe9, 0x61, 0x8a, 0x25, 0xf6, 0x5b, 0xb5, 0xa7, 0xd3, 0x22, 0xef, - 0x63, 0x89, 0x6d, 0x87, 0xd5, 0xf2, 0xc3, 0xcd, 0xbf, 0x7f, 0xe9, 0x7b, 0x61, 0x17, 0xb6, 0xdd, - 0x4e, 0x54, 0x2d, 0xfa, 0x01, 0xae, 0x8f, 0x44, 0x76, 0x50, 0x62, 0x26, 0x8e, 0x48, 0x69, 0xba, - 0x54, 0x49, 0xec, 0xb9, 0x12, 0xdf, 0x80, 0x4e, 0x49, 0x12, 0x5a, 0x50, 0xc2, 0xa4, 0xd5, 0x61, - 0xe9, 0x40, 0xf7, 0xa0, 0xad, 0x4b, 0x0a, 0xbf, 0xa9, 0xe9, 0xed, 0xd4, 0xd1, 0x33, 0xea, 0x5b, - 0x70, 0x18, 0x80, 0xff, 0xdf, 0xf2, 0x15, 0xb5, 0x09, 0xc0, 0x72, 0x07, 0xba, 0x06, 0x0d, 0x9a, - 0x5a, 0x46, 0x0d, 0x9a, 0x3a, 0xe2, 0x37, 0xfe, 0x97, 0xf8, 0x56, 0x9f, 0x9f, 0x3d, 0x7d, 0xf1, - 0x63, 0x22, 0x69, 0x49, 0x9e, 0x27, 0xc3, 0xf2, 0xa0, 0x8d, 0x97, 0x38, 0x28, 0x0a, 0xe1, 0xca, - 0xe3, 0x59, 0x49, 0x45, 0x4a, 0x4d, 0x93, 0xcd, 0xf4, 0xae, 0xf8, 0xd4, 0xed, 0x28, 0x09, 0x16, - 0xd5, 0x08, 0x58, 0xcb, 0x5e, 0x30, 0x87, 0x5a, 0x25, 0xd1, 0xcc, 0xbc, 0x56, 0x98, 0x25, 0x64, - 0xfa, 0x0a, 0x48, 0x2f, 0x09, 0x35, 0xd7, 0x10, 0x72, 0xca, 0x56, 0x84, 0x1e, 0xc3, 0xd5, 0x91, - 0xc8, 0xbe, 0xc0, 0x33, 0x41, 0x2e, 0xed, 0xc6, 0x77, 0xa1, 0x5d, 0xa8, 0x84, 0xa9, 0x66, 0xf1, - 0x7a, 0x6c, 0xad, 0xf0, 0x6d, 0x78, 0x6b, 0xa5, 0x56, 0x45, 0xe2, 0x4b, 0xfd, 0xea, 0x7c, 0x25, - 0x79, 0x71, 0x59, 0x1c, 0xec, 0xf5, 0xa9, 0x52, 0x2e, 0x4a, 0xdd, 0xfd, 0xb1, 0x05, 0xcd, 0x91, - 0xc8, 0xd0, 0x23, 0xd8, 0x72, 0xff, 0x33, 0xde, 0x5d, 0xf7, 0xf4, 0xac, 0xbc, 0x91, 0xc1, 0xad, - 0x0b, 0x21, 0x8b, 0x22, 0xe8, 0xa1, 0x79, 0x9e, 0x4c, 0xea, 0xfe, 0xfa, 0x7d, 0x15, 0x20, 0xb8, - 0x79, 0x01, 0xa0, 0x4a, 0x8b, 0xe1, 0xea, 0xea, 0xbd, 0x7f, 0x6f, 0xfd, 0xce, 0x15, 0x50, 0xf0, - 0xfe, 0x0b, 0x80, 0xaa, 0x12, 0x8f, 0x60, 0xcb, 0xbd, 0x51, 0x35, 0xb2, 0x38, 0x90, 0x3a, 0x59, - 0xd6, 0x0c, 0xbf, 0xd6, 0xdc, 0x99, 0xfc, 0x3a, 0xcd, 0x97, 0x90, 0x5a, 0xcd, 0xcf, 0x0f, 0x32, - 0xfa, 0x1a, 0xc0, 0x99, 0xe2, 0xc1, 0xfa, 0x8d, 0x4b, 0x44, 0xb0, 0x7b, 0x11, 0xc2, 0xed, 0xe6, - 0x72, 0x34, 0x6b, 0xba, 0x59, 0x01, 0xea, 0xba, 0x79, 0x6e, 0x12, 0xf7, 0x3e, 0x7f, 0x7a, 0xda, - 0xf3, 0x9e, 0x9d, 0xf6, 0xbc, 0x3f, 0x4f, 0x7b, 0xde, 0x4f, 0x67, 0xbd, 0x8d, 0x67, 0x67, 0xbd, - 0x8d, 0xdf, 0xcf, 0x7a, 0x1b, 0xdf, 0xde, 0x7b, 0xf1, 0xaf, 0x12, 0xf3, 0xe5, 0xa4, 0x1f, 0xc9, - 0x71, 0x5b, 0x7f, 0x11, 0x7d, 0xf0, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x69, 0xb2, 0xf6, 0x7f, - 0xb3, 0x09, 0x00, 0x00, + 0x14, 0xcf, 0xda, 0xb1, 0xc1, 0x2f, 0x6d, 0x29, 0xa3, 0x10, 0x96, 0x55, 0x63, 0x9b, 0xe5, 0xd0, + 0x54, 0xa8, 0x5e, 0x35, 0x08, 0x09, 0xc1, 0xa9, 0x26, 0x2a, 0xe2, 0x60, 0x09, 0x96, 0x54, 0x42, + 0x14, 0x29, 0x1a, 0xef, 0x4e, 0x36, 0x53, 0x7b, 0x67, 0x56, 0x3b, 0xe3, 0xe2, 0x1e, 0x38, 0x73, + 0xe5, 0xca, 0x8d, 0x03, 0x1f, 0x81, 0x0f, 0xd1, 0x63, 0x8f, 0x88, 0x43, 0x04, 0xc9, 0x85, 0xcf, + 0xc0, 0x09, 0xcd, 0x1f, 0xaf, 0xc7, 0xc4, 0xdb, 0x10, 0xd1, 0x9e, 0x3c, 0xef, 0xcf, 0xbc, 0xf7, + 0x7b, 0xbf, 0xf7, 0xde, 0x78, 0x21, 0xa0, 0x73, 0x1e, 0x49, 0x3e, 0x21, 0x2c, 0x7a, 0x72, 0x6f, + 0x4c, 0x24, 0xbe, 0x17, 0xc9, 0xf9, 0xa0, 0x28, 0xb9, 0xe4, 0xe8, 0x4d, 0x3a, 0xe7, 0x03, 0x6d, + 0x1b, 0x58, 0x5b, 0xb0, 0x9d, 0xf1, 0x8c, 0x6b, 0x6b, 0xa4, 0x4e, 0xc6, 0x31, 0x78, 0x47, 0x05, + 0xa1, 0x34, 0xad, 0x42, 0x50, 0x9a, 0x5a, 0xd3, 0xee, 0x9a, 0xf8, 0x3a, 0xa2, 0x31, 0xf7, 0x32, + 0xce, 0xb3, 0x29, 0x89, 0xb4, 0x34, 0x9e, 0x1d, 0x47, 0x92, 0xe6, 0x44, 0x48, 0x9c, 0x17, 0xc6, + 0x21, 0xfc, 0xb5, 0x01, 0x37, 0x46, 0x22, 0xfb, 0xb4, 0x24, 0x58, 0x92, 0x43, 0x75, 0x13, 0xed, + 0x40, 0x3b, 0xa7, 0x4c, 0x92, 0xd2, 0xf7, 0xfa, 0xde, 0x5e, 0x27, 0xb6, 0x12, 0xfa, 0x16, 0x5a, + 0xc9, 0x14, 0x0b, 0xe1, 0x37, 0x94, 0x7a, 0xf8, 0xe0, 0xef, 0xd3, 0xde, 0x30, 0xa3, 0xf2, 0x64, + 0x36, 0x1e, 0x24, 0x3c, 0x8f, 0xe8, 0x9c, 0x1f, 0xf3, 0x19, 0x4b, 0xb1, 0xa4, 0x9c, 0x29, 0xe9, + 0xee, 0x78, 0xca, 0x93, 0x49, 0x72, 0x82, 0x29, 0x8b, 0x9e, 0xec, 0x47, 0x73, 0x5d, 0x81, 0x7c, + 0x5a, 0x10, 0x31, 0x38, 0xf8, 0xfc, 0xe0, 0x41, 0x89, 0xb3, 0x9c, 0x30, 0x19, 0x9b, 0xa0, 0x08, + 0xc1, 0x26, 0xc3, 0x39, 0xf1, 0x9b, 0x3a, 0xa7, 0x3e, 0xa3, 0x3e, 0x6c, 0xa5, 0x44, 0x24, 0x25, + 0x2d, 0x54, 0x4c, 0x7f, 0x53, 0x9b, 0x5c, 0x15, 0xda, 0x86, 0x16, 0xcd, 0x71, 0x46, 0xfc, 0x96, + 0xb6, 0x19, 0x01, 0xed, 0x02, 0x68, 0x12, 0x8e, 0x54, 0x36, 0xbf, 0xad, 0x4d, 0x1d, 0xad, 0x39, + 0x7c, 0x5a, 0x10, 0x74, 0x1f, 0x9a, 0x09, 0x2e, 0xfc, 0xd7, 0x74, 0x19, 0xd1, 0xb3, 0xd3, 0xde, + 0xc6, 0xef, 0xa7, 0xbd, 0xdb, 0x4e, 0x29, 0x09, 0x17, 0x39, 0x17, 0xf6, 0xe7, 0xae, 0x48, 0x27, + 0x16, 0xf6, 0x43, 0xca, 0x64, 0xac, 0xee, 0x86, 0x3e, 0xec, 0xac, 0xb2, 0x16, 0x13, 0x51, 0x70, + 0x26, 0x48, 0xf8, 0x8b, 0x07, 0xd7, 0x46, 0x22, 0x1b, 0x51, 0x26, 0x5f, 0x4c, 0xe7, 0x1d, 0xb8, + 0x99, 0x70, 0x26, 0x4b, 0x9c, 0xc8, 0x23, 0x9c, 0xa6, 0x25, 0x59, 0x30, 0x1b, 0xbf, 0xb1, 0xd0, + 0xdf, 0x37, 0x6a, 0x55, 0x25, 0xff, 0x8e, 0x91, 0xd2, 0x92, 0x63, 0x04, 0xf4, 0x09, 0x80, 0x0a, + 0x75, 0x34, 0xc6, 0x32, 0x39, 0xf1, 0x37, 0xfb, 0xcd, 0xbd, 0xad, 0xfd, 0x5b, 0x83, 0x0b, 0x33, + 0x35, 0x50, 0x50, 0x86, 0xca, 0x27, 0xee, 0xe4, 0x8b, 0x63, 0xf8, 0xa7, 0x07, 0x9d, 0xca, 0x50, + 0x91, 0xef, 0x39, 0xe4, 0x2b, 0x6a, 0x59, 0x4a, 0xe6, 0x16, 0x94, 0x11, 0xd0, 0x67, 0xd0, 0xc6, + 0x39, 0x9f, 0x31, 0x69, 0xb0, 0x5c, 0x9d, 0x3e, 0x7b, 0x1d, 0x75, 0x01, 0x12, 0x3e, 0x9d, 0x92, + 0xc4, 0x69, 0xad, 0xa3, 0x51, 0xd5, 0x99, 0x1e, 0xa6, 0x58, 0x62, 0xbf, 0x55, 0x5b, 0x9d, 0x26, + 0xf9, 0x00, 0x4b, 0x6c, 0x3b, 0xac, 0x8e, 0x1f, 0x6f, 0xfe, 0xf5, 0x73, 0xcf, 0x0b, 0x77, 0x60, + 0xdb, 0xed, 0x44, 0xd5, 0xa2, 0xef, 0xe1, 0xe6, 0x48, 0x64, 0x87, 0x25, 0x66, 0xe2, 0x98, 0x94, + 0xa6, 0x4b, 0x15, 0xc5, 0x9e, 0x4b, 0xf1, 0x2d, 0xe8, 0x94, 0x24, 0xa1, 0x05, 0x25, 0x4c, 0x5a, + 0x1e, 0x96, 0x0a, 0xf4, 0x21, 0xb4, 0x75, 0x4a, 0xe1, 0x37, 0x35, 0xbc, 0xdd, 0x3a, 0x78, 0x86, + 0x7d, 0xeb, 0x1c, 0x06, 0xe0, 0xff, 0x3b, 0x7d, 0x05, 0x6d, 0x02, 0xb0, 0xbc, 0x81, 0x6e, 0x40, + 0x83, 0xa6, 0x16, 0x51, 0x83, 0xa6, 0x0e, 0xf9, 0x8d, 0xff, 0x45, 0xbe, 0xe5, 0xe7, 0x27, 0x4f, + 0xef, 0x7e, 0x4c, 0x24, 0x2d, 0xc9, 0x8b, 0x68, 0x58, 0x16, 0xda, 0xb8, 0x42, 0xa1, 0x28, 0x84, + 0x6b, 0x8f, 0x67, 0x25, 0x15, 0x29, 0x35, 0x4d, 0x36, 0xd3, 0xbb, 0xa2, 0x53, 0xdb, 0x51, 0x12, + 0x2c, 0xaa, 0x11, 0xb0, 0x92, 0x5d, 0x30, 0x07, 0x5a, 0x45, 0xd1, 0xcc, 0x3c, 0x58, 0x98, 0x25, + 0x64, 0xfa, 0x0a, 0x40, 0x2f, 0x01, 0x35, 0xd7, 0x00, 0x72, 0xd2, 0x56, 0x80, 0x1e, 0xc3, 0xf5, + 0x91, 0xc8, 0xbe, 0xc0, 0x33, 0x41, 0x5e, 0xda, 0xc6, 0xef, 0x40, 0xbb, 0x50, 0x01, 0x53, 0x8d, + 0xe2, 0xf5, 0xd8, 0x4a, 0xe1, 0xdb, 0xf0, 0xd6, 0x4a, 0xae, 0x0a, 0xc4, 0x97, 0xfa, 0xd5, 0xf9, + 0x4a, 0xf2, 0xe2, 0x65, 0x61, 0xb0, 0xeb, 0x53, 0x85, 0x5c, 0xa4, 0xda, 0xff, 0xa1, 0x05, 0xcd, + 0x91, 0xc8, 0xd0, 0x23, 0xd8, 0x72, 0xff, 0x36, 0xde, 0x5d, 0xf7, 0xf4, 0xac, 0xbc, 0x91, 0xc1, + 0x9d, 0x4b, 0x5d, 0x16, 0x49, 0xd0, 0x43, 0xf3, 0x3c, 0x99, 0xd0, 0xbd, 0xf5, 0xf7, 0x2a, 0x87, + 0xe0, 0xf6, 0x25, 0x0e, 0x55, 0x58, 0x0c, 0xd7, 0x57, 0xf7, 0xfe, 0xbd, 0xf5, 0x37, 0x57, 0x9c, + 0x82, 0xf7, 0xff, 0x83, 0x53, 0x95, 0xe2, 0x11, 0x6c, 0xb9, 0x1b, 0x55, 0x43, 0x8b, 0xe3, 0x52, + 0x47, 0xcb, 0x9a, 0xe1, 0xd7, 0x9c, 0x3b, 0x93, 0x5f, 0xc7, 0xf9, 0xd2, 0xa5, 0x96, 0xf3, 0x8b, + 0x83, 0x8c, 0xbe, 0x06, 0x70, 0xa6, 0xb8, 0xbf, 0xfe, 0xe2, 0xd2, 0x23, 0xd8, 0xbb, 0xcc, 0xc3, + 0xed, 0xe6, 0x72, 0x34, 0x6b, 0xba, 0x59, 0x39, 0xd4, 0x75, 0xf3, 0xc2, 0x24, 0x0e, 0xe3, 0x67, + 0x67, 0x5d, 0xef, 0xf9, 0x59, 0xd7, 0xfb, 0xe3, 0xac, 0xeb, 0xfd, 0x78, 0xde, 0xdd, 0x78, 0x7e, + 0xde, 0xdd, 0xf8, 0xed, 0xbc, 0xbb, 0xf1, 0xcd, 0x47, 0x57, 0xfa, 0x30, 0x31, 0xdf, 0x4f, 0xfa, + 0x9d, 0x1c, 0xb7, 0xf5, 0x77, 0xd1, 0x07, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x39, 0xc6, 0x90, + 0x79, 0xb9, 0x09, 0x00, 0x00, } func (this *MintBatch) Equal(that interface{}) bool { @@ -2369,7 +2369,7 @@ func (m *MsgCreateToken) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Class = github_com_ixofoundation_ixo_blockchain_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) + m.Class = github_com_ixofoundation_ixo_blockchain_v2_x_iid_types.DIDFragment(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { From 643d6e965cf63b6dbe14e04ec0fd092a182c9db2 Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Wed, 11 Oct 2023 14:05:41 +0200 Subject: [PATCH 15/18] fix(cmd): fix halt-height param --- .gitignore | 3 +++ cmd/ixod/cmd/root.go | 2 +- docker-compose.yaml | 33 +++++++++++++++++---------------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 75ef7327..30f0a9c7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,6 @@ coverage.out dist .DS_STORE + +# docker-compose volume mapping for chain config and data +.data diff --git a/cmd/ixod/cmd/root.go b/cmd/ixod/cmd/root.go index c0645a76..a2c2176b 100755 --- a/cmd/ixod/cmd/root.go +++ b/cmd/ixod/cmd/root.go @@ -255,7 +255,7 @@ func newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts serverty wasmOpts, baseapp.SetPruning(pruningOpts), baseapp.SetMinGasPrices(cast.ToString(appOpts.Get(server.FlagMinGasPrices))), - baseapp.SetHaltHeight(cast.ToUint64(appOpts.Get(server.FlagHaltTime))), + baseapp.SetHaltHeight(cast.ToUint64(appOpts.Get(server.FlagHaltHeight))), baseapp.SetHaltTime(cast.ToUint64(appOpts.Get(server.FlagHaltTime))), baseapp.SetMinRetainBlocks(cast.ToUint64(appOpts.Get(server.FlagMinRetainBlocks))), baseapp.SetInterBlockCache(cache), diff --git a/docker-compose.yaml b/docker-compose.yaml index 0e9e93fc..dfb927e7 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,16 +1,16 @@ -version: "3.7" +version: '3.7' services: # nginx: - # image: nginx - # container_name: ixo_nginx - # restart: unless-stopped - # ports: - # - "80:8081" - # volumes: - # - .infra/nginx/devel.conf:/etc/nginx/conf.d/devel.conf - # links: - # - ixo-blockchain - # - ixo-swagger + # image: nginx + # container_name: ixo_nginx + # restart: unless-stopped + # ports: + # - "80:8081" + # volumes: + # - .infra/nginx/devel.conf:/etc/nginx/conf.d/devel.conf + # links: + # - ixo-blockchain + # - ixo-swagger # ixo-swagger: # container_name: ixo_swagger @@ -19,8 +19,8 @@ services: # environment: # - BASE_URL=/swagger # - SWAGGER_JSON=/api-docs/swagger.yaml - # ports: - # - "8090:8080" + # ports: + # - "8090:8080" # volumes: # - "./docs/static/openapi.yml:/api-docs/swagger.yaml" @@ -35,7 +35,8 @@ services: image: ixo-chain:devel restart: unless-stopped volumes: - - "./:/app" + - './:/app' + - '.data/:/root/.ixod' ports: - - "1317:1317" # API - - "26658:26657" # + - '1317:1317' # API + - '26658:26657' # From f4193c31eb73851aec7be091f2845183f2dd0c61 Mon Sep 17 00:00:00 2001 From: Michael-Ixo <113350374+Michael-Ixo@users.noreply.github.com> Date: Wed, 25 Oct 2023 10:28:58 +0200 Subject: [PATCH 16/18] Docs (#354) * chore(app): update module specs * chore(app): update module specs --- README.md | 10 +- proto/ixo/entity/v1beta1/tx.proto | 3 +- proto/ixo/token/v1beta1/token.proto | 2 +- x/bonds/bondingmath/alphabond.go.ignore | 227 - x/bonds/bondingmath/alphabond_test.go.ignore | 267 - x/bonds/bondingmath/old | 920 - x/bonds/client/rest/query.go | 266 - x/bonds/client/rest/rest.go | 23 - x/bonds/client/rest/tx.go | 514 - x/bonds/keeper/querier.go | 452 - x/bonds/spec/01_concepts.md | 69 +- x/bonds/spec/02_state.md | 4 +- x/bonds/spec/03_messages.md | 160 +- x/bonds/spec/04_end_block.md | 6 +- x/bonds/spec/05_events.md | 443 +- x/bonds/spec/06_params.md | 6 +- x/bonds/spec/README.md | 107 +- .../client/lcd/swagger-ui/favicon-16x16.png | Bin 445 -> 0 bytes .../client/lcd/swagger-ui/favicon-32x32.png | Bin 1141 -> 0 bytes x/bonds/spec/client/lcd/swagger-ui/index.html | 60 - .../lcd/swagger-ui/oauth2-redirect.html | 67 - .../lcd/swagger-ui/swagger-ui-bundle.js | 41776 ---------------- .../swagger-ui-standalone-preset.js | 13173 ----- .../spec/client/lcd/swagger-ui/swagger-ui.css | 3 - .../spec/client/lcd/swagger-ui/swagger.yaml | 893 - x/claims/spec/01_concepts.md | 97 + x/claims/spec/02_state.md | 406 + x/claims/spec/03_messages.md | 136 + x/claims/spec/04_events.md | 115 + x/claims/spec/05_params.md | 10 + x/claims/spec/06_future_improvements.md | 13 + x/claims/spec/README.md | 67 + x/claims/spec/assets/vc_graph.svg | 111 + x/claims/spec/assets/vc_life.svg | 81 + x/entity/spec/01_concepts.md | 43 + x/entity/spec/01_state.md | 29 - x/entity/spec/02_messages.md | 53 - x/entity/spec/02_state.md | 73 + x/entity/spec/03_messages.md | 157 + x/entity/spec/04_events.md | 115 + x/entity/spec/05_params.md | 9 + x/entity/spec/06_future_improvements.md | 5 + x/entity/spec/README.md | 49 +- x/iid/README.md | 144 - x/iid/spec/01_concepts.md | 106 + x/iid/spec/02_state.md | 295 +- x/iid/spec/03_messages.md | 397 + x/iid/spec/03_state_transitions.md | 623 - x/iid/spec/04_events.md | 31 + x/iid/spec/04_messages.md | 202 - x/iid/spec/05_params.md | 3 + x/iid/spec/06_future_improvements.md | 7 + x/iid/spec/README.md | 73 + x/iid/spec/assets/DID Module Tx process.svg | 63 - x/iid/spec/assets/DIDMetadata.puml | 8 - x/iid/spec/assets/DIDMetadata.svg | 18 - .../QueryDidDocumentResponse_Cosmos.puml | 38 - .../QueryDidDocumentResponse_Cosmos.svg | 46 - .../assets/QueryDidDocumentResponse_Key.puml | 42 - .../assets/QueryDidDocumentResponse_Key.svg | 52 - x/iid/spec/assets/did_doc.svg | 435 + x/token/spec/01_concepts.md | 51 + x/token/spec/01_state.md | 29 - x/token/spec/02_messages.md | 53 - x/token/spec/02_state.md | 184 + x/token/spec/03_messages.md | 181 + x/token/spec/04_events.md | 139 + x/token/spec/05_params.md | 7 + x/token/spec/06_future_improvements.md | 3 + x/token/spec/README.md | 68 +- 70 files changed, 3833 insertions(+), 60485 deletions(-) delete mode 100644 x/bonds/bondingmath/alphabond.go.ignore delete mode 100644 x/bonds/bondingmath/alphabond_test.go.ignore delete mode 100644 x/bonds/bondingmath/old delete mode 100644 x/bonds/client/rest/query.go delete mode 100644 x/bonds/client/rest/rest.go delete mode 100644 x/bonds/client/rest/tx.go delete mode 100644 x/bonds/keeper/querier.go delete mode 100644 x/bonds/spec/client/lcd/swagger-ui/favicon-16x16.png delete mode 100644 x/bonds/spec/client/lcd/swagger-ui/favicon-32x32.png delete mode 100644 x/bonds/spec/client/lcd/swagger-ui/index.html delete mode 100644 x/bonds/spec/client/lcd/swagger-ui/oauth2-redirect.html delete mode 100644 x/bonds/spec/client/lcd/swagger-ui/swagger-ui-bundle.js delete mode 100644 x/bonds/spec/client/lcd/swagger-ui/swagger-ui-standalone-preset.js delete mode 100644 x/bonds/spec/client/lcd/swagger-ui/swagger-ui.css delete mode 100644 x/bonds/spec/client/lcd/swagger-ui/swagger.yaml create mode 100644 x/claims/spec/01_concepts.md create mode 100644 x/claims/spec/02_state.md create mode 100644 x/claims/spec/03_messages.md create mode 100644 x/claims/spec/04_events.md create mode 100644 x/claims/spec/05_params.md create mode 100644 x/claims/spec/06_future_improvements.md create mode 100644 x/claims/spec/README.md create mode 100644 x/claims/spec/assets/vc_graph.svg create mode 100644 x/claims/spec/assets/vc_life.svg create mode 100644 x/entity/spec/01_concepts.md delete mode 100644 x/entity/spec/01_state.md delete mode 100644 x/entity/spec/02_messages.md create mode 100644 x/entity/spec/02_state.md create mode 100644 x/entity/spec/03_messages.md create mode 100644 x/entity/spec/04_events.md create mode 100644 x/entity/spec/05_params.md create mode 100644 x/entity/spec/06_future_improvements.md delete mode 100644 x/iid/README.md create mode 100644 x/iid/spec/01_concepts.md create mode 100644 x/iid/spec/03_messages.md delete mode 100644 x/iid/spec/03_state_transitions.md create mode 100644 x/iid/spec/04_events.md delete mode 100644 x/iid/spec/04_messages.md create mode 100644 x/iid/spec/05_params.md create mode 100644 x/iid/spec/06_future_improvements.md create mode 100644 x/iid/spec/README.md delete mode 100644 x/iid/spec/assets/DID Module Tx process.svg delete mode 100644 x/iid/spec/assets/DIDMetadata.puml delete mode 100644 x/iid/spec/assets/DIDMetadata.svg delete mode 100644 x/iid/spec/assets/QueryDidDocumentResponse_Cosmos.puml delete mode 100644 x/iid/spec/assets/QueryDidDocumentResponse_Cosmos.svg delete mode 100644 x/iid/spec/assets/QueryDidDocumentResponse_Key.puml delete mode 100644 x/iid/spec/assets/QueryDidDocumentResponse_Key.svg create mode 100644 x/iid/spec/assets/did_doc.svg create mode 100644 x/token/spec/01_concepts.md delete mode 100644 x/token/spec/01_state.md delete mode 100644 x/token/spec/02_messages.md create mode 100644 x/token/spec/02_state.md create mode 100644 x/token/spec/03_messages.md create mode 100644 x/token/spec/04_events.md create mode 100644 x/token/spec/05_params.md create mode 100644 x/token/spec/06_future_improvements.md diff --git a/README.md b/README.md index ae13006f..0e4c4399 100644 --- a/README.md +++ b/README.md @@ -14,12 +14,20 @@


    -The ixo Blockchain is a Layer 1 blockchain that runs on both Testnet and Mainnet. It is built using the [Cosmos SDK](https://docs.cosmos.network/main), [Tendermint](https://docs.tendermint.com/), and [IBC](https://ibc.cosmos.network/), and was one of the earliest networks to incorporate these technologies. The recent addition of [CosmWASM](https://github.com/CosmWasm/wasmd) in v0.19.3 demonstrates ixo's commitment to ongoing innovation and evolution. +The ixo Blockchain is a Layer 1 blockchain that runs on both Testnet and Mainnet. It is built using the [Cosmos SDK](https://docs.cosmos.network/main), [Tendermint](https://docs.tendermint.com/), and [IBC](https://ibc.cosmos.network/), and was one of the earliest networks to incorporate these technologies. Have a look at [go.mod](https://github.com/ixofoundation/ixo-blockchain/blob/main/go.mod) for specific dependencies and their most recent versions. The ixo Blockchain powers client applications for coordinating, financing and verifying impacts. The [Impacts Wallet](https://github.com/ixofoundation/ixo-Mobile-dev), [JAMBO](https://github.com/ixofoundation/jambo), and [Launchpad](https://github.com/ixofoundation/ixo-webclient) are examples of client applications that use the ixo Blockchain. The [Impacts SDK](https://www.npmjs.com/package/@ixo/impactxclient-sdk) makes it simple to interact with the ixo Blockchain. +Ixo has 5 custom cosmos modules which help to reach the Ixo goals and missions: + +- [Bonds](/x/bonds/spec/README.md) +- [Iid](/x/iid/spec/README.md) +- [Entity](/x/entity/spec/README.md) +- [Claims](/x/claims/spec/README.md) +- [Token](/x/token/spec/README.md) + ## 🤝 How to contribute If you are interested in contributing to the ixo Blockchain, you can start by reviewing the documentation on our [website](https://docs.ixo.foundation/ixo/developers). There are many opportunities to get involved, such as contributing code or participating in community discussions. diff --git a/proto/ixo/entity/v1beta1/tx.proto b/proto/ixo/entity/v1beta1/tx.proto index e0d009e3..9a4ea7f7 100644 --- a/proto/ixo/entity/v1beta1/tx.proto +++ b/proto/ixo/entity/v1beta1/tx.proto @@ -143,8 +143,7 @@ message MsgTransferEntity { message MsgTransferEntityResponse {} -// create a module account for an entity, account details will be added as a -// linkedEntity on entity iid doc where linkedEntity id is didfragment: did#name +// create a module account for an entity message MsgCreateEntityAccount { // entity id (did) to create account for string id = 1; diff --git a/proto/ixo/token/v1beta1/token.proto b/proto/ixo/token/v1beta1/token.proto index c6cf27bd..8b20c9d9 100644 --- a/proto/ixo/token/v1beta1/token.proto +++ b/proto/ixo/token/v1beta1/token.proto @@ -12,7 +12,7 @@ message Token { // address of minter string minter = 1; - // generated on token intiation through MsgSetupMinter + // generated on token initiation string contract_address = 2; // class is the token protocol entity DID (validated) string class = 3; diff --git a/x/bonds/bondingmath/alphabond.go.ignore b/x/bonds/bondingmath/alphabond.go.ignore deleted file mode 100644 index 9c4f4bae..00000000 --- a/x/bonds/bondingmath/alphabond.go.ignore +++ /dev/null @@ -1,227 +0,0 @@ -package bondingmath - -import ( - "fmt" - "math" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" -) - -type BondingAlgorithmV2 interface { - Init() - - CalculatePriceForTokens() - - CalculateTokensForPrice() -} - -func ConvertFloat64ToDec(f float64) (sdk.Dec, error) { - s := fmt.Sprintf("%.18f", f) - fmt.Println(f) - dec, err := sdk.NewDecFromStr(s) - if err != nil { - fmt.Println(err) - return sdk.Dec{}, err - } - return dec, nil -} - -type AlphabondV2 struct { - // Economics - _m float64 // CurrentSupply - _M float64 // Max Supply - _C float64 // Outcome Payment - _T float64 // Time to Maturity - _R float64 // Current Reserve - - // Issuance - _F float64 // Targeted Funding - _Fi float64 // Targeted Funding - _Mh float64 // Hatch Supply - _Ph float64 // Fixed hatch price - _Mi float64 // Hatch Supply - _APYmin float64 // Minimum APY - _APYavg float64 // Minimum APY - _APYmax float64 // Maximum APY - - // Initialization - _theta float64 // Theta - _a float64 // System Alpha - _a0 float64 // Initial System Alpha - _g float64 // System Gamma - _ap float64 // System Alpha Public - _ap0 float64 // Intial Alpha Public - _t float64 // Time - - _r float64 // Discounting rate - // _p1 sdk.Dec // Maximum Price - - _Pmin float64 // Minimum Price - _Pavg float64 // Average Price - _Pmax float64 // Maximum Price - - _kappa float64 - - _B float64 // Beta (Shape of the curve) -} - -func toPercentage(f float64, err error) (float64, error) { - if err != nil { - return f, err - } - return f / 100, err -} - -func (bond *AlphabondV2) Init(alphabond types.Bond) { - - bond._m, _ = alphabond.CurrentSupply.Amount.ToDec().Float64() - bond._M, _ = alphabond.MaxSupply.Amount.ToDec().Float64() - bond._C, _ = alphabond.OutcomePayment.ToDec().Float64() - //TODO: fix this to include many coins. - bond._R, _ = alphabond.CurrentReserve[0].Amount.ToDec().Float64() - - params := alphabond.FunctionParameters.AsMap() - bond._F, _ = params["Funding_Target"].Float64() - bond._Mh, _ = params["Hatch_Supply"].Float64() - bond._Ph, _ = params["Hatch_Price"].Float64() - bond._APYmax, _ = toPercentage(params["APY_MAX"].Float64()) - bond._APYmin, _ = toPercentage(params["APY_MIN"].Float64()) - bond._r, _ = toPercentage(params["DISCOUNT_RATE"].Float64()) - bond._T, _ = params["MATURITY"].Float64() - bond._g, _ = params["GAMMA"].Float64() - bond._theta, _ = toPercentage(params["THETA"].Float64()) - bond._ap0, _ = toPercentage(params["INITIAL_PUBLIC_ALPHA"].Float64()) - - bond._Mi = bond._M - bond._Mh - bond._Fi = bond._F - (bond._Mi * bond._Ph) - - bond._a0 = math.Exp(-1 * (bond._APYmin - bond._r) * bond._T) - - bond._ap, _ = func() (float64, error) { - if _paDec, exists := params["PUBLIC_ALPHA"]; exists { - _pa, err := _paDec.Float64() - return _pa, err - } else { - return bond._ap0, nil - } - }() - - bond._a, _ = func() (float64, error) { - if _aDec, exists := params["SYSTEM_ALPHA"]; exists { - _a, err := _aDec.Float64() - return _a, err - } else { - return bond._a0, nil - } - }() - - bond._t = 0 - - bond._kappa = (bond._a / bond._a0) * math.Exp(bond._r*bond._t) - - //TODO: work need here - - bond._Pavg = bond._kappa * bond._Fi / bond._Mi - bond._APYavg = -1 * (math.Log(bond._Pavg * bond._M / bond._C)) / bond._T - - // bond._Pmax = bond._M * bond._C - - bond._Pmax = bond._kappa * math.Exp(-1*bond._APYmin*bond._T) * (bond._C / bond._M) - bond._Pmin = bond._kappa * math.Exp(-1*bond._APYmax*bond._T) * (bond._C / bond._M) - - // bond.setCalculatedPavg() - // bond.setCalculatedAPYavg() - // bond.setCalculatedPmax() - - // bond.setCalculatedPmin() - bond._B = (bond._Pmax - bond._Pavg) / (bond._Pavg - bond._Pmin) - // bond.setCalculatedBeta() - fmt.Printf("%+v", bond) -} - -func calculateIssuance() { - -} - -func (bond *AlphabondV2) Pmax() { - -} - -func (bond *AlphabondV2) setCalculatedPavg() { - -} - -func (bond *AlphabondV2) setCalculatedPmin() { - -} - -// _B = (_Pmax - _Pmin) / (_Pavg - _Pmin) -func (bond *AlphabondV2) setCalculatedBeta() error { - bond._B = (bond._Pmax - bond._Pmin) / (bond._Pavg - bond._Pmin) - return nil -} - -func (bond *AlphabondV2) UpdateAlpha(_ap float64) error { - // recalulate := func() { - - // }() - // Constraints - if _ap < 0 { - return fmt.Errorf("alpha is smaller than 0 and must be greater than or equal to 0 and smaller than or equal to 1") - } - if _ap > 1 { - return fmt.Errorf("alpha is larger than 1 and must be greater than or equal to 0 and smaller than or equal to 1") - } - - gamma1 := bond._g * (1 - (1 / bond._a0)) / (1 - (1 / bond._ap0)) - fmt.Println("gamma1", gamma1) - alpha_new := func() float64 { - if _ap <= bond._ap0 { - fmt.Println("_ap <= bond._ap0", "true") - return bond._a0 * math.Pow((_ap/bond._ap0), gamma1) - } else { - fmt.Println("_ap <= bond._ap0", "false") - return 1 - (1-bond._a0)*math.Pow((1-_ap)/(1-bond._ap0), bond._g) - } - }() - fmt.Println("alpha_new", alpha_new) - bond._a = (bond._theta * alpha_new) + (1-bond._theta)*bond._a - - bond._kappa = (bond._a / bond._a0) * math.Exp(bond._r*bond._t) - bond._Pavg = bond._kappa * bond._Fi / bond._Mi - bond._APYavg = -1 * (math.Log(bond._Pavg * bond._M / bond._C)) / bond._T - bond._Pmax = bond._kappa * math.Exp(-1*bond._APYmin*bond._T) * (bond._C / bond._M) - bond._Pmin = bond._kappa * math.Exp(-1*bond._APYmax*bond._T) * (bond._C / bond._M) - bond._B = (bond._Pmax - bond._Pavg) / (bond._Pavg - bond._Pmin) - bond._ap = _ap - - fmt.Println("alpha", bond._a) - - return nil -} - -func (bond *AlphabondV2) CalculatePriceForTokens(price sdk.Coin) (sdk.DecCoin, error) { - // if !alphaBond.AlphaBond { - // return types.Price{}, errors.New("not an alpha bond") - // } - - _mh := float64(0) - // _dm, _ := price.Amount.ToDec().Float64() - calc := (bond._Mh - _mh) - dec, _ := ConvertFloat64ToDec(calc) - return sdk.NewDecCoinFromDec(price.Denom, dec), nil - -} - -func (bond *AlphabondV2) CalculateTokensForPrice(price sdk.Coin) (sdk.DecCoin, error) { - - // if !bond.AlphaBond { - // // return types.Price{}, errors.New("not an alpha bond") - // } - - _dm, _ := price.Amount.ToDec().Float64() - calc := (_dm * bond._Pmin) + (((bond._Mi * (bond._Pmax - bond._Pmin)) / (bond._B + 1)) * (math.Pow(((bond._m+_dm)/bond._Mi), (bond._B+1)) - math.Pow((bond._m/bond._M), (bond._B+1)))) - dec, _ := ConvertFloat64ToDec(calc) - return sdk.NewDecCoinFromDec(price.Denom, dec), nil -} diff --git a/x/bonds/bondingmath/alphabond_test.go.ignore b/x/bonds/bondingmath/alphabond_test.go.ignore deleted file mode 100644 index 1ab6997b..00000000 --- a/x/bonds/bondingmath/alphabond_test.go.ignore +++ /dev/null @@ -1,267 +0,0 @@ -package bondingmath - -import ( - "fmt" - "testing" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" -) - -type simFunc func(*AugmentedBondRevision1, AugmentedBondRevision1) (AugmentedBondRevision1, error) - -func buyToken(amount int64, stateF func(state AugmentedBondRevision1) AugmentedBondRevision1) func(*AugmentedBondRevision1, AugmentedBondRevision1) (AugmentedBondRevision1, error) { - return func(algo *AugmentedBondRevision1, state AugmentedBondRevision1) (AugmentedBondRevision1, error) { - priceCoin, _ := algo.CalculateTokensForPrice(sdk.NewInt64Coin("bond", amount)) - price, _ := priceCoin.Amount.Float64() - // fmt.Println("Buy price:", price) - algo._R = algo._R + price - algo._m = algo._m + float64(amount) - return stateF(state), nil - } -} - -func updateAlpha(publicAloha float64, stateF func(state AugmentedBondRevision1) AugmentedBondRevision1) func(*AugmentedBondRevision1, AugmentedBondRevision1) (AugmentedBondRevision1, error) { - return func(algo *AugmentedBondRevision1, state AugmentedBondRevision1) (AugmentedBondRevision1, error) { - algo.UpdateAlpha(publicAloha) - return stateF(state), nil - } -} - -func TestRejectBondCreation(t *testing.T) { - -} - -func TestBondWithoutMaturityOrAlphaUpdates(t *testing.T) { - - token := "bond" - reserveToken := "xusd" - alphaBond := types.Bond{ - Token: token, - FunctionParameters: []types.FunctionParam{ - types.NewFunctionParam("Funding_Target", sdk.NewDec(60000)), - types.NewFunctionParam("Hatch_Supply", sdk.NewDec(0)), - types.NewFunctionParam("Hatch_Price", sdk.NewDec(0)), - types.NewFunctionParam("APY_MAX", sdk.NewDec(150)), - types.NewFunctionParam("APY_MIN", sdk.NewDec(10)), - types.NewFunctionParam("MATURITY", sdk.NewDec(1)), - types.NewFunctionParam("DISCOUNT_RATE", sdk.NewDec(2)), - types.NewFunctionParam("GAMMA", sdk.NewDec(2)), - types.NewFunctionParam("THETA", sdk.NewDec(100)), - types.NewFunctionParam("INITIAL_PUBLIC_ALPHA", sdk.NewDec(50)), - }, - CurrentSupply: sdk.NewInt64Coin(token, 0), - Name: "Test Bond", - Description: "Description", - CreatorDid: "did:test:0000000000000", - ControllerDid: "did:test:0000000000000", - ReserveTokens: []string{}, - FunctionType: "augmented_bond_v2", - TxFeePercentage: sdk.ZeroDec(), - ExitFeePercentage: sdk.ZeroDec(), - FeeAddress: "address", - ReserveWithdrawalAddress: "address", - MaxSupply: sdk.NewInt64Coin(token, 60000), - OrderQuantityLimits: sdk.Coins{}, - SanityRate: sdk.ZeroDec(), - SanityMarginPercentage: sdk.ZeroDec(), - CurrentReserve: sdk.Coins{ - sdk.NewInt64Coin(reserveToken, 0), - }, - AvailableReserve: sdk.Coins{ - sdk.NewInt64Coin(reserveToken, 0), - }, - CurrentOutcomePaymentReserve: sdk.Coins{ - sdk.NewInt64Coin(reserveToken, 0), - }, - AllowSells: false, - AlphaBond: true, - AllowReserveWithdrawals: true, - OutcomePayment: sdk.NewInt(68100), - State: "OPEN", - BondDid: "did:test:0000000000000", - } - - // algo, _ := InitializeAugmentedBond(alphaBond) - fmt.Println(alphaBond) - // algo.UpdatePublicAlpha(0.5) - // algo.UpdateRivsion() - // algo.Export(alphaBond) - - algo := &AugmentedBondRevision1{} - err := algo.init(alphaBond) - - // // pbond, _ := algo.CalculatePriceForTokens(sdk.NewInt64Coin(reserveToken, 20000)) - // // fmt.Println("price for 20000 bond tokens:", pbond.Amount.String()) - - // // pxusd, _ := algo.CalculateTokensForPrice(sdk.NewInt64Coin(reserveToken, 4500)) - // // fmt.Println("price for 4500 xusd:", pxusd.Amount.String()) - - sim := []simFunc{ - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = 10000 - // state._R = state._R + 4199 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - updateAlpha(0.6, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - // state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(10000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - updateAlpha(0.7, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - // state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(1000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(1000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(1000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(1000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - updateAlpha(0.8, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - // state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(1000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(1000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(400, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(1000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - buyToken(1000, func(state AugmentedBondRevision1) AugmentedBondRevision1 { - state._m = state._m + 10000 - // state.price = 100000 - return state - }), - // updateAlpha(0.6, func(state AugmentedBondRevision1) { - // state.alpha = 0.6 - // return state - // }), - } - - handleSim := func(t *testing.T, algo *AugmentedBondRevision1, sim []simFunc) { - var nextState AugmentedBondRevision1 = *algo - var err error - - for _, f := range sim { - nextState, err = f(algo, nextState) - if err != nil { - t.Error(err) - } - fmt.Println() - // fmt.Printf("\nSIM: %+v\n", nextState) - // fmt.Println("SIM:", nextState == *algo) - fmt.Printf("ALGO: %+v\n", algo) - fmt.Printf("APYavg: %.2f\n", algo._APYavg) - } - } - - handleSim(t, algo, sim) -} - -func TestBondWithAlphaUpdatesButWithoutMaturity(t *testing.T) { - -} - -func TestBondWithMaturityButWithoutAlphaUpdates(t *testing.T) { - -} - -func TestBondWithAlphaUpdatesAndMaturity(t *testing.T) { - -} - -// 2.4 -// func TestFiGeatherthan0() {} -// func TestMiGeatherthan0() {} - -// func TestPmaxSmallerThanCoverM() {} - -// func Test_r_GreaterThanOrEqual0andSmallerThanAPYmin() {} -// func Test_IncomeIsAvaialbleDueToTime() {} diff --git a/x/bonds/bondingmath/old b/x/bonds/bondingmath/old deleted file mode 100644 index 5bed570e..00000000 --- a/x/bonds/bondingmath/old +++ /dev/null @@ -1,920 +0,0 @@ - - -// -------------------------------------------------------------------------------------------------------------------- -// type BondingAlgorithm -// type BondingAlgorithm[R AugmentedBond] struct{} - -// type AugmentedBond interface{} -// type AugmentedBondRevision1 BondingAlgorithm[AugmentedBond] - -// func (AugmentedBondRevision1) UpdatedAlpha() any - -// func (b BondingAlgorithm[R]) init() (BondingAlgorithm[R], error) { -// return BondingAlgorithm[R]{}, nil -// } - -// func (BondingAlgorithm[R]) recalculate() (BondingAlgorithm[R], error) { -// return BondingAlgorithm[R]{}, nil -// } - -// func InitializeBondingAlgorithm[A any](bond types.Bond) (BondingAlgorithm[A], error) { -// bondingAlgorithm := AugmentedBondRevision1{} -// return bondingAlgorithm.UpdatedAlpha(), nil - -// // bondFuncType := bond.FunctionType -// // bondParams := bond.FunctionParameters.AsMap() -// // bondFuncRevisionDec, err := getOrError(bondParams, "REVISION", fmt.Errorf("Unknown revision for bond %s", bond.BondDid)) -// // if err != nil { -// // return nil, err -// // } -// // algo, err := matchRevisionToImplementation[A](bondFuncType, bondFuncRevisionDec.TruncateInt64()) -// // if err != nil { -// // return nil, err -// // } -// // return algo.init() -// return nil, nil -// } - -// type BondingAlgorithm[A any, R any] interface { -// init() R -// recalculate() (A, error) -// } - -// type AugmentedBond[A any] interface { -// UpdateAlpha(any) A -// } - -// type AugmentedBondRevision1 BondingAlgorithm[any, any] - -// type AugmentedBondRevision1Algo struct { -// AugmentedBondRevision1 -// } - -// func (AugmentedBondRevision1Algo) init() any { -// return nil -// } - -// type Revision interface { -// } -// type BondingAlgorithm[A Revision] interface { -// AugmentedBond -// } - -// type AugmentedBond[R Revision] struct { - -// } - -// type ARevision1 struct { -// } - -// func (a *AugmentedBond[A]) init() (A, error) { - -// } - -func getOrError[A any](m map[string]A, key string, err error) (A, error) { - val, exists := m[key] - if !exists { - return *new(A), err - } - return val, nil -} - -// type BondingAlgorithm[A any] interface { -// // AugmentedBond[AugmentedBond] -// init() (A, error) -// recalculate() (A, error) -// // Apply(bond types.Bond) error -// } - -// type AugmentedBond[A AugmentedBond] interface { -// init() (A, error) -// recalculate() (A, error) -// UpdateAlpha() error -// } - -// func safeSetAndRecalculate[A BondingAlgorithm](a A, f func(a *A)) (A, error) { -// ba, err := func(a A) A { -// f(&a) -// return a -// }(a).recalculate() -// if err != nil { -// return a, err -// } -// return ba.(A), nil -// } - -// type AugmentedBondRevision1 struct { -// BondingAlgorithm[AugmentedBondRevision1] -// m float64 -// } - -// func (a AugmentedBondRevision1) init() (BondingAlgorithm, error) { -// return safeSetAndRecalculate(*new(AugmentedBondRevision1), func(aa *AugmentedBondRevision1) { -// aa.m = 1 -// }) -// } - -// func (a AugmentedBondRevision1) recalculate() (BondingAlgorithm, error) { -// a.m = 1 -// return a, nil -// } - -// func (a AugmentedBondRevision1) UpdateAlpha() (AugmentedBondRevision1, error) { -// return safeSetAndRecalculate(a, func(aa *AugmentedBondRevision1) { -// aa.m = 1 -// }) -// } - -// type AugmentedBondRevision2 struct { -// BondingAlgorithm -// m float64 -// } - -// // //TODO: Unit test this. -// func matchRevisionToImplementation[A BondingAlgorithm](_type string, revision int64) (A, error) { -// matchAlgoTypeAndRevision := func(at string, ar int64) bool { -// return at == _type && ar == int64(revision) -// } -// switch { -// default: -// return nil, fmt.Errorf("Unknown bonding algorithm type %s and revision %d", _type, revision) -// case matchAlgoTypeAndRevision("Augmented", 1): -// return *new(AugmentedBondRevision1), nil -// case matchAlgoTypeAndRevision("Augmented", 2): -// return *new(AugmentedBondRevision2), nil -// } -// } - -// func InitializeBondingAlgorithm[A BondingAlgorithm](bond types.Bond) (A, error) { -// bondFuncType := bond.FunctionType -// bondParams := bond.FunctionParameters.AsMap() -// bondFuncRevisionDec, err := getOrError(bondParams, "REVISION", fmt.Errorf("Unknown revision for bond %s", bond.BondDid)) -// if err != nil { -// return nil, err -// } - -// algo, err := matchRevisionToImplementation[A](bondFuncType, bondFuncRevisionDec.TruncateInt64()) -// if err != nil { -// return nil, err -// } - -// return algo.init() -// } - -// type BondingAlgorithm[A any] struct { -// params A -// } - -// func InitializeBondingAlgorithm[A any](bond types.Bond) { -// ba := BondingAlgorithm[A]{} -// ba.params.Init() -// } - -// type AugmentedBondRevision1 struct { -// m float64 -// } - -// type BondingAlgorithm interface { -// AugmentedBond - -// recalculate() error - -// Revision() int64 -// Type() string -// } - -// type AugmentedBond interface { -// } - -// type AugmentedBondRevision1 struct { -// } - -// func (ar AugmentedBondRevision1) UpdateAlpha(ap float64) { -// x, _ := setAndRecalculate(*ar, func(state any) (any, error) { -// return nil, nil -// }) -// } - -// type AugmentedBond interface { -// } - -// type AugmentedBondRevision1 int - -// func (AugmentedBondRevision1) Init() - -// func InitializeAugmentedBond(bond types.Bond) (AugmentedBond, error) { -// revision := 1 -// params := map[string]sdk.Dec{} - -// switch revision { -// case 1: -// AugmentedBond -// } - -// return nil, nil -// } - -// type AugmentedBondRevision1 struct { - -// // Economics -// _m float64 // CurrentSupply -// _M float64 // Max Supply -// _C float64 // Outcome Payment -// _T float64 // Time to Maturity -// _R float64 // Current Reserve - -// // Issuance -// _F float64 // Targeted Funding -// _Fi float64 // Targeted Funding -// _Mh float64 // Hatch Supply -// _Ph float64 // Fixed hatch price -// _Mi float64 // Hatch Supply -// _APYmin float64 // Minimum APY -// _APYavg float64 // Minimum APY -// _APYmax float64 // Maximum APY - -// // Initialization -// _theta float64 // Theta -// _a float64 // System Alpha -// _a0 float64 // Initial System Alpha -// _g float64 // System Gamma -// _ap float64 // System Alpha Public -// _ap0 float64 // Intial Alpha Public -// _t float64 // Time - -// _r float64 // Discounting rate -// // _p1 sdk.Dec // Maximum Price - -// _Pmin float64 // Minimum Price -// _Pavg float64 // Average Price -// _Pmax float64 // Maximum Price - -// _kappa float64 - -// _B float64 // Beta (Shape of the curve) - -// } - -// func (b *AugmentedBondRevision1) Init() { - -// } -// type AugmentedBond[R AugmentedBondRevision] struct { -// m -// } - -// type AugmentedBondRevision interface { -// init() -// updateAlpha() -// } - -// type AugmentedBondRevision1 struct { - -// } - -// func alphabondRev1() { -// // Economics -// _m float64 // CurrentSupply -// _M float64 // Max Supply -// _C float64 // Outcome Payment -// _T float64 // Time to Maturity -// _R float64 // Current Reserve - -// // Issuance -// _F float64 // Targeted Funding -// _Fi float64 // Targeted Funding -// _Mh float64 // Hatch Supply -// _Ph float64 // Fixed hatch price -// _Mi float64 // Hatch Supply -// _APYmin float64 // Minimum APY -// _APYavg float64 // Minimum APY -// _APYmax float64 // Maximum APY -// } - -// func (AugmentedBond[R]) Revision() int64 { return 1 } -// func (AugmentedBond[R]) Type() string { return "AugmentedBond" } - -// func test() { - -// var x BondingAlgorithm = AugmentedBondRevision1{} -// } - -// func (a BondingAlgorithm[A]) PricePerToken() { -// a.algorithm -// } - -// type BondingAlgorithmRevision interface { -// AugmentedBond -// Revision() int64 -// Type() -// } - -// type AugmentedBond interface { -// Init() (func(types.Bond) BondingAlgorithm[AugmentedBond], int64) -// Type() -// Revision() int64 -// UpdateAlpha() -// } - -// type AugmentedBondRevision1 struct { -// } - -// func (AugmentedBondRevision1) Init() (func(types.Bond) BondingAlgorithm[AugmentedBond], int64) { -// return func(bond types.Bond) BondingAlgorithm[AugmentedBond] { - -// } -// } - -// func (AugmentedBondRevision1) Type() -// func (AugmentedBondRevision1) Revision() int64 { return 1 } -// func (AugmentedBondRevision1) UpdateAlpha() - -// type AugmentedBondRevision2 struct { -// } - -// func (AugmentedBondRevision2) Init() (func(types.Bond) BondingAlgorithm[AugmentedBond], int64) { -// return func(bond types.Bond) BondingAlgorithm[AugmentedBond] { - -// } -// } - -// func (AugmentedBondRevision2) Type() -// func (AugmentedBondRevision2) Revision() int64 { return 1 } -// func (AugmentedBondRevision2) UpdateAlpha() - -// func InitializeAugmentedBond(bond types.Bond) (BondingAlgorithm[AugmentedBond], error) { - -// x := AugmentedBondRevision1{}.Init() -// y, rev := AugmentedBondRevision2{}.Init() - -// switch { -// case y, rev := AugmentedBondRevision2{}.Init(); rev == 0: -// } - -// // f := func(revision int64) AugmentedBond { -// // switch revision { -// // case AugmentedBondRevision1{}.Revision(): -// // return AugmentedBondRevision1{}.Init() -// // default: -// // return AugmentedBondRevision1{} -// // } -// // }(0) - -// return BondingAlgorithm[AugmentedBond]{}, nil -// } - -// func Test() { - -// y := AugmentedBond(AugmentedBondRevision1{}) - -// fmt.Println(y) - -// x, _ := InitializeAugmentedBond(types.Bond{}) - -// } - -// type BondingAlgorithm interface { -// Revision() int -// } - -// type AugmentedBond interface { -// BondingAlgorithm -// } - -// func recalculate[A BondingAlgorithm](a *A, f func(A) (A, error)) (A, error) { -// return f(*a) -// } - -// type AugmentedBondRevision1 struct { -// } - -// func (AugmentedBondRevision1) Revision() int { return 1 } - -// func (ab *AugmentedBondRevision1) UpdateAlpha() { -// ab, err = recalculate(ab, func(state AugmentedBondRevision1) { - -// }) -// if err != nil { -// return nil -// } -// ab = ab -// } - -// type BondingAlgorithm interface{} - -// func InitializeBondingAlgorithm[B any](bond B, f func(B) BondingAlgorithm) BondingAlgorithm { -// return f(bond) -// } - -// type AugmentedBond struct { -// BondingAlgorithm -// } - -// func (AugmentedBond) Init() func(types.Bond) BondingAlgorithm { -// return func(bb types.Bond) BondingAlgorithm { -// return AugmentedBond{} -// } -// } - -// func Test() { -// InitializeBondingAlgorithm(types.Bond{}, AugmentedBond{}.Init()) -// } - -// type BondingAlgorithmRevision interface { -// } - -// type BondingAlgorithm[R BondingAlgorithmRevision] interface { -// Revisions() []BondingAlgorithmRevision -// } - -// type AugmentedBondRevision interface { -// } - -// type AugmentedBond[R AugmentedBondRevision] struct { - -// } - -// func (a AugmentedBond[R]) Revisions() []R { -// []R{ - -// } -// } - -// type AugmentedBondRevision1 struct { -// } - -// func (x AugmentedBondRevision1) Revision() { - -// } - -// type AugmentedBondRevision2 struct{} - -// type AugmentedBondRevision interface { -// AugmentedBondRevision1 | AugmentedBondRevision2 -// Revision() -// } -// type AugmentedBond[R AugmentedBondRevision] func(R) struct { -// x string -// } - -// func Test[R AugmentedBondRevision](r R) { - -// } - -// func Test2() { -// Test(AugmentedBondRevision1{}) -// } - -// var t AugmentedBond[AugmentedBondRevision1] = func(a AugmentedBondRevision1) struct{ x string } { -// return struct{ x string }{ -// x: "", -// } -// } - -// func (ab AugmentedBond[R]) UpdateAlpha(pa float64) { -// rev := func() R { -// return R(AugmentedBondRevision1{}) -// }() -// y := ab(rev).x -// fmt.Println(y) -// // ab(x) - -// } - -// type AugmentedBondRevisionV1 struct { -// } - -// func (x AugmentedBondRevisionV1) Revision() { - -// } - -// type AugmentedBondRevisionV2 struct { -// } - -// type X struct { -// } - -// func (x X) Revision() { - -// } - -// type AugmentedBond interface { -// AugmentedBondRevisionV1 | AugmentedBondRevisionV2 -// Revision() -// } - -// func Upgrade[A AugmentedBond](a A) { - -// } - -// func Test() { - -// Upgrade(X{}) -// } - -// type BondingAlgorithm string - -// const AugmentedBond BondingAlgorithm = "augmented_bond" - -// type AlgorithmRevision interface{} - -// func Init(bond types.Bond) { - -// } - -// type X struct { -// AlgorithmRevision -// } - -// type BondFunction[A BondingAlgorithm, R AlgorithmRevision] interface { -// Revision() int64 -// GetPice() int64 -// } - -// type AlphaBond[A BondingAlgorithm, R AlgorithmRevision] func(A, R) - -// var AugmentedBond AlphaBond[BondingAlgorithm, X] = func(a BondingAlgorithm, r X) { - -// } - -// func (ab AlphaBond[A, R]) Revision() int64 { return 1 } -// func (ab AlphaBond[A, R]) GetPrice() int64 { ab(nil, nil) } - -// type AlgorithmRevision interface { -// Upgrade(func()) (AlgorithmRevision, error) -// } - -// type BondingAlgorithm interface { -// Revision() int64 -// Paramaters() map[string]string -// SetParamaters() error -// // UpdateToNextRevision(func(Rev[NRev]) (Rev, error)) (BondingAlgorithm[Rev, NRev], error) - -// CalculatePriceForTokens() (sdk.Coin, error) -// } - -// type AugBond[R AlgorithmRevision] struct { -// algorithmRevision R -// _m float64 // CurrentSupply -// _M float64 // Max Supply -// _R float64 // Current Reserve -// } - -// func (a AugBond[R]) Y(c R) - -// func InitializeAugmentedBond(bond types.Bond) (AugBond[AlgorithmRevision], error) { -// AugBond[AlgorithmRevision]{ -// algorithmRevision: func(revision int) { - -// }, -// } - -// if bond.FunctionType != types.AugmentedFunction { -// return AugBond[AlgorithmRevision]{}, fmt.Errorf("Unsupported bond revision") -// } - -// params := bond.FunctionParameters.AsMap() -// revision := params["revision"].TruncateInt64() - -// rev, _ := func(revision int64) (AlgorithmRevision, error) { -// // switch revision { -// // case 1: -// // return AugmentedBondRevision1{}, nil -// // case 2: -// // return AugmentedBondRevision2{}, nil -// // break -// // } -// return nil, fmt.Errorf("Unsupported bond revision") -// }(revision) - -// state := AugBond[AlgorithmRevision]{ -// // revision: revision, -// algorithmRevision: rev, -// } - -// // ab.algorithmRevision = rev.initalize() -// return state, nil -// } - -// // func InitializeBondingAlgorithm(bond *types.Bond) (BondingAlgorithm, error) { - -// // } - -// // func (b *AugBond[Rev, NRev]) UpdateToNextRevision(f func(Rev) (Rev, error)) (BondingAlgorithm[Rev, NRev], error) { -// // return nil, nil -// // } - -// func UpdateAlpha() - -// // type AugmentedBond[T AugmentedBondRevision] struct { -// // revision int64 -// // algorithmRevision T -// // _m float64 // CurrentSupply -// // _M float64 // Max Supply -// // _R float64 // Current Reserve -// // } - -// // type AugmentedBondRevision interface { -// // X() -// // } - -// // type InvalidRevision string - -// // func (InvalidRevision) X() {} - -// // type AugmentedBondRevision1 struct { -// // x, y float64 -// // } - -// // func (x AugmentedBondRevision1) X() {} - -// // type AugmentedBondRevision2 struct { -// // // Economics -// // _C float64 // Outcome Payment -// // _T float64 // Time to Maturity -// // _F float64 // Targeted Funding - -// // // Issuance -// // _Fi float64 // Targeted Funding -// // _Mi float64 // Hatch Supply -// // _Mh float64 // Hatch Supply -// // _Ph float64 // Fixed hatch price - -// // _APYmin float64 // Minimum APY -// // _APYavg float64 // Minimum APY -// // _APYmax float64 // Maximum APY - -// // // Initialization -// // _theta float64 // Theta -// // _a float64 // System Alpha -// // _a0 float64 // Initial System Alpha -// // _g float64 // System Gamma -// // _ap float64 // System Alpha Public -// // _ap0 float64 // Intial Alpha Public -// // _t float64 // Time - -// // _r float64 // Discounting rate -// // // _p1 sdk.Dec // Maximum Price - -// // _Pmin float64 // Minimum Price -// // _Pavg float64 // Average Price -// // _Pmax float64 // Maximum Price - -// // _kappa float64 - -// // _B float64 // Beta (Shape of the curve) -// // } - -// // func (x AugmentedBondRevision2) X() {} - -// // func recalculate() { - -// // } - -// // func InitializeAugmentedBond(bond types.Bond) (AugmentedBond[AugmentedBondRevision], error) { -// // if bond.FunctionType != types.AugmentedFunction { -// // return AugmentedBond[AugmentedBondRevision]{}, fmt.Errorf("Unsupported bond revision") -// // } - -// // params := bond.FunctionParameters.AsMap() -// // revision := params["revision"].TruncateInt64() - -// // rev, _ := func(revision int64) (AugmentedBondRevision, error) { -// // switch revision { -// // case 1: -// // return AugmentedBondRevision1{}, nil -// // case 2: -// // return AugmentedBondRevision2{}, nil -// // break -// // } -// // return nil, fmt.Errorf("Unsupported bond revision") -// // }(revision).initalize(params, ) - -// // state := AugmentedBond[AugmentedBondRevision]{ -// // revision: revision, -// // algorithmRevision: rev, -// // } - -// // // ab.algorithmRevision = rev.initalize() -// // return state, nil -// // } - -// // func (ab *AugmentedBond[AugmentedBondRevision]) Initialize(bond *types.Bond) error { -// // return nil -// // } - -// // func (ab *AugmentedBond) UpdatePublicAlpha() error { -// // return nil -// // } - -// // func (ab *AugmentedBond) Apply(bond *types.Bond) error { -// // return nil -// // } - -// // func ConvertFloat64ToDec(f float64) (sdk.Dec, error) { -// // s := fmt.Sprintf("%.18f", f) -// // fmt.Println(f) -// // dec, err := sdk.NewDecFromStr(s) -// // if err != nil { -// // fmt.Println(err) -// // return sdk.Dec{}, err -// // } -// // return dec, nil -// // } - -// // type AlphabondV2 struct { -// // // Economics -// // _m float64 // CurrentSupply -// // _M float64 // Max Supply -// // _C float64 // Outcome Payment -// // _T float64 // Time to Maturity -// // _R float64 // Current Reserve - -// // // Issuance -// // _F float64 // Targeted Funding -// // _Fi float64 // Targeted Funding -// // _Mh float64 // Hatch Supply -// // _Ph float64 // Fixed hatch price -// // _Mi float64 // Hatch Supply -// // _APYmin float64 // Minimum APY -// // _APYavg float64 // Minimum APY -// // _APYmax float64 // Maximum APY - -// // // Initialization -// // _theta float64 // Theta -// // _a float64 // System Alpha -// // _a0 float64 // Initial System Alpha -// // _g float64 // System Gamma -// // _ap float64 // System Alpha Public -// // _ap0 float64 // Intial Alpha Public -// // _t float64 // Time - -// // _r float64 // Discounting rate -// // // _p1 sdk.Dec // Maximum Price - -// // _Pmin float64 // Minimum Price -// // _Pavg float64 // Average Price -// // _Pmax float64 // Maximum Price - -// // _kappa float64 - -// // _B float64 // Beta (Shape of the curve) -// // } - -// // func toPercentage(f float64, err error) (float64, error) { -// // if err != nil { -// // return f, err -// // } -// // return f / 100, err -// // } - -// // func (bond *AlphabondV2) Init(alphabond types.Bond) { - -// // bond._m, _ = alphabond.CurrentSupply.Amount.ToDec().Float64() -// // bond._M, _ = alphabond.MaxSupply.Amount.ToDec().Float64() -// // bond._C, _ = alphabond.OutcomePayment.ToDec().Float64() -// // //TODO: fix this to include many coins. -// // bond._R, _ = alphabond.CurrentReserve[0].Amount.ToDec().Float64() - -// // params := alphabond.FunctionParameters.AsMap() -// // bond._F, _ = params["Funding_Target"].Float64() -// // bond._Mh, _ = params["Hatch_Supply"].Float64() -// // bond._Ph, _ = params["Hatch_Price"].Float64() -// // bond._APYmax, _ = toPercentage(params["APY_MAX"].Float64()) -// // bond._APYmin, _ = toPercentage(params["APY_MIN"].Float64()) -// // bond._r, _ = toPercentage(params["DISCOUNT_RATE"].Float64()) -// // bond._T, _ = params["MATURITY"].Float64() -// // bond._g, _ = params["GAMMA"].Float64() -// // bond._theta, _ = toPercentage(params["THETA"].Float64()) -// // bond._ap0, _ = toPercentage(params["INITIAL_PUBLIC_ALPHA"].Float64()) - -// // bond._Mi = bond._M - bond._Mh -// // bond._Fi = bond._F - (bond._Mi * bond._Ph) - -// // bond._a0 = math.Exp(-1 * (bond._APYmin - bond._r) * bond._T) - -// // bond._ap, _ = func() (float64, error) { -// // if _paDec, exists := params["PUBLIC_ALPHA"]; exists { -// // _pa, err := _paDec.Float64() -// // return _pa, err -// // } else { -// // return bond._ap0, nil -// // } -// // }() - -// // bond._a, _ = func() (float64, error) { -// // if _aDec, exists := params["SYSTEM_ALPHA"]; exists { -// // _a, err := _aDec.Float64() -// // return _a, err -// // } else { -// // return bond._a0, nil -// // } -// // }() - -// // bond._t = 0 - -// // bond._kappa = (bond._a / bond._a0) * math.Exp(bond._r*bond._t) - -// // //TODO: work need here - -// // bond._Pavg = bond._kappa * bond._Fi / bond._Mi -// // bond._APYavg = -1 * (math.Log(bond._Pavg * bond._M / bond._C)) / bond._T - -// // // bond._Pmax = bond._M * bond._C - -// // bond._Pmax = bond._kappa * math.Exp(-1*bond._APYmin*bond._T) * (bond._C / bond._M) -// // bond._Pmin = bond._kappa * math.Exp(-1*bond._APYmax*bond._T) * (bond._C / bond._M) - -// // // bond.setCalculatedPavg() -// // // bond.setCalculatedAPYavg() -// // // bond.setCalculatedPmax() - -// // // bond.setCalculatedPmin() -// // bond._B = (bond._Pmax - bond._Pavg) / (bond._Pavg - bond._Pmin) -// // // bond.setCalculatedBeta() -// // fmt.Printf("%+v", bond) -// // } - -// // func calculateIssuance() { - -// // } - -// // func (bond *AlphabondV2) Pmax() { - -// // } - -// // func (bond *AlphabondV2) setCalculatedPavg() { - -// // } - -// // func (bond *AlphabondV2) setCalculatedPmin() { - -// // } - -// // // _B = (_Pmax - _Pmin) / (_Pavg - _Pmin) -// // func (bond *AlphabondV2) setCalculatedBeta() error { -// // bond._B = (bond._Pmax - bond._Pmin) / (bond._Pavg - bond._Pmin) -// // return nil -// // } - -// // func (bond *AlphabondV2) UpdateAlpha(_ap float64) error { -// // recalulate := func() { - -// // }() -// // // Constraints -// // if _ap < 0 { -// // return fmt.Errorf("alpha is smaller than 0 and must be greater than or equal to 0 and smaller than or equal to 1") -// // } -// // if _ap > 1 { -// // return fmt.Errorf("alpha is larger than 1 and must be greater than or equal to 0 and smaller than or equal to 1") -// // } - -// // gamma1 := bond._g * (1 - (1 / bond._a0)) / (1 - (1 / bond._ap0)) -// // fmt.Println("gamma1", gamma1) -// // alpha_new := func() float64 { -// // if _ap <= bond._ap0 { -// // fmt.Println("_ap <= bond._ap0", "true") -// // return bond._a0 * math.Pow((_ap/bond._ap0), gamma1) -// // } else { -// // fmt.Println("_ap <= bond._ap0", "false") -// // return 1 - (1-bond._a0)*math.Pow((1-_ap)/(1-bond._ap0), bond._g) -// // } -// // }() -// // fmt.Println("alpha_new", alpha_new) -// // bond._a = (bond._theta * alpha_new) + (1-bond._theta)*bond._a -// // bond._kappa = (bond._a / bond._a0) * math.Exp(bond._r*bond._t) -// // bond._Pavg = bond._kappa * bond._Fi / bond._Mi -// // bond._APYavg = -1 * (math.Log(bond._Pavg * bond._M / bond._C)) / bond._T -// // bond._Pmax = bond._kappa * math.Exp(-1*bond._APYmin*bond._T) * (bond._C / bond._M) -// // bond._Pmin = bond._kappa * math.Exp(-1*bond._APYmax*bond._T) * (bond._C / bond._M) -// // bond._B = (bond._Pmax - bond._Pavg) / (bond._Pavg - bond._Pmin) -// // bond._ap = _ap - -// // fmt.Println("alpha", bond._a) - -// // return nil -// // } - -// // func (bond *AlphabondV2) CalculatePriceForTokens(price sdk.Coin) (sdk.DecCoin, error) { -// // // if !alphaBond.AlphaBond { -// // // return types.Price{}, errors.New("not an alpha bond") -// // // } - -// // _mh := float64(0) -// // // _dm, _ := price.Amount.ToDec().Float64() -// // calc := (bond._Mh - _mh) -// // dec, _ := ConvertFloat64ToDec(calc) -// // return sdk.NewDecCoinFromDec(price.Denom, dec), nil - -// // } - -// // func (bond *AlphabondV2) CalculateTokensForPrice(price sdk.Coin) (sdk.DecCoin, error) { - -// // // if !bond.AlphaBond { -// // // // return types.Price{}, errors.New("not an alpha bond") -// // // } - -// // _dm, _ := price.Amount.ToDec().Float64() -// // calc := (_dm * bond._Pmin) + (((bond._Mi * (bond._Pmax - bond._Pmin)) / (bond._B + 1)) * (math.Pow(((bond._m+_dm)/bond._Mi), (bond._B+1)) - math.Pow((bond._m/bond._M), (bond._B+1)))) -// // dec, _ := ConvertFloat64ToDec(calc) -// // return sdk.NewDecCoinFromDec(price.Denom, dec), nil -// // } diff --git a/x/bonds/client/rest/query.go b/x/bonds/client/rest/query.go deleted file mode 100644 index 61e0c598..00000000 --- a/x/bonds/client/rest/query.go +++ /dev/null @@ -1,266 +0,0 @@ -package rest - -// import ( -// "fmt" -// "net/http" - -// "github.com/cosmos/cosmos-sdk/client" -// sdk "github.com/cosmos/cosmos-sdk/types" -// "github.com/cosmos/cosmos-sdk/types/rest" -// "github.com/gorilla/mux" -// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/keeper" -// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" -// ) - -// func registerQueryRoutes(clientCtx client.Context, r *mux.Router) { -// r.HandleFunc("/bonds", queryBondsHandler(clientCtx)).Methods("GET") -// r.HandleFunc("/bonds_detailed", queryBondsDetailedHandler(clientCtx)).Methods("GET") -// r.HandleFunc("/bonds/params", queryParamsRequestHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}", RestBondDid), queryBondHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/batch", RestBondDid), queryBatchHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/last_batch", RestBondDid), queryLastBatchHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/current_price", RestBondDid), queryCurrentPriceHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/current_reserve", RestBondDid), queryCurrentReserveHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/available_reserve", RestBondDid), queryAvailableReserveHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/price/{%s}", RestBondDid, RestBondAmount), queryCustomPriceHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/buy_price/{%s}", RestBondDid, RestBondAmount), queryBuyPriceHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/sell_return/{%s}", RestBondDid, RestBondAmount), querySellReturnHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/swap_return/{%s}/{%s}", RestBondDid, RestFromTokenWithAmount, RestToToken), querySwapReturnHandler(clientCtx)).Methods("GET") -// r.HandleFunc(fmt.Sprintf("/bonds/{%s}/alpha_maximums", RestBondDid), queryAlphaMaximumsHandler(clientCtx)).Methods("GET") -// } - -// func queryBondsHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s", -// types.QuerierRoute, keeper.QueryBonds), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func queryBondsDetailedHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// cliCtx, ok := rest.ParseQueryHeightOrReturnBadRequest(w, clientCtx, r) -// if !ok { -// return -// } - -// res, height, err := cliCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s", -// types.QuerierRoute, keeper.QueryBondsDetailed), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// cliCtx = cliCtx.WithHeight(height) - -// rest.PostProcessResponse(w, cliCtx, res) -// } -// } - -// func queryBondHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s", -// types.QuerierRoute, keeper.QueryBond, bondDid), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func queryBatchHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s", -// types.QuerierRoute, keeper.QueryBatch, bondDid), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func queryLastBatchHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s", -// types.QuerierRoute, keeper.QueryLastBatch, bondDid), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func queryCurrentPriceHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s", -// types.QuerierRoute, keeper.QueryCurrentPrice, bondDid), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func queryCurrentReserveHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s", -// types.QuerierRoute, keeper.QueryCurrentReserve, bondDid), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func queryAvailableReserveHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s", -// types.QuerierRoute, keeper.QueryAvailableReserve, bondDid), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func queryCustomPriceHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] -// bondAmount := vars[RestBondAmount] - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s/%s", -// types.QuerierRoute, keeper.QueryCustomPrice, bondDid, bondAmount), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func queryBuyPriceHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] -// bondAmount := vars[RestBondAmount] - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s/%s", -// types.QuerierRoute, keeper.QueryBuyPrice, bondDid, bondAmount), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func querySellReturnHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] -// bondAmount := vars[RestBondAmount] - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s/%s", -// types.QuerierRoute, keeper.QuerySellReturn, bondDid, bondAmount), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func querySwapReturnHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] -// fromTokenWithAmount := vars[RestFromTokenWithAmount] -// toToken := vars[RestToToken] - -// reserveCoinWithAmount, err := sdk.ParseCoinNormalized(fromTokenWithAmount) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s/%s/%s/%s", -// types.QuerierRoute, keeper.QuerySwapReturn, bondDid, reserveCoinWithAmount.Denom, -// reserveCoinWithAmount.Amount.String(), toToken), nil) -// if err != nil { -// rest.WriteErrorResponse(w, http.StatusNotFound, err.Error()) -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func queryAlphaMaximumsHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// vars := mux.Vars(r) -// bondDid := vars[RestBondDid] - -// res, _, err := clientCtx.QueryWithData( -// fmt.Sprintf("custom/%s/%s/%s", -// types.QuerierRoute, keeper.QueryAlphaMaximums, bondDid), nil) -// if rest.CheckNotFoundError(w, err) { -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } - -// func queryParamsRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { - -// res, _, err := clientCtx.QueryWithData(fmt.Sprintf("custom/%s/%s", types.QuerierRoute, -// keeper.QueryParams), nil) -// if err != nil { -// w.WriteHeader(http.StatusInternalServerError) -// _, _ = w.Write([]byte(fmt.Sprintf("Couldn't get query iid %s", err.Error()))) -// return -// } - -// rest.PostProcessResponse(w, clientCtx, res) -// } -// } diff --git a/x/bonds/client/rest/rest.go b/x/bonds/client/rest/rest.go deleted file mode 100644 index cc13502e..00000000 --- a/x/bonds/client/rest/rest.go +++ /dev/null @@ -1,23 +0,0 @@ -package rest - -// import ( -// "github.com/cosmos/cosmos-sdk/client" -// "github.com/cosmos/cosmos-sdk/client/rest" -// "github.com/gorilla/mux" -// ) - -// // REST variable names -// //noinspection GoNameStartsWithPackageName -// const ( -// RestBondDid = "bond_did" -// RestBondAmount = "bond_amount" -// RestFromTokenWithAmount = "from_token_with_amount" -// RestToToken = "to_token" -// ) - -// func RegisterHandlers(cliCtx client.Context, rtr *mux.Router) { -// r := rest.WithHTTPDeprecationHeaders(rtr) -// registerQueryRoutes(cliCtx, r) -// registerTxHandlers(cliCtx, r) -// } -// v diff --git a/x/bonds/client/rest/tx.go b/x/bonds/client/rest/tx.go deleted file mode 100644 index 9c38e5ff..00000000 --- a/x/bonds/client/rest/tx.go +++ /dev/null @@ -1,514 +0,0 @@ -package rest - -// import ( -// "net/http" -// "strings" - -// "github.com/cosmos/cosmos-sdk/client" -// "github.com/cosmos/cosmos-sdk/client/tx" -// sdk "github.com/cosmos/cosmos-sdk/types" -// sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -// "github.com/cosmos/cosmos-sdk/types/rest" -// "github.com/gorilla/mux" -// bondsclient "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/client" -// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" -// iidtypes "github.com/ixofoundation/ixo-blockchain/v2/x/iid/types" -// ) - -// func registerTxHandlers(clientCtx client.Context, r *mux.Router) { -// r.HandleFunc("/bonds/create_bond", createBondRequestHandler(clientCtx)).Methods("POST") -// r.HandleFunc("/bonds/edit_bond", editBondRequestHandler(clientCtx)).Methods("POST") -// r.HandleFunc("/bonds/set_next_alpha", setNextAlphaRequestHandler(clientCtx)).Methods("POST") -// r.HandleFunc("/bonds/update_bond_state", updateBondStateRequestHandler(clientCtx)).Methods("POST") -// r.HandleFunc("/bonds/buy", buyRequestHandler(clientCtx)).Methods("POST") -// r.HandleFunc("/bonds/sell", sellRequestHandler(clientCtx)).Methods("POST") -// r.HandleFunc("/bonds/swap", swapRequestHandler(clientCtx)).Methods("POST") -// r.HandleFunc("/bonds/make_outcome_payment", makeOutcomePaymentRequestHandler(clientCtx)).Methods("POST") -// r.HandleFunc("/bonds/withdraw_share", withdrawShareRequestHandler(clientCtx)).Methods("POST") -// r.HandleFunc("/bonds/withdraw_reserve", withdrawReserveRequestHandler(clientCtx)).Methods("POST") -// } - -// type createBondReq struct { -// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` -// Token string `json:"token" yaml:"token"` -// Name string `json:"name" yaml:"name"` -// Description string `json:"description" yaml:"description"` -// FunctionType string `json:"function_type" yaml:"function_type"` -// FunctionParameters string `json:"function_parameters" yaml:"function_parameters"` -// ReserveTokens string `json:"reserve_tokens" yaml:"reserve_tokens"` -// TxFeePercentage string `json:"tx_fee_percentage" yaml:"tx_fee_percentage"` -// ExitFeePercentage string `json:"exit_fee_percentage" yaml:"exit_fee_percentage"` -// FeeAddress string `json:"fee_address" yaml:"fee_address"` -// ReserveWithdrawalAddress string `json:"reserve_withdrawal_address" yaml:"reserve_withdrawal_address"` -// MaxSupply string `json:"max_supply" yaml:"max_supply"` -// OrderQuantityLimits string `json:"order_quantity_limits" yaml:"order_quantity_limits"` -// SanityRate string `json:"sanity_rate" yaml:"sanity_rate"` -// SanityMarginPercentage string `json:"sanity_margin_percentage" yaml:"sanity_margin_percentage"` -// AllowSells string `json:"allow_sells" yaml:"allow_sells"` -// AllowReserveWithdrawals string `json:"allow_reserve_withdrawals" yaml:"allow_reserve_withdrawals"` -// AlphaBond string `json:"alpha_bond" yaml:"alpha_bond"` -// BatchBlocks string `json:"batch_blocks" yaml:"batch_blocks"` -// OutcomePayment string `json:"outcome_payment" yaml:"outcome_payment"` -// BondDid string `json:"bond_did" yaml:"bond_did"` -// CreatorDid string `json:"creator_did" yaml:"creator_did"` -// ControllerDid string `json:"controller_did" yaml:"controller_did"` -// OracleDid string `json:"oracle_did" yaml:"oracle_did"` -// CreatorAddress string `json:"creator_address" yaml:"creator_address"` -// } - -// func createBondRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// var req createBondReq -// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { -// return -// } - -// baseReq := req.BaseReq.Sanitize() -// if !baseReq.ValidateBasic(w) { -// return -// } - -// // Parse function parameters -// functionParams, err := bondsclient.ParseFunctionParams(req.FunctionParameters) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// // Parse reserve tokens -// reserveTokens := strings.Split(req.ReserveTokens, ",") - -// // Parse tx fee percentage -// txFeePercentageDec, err := sdk.NewDecFromStr(req.TxFeePercentage) -// if err != nil { -// err = sdkerrors.Wrap(types.ErrArgumentMissingOrNonFloat, "tx fee percentage") -// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) -// return -// } - -// // Parse exit fee percentage -// exitFeePercentageDec, err := sdk.NewDecFromStr(req.ExitFeePercentage) -// if err != nil { -// err = sdkerrors.Wrap(types.ErrArgumentMissingOrNonFloat, "exit fee percentage") -// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) -// return -// } - -// // Parse fee address -// feeAddress, err := sdk.AccAddressFromBech32(req.FeeAddress) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// // Parse reserve withdrawal address -// reserveWithdrawalAddress, err := sdk.AccAddressFromBech32(req.ReserveWithdrawalAddress) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// // Parse max supply -// maxSupply, err := sdk.ParseCoinNormalized(req.MaxSupply) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// // Parse order quantity limits -// orderQuantityLimits, err := sdk.ParseCoinsNormalized(req.OrderQuantityLimits) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// // Parse sanity rate -// sanityRate, err := sdk.NewDecFromStr(req.SanityRate) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// // Parse sanity margin percentage -// sanityMarginPercentage, err := sdk.NewDecFromStr(req.SanityMarginPercentage) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// // Parse allowSells -// var allowSells bool -// allowSellsStrLower := strings.ToLower(req.AllowSells) -// if allowSellsStrLower == "true" { -// allowSells = true -// } else if allowSellsStrLower == "false" { -// allowSells = false -// } else { -// err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonBoolean, "allow_sells") -// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) -// return -// } - -// // Parse allowReserveWithdrawals -// var allowReserveWithdrawals bool -// allowReserveWithdrawalsStrLower := strings.ToLower(req.AllowReserveWithdrawals) -// if allowReserveWithdrawalsStrLower == "true" { -// allowReserveWithdrawals = true -// } else if allowReserveWithdrawalsStrLower == "false" { -// allowReserveWithdrawals = false -// } else { -// err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonBoolean, "allow_reserve_withdrawals") -// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) -// return -// } - -// // Parse alphaBond -// var alphaBond bool -// alphaBondStrLower := strings.ToLower(req.AlphaBond) -// if alphaBondStrLower == "true" { -// alphaBond = true -// } else if alphaBondStrLower == "false" { -// alphaBond = false -// } else { -// err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonBoolean, "alpha_bond") -// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) -// return -// } - -// // Parse batch blocks -// batchBlocks, err := sdk.ParseUint(req.BatchBlocks) -// if err != nil { -// err := sdkerrors.Wrap(types.ErrArgumentMissingOrNonUInteger, "max batch blocks") -// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) -// return -// } - -// // Parse outcome payment -// var outcomePayment sdk.Int -// if len(req.OutcomePayment) == 0 { -// outcomePayment = sdk.ZeroInt() -// } else { -// var ok bool -// outcomePayment, ok = sdk.NewIntFromString(req.OutcomePayment) -// if !ok { -// err := sdkerrors.Wrap(types.ErrArgumentMustBeInteger, "outcome payment") -// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) -// return -// } -// } - -// msg := types.NewMsgCreateBond(req.Token, req.Name, req.Description, -// iidtypes.DIDFragment(req.CreatorDid), iidtypes.DIDFragment(req.ControllerDid), iidtypes.DIDFragment(req.OracleDid), req.FunctionType, functionParams, -// reserveTokens, txFeePercentageDec, exitFeePercentageDec, feeAddress, -// reserveWithdrawalAddress, maxSupply, orderQuantityLimits, sanityRate, -// sanityMarginPercentage, allowSells, allowReserveWithdrawals, alphaBond, -// batchBlocks, outcomePayment, req.BondDid, req.CreatorAddress) -// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { -// return -// } - -// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) -// } -// } - -// type editBondReq struct { -// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` -// Name string `json:"name" yaml:"name"` -// Description string `json:"description" yaml:"description"` -// OrderQuantityLimits string `json:"order_quantity_limits" yaml:"order_quantity_limits"` -// SanityRate string `json:"sanity_rate" yaml:"sanity_rate"` -// SanityMarginPercentage string `json:"sanity_margin_percentage" yaml:"sanity_margin_percentage"` -// BondDid string `json:"bond_did" yaml:"bond_did"` -// EditorDid string `json:"editor_did" yaml:"editor_did"` -// EditorAddress string `json:"editor_address" yaml:"editor_address"` -// } - -// func editBondRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// var req editBondReq -// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { -// return -// } - -// baseReq := req.BaseReq.Sanitize() -// if !baseReq.ValidateBasic(w) { -// return -// } - -// msg := types.NewMsgEditBond(req.Name, req.Description, -// req.OrderQuantityLimits, req.SanityRate, -// req.SanityMarginPercentage, iidtypes.DIDFragment(req.EditorDid), req.BondDid, req.EditorAddress) -// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { -// return -// } - -// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) -// } -// } - -// type setNextAlphaReq struct { -// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` -// NewAlpha string `json:"new_alpha" yaml:"new_alpha"` -// BondDid string `json:"bond_did" yaml:"bond_did"` -// EditorDid string `json:"editor_did" yaml:"editor_did"` -// EditorAddress string `json:"editor_address" yaml:"editor_address"` -// } - -// func setNextAlphaRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// var req setNextAlphaReq -// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { -// return -// } - -// baseReq := req.BaseReq.Sanitize() -// if !baseReq.ValidateBasic(w) { -// return -// } - -// // Parse new alpha -// newAlpha, err := sdk.NewDecFromStr(req.NewAlpha) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// msg := types.NewMsgSetNextAlpha(newAlpha, iidtypes.DIDFragment(req.EditorDid), req.BondDid, req.EditorAddress) -// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { -// return -// } - -// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) -// } -// } - -// type updateBondStateReq struct { -// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` -// NewState string `json:"new_state" yaml:"new_state"` -// BondDid string `json:"bond_did" yaml:"bond_did"` -// EditorDid string `json:"editor_did" yaml:"editor_did"` -// EditorAddress string `json:"editor_address" yaml:"editor_address"` -// } - -// func updateBondStateRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// var req updateBondStateReq -// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { -// return -// } - -// baseReq := req.BaseReq.Sanitize() -// if !baseReq.ValidateBasic(w) { -// return -// } -// msg := types.NewMsgUpdateBondState(types.BondState(req.NewState), iidtypes.DIDFragment(req.EditorDid), req.BondDid, req.EditorAddress) -// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { -// return -// } - -// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) -// } -// } - -// type buyReq struct { -// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` -// BondToken string `json:"bond_token" yaml:"bond_token"` -// BondAmount string `json:"bond_amount" yaml:"bond_amount"` -// MaxPrices string `json:"max_prices" yaml:"max_prices"` -// BondDid string `json:"bond_did" yaml:"bond_did"` -// BuyerDid string `json:"buyer_did" yaml:"buyer_did"` -// BuyerAddress string `json:"buyer_address" yaml:"buyer_address"` -// } - -// func buyRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// var req buyReq -// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { -// return -// } - -// baseReq := req.BaseReq.Sanitize() -// if !baseReq.ValidateBasic(w) { -// return -// } - -// bondCoin, err := bondsclient.ParseTwoPartCoin(req.BondAmount, req.BondToken) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// maxPrices, err := sdk.ParseCoinsNormalized(req.MaxPrices) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// msg := types.NewMsgBuy(iidtypes.DIDFragment(req.BuyerDid), bondCoin, maxPrices, req.BondDid, req.BuyerAddress) -// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { -// return -// } - -// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) -// } -// } - -// type sellReq struct { -// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` -// BondToken string `json:"bond_token" yaml:"bond_token"` -// BondAmount string `json:"bond_amount" yaml:"bond_amount"` -// BondDid string `json:"bond_did" yaml:"bond_did"` -// SellerDid string `json:"seller_did" yaml:"seller_did"` -// SellerAddress string `json:"seller_address" yaml:"seller_address"` -// } - -// func sellRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// var req sellReq -// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { -// return -// } - -// baseReq := req.BaseReq.Sanitize() -// if !baseReq.ValidateBasic(w) { -// return -// } - -// bondCoin, err := bondsclient.ParseTwoPartCoin(req.BondAmount, req.BondToken) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// msg := types.NewMsgSell(iidtypes.DIDFragment(req.SellerDid), bondCoin, req.BondDid, req.SellerAddress) -// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { -// return -// } - -// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) -// } -// } - -// type swapReq struct { -// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` -// FromAmount string `json:"from_amount" yaml:"from_amount"` -// FromToken string `json:"from_token" yaml:"from_token"` -// ToToken string `json:"to_token" yaml:"to_token"` -// BondDid string `json:"bond_did" yaml:"bond_did"` -// SwapperDid string `json:"swapper_did" yaml:"swapper_did"` -// SwapperAddress string `json:"swapper_address" yaml:"swapper_address"` -// } - -// func swapRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// var req swapReq -// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { -// return -// } - -// baseReq := req.BaseReq.Sanitize() -// if !baseReq.ValidateBasic(w) { -// return -// } - -// // Check that from amount and token can be parsed to a coin -// fromCoin, err := bondsclient.ParseTwoPartCoin(req.FromAmount, req.FromToken) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// msg := types.NewMsgSwap(iidtypes.DIDFragment(req.SwapperDid), fromCoin, req.ToToken, req.BondDid, req.SwapperAddress) -// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { -// return -// } - -// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) -// } -// } - -// type makeOutcomePaymentReq struct { -// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` -// BondDid string `json:"bond_did" yaml:"bond_did"` -// Amount string `json:"amount" yaml:"amount"` -// SenderDid string `json:"sender_did" yaml:"sender_did"` -// SenderAddress string `json:"sender_address" yaml:"sender_address"` -// } - -// func makeOutcomePaymentRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// var req makeOutcomePaymentReq -// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { -// return -// } - -// baseReq := req.BaseReq.Sanitize() -// if !baseReq.ValidateBasic(w) { -// return -// } - -// amount, ok := sdk.NewIntFromString(req.Amount) -// if !ok { -// err := sdkerrors.Wrap(types.ErrArgumentMustBeInteger, "amount") -// rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) -// return -// } - -// msg := types.NewMsgMakeOutcomePayment(iidtypes.DIDFragment(req.SenderDid), amount, req.BondDid, req.SenderAddress) -// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { -// return -// } - -// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) -// } -// } - -// type withdrawShareReq struct { -// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` -// BondDid string `json:"bond_did" yaml:"bond_did"` -// RecipientDid string `json:"recipient_did" yaml:"recipient_did"` -// RecipientAddress string `json:"recipient_address" yaml:"recipient_address"` -// } - -// func withdrawShareRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// var req withdrawShareReq -// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { -// return -// } - -// baseReq := req.BaseReq.Sanitize() -// if !baseReq.ValidateBasic(w) { -// return -// } - -// msg := types.NewMsgWithdrawShare(iidtypes.DIDFragment(req.RecipientDid), req.BondDid, req.RecipientAddress) -// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { -// return -// } - -// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) -// } -// } - -// type withdrawReserveReq struct { -// BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` -// BondDid string `json:"bond_did" yaml:"bond_did"` -// Amount string `json:"amount" yaml:"amount"` -// WithdrawerDid string `json:"withdrawer_did" yaml:"withdrawer_did"` -// WithdrawerAddress string `json:"withdrawer_address" yaml:"withdrawer_address"` -// } - -// func withdrawReserveRequestHandler(clientCtx client.Context) http.HandlerFunc { -// return func(w http.ResponseWriter, r *http.Request) { -// var req withdrawReserveReq -// if !rest.ReadRESTReq(w, r, clientCtx.LegacyAmino, &req) { -// return -// } - -// baseReq := req.BaseReq.Sanitize() -// if !baseReq.ValidateBasic(w) { -// return -// } - -// amount, err := sdk.ParseCoinsNormalized(req.Amount) -// if rest.CheckBadRequestError(w, err) { -// return -// } - -// msg := types.NewMsgWithdrawReserve(iidtypes.DIDFragment(req.WithdrawerDid), amount, req.BondDid, req.WithdrawerAddress) -// if rest.CheckBadRequestError(w, msg.ValidateBasic()) { -// return -// } - -// tx.WriteGeneratedTxResponse(clientCtx, w, req.BaseReq, msg) -// } -// } diff --git a/x/bonds/keeper/querier.go b/x/bonds/keeper/querier.go deleted file mode 100644 index ecd2b7d7..00000000 --- a/x/bonds/keeper/querier.go +++ /dev/null @@ -1,452 +0,0 @@ -package keeper - -// import ( -// "github.com/cosmos/cosmos-sdk/codec" -// sdk "github.com/cosmos/cosmos-sdk/types" -// sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/client" -// "github.com/ixofoundation/ixo-blockchain/v2/x/bonds/types" -// abci "github.com/tendermint/tendermint/abci/types" -// ) - -// const ( -// QueryBonds = "bonds" -// QueryBondsDetailed = "bonds_detailed" -// QueryBond = "bond" -// QueryBatch = "batch" -// QueryLastBatch = "last_batch" -// QueryCurrentPrice = "current_price" -// QueryCurrentReserve = "current_reserve" -// QueryAvailableReserve = "available_reserve" -// QueryCustomPrice = "custom_price" -// QueryBuyPrice = "buy_price" -// QuerySellReturn = "sell_return" -// QuerySwapReturn = "swap_return" -// QueryAlphaMaximums = "alpha_maximums" -// QueryParams = "params" -// QueryBondAccountDetails = "bond_account_details" -// ) - -// // NewQuerier is the module level router for state queries -// func NewQuerier(keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { -// return func(ctx sdk.Context, path []string, req abci.RequestQuery) (res []byte, err error) { -// switch path[0] { -// case QueryBonds: -// return queryBonds(ctx, keeper, legacyQuerierCdc) -// case QueryBondsDetailed: -// return queryBondsDetailed(ctx, keeper, legacyQuerierCdc) -// case QueryBond: -// return queryBond(ctx, path[1:], keeper, legacyQuerierCdc) -// case QueryBatch: -// return queryBatch(ctx, path[1:], keeper, legacyQuerierCdc) -// case QueryLastBatch: -// return queryLastBatch(ctx, path[1:], keeper, legacyQuerierCdc) -// case QueryCurrentPrice: -// return queryCurrentPrice(ctx, path[1:], keeper, legacyQuerierCdc) -// case QueryCurrentReserve: -// return queryCurrentReserve(ctx, path[1:], keeper, legacyQuerierCdc) -// case QueryAvailableReserve: -// return queryAvailableReserve(ctx, path[1:], keeper, legacyQuerierCdc) -// case QueryCustomPrice: -// return queryCustomPrice(ctx, path[1:], keeper, legacyQuerierCdc) -// case QueryBuyPrice: -// return queryBuyPrice(ctx, path[1:], keeper, legacyQuerierCdc) -// case QuerySellReturn: -// return querySellReturn(ctx, path[1:], keeper, legacyQuerierCdc) -// case QuerySwapReturn: -// return querySwapReturn(ctx, path[1:], keeper, legacyQuerierCdc) -// case QueryAlphaMaximums: -// return queryAlphaMaximums(ctx, path[1:], keeper, legacyQuerierCdc) -// case QueryParams: -// return queryParams(ctx, keeper, legacyQuerierCdc) -// // case QueryBondAccountDetails: -// // return queryBondAccountDetails(ctx, path[1:], keeper, legacyQuerierCdc) -// default: -// return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "unknown bonds query endpoint") -// } -// } -// } - -// func queryBonds(ctx sdk.Context, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// var bondsList []string -// iterator := keeper.GetBondIterator(ctx) -// defer iterator.Close() -// for ; iterator.Valid(); iterator.Next() { -// var bond types.Bond -// keeper.cdc.MustUnmarshal(iterator.Value(), &bond) -// bondsList = append(bondsList, bond.BondDid) -// } - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, bondsList) -// if err != nil { -// panic("could not marshal result to JSON") -// // return nil, err -// } - -// return bz, nil -// } - -// func queryBondsDetailed(ctx sdk.Context, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// var bondsList []*types.BondDetails -// iterator := keeper.GetBondIterator(ctx) -// defer iterator.Close() -// for ; iterator.Valid(); iterator.Next() { -// var bond types.Bond -// keeper.cdc.MustUnmarshal(iterator.Value(), &bond) -// if bond.State == types.HatchState.String() || bond.State == types.OpenState.String() { -// reserveBalances := keeper.GetReserveBalances(ctx, bond.BondDid) -// reservePrices, _ := bond.GetCurrentPricesPT(reserveBalances) -// reservePrices = zeroReserveTokensIfEmptyDec(reservePrices, bond) - -// bondsList = append(bondsList, &types.BondDetails{ -// BondDid: bond.BondDid, -// SpotPrice: reservePrices, -// Supply: bond.CurrentSupply, -// Reserve: reserveBalances, -// }) -// } -// } - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, bondsList) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func queryBond(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] - -// bond, found := keeper.GetBond(ctx, bondDid) -// if !found { -// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) -// } - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, bond) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func queryBatch(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] - -// if !keeper.BatchExists(ctx, bondDid) { -// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "batch for '%s' does not exist", bondDid) -// } - -// batch := keeper.MustGetBatch(ctx, bondDid) - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, batch) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func queryLastBatch(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] - -// if !keeper.LastBatchExists(ctx, bondDid) { -// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "last batch for '%s' does not exist", bondDid) -// } - -// batch := keeper.MustGetLastBatch(ctx, bondDid) - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, batch) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func queryCurrentPrice(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] - -// bond, found := keeper.GetBond(ctx, bondDid) -// if !found { -// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) -// } - -// reserveBalances := keeper.GetReserveBalances(ctx, bondDid) -// reservePrices, err := bond.GetCurrentPricesPT(reserveBalances) -// if err != nil { -// return nil, err -// } -// reservePrices = zeroReserveTokensIfEmptyDec(reservePrices, bond) - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, reservePrices) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func queryCurrentReserve(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] - -// bond, found := keeper.GetBond(ctx, bondDid) -// if !found { -// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) -// } - -// reserveBalances := zeroReserveTokensIfEmpty(bond.CurrentReserve, bond) -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, reserveBalances) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func queryAvailableReserve(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] - -// bond, found := keeper.GetBond(ctx, bondDid) -// if !found { -// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) -// } - -// availableReserve := zeroReserveTokensIfEmpty(bond.AvailableReserve, bond) -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, availableReserve) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func queryCustomPrice(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] -// bondAmount := path[1] - -// bond, found := keeper.GetBond(ctx, bondDid) -// if !found { -// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) -// } - -// bondCoin, err := client.ParseTwoPartCoin(bondAmount, bond.Token) -// if err != nil { -// return nil, err -// } - -// reservePrices, err := bond.GetPricesAtSupply(bondCoin.Amount) -// if err != nil { -// return nil, err -// } -// reservePrices = zeroReserveTokensIfEmptyDec(reservePrices, bond) - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, reservePrices) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func queryBuyPrice(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] -// bondAmount := path[1] - -// bond, found := keeper.GetBond(ctx, bondDid) -// if !found { -// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) -// } - -// bondCoin, err := client.ParseTwoPartCoin(bondAmount, bond.Token) -// if err != nil { -// return nil, err - -// } - -// // Max supply cannot be less than supply (max supply >= supply) -// adjustedSupply := keeper.GetSupplyAdjustedForBuy(ctx, bondDid) -// if bond.MaxSupply.IsLT(adjustedSupply.Add(bondCoin)) { -// return nil, types.ErrCannotMintMoreThanMaxSupply -// } - -// reserveBalances := keeper.GetReserveBalances(ctx, bondDid) -// reservePrices, err := bond.GetPricesToMint(bondCoin.Amount, reserveBalances) -// if err != nil { -// return nil, err -// } -// reservePricesRounded := types.RoundReservePrices(reservePrices) -// txFee := bond.GetTxFees(reservePrices) - -// var result = types.QueryBuyPriceResponse{ -// AdjustedSupply: adjustedSupply, -// Prices: zeroReserveTokensIfEmpty(reservePricesRounded, bond), -// TxFees: zeroReserveTokensIfEmpty(txFee, bond), -// TotalPrices: zeroReserveTokensIfEmpty(reservePricesRounded.Add(txFee...), bond), -// TotalFees: zeroReserveTokensIfEmpty(txFee, bond), -// } - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func querySellReturn(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] -// bondAmount := path[1] - -// bond, found := keeper.GetBond(ctx, bondDid) -// if !found { -// return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "bond '%s' does not exist", bondDid) -// } - -// bondCoin, err := client.ParseTwoPartCoin(bondAmount, bond.Token) -// if err != nil { -// return nil, err -// } - -// if !bond.AllowSells { -// return nil, types.ErrBondDoesNotAllowSelling -// } - -// // Cannot burn more tokens than what exists -// adjustedSupply := keeper.GetSupplyAdjustedForSell(ctx, bondDid) -// if adjustedSupply.IsLT(bondCoin) { -// return nil, types.ErrCannotBurnMoreThanSupply -// } - -// reserveBalances := keeper.GetReserveBalances(ctx, bondDid) -// reserveReturns, err := bond.GetReturnsForBurn(bondCoin.Amount, reserveBalances) -// if err != nil { -// return nil, err -// } -// reserveReturnsRounded := types.RoundReserveReturns(reserveReturns) - -// txFees := bond.GetTxFees(reserveReturns) -// exitFees := bond.GetExitFees(reserveReturns) -// totalFees := types.AdjustFees(txFees.Add(exitFees...), reserveReturnsRounded) - -// var result = types.QuerySellReturnResponse{ -// AdjustedSupply: adjustedSupply, -// Returns: zeroReserveTokensIfEmpty(reserveReturnsRounded, bond), -// TxFees: zeroReserveTokensIfEmpty(txFees, bond), -// ExitFees: zeroReserveTokensIfEmpty(exitFees, bond), -// TotalReturns: zeroReserveTokensIfEmpty(reserveReturnsRounded.Sub(totalFees), bond), -// TotalFees: zeroReserveTokensIfEmpty(totalFees, bond), -// } - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func querySwapReturn(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] -// fromToken := path[1] -// fromAmount := path[2] -// toToken := path[3] - -// fromCoin, err := client.ParseTwoPartCoin(fromAmount, fromToken) -// if err != nil { -// return nil, err -// } - -// bond, found := keeper.GetBond(ctx, bondDid) -// if !found { -// return nil, sdkerrors.Wrapf(types.ErrBondDoesNotExist, bondDid) -// } - -// reserveBalances := keeper.GetReserveBalances(ctx, bondDid) -// reserveReturns, txFee, err := bond.GetReturnsForSwap(fromCoin, toToken, reserveBalances) -// if err != nil { -// return nil, err -// } - -// if reserveReturns.Empty() { -// reserveReturns = sdk.Coins{sdk.Coin{Denom: toToken, Amount: sdk.ZeroInt()}} -// } - -// var result = types.QuerySwapReturnResponse{ -// TotalFees: sdk.Coins{txFee}, -// TotalReturns: reserveReturns, -// } - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// func queryAlphaMaximums(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// bondDid := path[0] - -// bond, found := keeper.GetBond(ctx, bondDid) -// if !found { -// return nil, sdkerrors.Wrapf(types.ErrBondDoesNotExist, bondDid) -// } - -// if bond.FunctionType != types.AugmentedFunction { -// return nil, sdkerrors.Wrapf(types.ErrFunctionNotAvailableForFunctionType, bond.FunctionType) -// } else if !bond.AlphaBond { -// return nil, sdkerrors.Wrap(types.ErrFunctionNotAvailableForFunctionType, "bond is not an alpha bond") -// } - -// var maxSystemAlphaIncrease, maxSystemAlpha sdk.Dec -// if len(bond.CurrentReserve) == 0 { -// maxSystemAlphaIncrease = sdk.ZeroDec() -// maxSystemAlpha = sdk.ZeroDec() -// } else { -// R := bond.CurrentReserve[0].Amount // common reserve balance -// C := bond.OutcomePayment -// maxSystemAlphaIncrease = sdk.NewDecFromInt(R).QuoInt(C) - -// paramsMap := bond.FunctionParameters.AsMap() -// I := paramsMap["I0"] -// maxSystemAlpha = I.QuoInt(C) -// } - -// var result = types.QueryAlphaMaximumsResponse{ -// MaxSystemAlphaIncrease: maxSystemAlphaIncrease, -// MaxSystemAlpha: maxSystemAlpha, -// } - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, result) -// if err != nil { -// panic("could not marshal result to JSON") -// } - -// return bz, nil -// } - -// // func queryBondAccountDetails(ctx sdk.Context, path []string, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) (res []byte, err error) { -// // bondDid := path[0] - -// // bond, found := keeper.GetBond(ctx, bondDid) -// // if !found { -// // return nil, sdkerrors.Wrapf(types.ErrBondDoesNotExist, bondDid) -// // } - -// // keeper.Get - -// // return bz, nil -// // } - -// func queryParams(ctx sdk.Context, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { -// params := k.GetParams(ctx) - -// bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, params) -// if err != nil { -// return nil, sdkerrors.Wrapf(sdkerrors.ErrJSONMarshal, "failed to marshal iid %s", err) -// } - -// return bz, nil -// } diff --git a/x/bonds/spec/01_concepts.md b/x/bonds/spec/01_concepts.md index 80a7e4e0..34971084 100644 --- a/x/bonds/spec/01_concepts.md +++ b/x/bonds/spec/01_concepts.md @@ -6,21 +6,22 @@ Bonding curves are continuous liquidity mechanisms which are used in market desi Token Bonding Curves are therefore an important crypto-economic mechanism for building a wide range of capabilities directly into decentralised applications. They can function simultaneously as means of decentralised capital formation, liquidity provision and autonomous market maker. Bonding curves are powerful tools because the tokens they issue can represent rights - including -* rights of access -* rights of use -* rights of ownership, and -* voting rights. -In the case of continuous organizations, tokens issued through bonding curves embody rights to the future revenues of a startup. -In the augmented bonding curve, tokens can embody the rights to govern how funds are spent by a not-for-profit organization. +- rights of access +- rights of use +- rights of ownership, and +- voting rights. + +In the case of continuous organizations, tokens issued through bonding curves embody rights to the future revenues of a startup. +In the augmented bonding curve, tokens can embody the rights to govern how funds are spent by a not-for-profit organization. In an Alpha-Bond, tokens can give holders the rights to future outcomes payments and performance incentive bonuses. ## Token Bonds Module -The Token Bonds Cosmos SDK Module enables applications that use token bonding curves to be created on-the-fly. +The Token Bonds Cosmos SDK Module enables applications that use token bonding curves to be created on-the-fly. Each new Token B instance declares a new token denomination in the application, with a set of parameters. The module stores the current state of all tokens that have been created using this module. -Changes in state occur through transactions that are instructed by valid *buy, sell, and swap* messages. +Changes in state occur through transactions that are instructed by valid _buy, sell, and swap_ messages. **Buy** instructions cause bond tokens to be minted during a state transition. This increases the total supply balance of tokens. **Sell** instructions burn bond tokens during a state transition that decreases the total supply balance of tokens. @@ -30,10 +31,10 @@ Bond Tokens trade against pairings in their Bond Reserve. The bonding curve forms an interface between the reserve token quantity and the bond token price (in the Reserve currency). -Bonding curves are defined by their mathematical properties. This is determined by the type of curve function and by the function parameters that are set. Generally these parameters are chosen to best-fit empiricially-observed market dynamics of supply and demand. -External parameters, such as market supply and demand, are complex and typically hard to predict. +Bonding curves are defined by their mathematical properties. This is determined by the type of curve function and by the function parameters that are set. Generally these parameters are chosen to best-fit empiricially-observed market dynamics of supply and demand. +External parameters, such as market supply and demand, are complex and typically hard to predict. -***** +--- Pricing is defined by the function type and function parameters, which can define either the pricing function of the bond as a function of the supply, or simply indicate that the bond is a token swapper, where pricing is instead defined by the first buyer and any swaps performed thereafter. @@ -41,36 +42,38 @@ A bond may also specify non-zero fees, which are calculated based on the size of ```go type Bond struct { - Token string - Name string - Description string - CreatorDid string - ControllerDid string - FunctionType string - FunctionParameters FunctionParams - ReserveTokens []string - TxFeePercentage sdk.Dec - ExitFeePercentage sdk.Dec + Token string + Name string + Description string + CreatorDid string + ControllerDid string + FunctionType string + FunctionParameters FunctionParams + ReserveTokens []string + TxFeePercentage sdk.Dec + ExitFeePercentage sdk.Dec FeeAddress string ReserveWithdrawalAddress string - MaxSupply sdk.Coin - OrderQuantityLimits sdk.Coins - SanityRate sdk.Dec - SanityMarginPercentage sdk.Dec - CurrentSupply sdk.Coin + MaxSupply sdk.Coin + OrderQuantityLimits sdk.Coins + SanityRate sdk.Dec + SanityMarginPercentage sdk.Dec + CurrentSupply sdk.Coin CurrentReserve sdk.Coins AvailableReserve sdk.Coins - CurrentOutcomePaymentReserve sdk.Coins + CurrentOutcomePaymentReserve sdk.Coins AllowSells bool AllowReserveWithdrawals bool - AlphaBond bool - BatchBlocks sdk.Uint - OutcomePayment sdk.Int - State string - BondDid string + AlphaBond bool + BatchBlocks sdk.Uint + OutcomePayment sdk.Int + State string + BondDid string } ``` + The following is a list of all possible bond states: + - `"HATCH"` - `"OPEN"` - `"SETTLED"` @@ -78,10 +81,12 @@ The following is a list of all possible bond states: By default, a newly created bond will be in state OPEN, unless the bond is an augmented bonding curve, in which case the initial state is HATCH. The following are the valid transitions between bond states. +
     - HATCH -> OPEN or FAILED
     - OPEN  -> SETTLE or FAILED
     
    + No valid transitions exist from the SETTLE and FAILED states. ## Batching diff --git a/x/bonds/spec/02_state.md b/x/bonds/spec/02_state.md index 33b5e891..6c7db06b 100644 --- a/x/bonds/spec/02_state.md +++ b/x/bonds/spec/02_state.md @@ -9,8 +9,8 @@ The instance of a bond is stored with its bond-specific parameters. This record ## Batches As a protection against front-runnning orders, a batching mechanism creates a cache of orders and combines these into a single transaction when the batch conditions have been met. -The state of 2 consecutive batches is held for both the current and last (previous) batch. -This enables querying the final state of a batch before the orders were fulfilled, after the transaction has completed. +The state of 2 consecutive batches is held for both the current and last (previous) batch. +This enables querying the final state of a batch before the orders were fulfilled, after the transaction has completed. The temporary state of a batch in the current block is not observable. This batch is cleared as soon as the batch transaction has completed. ### Querying Batches diff --git a/x/bonds/spec/03_messages.md b/x/bonds/spec/03_messages.md index 1a30cbcc..3416e481 100644 --- a/x/bonds/spec/03_messages.md +++ b/x/bonds/spec/03_messages.md @@ -6,30 +6,30 @@ In this section we describe the processing of the bonds messages and the corresp Bonds can be created by any address using `MsgCreateBond`. -| **Field** | **Type** | **Description** | -|:-------------------------|:-----------------|:----------------| -| BondDid | `did.Did` | DID of the bond (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| Token | `string` | The denomination of the bond's tokens (e.g. `abc`, `mytoken1`) -| Name | `string` | A friendly name as a title for the bond (e.g. `A B C`, `My Token`) -| Description | `string` | A description of what the bond represents or its purpose -| FunctionType | `string` | The type of function that will define the bonding curve (`power_function`, `sigmoid_function`, or `swapper_function`) -| FunctionParameters | `FunctionParams` | The parameters of the function defining the bonding curve (e.g. `m:12,n:2,c:100`) -| CreatorDid | `did.Did` | DID of the bond creator (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| ControllerDid | `did.Did` | DID of the bond controller (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| ReserveTokens | `[]string` | The token denominations that will be used as reserve (e.g. `res,rez`) -| TxFeePercentage | `sdk.Dec` | The percentage fee charged for buys/sells/swaps (e.g. `0.3`) -| ExitFeePercentage | `sdk.Dec` | The percentage fee charged for sells on top of the tx fee (e.g. `0.2`) -| FeeAddress | `sdk.AccAddress` | The address of the account that will store charged fees -| ReserveWithdrawalAddress | `sdk.AccAddress` | The address of the account that will receive any reserve withdrawn by the controller -| MaxSupply | `sdk.Coin` | The maximum number of bond tokens that can be minted -| OrderQuantityLimits | `sdk.Coins` | The maximum number of tokens that one can buy/sell/swap in a single order (e.g. `100abc,200res,300rez`) -| SanityRate | `sdk.Dec` | For a swapper, restricts conversion rate (`r1/r2`) to `sanity rate ± sanity margin percentage`. `0` for no sanity checks. -| SanityMarginPercentage | `sdk.Dec` | Used as described above. `0` for no sanity checks -| AllowSells | `bool` | Whether or not selling is allowed (cannot be True if AllowReserveWithdrawals is True) -| AllowReserveWithdrawals | `bool` | Whether or not reserve withdrawals are allowed (cannot be True if AllowSells is True) -| AlphaBond | `bool` | Whether or not bond is an alpha bond -| BatchBlocks | `sdk.Uint` | The lifespan of each orders batch in blocks -| OutcomePayment | `sdk.Int` | The approximate total payment required to be made in order to transition a bond from OPEN to SETTLE +| **Field** | **Type** | **Description** | +| :----------------------- | :--------------- | :------------------------------------------------------------------------------------------------------------------------ | +| BondDid | `did.Did` | DID of the bond (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| Token | `string` | The denomination of the bond's tokens (e.g. `abc`, `mytoken1`) | +| Name | `string` | A friendly name as a title for the bond (e.g. `A B C`, `My Token`) | +| Description | `string` | A description of what the bond represents or its purpose | +| FunctionType | `string` | The type of function that will define the bonding curve (`power_function`, `sigmoid_function`, or `swapper_function`) | +| FunctionParameters | `FunctionParams` | The parameters of the function defining the bonding curve (e.g. `m:12,n:2,c:100`) | +| CreatorDid | `did.Did` | DID of the bond creator (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| ControllerDid | `did.Did` | DID of the bond controller (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| ReserveTokens | `[]string` | The token denominations that will be used as reserve (e.g. `res,rez`) | +| TxFeePercentage | `sdk.Dec` | The percentage fee charged for buys/sells/swaps (e.g. `0.3`) | +| ExitFeePercentage | `sdk.Dec` | The percentage fee charged for sells on top of the tx fee (e.g. `0.2`) | +| FeeAddress | `sdk.AccAddress` | The address of the account that will store charged fees | +| ReserveWithdrawalAddress | `sdk.AccAddress` | The address of the account that will receive any reserve withdrawn by the controller | +| MaxSupply | `sdk.Coin` | The maximum number of bond tokens that can be minted | +| OrderQuantityLimits | `sdk.Coins` | The maximum number of tokens that one can buy/sell/swap in a single order (e.g. `100abc,200res,300rez`) | +| SanityRate | `sdk.Dec` | For a swapper, restricts conversion rate (`r1/r2`) to `sanity rate ± sanity margin percentage`. `0` for no sanity checks. | +| SanityMarginPercentage | `sdk.Dec` | Used as described above. `0` for no sanity checks | +| AllowSells | `bool` | Whether or not selling is allowed (cannot be True if AllowReserveWithdrawals is True) | +| AllowReserveWithdrawals | `bool` | Whether or not reserve withdrawals are allowed (cannot be True if AllowSells is True) | +| AlphaBond | `bool` | Whether or not bond is an alpha bond | +| BatchBlocks | `sdk.Uint` | The lifespan of each orders batch in blocks | +| OutcomePayment | `sdk.Int` | The approximate total payment required to be made in order to transition a bond from OPEN to SETTLE | ```go type MsgCreateBond struct { @@ -59,6 +59,7 @@ type MsgCreateBond struct { ``` This message is expected to fail if: + - another bond with this bond DID is already registered - another bond with this token is already registered, the token is the staking token, or the token is not a valid denomination - name or description is an empty string @@ -101,17 +102,18 @@ This message creates and stores the `Bond` object at appropriate indexes. Note t The owner of a bond can edit some of the bond's parameters using `MsgEditBond`. -| **Field** | **Type** | **Description** | -|:-----------------------|:----------|:----------------| -| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| Name | `string` | Refer to MsgCreateBond -| Description | `string` | Refer to MsgCreateBond -| OrderQuantityLimits | `string` | Refer to MsgCreateBond -| SanityRate | `string` | Refer to MsgCreateBond -| SanityMarginPercentage | `string` | Refer to MsgCreateBond -| EditorDid | `did.Did` | DID of the bond editor (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) +| **Field** | **Type** | **Description** | +| :--------------------- | :-------- | :------------------------------------------------------------------------------ | +| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| Name | `string` | Refer to MsgCreateBond | +| Description | `string` | Refer to MsgCreateBond | +| OrderQuantityLimits | `string` | Refer to MsgCreateBond | +| SanityRate | `string` | Refer to MsgCreateBond | +| SanityMarginPercentage | `string` | Refer to MsgCreateBond | +| EditorDid | `did.Did` | DID of the bond editor (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | This message is expected to fail if: + - bond does not exist - any editable field violates the restrictions set for the same field in `MsgCreateBond` - all editable fields are `"[do-not-modify]"` @@ -136,13 +138,14 @@ This message stores the updated `Bond` object. The controller of a bond can set the next public alpha value for Augmented Bonding Curve type bonds using `MsgSetNextAlpha`. -| **Field** | **Type** | **Description** | -|:----------|:----------|:----------------| -| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| Alpha | `sdk.Dec` | Public alpha value to be set (e.g. `0.5`) -| EditorDid | `did.Did` | DID of the bond editor (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) +| **Field** | **Type** | **Description** | +| :-------- | :-------- | :------------------------------------------------------------------------------ | +| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| Alpha | `sdk.Dec` | Public alpha value to be set (e.g. `0.5`) | +| EditorDid | `did.Did` | DID of the bond editor (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | This message is expected to fail if: + - bond does not exist - public alpha value falls outside of 0.0001 <= alpha <= 0.9999 - public alpha value violates any of the below rules @@ -168,13 +171,14 @@ This message stores the next alpha value in the current `Batch` object, where it The controller of a bond can change a bond's state to SETTLE or FAILED using `MsgUpdateBondState`. -| **Field** | **Type** | **Description** | -|:----------|:------------|:----------------| -| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| State | `BondState` | Bond state to be set (e.g. `SETTLE`) -| EditorDid | `did.Did` | DID of the bond editor (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) +| **Field** | **Type** | **Description** | +| :-------- | :---------- | :------------------------------------------------------------------------------ | +| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| State | `BondState` | Bond state to be set (e.g. `SETTLE`) | +| EditorDid | `did.Did` | DID of the bond editor (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | This message is expected to fail if: + - bond does not exist - state is not SETTLE or FAILED - state is not a valid transition from the current bond state @@ -199,14 +203,15 @@ A buy order is cancelled if the max prices are exceeded at any point during the In the case of `augmented_function` bonds, if the bond state is `HATCH`, a fixed price-per-token `p0` is used. This value (`p0`) is one of the function parameters required for this function type. -| **Field** | **Type** | **Description** | -|:----------|:------------|:----------------| -| BuyerDid | `did.Did` | DID of the buyer (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| Amount | `sdk.Coin` | The amount of bond tokens to be bought -| MaxPrices | `sdk.Coins` | The max price to pay in reserve tokens -| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) +| **Field** | **Type** | **Description** | +| :-------- | :---------- | :------------------------------------------------------------------------------ | +| BuyerDid | `did.Did` | DID of the buyer (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| Amount | `sdk.Coin` | The amount of bond tokens to be bought | +| MaxPrices | `sdk.Coins` | The max price to pay in reserve tokens | +| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | This message is expected to fail if: + - bond does not exist or bond state is not HATCH or OPEN - amount is not an amount of an existing bond - max prices is greater than the balance of the buyer @@ -217,7 +222,7 @@ This message is expected to fail if: - amount violates an order quantity limit defined by the bond - bond DID or buyer DID is not a valid DID -The batch-adjusted current supply in the case of buys is the current supply of the bond plus any uncancelled buy amounts in the current batch. +The batch-adjusted current supply in the case of buys is the current supply of the bond plus any uncancelled buy amounts in the current batch. ```go type MsgBuy struct { @@ -246,13 +251,14 @@ Once the sell order is fulfilled, the number of tokens to be sold are burned on In general, but especially in the case of swapper function bonds, buying tokens from a bond can be seen as adding liquidity for that bond. To add liquidity to a swapper function, the current exchange rate is used to determine how much of each reserve token makes up the price. Otherwise, the price is an equal number of each of the reserve tokens according to the function type. -| **Field** | **Type** | **Description** | -|:----------|:-----------|:----------------| -| SellerDid | `did.Did` | DID of the seller (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| Amount | `sdk.Coin` | The amount of bond tokens to be sold -| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) +| **Field** | **Type** | **Description** | +| :-------- | :--------- | :------------------------------------------------------------------------------ | +| SellerDid | `did.Did` | DID of the seller (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| Amount | `sdk.Coin` | The amount of bond tokens to be sold | +| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | This message is expected to fail if: + - bond does not exist or bond state is not OPEN - amount is not an amount of an existing bond - amount is greater than the balance of the seller @@ -278,14 +284,15 @@ This message adds the sell order to the current batch. Any address that holds tokens (_t1_) that a swapper function bond uses as one of its two reserves (_t1_ and _t2_) can swap the tokens in exchange for reserve tokens of the other type (_t2_). Similar to the `MsgBuy` and `MsgSell`, the `MsgSwap` handler just registers a swap order in the current orders batch which then gets fulfilled at the end of the batch's lifespan. -| **Field** | **Type** | **Description** | -|:-----------|:-----------|:----------------| -| SwapperDid | `did.Did` | DID of the swapper (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| From | `sdk.Coin` | The amount of reserve tokens to be swapped -| ToToken | `string` | The token denomination that will be given in return +| **Field** | **Type** | **Description** | +| :--------- | :--------- | :------------------------------------------------------------------------------ | +| SwapperDid | `did.Did` | DID of the swapper (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| From | `sdk.Coin` | The amount of reserve tokens to be swapped | +| ToToken | `string` | The token denomination that will be given in return | This message is expected to fail if: + - bond does not exist, is not swapper function, or bond state is not OPEN - from amount is greater than the balance of the swapper - from and to tokens are the same token @@ -308,13 +315,14 @@ This message adds the swap order to the current batch. If a bond was created with an outcome payment field, then any token holder can make an outcome payment to the bond. If the token holder has enough tokens to pay the outcome payment, the tokens are sent to the bond's reserve and the bond's state gets set to SETTLE. The only action possible by bond token holders after the outcome payment has been made is a share withdrawal (using [MsgWithdrawShare](#MsgWithdrawShare)). -| **Field** | **Type** | **Description** | -|:----------|:----------|:----------------| -| SenderDid | `did.Did` | DID of the sender (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| Amount | `sdk.Int` | Amount of payment sender is making (e.g. `100000`) -| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) +| **Field** | **Type** | **Description** | +| :-------- | :-------- | :------------------------------------------------------------------------------ | +| SenderDid | `did.Did` | DID of the sender (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| Amount | `sdk.Int` | Amount of payment sender is making (e.g. `100000`) | +| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | This message is expected to fail if: + - bond does not exist or bond state is not OPEN - bond outcome payment is zero or negative - bond outcome payment is greater than the balance of the sender @@ -338,12 +346,13 @@ If a bond's outcome payment was paid, any bond token holder can use this message - The second token holder to withdraw gets `667/2 = 333 tokens` (notice the current supply is now 2) - The third token holder to withdraw gets `334/1 = 334 tokens` (because of rounding, the last holder got an extra token) -| **Field** | **Type** | **Description** | -|:-------------|:----------|:----------------| -| RecipientDid | `did.Did` | DID of the recipient (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) +| **Field** | **Type** | **Description** | +| :----------- | :-------- | :------------------------------------------------------------------------------ | +| RecipientDid | `did.Did` | DID of the recipient (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | This message is expected to fail if: + - bond does not exist or bond state is not SETTLE - recipient does not own any bond tokens - bond DID or recipient DID is not a valid DID @@ -359,13 +368,14 @@ type MsgWithdrawShare struct { If the bond allows it, i.e. if the `AllowReserveWithdrawals` flag is set to True, then the bond's controller has the ability to withdraw reserve out of the bond's reserve, for usage outside of the bond. This will not affect the `CurrentReserve` reported by the bond but will update the `AvailableReserve` value. -| **Field** | **Type** | **Description** | -|:--------------|:------------|:----------------| -| WithdrawerDid | `did.Did` | DID of the withdrawer (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) -| Amount | `sdk.Coins` | The amount of reserve tokens to be withdrawn -| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) +| **Field** | **Type** | **Description** | +| :------------ | :---------- | :------------------------------------------------------------------------------ | +| WithdrawerDid | `did.Did` | DID of the withdrawer (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | +| Amount | `sdk.Coins` | The amount of reserve tokens to be withdrawn | +| BondDid | `did.Did` | DID of the bond we are interacting with (e.g. `did:ixo:U7GK8p8rVhJMKhBVRCJJ8c`) | This message is expected to fail if: + - bond does not exist or bond state is not OPEN - withdrawer is not the bond's controller - bond DID or withdrawer DID is not a valid DID diff --git a/x/bonds/spec/04_end_block.md b/x/bonds/spec/04_end_block.md index 10717117..50a9da44 100644 --- a/x/bonds/spec/04_end_block.md +++ b/x/bonds/spec/04_end_block.md @@ -1,6 +1,7 @@ # End-Block At the end of each block, any batch of orders that has reached the end of its lifespan, measured in number of blocks, is cleared. For the rest of the batches, their blocks remaining value is decremented by 1. Orders are performed in the following order: + 1. Buys 2. Sells 3. Swaps @@ -12,6 +13,7 @@ In the case of `augmented_function` bonds, if the new bond supply after performi ## Buys Using the buy price stored in the batch, the following steps are followed for each buy order: + 1. Mint and send `n` bond tokens to the buyer 2. Calculate total price`total = r + f` in reserve tokens 1. `r` is the price of buying `n` bond tokens @@ -26,6 +28,7 @@ Note: the `maxPrices` reserve tokens were locked upon submitting the buy order. ## Sells Using the sell price stored in the batch, the following steps are followed for each sell order: + 1. Calculate total returns `total = r - f` in reserve tokens 1. `r` is the return for selling `n` bond tokens 2. `f` is the transactional and exit fees based on `r` @@ -38,6 +41,7 @@ Note: the `n` bond tokens were burned upon submitting the sell order. ## Swaps The following steps are followed for each swap order: + 1. Calculate the transactional fee `f` based on `t1` reserve tokens 2. Calculate the return `t2` for swapping `t1-f` reserve tokens 3. Check whether the swap violates the sanity rate @@ -51,4 +55,4 @@ Note: the `t1` reserve tokens were locked upon submitting the swap order. If a s ## Set Last Batch -Once all orders have been processed, the last batch is set as the current batch and the current batch is cleared in preparation for a new list of orders. \ No newline at end of file +Once all orders have been processed, the last batch is set as the current batch and the current batch is cleared in preparation for a new list of orders. diff --git a/x/bonds/spec/05_events.md b/x/bonds/spec/05_events.md index 2d081141..a289478f 100644 --- a/x/bonds/spec/05_events.md +++ b/x/bonds/spec/05_events.md @@ -1,162 +1,285 @@ # Events -The bonds module emits the following events: - -## EndBlocker - -| Type | Attribute Key | Attribute Value | -|---------------|-------------------|---------------------| -| order_cancel | bond | {token} | -| order_cancel | order_type | {orderType} | -| order_cancel | address | {address} | -| order_cancel | cancel_reason | {cancelReason} | -| order_fulfill | bond | {token} | -| order_fulfill | order_type | {orderType} | -| order_fulfill | address | {address} | -| order_fulfill | tokensMinted | {tokensMinted} | -| order_fulfill | chargedPrices | {chargedPrices} | -| order_fulfill | chargedFees | {chargedFees} | -| order_fulfill | returnedToAddress | {returnedToAddress} | -| state_change | bond | {token} | -| state_change | old_state | {oldState} | -| state_change | new_state | {newState} | - -## Handlers - -### MsgCreateBond - -| Type | Attribute Key | Attribute Value | -|-------------|----------------------------|----------------------------| -| create_bond | bond_did | {bondDid} | -| create_bond | token | {token} | -| create_bond | name | {name} | -| create_bond | description | {description} | -| create_bond | function_type | {functionType} | -| create_bond | function_parameters [0] | {functionParameters} | -| create_bond | creator_did | {creatorDid} | -| create_bond | controller_did | {controllerDid} | -| create_bond | reserve_tokens [1] | {reserveTokens} | -| create_bond | tx_fee_percentage | {txFeePercentage} | -| create_bond | exit_fee_percentage | {exitFeePercentage} | -| create_bond | fee_address | {feeAddress} | -| create_bond | reserve_withdrawal_address | {reserveWithdrawalAddress} | -| create_bond | max_supply | {maxSupply} | -| create_bond | order_quantity_limits | {orderQuantityLimits} | -| create_bond | sanity_rate | {sanityRate} | -| create_bond | sanity_margin_percentage | {sanityMarginPercentage} | -| create_bond | allow_sells | {allowSells} | -| create_bond | allow_reserve_withdrawals | {allowReserveWithdrawals} | -| create_bond | alpha_bond | {alphaBond} | -| create_bond | batch_blocks | {batchBlocks} | -| create_bond | outcome_payment | {outcomePayment} | -| create_bond | state | {state} | -| message | module | bonds | -| message | sender | {creatorDid} | - -* [0] Example formatting: `"{m:12,n:2,c:100}"` -* [1] Example formatting: `"[res,rez]"` - -### MsgEditBond - -| Type | Attribute Key | Attribute Value | -|-----------|--------------------------|--------------------------| -| edit_bond | bond_did | {bondDid} | -| edit_bond | name | {name} | -| edit_bond | description | {description} | -| edit_bond | order_quantity_limits | {orderQuantityLimits} | -| edit_bond | sanity_rate | {sanityRate} | -| edit_bond | sanity_margin_percentage | {sanityMarginPercentage} | -| message | module | bonds | -| message | sender | {editorDid} | - -### MsgSetNextAlpha - -| Type | Attribute Key | Attribute Value | -|----------------|--------------------------|--------------------------| -| set_next_alpha | bond_did | {bondDid} | -| set_next_alpha | public_alpha | {name} | -| message | module | bonds | -| message | sender | {setterDid} | - -### MsgUpdateBondState - -| Type | Attribute Key | Attribute Value | -|-----------|--------------------------|--------------------------| -| message | module | bonds | -| message | sender | {editorDid} | - -### MsgBuy - -#### First Buy for Swapper Function Bond - -| Type | Attribute Key | Attribute Value | -|--------------|----------------|-----------------| -| init_swapper | bond_did | {bondDid} | -| init_swapper | amount | {amount} | -| init_swapper | charged_prices | {chargedPrices} | -| message | module | bonds | -| message | sender | {buyerDid} | - -#### Otherwise - -| Type | Attribute Key | Attribute Value | -|--------------|---------------|-----------------| -| buy | bond_did | {bondDid} | -| buy | amount | {amount} | -| buy | max_prices | {maxPrices} | -| order_cancel | bond | {token} | -| order_cancel | order_type | {orderType} | -| order_cancel | address | {address} | -| order_cancel | cancel_reason | {cancelReason} | -| message | module | bonds | -| message | sender | {buyerDid} | - -### MsgSell - -| Type | Attribute Key | Attribute Value | -|---------|---------------|-----------------| -| sell | bond_did | {bondDid} | -| sell | amount | {amount} | -| message | module | bonds | -| message | sender | {sellerDid} | - -### MsgSwap - -| Type | Attribute Key | Attribute Value | -|---------|---------------|-----------------| -| swap | bond_did | {bondDid} | -| swap | amount | {amount} | -| swap | from_token | {fromToken} | -| swap | to_token | {toToken} | -| message | module | bonds | -| message | sender | {swapperDid} | - -### MsgMakeOutcomePayment - -| Type | Attribute Key | Attribute Value | -|----------------------|---------------|----------------------| -| make_outcome_payment | bond_did | {bondDid} | -| make_outcome_payment | amount | {amount} | -| make_outcome_payment | address | {senderAddress} | -| message | module | bonds | -| message | sender | {senderDid} | - -### MsgWithdrawShare - -| Type | Attribute Key | Attribute Value | -|----------------|---------------|--------------------| -| withdraw_share | bond_did | {bondDid} | -| withdraw_share | address | {recipientAddress} | -| withdraw_share | amount | {reserveOwed} | -| message | module | bonds | -| message | sender | {recipientDid} | - -### MsgWithdrawReserve - -| Type | Attribute Key | Attribute Value | -|------------------|---------------|----------------------------| -| withdraw_reserve | bond_did | {bondDid} | -| withdraw_reserve | address | {reserveWithdrawalAddress} | -| withdraw_reserve | amount | {amountWithdrawn} | -| message | module | bonds | -| message | sender | {withdrawerDid} | +The bonds module emits the following typed events: + +### BondCreatedEvent + +Emitted after a successfull `MsgCreateBond` + +| **Field** | **Type** | **Description** | +| :-------- | :------- | :-------------- | +| Bond | `*Bond` | | + +```go +type BondCreatedEvent struct { + Bond *Bond +} +``` + +### BondUpdatedEvent + +Emitted after a successfull `MsgEditBond`, `MsgUpdateBondState` + +| **Field** | **Type** | **Description** | +| :-------- | :------- | :-------------- | +| Bond | `*Bond` | | + +```go +type BondUpdatedEvent struct { + Bond *Bond +} +``` + +### BondSetNextAlphaEvent + +Emitted after a successfull `MsgSetNextAlpha`. Note this doesn't mean the alpha has been updated, it has only been added to the batch for next batch update. + +| **Field** | **Type** | **Description** | +| :-------- | :------- | :-------------- | +| BondDid | `string` | | +| NextAlpha | `string` | | +| Signer | `string` | | + +```go +type BondSetNextAlphaEvent struct { + BondDid string + NextAlpha string + Signer string +} +``` + +### BondBuyOrderEvent + +Emitted after a successfull `MsgBuy`. Note this doesn't mean the buy has been executed, it has only been added to the batch. + +| **Field** | **Type** | **Description** | +| :-------- | :---------- | :-------------- | +| BondDid | `string` | | +| Order | `*BuyOrder` | | + +```go +type BondBuyOrderEvent struct { + Order *BuyOrder + BondDid string +} +``` + +### BondSellOrderEvent + +Emitted after a successfull `MsgSell`. Note this doesn't mean the sell has been executed, it has only been added to the batch. + +| **Field** | **Type** | **Description** | +| :-------- | :----------- | :-------------- | +| BondDid | `string` | | +| Order | `*SellOrder` | | + +```go +type BondSellOrderEvent struct { + Order *SellOrder + BondDid string +} +``` + +### BondSwapOrderEvent + +Emitted after a successfull `MsgSwap`. Note this doesn't mean the swap has been executed, it has only been added to the batch. + +| **Field** | **Type** | **Description** | +| :-------- | :----------- | :-------------- | +| BondDid | `string` | | +| Order | `*SwapOrder` | | + +```go +type BondSwapOrderEvent struct { + Order *SwapOrder + BondDid string +} +``` + +### BondMakeOutcomePaymentEvent + +Emitted after a successfull `MsgMakeOutcomePayment` + +| **Field** | **Type** | **Description** | +| :------------- | :----------------------------------------- | :-------------- | +| BondDid | `string` | | +| OutcomePayment | `github_com_cosmos_cosmos_sdk_types.Coins` | | +| SenderDid | `string` | | +| SenderAddress | `string` | | + +```go +type BondMakeOutcomePaymentEvent struct { + BondDid string + OutcomePayment github_com_cosmos_cosmos_sdk_types.Coins + SenderDid string + SenderAddress string +} +``` + +### BondWithdrawShareEvent + +Emitted after a successfull `MsgWithdrawShare` + +| **Field** | **Type** | **Description** | +| :--------------- | :----------------------------------------- | :-------------- | +| BondDid | `string` | | +| WithdrawPayment | `github_com_cosmos_cosmos_sdk_types.Coins` | | +| RecipientDid | `string` | | +| RecipientAddress | `string` | | + +```go +type BondWithdrawShareEvent struct { + BondDid string + WithdrawPayment github_com_cosmos_cosmos_sdk_types.Coins + RecipientDid string + RecipientAddress string +} +``` + +### BondWithdrawReserveEvent + +Emitted after a successfull `MsgWithdrawReserve` + +| **Field** | **Type** | **Description** | +| :----------------------- | :----------------------------------------- | :-------------- | +| BondDid | `string` | | +| WithdrawAmount | `github_com_cosmos_cosmos_sdk_types.Coins` | | +| WithdrawerDid | `string` | | +| WithdrawerAddress | `string` | | +| ReserveWithdrawalAddress | `string` | | + +```go +type BondWithdrawReserveEvent struct { + BondDid string + WithdrawAmount github_com_cosmos_cosmos_sdk_types.Coins + WithdrawerDid string + WithdrawerAddress string + ReserveWithdrawalAddress string +} +``` + +### BondEditAlphaSuccessEvent + +Emitted after a successfull update of the Alpha state which is done in `EndBlock` + +| **Field** | **Type** | **Description** | +| :---------- | :------- | :-------------- | +| BondDid | `string` | | +| Token | `string` | | +| PublicAlpha | `string` | | +| SystemAlpha | `string` | | + +```go +type BondEditAlphaSuccessEvent struct { + BondDid string + Token string + PublicAlpha string + SystemAlpha string +} +``` + +### BondEditAlphaFailedEvent + +Emitted if update of the Alpha state failed which is done in `EndBlock` + +| **Field** | **Type** | **Description** | +| :----------- | :------- | :-------------- | +| BondDid | `string` | | +| Token | `string` | | +| CancelReason | `string` | | + +```go +type BondEditAlphaFailedEvent struct { + BondDid string + Token string + CancelReason string +} +``` + +### BondBuyOrderFulfilledEvent + +Emitted after a successfull `BuyOrder` has been executed which is done in `EndBlock` + +| **Field** | **Type** | **Description** | +| :-------------------------- | :----------------------------------------- | :-------------- | +| BondDid | `string` | | +| Order | `*BuyOrder` | | +| ChargedPrices | `github_com_cosmos_cosmos_sdk_types.Coins` | | +| ChargedFees | `github_com_cosmos_cosmos_sdk_types.Coins` | | +| ReturnedToAddress | `github_com_cosmos_cosmos_sdk_types.Coins` | | +| NewBondTokenBalance | `github_com_cosmos_cosmos_sdk_types.Int` | | +| ChargedPricesOfWhichReserve | `*github_com_cosmos_cosmos_sdk_types.Int` | | +| ChargedPricesOfWhichFunding | `github_com_cosmos_cosmos_sdk_types.Coins` | | + +```go +type BondBuyOrderFulfilledEvent struct { + BondDid string + Order *BuyOrder + ChargedPrices github_com_cosmos_cosmos_sdk_types.Coins + ChargedFees github_com_cosmos_cosmos_sdk_types.Coins + ReturnedToAddress github_com_cosmos_cosmos_sdk_types.Coins + NewBondTokenBalance github_com_cosmos_cosmos_sdk_types.Int + ChargedPricesOfWhichReserve *github_com_cosmos_cosmos_sdk_types.Int + ChargedPricesOfWhichFunding github_com_cosmos_cosmos_sdk_types.Coins +} +``` + +### BondSellOrderFulfilledEvent + +Emitted after a successfull `SellOrder` has been executed which is done in `EndBlock` + +| **Field** | **Type** | **Description** | +| :------------------ | :----------------------------------------- | :-------------- | +| BondDid | `string` | | +| Order | `*SellOrder` | | +| ChargedFees | `github_com_cosmos_cosmos_sdk_types.Coins` | | +| ReturnedToAddress | `github_com_cosmos_cosmos_sdk_types.Coins` | | +| NewBondTokenBalance | `github_com_cosmos_cosmos_sdk_types.Int` | | + +```go +type BondSellOrderFulfilledEvent struct { + BondDid string + Order *SellOrder + ChargedFees github_com_cosmos_cosmos_sdk_types.Coins + ReturnedToAddress github_com_cosmos_cosmos_sdk_types.Coins + NewBondTokenBalance github_com_cosmos_cosmos_sdk_types.Int +} +``` + +### BondSwapOrderFulfilledEvent + +Emitted after a successfull `SwapOrder` has been executed which is done in `EndBlock` + +| **Field** | **Type** | **Description** | +| :---------------- | :----------------------------------------- | :-------------- | +| BondDid | `string` | | +| Order | `*SwapOrder` | | +| ChargedFee | `types.Coin` | | +| ReturnedToAddress | `github_com_cosmos_cosmos_sdk_types.Coins` | | +| TokensSwapped | `types.Coin` | | + +```go +type BondSwapOrderFulfilledEvent struct { + BondDid string + Order *SwapOrder + ChargedFee types.Coin + ReturnedToAddress github_com_cosmos_cosmos_sdk_types.Coins + TokensSwapped types.Coin +} +``` + +### BondBuyOrderCancelledEvent + +Emitted when a `BuyOrder` has been cancelled as it is not eligible to be executed anymore. + +| **Field** | **Type** | **Description** | +| :-------- | :---------- | :-------------- | +| BondDid | `string` | | +| Order | `*BuyOrder` | | + +```go +type BondBuyOrderCancelledEvent struct { + BondDid string + Order *BuyOrder +} +``` diff --git a/x/bonds/spec/06_params.md b/x/bonds/spec/06_params.md index 392075e6..80d95dfe 100644 --- a/x/bonds/spec/06_params.md +++ b/x/bonds/spec/06_params.md @@ -2,6 +2,6 @@ The bonds module contains the following parameter: -| Key | Type | Example | -|--------------------|------------|----------| -| ReservedBondTokens | []string | "tokenA" | \ No newline at end of file +| **Key** | **Type** | **Description** | +| :----------------- | :--------- | :----------------------------------------------------------- | +| ReservedBondTokens | `[]string` | A list of tokens that is reserved and can't be used by users | diff --git a/x/bonds/spec/README.md b/x/bonds/spec/README.md index 052e1260..efc30de7 100644 --- a/x/bonds/spec/README.md +++ b/x/bonds/spec/README.md @@ -1,54 +1,89 @@ # Bonds module specification -## Abstract - -This document specifies the bonds module; a custom Cosmos SDK module. +This document specifies the bonds module, a custom Ixo Cosmos SDK module. The bonds module provides universal token bonding curve functions to mint, burn or swap any token in a Cosmos blockchain. Once the Inter-Blockchain Communication (IBC) protocol is available, this should enable cross-network exchanges of tokens at algorithmically-determined prices. -The bonds module can be deployed through Cosmos Hubs and Zones to deliver applications such as: -* Automated market-makers (like [Uniswap](https://uniswap.io)) -* Decentralised exchanges (like [Bancor](https://bancor.network)) -* Curation markets (like [Relevant](https://github.com/relevant-community/contracts/tree/bondingCurves/contracts)) -* Development Impact Bonds (like ixo alpha-Bonds) -* Continuous organisations (like [Moloch DAO](https://molochdao.com/)) +The bonds module can deliver applications such as: + +- Automated market-makers (like [Uniswap](https://uniswap.io)) +- Decentralised exchanges (like [Bancor](https://bancor.network)) +- Curation markets (like [Relevant](https://github.com/relevant-community/contracts/tree/bondingCurves/contracts)) +- Development Impact Bonds (like ixo alpha-Bonds) +- Continuous organisations (like [Moloch DAO](https://molochdao.com/)) Any Cosmos application chain that implements the Bonds module is able to perform functions such as: -* Issue a new token with custom parameters. -* Pool liquidity for reserves. -* Provide continuous funding. -* Automatically mint and burn tokens at deterministic prices. -* Swap tokens atomically within the same network. -* Exchange tokens across networks, with the IBC protocol. -* (Batch token transactions to prevent front-running) -* Launch a decentralised autonomous initial coin offerings ([DAICO](https://ethresear.ch/t/explanation-of-daicos/465)) -* ...*other **DeFi**ant* innovations. + +- Issue a new token with custom parameters. +- Pool liquidity for reserves. +- Provide continuous funding. +- Automatically mint and burn tokens at deterministic prices. +- Swap tokens atomically within the same network. +- Exchange tokens across networks, with the IBC protocol. +- (Batch token transactions to prevent front-running) +- Launch a decentralised autonomous initial coin offerings ([DAICO](https://ethresear.ch/t/explanation-of-daicos/465)) +- ..._other **DeFi**ant_ innovations. ## Contents 1. **[Concepts](01_concepts.md)** + + - [Concepts](01_concepts.md#concepts) + - [Token Bonding Curves](01_concepts.md#token-bonding-curves) + - [Token Bonds Module](01_concepts.md#token-bonds-module) + - [Batching](01_concepts.md#batching) + 2. **[State](02_state.md)** - - [Bonds](02_state.md#bonds) - - [Batches](02_state.md#batches) + + - [State](02_state.md#state) + - [Bonds](02_state.md#bonds) + - [Batches](02_state.md#batches) + - [Querying Batches](02_state.md#querying-batches) + 3. **[Messages](03_messages.md)** - - [MsgCreateBond](03_messages.md#msgcreatebond) - - [MsgEditBond](03_messages.md#msgeditbond) - - [MsgSetNextAlpha](03_messages.md#msgsetnextalpha) - - [MsgUpdateBondState](03_messages.md#msgupdatebondstate) - - [MsgBuy](03_messages.md#msgbuy) - - [MsgSell](03_messages.md#msgsell) - - [MsgSwap](03_messages.md#msgswap) - - [MsgMakeOutcomePayment](03_messages.md#msgmakeoutcomepayment) - - [MsgWithdrawShare](03_messages.md#msgwithdrawshare) - - [MsgWithdrawReserve](03_messages.md#msgwithdrawreserve) + + - [Messages](03_messages.md#messages) + - [MsgCreateBond](03_messages.md#msgcreatebond) + - [MsgEditBond](03_messages.md#msgeditbond) + - [MsgSetNextAlpha](03_messages.md#msgsetnextalpha) + - [MsgUpdateBondState](03_messages.md#msgupdatebondstate) + - [MsgBuy](03_messages.md#msgbuy) + - [MsgBuy for Swapper Function Bonds](03_messages.md#msgbuy-for-swapper-function-bonds) + - [MsgSell](03_messages.md#msgsell) + - [MsgSwap](03_messages.md#msgswap) + - [MsgMakeOutcomePayment](03_messages.md#msgmakeoutcomepayment) + - [MsgWithdrawShare](03_messages.md#msgwithdrawshare) + - [MsgWithdrawReserve](03_messages.md#msgwithdrawreserve) + 4. **[End-Block](04_end_block.md)** - - [Buys](04_end_block.md#buys) - - [Sells](04_end_block.md#sells) - - [Swaps](04_end_block.md#swaps) - - [Set Last Batch](04_end_block.md#set-last-batch) + + - [End-Block](04_end_block.md#end-block) + - [Buys](04_end_block.md#buys) + - [Sells](04_end_block.md#sells) + - [Swaps](04_end_block.md#swaps) + - [Set Last Batch](04_end_block.md#set-last-batch) + 5. **[Events](05_events.md)** - - [EndBlocker](05_events.md#endblocker) - - [Handlers](05_events.md#handlers) + + - [Events](05_events.md#events) + - [BondCreatedEvent](05_events.md#bondcreatedevent) + - [BondUpdatedEvent](05_events.md#bondupdatedevent) + - [BondSetNextAlphaEvent](05_events.md#bondsetnextalphaevent) + - [BondBuyOrderEvent](05_events.md#bondbuyorderevent) + - [BondSellOrderEvent](05_events.md#bondsellorderevent) + - [BondSwapOrderEvent](05_events.md#bondswaporderevent) + - [BondMakeOutcomePaymentEvent](05_events.md#bondmakeoutcomepaymentevent) + - [BondWithdrawShareEvent](05_events.md#bondwithdrawshareevent) + - [BondWithdrawReserveEvent](05_events.md#bondwithdrawreserveevent) + - [BondEditAlphaSuccessEvent](05_events.md#bondeditalphasuccessevent) + - [BondEditAlphaFailedEvent](05_events.md#bondeditalphafailedevent) + - [BondBuyOrderFulfilledEvent](05_events.md#bondbuyorderfulfilledevent) + - [BondSellOrderFulfilledEvent](05_events.md#bondsellorderfulfilledevent) + - [BondSwapOrderFulfilledEvent](05_events.md#bondswaporderfulfilledevent) + - [BondBuyOrderCancelledEvent](05_events.md#bondbuyordercancelledevent) + 6. **[Parameters](06_params.md)** + 7. **[Future Improvements](07_future_improvements.md)** + 8. **[Functions Library](08_functions_library.ipynb)** diff --git a/x/bonds/spec/client/lcd/swagger-ui/favicon-16x16.png b/x/bonds/spec/client/lcd/swagger-ui/favicon-16x16.png deleted file mode 100644 index 0f7e13b0d9903d27a9129950b1dad362361504e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmV;u0Yd(XP)rNm2=6wQ7&2F}_`h_PI>(9Fx!5<0%l6W{u0OQ#*rglqx3__&vD?|#%fhn*Mn&YY1i+JQHqPvZ34FR@_E%P@x zzTL;Bw#nJXWY}D7^bC>-bx{t|^|R6Oci&MKvov8Op~S=}R=h^p-=vZ0uqG@LE6tP7 n92{cY$^db6>&z__iT?Z#Z8BG|DVcT0DjiaEd>Z!7_`J}8! zKk_$1lGm$vJOY&DjT-(&VGn0;R`iN9=1aOuG`H}BlY>&R3KbGER zB2$7euhH;y1C_LTQex%L6khZpkjFn!ajOUK)f3JLz+I;CE@(N)T)CM4AWjfl-(04= zrsMQ)#NG6nr^Y7!6LA;iHXh?UOFE%hhy>7dl=;I$J>g0BH_r|_4ctEsXx z2sDIQnwa*rcK=*3XUC$D{I@}DTNs@GCb7dB2%%nV%jR){xktt;Ah09op7x@l5D6B2 z0uBdt0YmcN!o?lMpu9Io(1&B1s{TUu*a>2&>Iycx__fbDRM8PYtLt+#G*xSt(cn}K zt!~W2{`9r)xkh^xodLS&FbYw`x$t&Vhl?)#f&k-lZIs<`$gTj{^#^HewuJz(WnUZZ z{Ty_aE;^93bhc-^^k6ZM!^e~$q5!Zz`XPta{a@651gPzaFx$&%IHL6hx$mSeAa#n6 zLkyc-M zs$qhBZhCNE^aIEV)H_~^IeqSRnvo!21Qc`Z;S9!IqXl4K(RUImejotzuG65LVuGS# zcqp@OA8~ln^4c^VihUew)IOX^E9KMtvSvnZ| zC@rl{f(B*PA26aFR`|X!!I(7x_|kq{rlqwhCia+CfNbOg_yYt0bDCc4g#h#`3jpCd zNAhr%4#Ye{i>ni$fzY%r0IS%l3HHZ4tTjOi=JW-t_iG~)oC!2C!52Cc|TAPaH zJ}l%m9yPmA-4#lJea@uf$a`(1;={rL2f*8;7%icbF}e^_`X#ndU=SI0nIn8hXPXHS zSN4rbF}jl0HWx(_`q`-SRa9jP8Ab!}sThNkQ634k=qXBVM4`o{M>qrLJD ze*%D)S;wpxG$d%FcDf-6%zMqWA+gw!C1~T5+|ys$G3Ksm&x59Lyd?0l+LWSk6hc4~ z+yC>|4f;X3#cq3!)>#Mvb-^co7LMrzqWeKB$21I>tJgaGFwu6eB%&j?@d*8GAx~In zI1p-lXVKtcvY7;$TX~wjYw|QhB%q!npQES%F~%Aqz~pJB%rNu!xAj;>xZt75!VHju zfFy%B-`3;Qf<{h94~I62zcHv}D5pS-QCN`M8K1>jN9mpbrFk=5no8j!00000NkvXX Hu0mjfOavUK diff --git a/x/bonds/spec/client/lcd/swagger-ui/index.html b/x/bonds/spec/client/lcd/swagger-ui/index.html deleted file mode 100644 index 0c485576..00000000 --- a/x/bonds/spec/client/lcd/swagger-ui/index.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - Swagger UI - - - - - - - -
    - - - - - - diff --git a/x/bonds/spec/client/lcd/swagger-ui/oauth2-redirect.html b/x/bonds/spec/client/lcd/swagger-ui/oauth2-redirect.html deleted file mode 100644 index fb68399d..00000000 --- a/x/bonds/spec/client/lcd/swagger-ui/oauth2-redirect.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - diff --git a/x/bonds/spec/client/lcd/swagger-ui/swagger-ui-bundle.js b/x/bonds/spec/client/lcd/swagger-ui/swagger-ui-bundle.js deleted file mode 100644 index c9ba00bf..00000000 --- a/x/bonds/spec/client/lcd/swagger-ui/swagger-ui-bundle.js +++ /dev/null @@ -1,41776 +0,0 @@ -! function(e, t) { - "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.SwaggerUIBundle = t() : e.SwaggerUIBundle = t() -}(this, function() { - return function(e) { - var t = {}; - - function n(r) { - if (t[r]) return t[r].exports; - var o = t[r] = { - i: r, - l: !1, - exports: {} - }; - return e[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports - } - return n.m = e, n.c = t, n.d = function(e, t, r) { - n.o(e, t) || Object.defineProperty(e, t, { - configurable: !1, - enumerable: !0, - get: r - }) - }, n.n = function(e) { - var t = e && e.__esModule ? function() { - return e.default - } : function() { - return e - }; - return n.d(t, "a", t), t - }, n.o = function(e, t) { - return Object.prototype.hasOwnProperty.call(e, t) - }, n.p = "/dist", n(n.s = 445) - }([function(e, t, n) { - "use strict"; - e.exports = n(75) - }, function(e, t, n) { - e.exports = n(853)() - }, function(e, t, n) { - "use strict"; - t.__esModule = !0, t.default = function(e, t) { - if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") - } - }, function(e, t, n) { - "use strict"; - t.__esModule = !0; - var r, o = n(262), - i = (r = o) && r.__esModule ? r : { - default: r - }; - t.default = function() { - function e(e, t) { - for (var n = 0; n < t.length; n++) { - var r = t[n]; - r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), (0, i.default)(e, r.key, r) - } - } - return function(t, n, r) { - return n && e(t.prototype, n), r && e(t, r), t - } - }() - }, function(e, t, n) { - e.exports = { - default: n(766), - __esModule: !0 - } - }, function(e, t, n) { - "use strict"; - t.__esModule = !0; - var r, o = n(45), - i = (r = o) && r.__esModule ? r : { - default: r - }; - t.default = function(e, t) { - if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - return !t || "object" !== (void 0 === t ? "undefined" : (0, i.default)(t)) && "function" != typeof t ? e : t - } - }, function(e, t, n) { - "use strict"; - t.__esModule = !0; - var r = a(n(768)), - o = a(n(349)), - i = a(n(45)); - - function a(e) { - return e && e.__esModule ? e : { - default: e - } - } - t.default = function(e, t) { - if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (void 0 === t ? "undefined" : (0, i.default)(t))); - e.prototype = (0, o.default)(t && t.prototype, { - constructor: { - value: e, - enumerable: !1, - writable: !0, - configurable: !0 - } - }), t && (r.default ? (0, r.default)(e, t) : e.__proto__ = t) - } - }, function(e, t, n) { - var r; - r = function() { - "use strict"; - var e = Array.prototype.slice; - - function t(e, t) { - t && (e.prototype = Object.create(t.prototype)), e.prototype.constructor = e - } - - function n(e) { - return a(e) ? e : J(e) - } - - function r(e) { - return u(e) ? e : Y(e) - } - - function o(e) { - return s(e) ? e : K(e) - } - - function i(e) { - return a(e) && !l(e) ? e : G(e) - } - - function a(e) { - return !(!e || !e[f]) - } - - function u(e) { - return !(!e || !e[p]) - } - - function s(e) { - return !(!e || !e[d]) - } - - function l(e) { - return u(e) || s(e) - } - - function c(e) { - return !(!e || !e[h]) - } - t(r, n), t(o, n), t(i, n), n.isIterable = a, n.isKeyed = u, n.isIndexed = s, n.isAssociative = l, n.isOrdered = c, n.Keyed = r, n.Indexed = o, n.Set = i; - var f = "@@__IMMUTABLE_ITERABLE__@@", - p = "@@__IMMUTABLE_KEYED__@@", - d = "@@__IMMUTABLE_INDEXED__@@", - h = "@@__IMMUTABLE_ORDERED__@@", - v = 5, - m = 1 << v, - g = m - 1, - y = {}, - b = { - value: !1 - }, - _ = { - value: !1 - }; - - function w(e) { - return e.value = !1, e - } - - function E(e) { - e && (e.value = !0) - } - - function x() {} - - function S(e, t) { - t = t || 0; - for (var n = Math.max(0, e.length - t), r = new Array(n), o = 0; o < n; o++) r[o] = e[o + t]; - return r - } - - function C(e) { - return void 0 === e.size && (e.size = e.__iterate(A)), e.size - } - - function k(e, t) { - if ("number" != typeof t) { - var n = t >>> 0; - if ("" + n !== t || 4294967295 === n) return NaN; - t = n - } - return t < 0 ? C(e) + t : t - } - - function A() { - return !0 - } - - function O(e, t, n) { - return (0 === e || void 0 !== n && e <= -n) && (void 0 === t || void 0 !== n && t >= n) - } - - function P(e, t) { - return M(e, t, 0) - } - - function T(e, t) { - return M(e, t, t) - } - - function M(e, t, n) { - return void 0 === e ? n : e < 0 ? Math.max(0, t + e) : void 0 === t ? e : Math.min(t, e) - } - var I = 0, - j = 1, - N = 2, - R = "function" == typeof Symbol && Symbol.iterator, - D = "@@iterator", - L = R || D; - - function U(e) { - this.next = e - } - - function q(e, t, n, r) { - var o = 0 === e ? t : 1 === e ? n : [t, n]; - return r ? r.value = o : r = { - value: o, - done: !1 - }, r - } - - function F() { - return { - value: void 0, - done: !0 - } - } - - function z(e) { - return !!H(e) - } - - function B(e) { - return e && "function" == typeof e.next - } - - function V(e) { - var t = H(e); - return t && t.call(e) - } - - function H(e) { - var t = e && (R && e[R] || e[D]); - if ("function" == typeof t) return t - } - - function W(e) { - return e && "number" == typeof e.length - } - - function J(e) { - return null === e || void 0 === e ? ie() : a(e) ? e.toSeq() : function(e) { - var t = se(e) || "object" == typeof e && new te(e); - if (!t) throw new TypeError("Expected Array or iterable object of values, or keyed object: " + e); - return t - }(e) - } - - function Y(e) { - return null === e || void 0 === e ? ie().toKeyedSeq() : a(e) ? u(e) ? e.toSeq() : e.fromEntrySeq() : ae(e) - } - - function K(e) { - return null === e || void 0 === e ? ie() : a(e) ? u(e) ? e.entrySeq() : e.toIndexedSeq() : ue(e) - } - - function G(e) { - return (null === e || void 0 === e ? ie() : a(e) ? u(e) ? e.entrySeq() : e : ue(e)).toSetSeq() - } - U.prototype.toString = function() { - return "[Iterator]" - }, U.KEYS = I, U.VALUES = j, U.ENTRIES = N, U.prototype.inspect = U.prototype.toSource = function() { - return this.toString() - }, U.prototype[L] = function() { - return this - }, t(J, n), J.of = function() { - return J(arguments) - }, J.prototype.toSeq = function() { - return this - }, J.prototype.toString = function() { - return this.__toString("Seq {", "}") - }, J.prototype.cacheResult = function() { - return !this._cache && this.__iterateUncached && (this._cache = this.entrySeq().toArray(), this.size = this._cache.length), this - }, J.prototype.__iterate = function(e, t) { - return le(this, e, t, !0) - }, J.prototype.__iterator = function(e, t) { - return ce(this, e, t, !0) - }, t(Y, J), Y.prototype.toKeyedSeq = function() { - return this - }, t(K, J), K.of = function() { - return K(arguments) - }, K.prototype.toIndexedSeq = function() { - return this - }, K.prototype.toString = function() { - return this.__toString("Seq [", "]") - }, K.prototype.__iterate = function(e, t) { - return le(this, e, t, !1) - }, K.prototype.__iterator = function(e, t) { - return ce(this, e, t, !1) - }, t(G, J), G.of = function() { - return G(arguments) - }, G.prototype.toSetSeq = function() { - return this - }, J.isSeq = oe, J.Keyed = Y, J.Set = G, J.Indexed = K; - var $, Z, X, Q = "@@__IMMUTABLE_SEQ__@@"; - - function ee(e) { - this._array = e, this.size = e.length - } - - function te(e) { - var t = Object.keys(e); - this._object = e, this._keys = t, this.size = t.length - } - - function ne(e) { - this._iterable = e, this.size = e.length || e.size - } - - function re(e) { - this._iterator = e, this._iteratorCache = [] - } - - function oe(e) { - return !(!e || !e[Q]) - } - - function ie() { - return $ || ($ = new ee([])) - } - - function ae(e) { - var t = Array.isArray(e) ? new ee(e).fromEntrySeq() : B(e) ? new re(e).fromEntrySeq() : z(e) ? new ne(e).fromEntrySeq() : "object" == typeof e ? new te(e) : void 0; - if (!t) throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: " + e); - return t - } - - function ue(e) { - var t = se(e); - if (!t) throw new TypeError("Expected Array or iterable object of values: " + e); - return t - } - - function se(e) { - return W(e) ? new ee(e) : B(e) ? new re(e) : z(e) ? new ne(e) : void 0 - } - - function le(e, t, n, r) { - var o = e._cache; - if (o) { - for (var i = o.length - 1, a = 0; a <= i; a++) { - var u = o[n ? i - a : a]; - if (!1 === t(u[1], r ? u[0] : a, e)) return a + 1 - } - return a - } - return e.__iterateUncached(t, n) - } - - function ce(e, t, n, r) { - var o = e._cache; - if (o) { - var i = o.length - 1, - a = 0; - return new U(function() { - var e = o[n ? i - a : a]; - return a++ > i ? { - value: void 0, - done: !0 - } : q(t, r ? e[0] : a - 1, e[1]) - }) - } - return e.__iteratorUncached(t, n) - } - - function fe(e, t) { - return t ? function e(t, n, r, o) { - if (Array.isArray(n)) return t.call(o, r, K(n).map(function(r, o) { - return e(t, r, o, n) - })); - if (de(n)) return t.call(o, r, Y(n).map(function(r, o) { - return e(t, r, o, n) - })); - return n - }(t, e, "", { - "": e - }) : pe(e) - } - - function pe(e) { - return Array.isArray(e) ? K(e).map(pe).toList() : de(e) ? Y(e).map(pe).toMap() : e - } - - function de(e) { - return e && (e.constructor === Object || void 0 === e.constructor) - } - - function he(e, t) { - if (e === t || e != e && t != t) return !0; - if (!e || !t) return !1; - if ("function" == typeof e.valueOf && "function" == typeof t.valueOf) { - if ((e = e.valueOf()) === (t = t.valueOf()) || e != e && t != t) return !0; - if (!e || !t) return !1 - } - return !("function" != typeof e.equals || "function" != typeof t.equals || !e.equals(t)) - } - - function ve(e, t) { - if (e === t) return !0; - if (!a(t) || void 0 !== e.size && void 0 !== t.size && e.size !== t.size || void 0 !== e.__hash && void 0 !== t.__hash && e.__hash !== t.__hash || u(e) !== u(t) || s(e) !== s(t) || c(e) !== c(t)) return !1; - if (0 === e.size && 0 === t.size) return !0; - var n = !l(e); - if (c(e)) { - var r = e.entries(); - return t.every(function(e, t) { - var o = r.next().value; - return o && he(o[1], e) && (n || he(o[0], t)) - }) && r.next().done - } - var o = !1; - if (void 0 === e.size) - if (void 0 === t.size) "function" == typeof e.cacheResult && e.cacheResult(); - else { - o = !0; - var i = e; - e = t, t = i - } - var f = !0, - p = t.__iterate(function(t, r) { - if (n ? !e.has(t) : o ? !he(t, e.get(r, y)) : !he(e.get(r, y), t)) return f = !1, !1 - }); - return f && e.size === p - } - - function me(e, t) { - if (!(this instanceof me)) return new me(e, t); - if (this._value = e, this.size = void 0 === t ? 1 / 0 : Math.max(0, t), 0 === this.size) { - if (Z) return Z; - Z = this - } - } - - function ge(e, t) { - if (!e) throw new Error(t) - } - - function ye(e, t, n) { - if (!(this instanceof ye)) return new ye(e, t, n); - if (ge(0 !== n, "Cannot step a Range by 0"), e = e || 0, void 0 === t && (t = 1 / 0), n = void 0 === n ? 1 : Math.abs(n), t < e && (n = -n), this._start = e, this._end = t, this._step = n, this.size = Math.max(0, Math.ceil((t - e) / n - 1) + 1), 0 === this.size) { - if (X) return X; - X = this - } - } - - function be() { - throw TypeError("Abstract") - } - - function _e() {} - - function we() {} - - function Ee() {} - J.prototype[Q] = !0, t(ee, K), ee.prototype.get = function(e, t) { - return this.has(e) ? this._array[k(this, e)] : t - }, ee.prototype.__iterate = function(e, t) { - for (var n = this._array, r = n.length - 1, o = 0; o <= r; o++) - if (!1 === e(n[t ? r - o : o], o, this)) return o + 1; - return o - }, ee.prototype.__iterator = function(e, t) { - var n = this._array, - r = n.length - 1, - o = 0; - return new U(function() { - return o > r ? { - value: void 0, - done: !0 - } : q(e, o, n[t ? r - o++ : o++]) - }) - }, t(te, Y), te.prototype.get = function(e, t) { - return void 0 === t || this.has(e) ? this._object[e] : t - }, te.prototype.has = function(e) { - return this._object.hasOwnProperty(e) - }, te.prototype.__iterate = function(e, t) { - for (var n = this._object, r = this._keys, o = r.length - 1, i = 0; i <= o; i++) { - var a = r[t ? o - i : i]; - if (!1 === e(n[a], a, this)) return i + 1 - } - return i - }, te.prototype.__iterator = function(e, t) { - var n = this._object, - r = this._keys, - o = r.length - 1, - i = 0; - return new U(function() { - var a = r[t ? o - i : i]; - return i++ > o ? { - value: void 0, - done: !0 - } : q(e, a, n[a]) - }) - }, te.prototype[h] = !0, t(ne, K), ne.prototype.__iterateUncached = function(e, t) { - if (t) return this.cacheResult().__iterate(e, t); - var n = V(this._iterable), - r = 0; - if (B(n)) - for (var o; !(o = n.next()).done && !1 !== e(o.value, r++, this);); - return r - }, ne.prototype.__iteratorUncached = function(e, t) { - if (t) return this.cacheResult().__iterator(e, t); - var n = V(this._iterable); - if (!B(n)) return new U(F); - var r = 0; - return new U(function() { - var t = n.next(); - return t.done ? t : q(e, r++, t.value) - }) - }, t(re, K), re.prototype.__iterateUncached = function(e, t) { - if (t) return this.cacheResult().__iterate(e, t); - for (var n, r = this._iterator, o = this._iteratorCache, i = 0; i < o.length;) - if (!1 === e(o[i], i++, this)) return i; - for (; !(n = r.next()).done;) { - var a = n.value; - if (o[i] = a, !1 === e(a, i++, this)) break - } - return i - }, re.prototype.__iteratorUncached = function(e, t) { - if (t) return this.cacheResult().__iterator(e, t); - var n = this._iterator, - r = this._iteratorCache, - o = 0; - return new U(function() { - if (o >= r.length) { - var t = n.next(); - if (t.done) return t; - r[o] = t.value - } - return q(e, o, r[o++]) - }) - }, t(me, K), me.prototype.toString = function() { - return 0 === this.size ? "Repeat []" : "Repeat [ " + this._value + " " + this.size + " times ]" - }, me.prototype.get = function(e, t) { - return this.has(e) ? this._value : t - }, me.prototype.includes = function(e) { - return he(this._value, e) - }, me.prototype.slice = function(e, t) { - var n = this.size; - return O(e, t, n) ? this : new me(this._value, T(t, n) - P(e, n)) - }, me.prototype.reverse = function() { - return this - }, me.prototype.indexOf = function(e) { - return he(this._value, e) ? 0 : -1 - }, me.prototype.lastIndexOf = function(e) { - return he(this._value, e) ? this.size : -1 - }, me.prototype.__iterate = function(e, t) { - for (var n = 0; n < this.size; n++) - if (!1 === e(this._value, n, this)) return n + 1; - return n - }, me.prototype.__iterator = function(e, t) { - var n = this, - r = 0; - return new U(function() { - return r < n.size ? q(e, r++, n._value) : { - value: void 0, - done: !0 - } - }) - }, me.prototype.equals = function(e) { - return e instanceof me ? he(this._value, e._value) : ve(e) - }, t(ye, K), ye.prototype.toString = function() { - return 0 === this.size ? "Range []" : "Range [ " + this._start + "..." + this._end + (1 !== this._step ? " by " + this._step : "") + " ]" - }, ye.prototype.get = function(e, t) { - return this.has(e) ? this._start + k(this, e) * this._step : t - }, ye.prototype.includes = function(e) { - var t = (e - this._start) / this._step; - return t >= 0 && t < this.size && t === Math.floor(t) - }, ye.prototype.slice = function(e, t) { - return O(e, t, this.size) ? this : (e = P(e, this.size), (t = T(t, this.size)) <= e ? new ye(0, 0) : new ye(this.get(e, this._end), this.get(t, this._end), this._step)) - }, ye.prototype.indexOf = function(e) { - var t = e - this._start; - if (t % this._step == 0) { - var n = t / this._step; - if (n >= 0 && n < this.size) return n - } - return -1 - }, ye.prototype.lastIndexOf = function(e) { - return this.indexOf(e) - }, ye.prototype.__iterate = function(e, t) { - for (var n = this.size - 1, r = this._step, o = t ? this._start + n * r : this._start, i = 0; i <= n; i++) { - if (!1 === e(o, i, this)) return i + 1; - o += t ? -r : r - } - return i - }, ye.prototype.__iterator = function(e, t) { - var n = this.size - 1, - r = this._step, - o = t ? this._start + n * r : this._start, - i = 0; - return new U(function() { - var a = o; - return o += t ? -r : r, i > n ? { - value: void 0, - done: !0 - } : q(e, i++, a) - }) - }, ye.prototype.equals = function(e) { - return e instanceof ye ? this._start === e._start && this._end === e._end && this._step === e._step : ve(this, e) - }, t(be, n), t(_e, be), t(we, be), t(Ee, be), be.Keyed = _e, be.Indexed = we, be.Set = Ee; - var xe = "function" == typeof Math.imul && -2 === Math.imul(4294967295, 2) ? Math.imul : function(e, t) { - var n = 65535 & (e |= 0), - r = 65535 & (t |= 0); - return n * r + ((e >>> 16) * r + n * (t >>> 16) << 16 >>> 0) | 0 - }; - - function Se(e) { - return e >>> 1 & 1073741824 | 3221225471 & e - } - - function Ce(e) { - if (!1 === e || null === e || void 0 === e) return 0; - if ("function" == typeof e.valueOf && (!1 === (e = e.valueOf()) || null === e || void 0 === e)) return 0; - if (!0 === e) return 1; - var t = typeof e; - if ("number" === t) { - if (e != e || e === 1 / 0) return 0; - var n = 0 | e; - for (n !== e && (n ^= 4294967295 * e); e > 4294967295;) n ^= e /= 4294967295; - return Se(n) - } - if ("string" === t) return e.length > je ? function(e) { - var t = De[e]; - void 0 === t && (t = ke(e), Re === Ne && (Re = 0, De = {}), Re++, De[e] = t); - return t - }(e) : ke(e); - if ("function" == typeof e.hashCode) return e.hashCode(); - if ("object" === t) return function(e) { - var t; - if (Te && void 0 !== (t = Pe.get(e))) return t; - if (void 0 !== (t = e[Ie])) return t; - if (!Oe) { - if (void 0 !== (t = e.propertyIsEnumerable && e.propertyIsEnumerable[Ie])) return t; - if (void 0 !== (t = function(e) { - if (e && e.nodeType > 0) switch (e.nodeType) { - case 1: - return e.uniqueID; - case 9: - return e.documentElement && e.documentElement.uniqueID - } - }(e))) return t - } - t = ++Me, 1073741824 & Me && (Me = 0); - if (Te) Pe.set(e, t); - else { - if (void 0 !== Ae && !1 === Ae(e)) throw new Error("Non-extensible objects are not allowed as keys."); - if (Oe) Object.defineProperty(e, Ie, { - enumerable: !1, - configurable: !1, - writable: !1, - value: t - }); - else if (void 0 !== e.propertyIsEnumerable && e.propertyIsEnumerable === e.constructor.prototype.propertyIsEnumerable) e.propertyIsEnumerable = function() { - return this.constructor.prototype.propertyIsEnumerable.apply(this, arguments) - }, e.propertyIsEnumerable[Ie] = t; - else { - if (void 0 === e.nodeType) throw new Error("Unable to set a non-enumerable property on object."); - e[Ie] = t - } - } - return t - }(e); - if ("function" == typeof e.toString) return ke(e.toString()); - throw new Error("Value type " + t + " cannot be hashed.") - } - - function ke(e) { - for (var t = 0, n = 0; n < e.length; n++) t = 31 * t + e.charCodeAt(n) | 0; - return Se(t) - } - var Ae = Object.isExtensible, - Oe = function() { - try { - return Object.defineProperty({}, "@", {}), !0 - } catch (e) { - return !1 - } - }(); - var Pe, Te = "function" == typeof WeakMap; - Te && (Pe = new WeakMap); - var Me = 0, - Ie = "__immutablehash__"; - "function" == typeof Symbol && (Ie = Symbol(Ie)); - var je = 16, - Ne = 255, - Re = 0, - De = {}; - - function Le(e) { - ge(e !== 1 / 0, "Cannot perform this action with an infinite size.") - } - - function Ue(e) { - return null === e || void 0 === e ? Xe() : qe(e) && !c(e) ? e : Xe().withMutations(function(t) { - var n = r(e); - Le(n.size), n.forEach(function(e, n) { - return t.set(n, e) - }) - }) - } - - function qe(e) { - return !(!e || !e[ze]) - } - t(Ue, _e), Ue.of = function() { - var t = e.call(arguments, 0); - return Xe().withMutations(function(e) { - for (var n = 0; n < t.length; n += 2) { - if (n + 1 >= t.length) throw new Error("Missing value for key: " + t[n]); - e.set(t[n], t[n + 1]) - } - }) - }, Ue.prototype.toString = function() { - return this.__toString("Map {", "}") - }, Ue.prototype.get = function(e, t) { - return this._root ? this._root.get(0, void 0, e, t) : t - }, Ue.prototype.set = function(e, t) { - return Qe(this, e, t) - }, Ue.prototype.setIn = function(e, t) { - return this.updateIn(e, y, function() { - return t - }) - }, Ue.prototype.remove = function(e) { - return Qe(this, e, y) - }, Ue.prototype.deleteIn = function(e) { - return this.updateIn(e, function() { - return y - }) - }, Ue.prototype.update = function(e, t, n) { - return 1 === arguments.length ? e(this) : this.updateIn([e], t, n) - }, Ue.prototype.updateIn = function(e, t, n) { - n || (n = t, t = void 0); - var r = function e(t, n, r, o) { - var i = t === y; - var a = n.next(); - if (a.done) { - var u = i ? r : t, - s = o(u); - return s === u ? t : s - } - ge(i || t && t.set, "invalid keyPath"); - var l = a.value; - var c = i ? y : t.get(l, y); - var f = e(c, n, r, o); - return f === c ? t : f === y ? t.remove(l) : (i ? Xe() : t).set(l, f) - }(this, nn(e), t, n); - return r === y ? void 0 : r - }, Ue.prototype.clear = function() { - return 0 === this.size ? this : this.__ownerID ? (this.size = 0, this._root = null, this.__hash = void 0, this.__altered = !0, this) : Xe() - }, Ue.prototype.merge = function() { - return rt(this, void 0, arguments) - }, Ue.prototype.mergeWith = function(t) { - return rt(this, t, e.call(arguments, 1)) - }, Ue.prototype.mergeIn = function(t) { - var n = e.call(arguments, 1); - return this.updateIn(t, Xe(), function(e) { - return "function" == typeof e.merge ? e.merge.apply(e, n) : n[n.length - 1] - }) - }, Ue.prototype.mergeDeep = function() { - return rt(this, ot, arguments) - }, Ue.prototype.mergeDeepWith = function(t) { - var n = e.call(arguments, 1); - return rt(this, it(t), n) - }, Ue.prototype.mergeDeepIn = function(t) { - var n = e.call(arguments, 1); - return this.updateIn(t, Xe(), function(e) { - return "function" == typeof e.mergeDeep ? e.mergeDeep.apply(e, n) : n[n.length - 1] - }) - }, Ue.prototype.sort = function(e) { - return Pt(Wt(this, e)) - }, Ue.prototype.sortBy = function(e, t) { - return Pt(Wt(this, t, e)) - }, Ue.prototype.withMutations = function(e) { - var t = this.asMutable(); - return e(t), t.wasAltered() ? t.__ensureOwner(this.__ownerID) : this - }, Ue.prototype.asMutable = function() { - return this.__ownerID ? this : this.__ensureOwner(new x) - }, Ue.prototype.asImmutable = function() { - return this.__ensureOwner() - }, Ue.prototype.wasAltered = function() { - return this.__altered - }, Ue.prototype.__iterator = function(e, t) { - return new Ke(this, e, t) - }, Ue.prototype.__iterate = function(e, t) { - var n = this, - r = 0; - return this._root && this._root.iterate(function(t) { - return r++, e(t[1], t[0], n) - }, t), r - }, Ue.prototype.__ensureOwner = function(e) { - return e === this.__ownerID ? this : e ? Ze(this.size, this._root, e, this.__hash) : (this.__ownerID = e, this.__altered = !1, this) - }, Ue.isMap = qe; - var Fe, ze = "@@__IMMUTABLE_MAP__@@", - Be = Ue.prototype; - - function Ve(e, t) { - this.ownerID = e, this.entries = t - } - - function He(e, t, n) { - this.ownerID = e, this.bitmap = t, this.nodes = n - } - - function We(e, t, n) { - this.ownerID = e, this.count = t, this.nodes = n - } - - function Je(e, t, n) { - this.ownerID = e, this.keyHash = t, this.entries = n - } - - function Ye(e, t, n) { - this.ownerID = e, this.keyHash = t, this.entry = n - } - - function Ke(e, t, n) { - this._type = t, this._reverse = n, this._stack = e._root && $e(e._root) - } - - function Ge(e, t) { - return q(e, t[0], t[1]) - } - - function $e(e, t) { - return { - node: e, - index: 0, - __prev: t - } - } - - function Ze(e, t, n, r) { - var o = Object.create(Be); - return o.size = e, o._root = t, o.__ownerID = n, o.__hash = r, o.__altered = !1, o - } - - function Xe() { - return Fe || (Fe = Ze(0)) - } - - function Qe(e, t, n) { - var r, o; - if (e._root) { - var i = w(b), - a = w(_); - if (r = et(e._root, e.__ownerID, 0, void 0, t, n, i, a), !a.value) return e; - o = e.size + (i.value ? n === y ? -1 : 1 : 0) - } else { - if (n === y) return e; - o = 1, r = new Ve(e.__ownerID, [ - [t, n] - ]) - } - return e.__ownerID ? (e.size = o, e._root = r, e.__hash = void 0, e.__altered = !0, e) : r ? Ze(o, r) : Xe() - } - - function et(e, t, n, r, o, i, a, u) { - return e ? e.update(t, n, r, o, i, a, u) : i === y ? e : (E(u), E(a), new Ye(t, r, [o, i])) - } - - function tt(e) { - return e.constructor === Ye || e.constructor === Je - } - - function nt(e, t, n, r, o) { - if (e.keyHash === r) return new Je(t, r, [e.entry, o]); - var i, a = (0 === n ? e.keyHash : e.keyHash >>> n) & g, - u = (0 === n ? r : r >>> n) & g; - return new He(t, 1 << a | 1 << u, a === u ? [nt(e, t, n + v, r, o)] : (i = new Ye(t, r, o), a < u ? [e, i] : [i, e])) - } - - function rt(e, t, n) { - for (var o = [], i = 0; i < n.length; i++) { - var u = n[i], - s = r(u); - a(u) || (s = s.map(function(e) { - return fe(e) - })), o.push(s) - } - return at(e, t, o) - } - - function ot(e, t, n) { - return e && e.mergeDeep && a(t) ? e.mergeDeep(t) : he(e, t) ? e : t - } - - function it(e) { - return function(t, n, r) { - if (t && t.mergeDeepWith && a(n)) return t.mergeDeepWith(e, n); - var o = e(t, n, r); - return he(t, o) ? t : o - } - } - - function at(e, t, n) { - return 0 === (n = n.filter(function(e) { - return 0 !== e.size - })).length ? e : 0 !== e.size || e.__ownerID || 1 !== n.length ? e.withMutations(function(e) { - for (var r = t ? function(n, r) { - e.update(r, y, function(e) { - return e === y ? n : t(e, n, r) - }) - } : function(t, n) { - e.set(n, t) - }, o = 0; o < n.length; o++) n[o].forEach(r) - }) : e.constructor(n[0]) - } - - function ut(e) { - return e = (e = (858993459 & (e -= e >> 1 & 1431655765)) + (e >> 2 & 858993459)) + (e >> 4) & 252645135, e += e >> 8, 127 & (e += e >> 16) - } - - function st(e, t, n, r) { - var o = r ? e : S(e); - return o[t] = n, o - } - Be[ze] = !0, Be.delete = Be.remove, Be.removeIn = Be.deleteIn, Ve.prototype.get = function(e, t, n, r) { - for (var o = this.entries, i = 0, a = o.length; i < a; i++) - if (he(n, o[i][0])) return o[i][1]; - return r - }, Ve.prototype.update = function(e, t, n, r, o, i, a) { - for (var u = o === y, s = this.entries, l = 0, c = s.length; l < c && !he(r, s[l][0]); l++); - var f = l < c; - if (f ? s[l][1] === o : u) return this; - if (E(a), (u || !f) && E(i), !u || 1 !== s.length) { - if (!f && !u && s.length >= lt) return function(e, t, n, r) { - e || (e = new x); - for (var o = new Ye(e, Ce(n), [n, r]), i = 0; i < t.length; i++) { - var a = t[i]; - o = o.update(e, 0, void 0, a[0], a[1]) - } - return o - }(e, s, r, o); - var p = e && e === this.ownerID, - d = p ? s : S(s); - return f ? u ? l === c - 1 ? d.pop() : d[l] = d.pop() : d[l] = [r, o] : d.push([r, o]), p ? (this.entries = d, this) : new Ve(e, d) - } - }, He.prototype.get = function(e, t, n, r) { - void 0 === t && (t = Ce(n)); - var o = 1 << ((0 === e ? t : t >>> e) & g), - i = this.bitmap; - return 0 == (i & o) ? r : this.nodes[ut(i & o - 1)].get(e + v, t, n, r) - }, He.prototype.update = function(e, t, n, r, o, i, a) { - void 0 === n && (n = Ce(r)); - var u = (0 === t ? n : n >>> t) & g, - s = 1 << u, - l = this.bitmap, - c = 0 != (l & s); - if (!c && o === y) return this; - var f = ut(l & s - 1), - p = this.nodes, - d = c ? p[f] : void 0, - h = et(d, e, t + v, n, r, o, i, a); - if (h === d) return this; - if (!c && h && p.length >= ct) return function(e, t, n, r, o) { - for (var i = 0, a = new Array(m), u = 0; 0 !== n; u++, n >>>= 1) a[u] = 1 & n ? t[i++] : void 0; - return a[r] = o, new We(e, i + 1, a) - }(e, p, l, u, h); - if (c && !h && 2 === p.length && tt(p[1 ^ f])) return p[1 ^ f]; - if (c && h && 1 === p.length && tt(h)) return h; - var b = e && e === this.ownerID, - _ = c ? h ? l : l ^ s : l | s, - w = c ? h ? st(p, f, h, b) : function(e, t, n) { - var r = e.length - 1; - if (n && t === r) return e.pop(), e; - for (var o = new Array(r), i = 0, a = 0; a < r; a++) a === t && (i = 1), o[a] = e[a + i]; - return o - }(p, f, b) : function(e, t, n, r) { - var o = e.length + 1; - if (r && t + 1 === o) return e[t] = n, e; - for (var i = new Array(o), a = 0, u = 0; u < o; u++) u === t ? (i[u] = n, a = -1) : i[u] = e[u + a]; - return i - }(p, f, h, b); - return b ? (this.bitmap = _, this.nodes = w, this) : new He(e, _, w) - }, We.prototype.get = function(e, t, n, r) { - void 0 === t && (t = Ce(n)); - var o = (0 === e ? t : t >>> e) & g, - i = this.nodes[o]; - return i ? i.get(e + v, t, n, r) : r - }, We.prototype.update = function(e, t, n, r, o, i, a) { - void 0 === n && (n = Ce(r)); - var u = (0 === t ? n : n >>> t) & g, - s = o === y, - l = this.nodes, - c = l[u]; - if (s && !c) return this; - var f = et(c, e, t + v, n, r, o, i, a); - if (f === c) return this; - var p = this.count; - if (c) { - if (!f && --p < ft) return function(e, t, n, r) { - for (var o = 0, i = 0, a = new Array(n), u = 0, s = 1, l = t.length; u < l; u++, s <<= 1) { - var c = t[u]; - void 0 !== c && u !== r && (o |= s, a[i++] = c) - } - return new He(e, o, a) - }(e, l, p, u) - } else p++; - var d = e && e === this.ownerID, - h = st(l, u, f, d); - return d ? (this.count = p, this.nodes = h, this) : new We(e, p, h) - }, Je.prototype.get = function(e, t, n, r) { - for (var o = this.entries, i = 0, a = o.length; i < a; i++) - if (he(n, o[i][0])) return o[i][1]; - return r - }, Je.prototype.update = function(e, t, n, r, o, i, a) { - void 0 === n && (n = Ce(r)); - var u = o === y; - if (n !== this.keyHash) return u ? this : (E(a), E(i), nt(this, e, t, n, [r, o])); - for (var s = this.entries, l = 0, c = s.length; l < c && !he(r, s[l][0]); l++); - var f = l < c; - if (f ? s[l][1] === o : u) return this; - if (E(a), (u || !f) && E(i), u && 2 === c) return new Ye(e, this.keyHash, s[1 ^ l]); - var p = e && e === this.ownerID, - d = p ? s : S(s); - return f ? u ? l === c - 1 ? d.pop() : d[l] = d.pop() : d[l] = [r, o] : d.push([r, o]), p ? (this.entries = d, this) : new Je(e, this.keyHash, d) - }, Ye.prototype.get = function(e, t, n, r) { - return he(n, this.entry[0]) ? this.entry[1] : r - }, Ye.prototype.update = function(e, t, n, r, o, i, a) { - var u = o === y, - s = he(r, this.entry[0]); - return (s ? o === this.entry[1] : u) ? this : (E(a), u ? void E(i) : s ? e && e === this.ownerID ? (this.entry[1] = o, this) : new Ye(e, this.keyHash, [r, o]) : (E(i), nt(this, e, t, Ce(r), [r, o]))) - }, Ve.prototype.iterate = Je.prototype.iterate = function(e, t) { - for (var n = this.entries, r = 0, o = n.length - 1; r <= o; r++) - if (!1 === e(n[t ? o - r : r])) return !1 - }, He.prototype.iterate = We.prototype.iterate = function(e, t) { - for (var n = this.nodes, r = 0, o = n.length - 1; r <= o; r++) { - var i = n[t ? o - r : r]; - if (i && !1 === i.iterate(e, t)) return !1 - } - }, Ye.prototype.iterate = function(e, t) { - return e(this.entry) - }, t(Ke, U), Ke.prototype.next = function() { - for (var e = this._type, t = this._stack; t;) { - var n, r = t.node, - o = t.index++; - if (r.entry) { - if (0 === o) return Ge(e, r.entry) - } else if (r.entries) { - if (o <= (n = r.entries.length - 1)) return Ge(e, r.entries[this._reverse ? n - o : o]) - } else if (o <= (n = r.nodes.length - 1)) { - var i = r.nodes[this._reverse ? n - o : o]; - if (i) { - if (i.entry) return Ge(e, i.entry); - t = this._stack = $e(i, t) - } - continue - } - t = this._stack = this._stack.__prev - } - return { - value: void 0, - done: !0 - } - }; - var lt = m / 4, - ct = m / 2, - ft = m / 4; - - function pt(e) { - var t = Et(); - if (null === e || void 0 === e) return t; - if (dt(e)) return e; - var n = o(e), - r = n.size; - return 0 === r ? t : (Le(r), r > 0 && r < m ? wt(0, r, v, null, new mt(n.toArray())) : t.withMutations(function(e) { - e.setSize(r), n.forEach(function(t, n) { - return e.set(n, t) - }) - })) - } - - function dt(e) { - return !(!e || !e[ht]) - } - t(pt, we), pt.of = function() { - return this(arguments) - }, pt.prototype.toString = function() { - return this.__toString("List [", "]") - }, pt.prototype.get = function(e, t) { - if ((e = k(this, e)) >= 0 && e < this.size) { - var n = Ct(this, e += this._origin); - return n && n.array[e & g] - } - return t - }, pt.prototype.set = function(e, t) { - return function(e, t, n) { - if ((t = k(e, t)) != t) return e; - if (t >= e.size || t < 0) return e.withMutations(function(e) { - t < 0 ? kt(e, t).set(0, n) : kt(e, 0, t + 1).set(t, n) - }); - t += e._origin; - var r = e._tail, - o = e._root, - i = w(_); - t >= Ot(e._capacity) ? r = xt(r, e.__ownerID, 0, t, n, i) : o = xt(o, e.__ownerID, e._level, t, n, i); - if (!i.value) return e; - if (e.__ownerID) return e._root = o, e._tail = r, e.__hash = void 0, e.__altered = !0, e; - return wt(e._origin, e._capacity, e._level, o, r) - }(this, e, t) - }, pt.prototype.remove = function(e) { - return this.has(e) ? 0 === e ? this.shift() : e === this.size - 1 ? this.pop() : this.splice(e, 1) : this - }, pt.prototype.insert = function(e, t) { - return this.splice(e, 0, t) - }, pt.prototype.clear = function() { - return 0 === this.size ? this : this.__ownerID ? (this.size = this._origin = this._capacity = 0, this._level = v, this._root = this._tail = null, this.__hash = void 0, this.__altered = !0, this) : Et() - }, pt.prototype.push = function() { - var e = arguments, - t = this.size; - return this.withMutations(function(n) { - kt(n, 0, t + e.length); - for (var r = 0; r < e.length; r++) n.set(t + r, e[r]) - }) - }, pt.prototype.pop = function() { - return kt(this, 0, -1) - }, pt.prototype.unshift = function() { - var e = arguments; - return this.withMutations(function(t) { - kt(t, -e.length); - for (var n = 0; n < e.length; n++) t.set(n, e[n]) - }) - }, pt.prototype.shift = function() { - return kt(this, 1) - }, pt.prototype.merge = function() { - return At(this, void 0, arguments) - }, pt.prototype.mergeWith = function(t) { - return At(this, t, e.call(arguments, 1)) - }, pt.prototype.mergeDeep = function() { - return At(this, ot, arguments) - }, pt.prototype.mergeDeepWith = function(t) { - var n = e.call(arguments, 1); - return At(this, it(t), n) - }, pt.prototype.setSize = function(e) { - return kt(this, 0, e) - }, pt.prototype.slice = function(e, t) { - var n = this.size; - return O(e, t, n) ? this : kt(this, P(e, n), T(t, n)) - }, pt.prototype.__iterator = function(e, t) { - var n = 0, - r = _t(this, t); - return new U(function() { - var t = r(); - return t === bt ? { - value: void 0, - done: !0 - } : q(e, n++, t) - }) - }, pt.prototype.__iterate = function(e, t) { - for (var n, r = 0, o = _t(this, t); - (n = o()) !== bt && !1 !== e(n, r++, this);); - return r - }, pt.prototype.__ensureOwner = function(e) { - return e === this.__ownerID ? this : e ? wt(this._origin, this._capacity, this._level, this._root, this._tail, e, this.__hash) : (this.__ownerID = e, this) - }, pt.isList = dt; - var ht = "@@__IMMUTABLE_LIST__@@", - vt = pt.prototype; - - function mt(e, t) { - this.array = e, this.ownerID = t - } - vt[ht] = !0, vt.delete = vt.remove, vt.setIn = Be.setIn, vt.deleteIn = vt.removeIn = Be.removeIn, vt.update = Be.update, vt.updateIn = Be.updateIn, vt.mergeIn = Be.mergeIn, vt.mergeDeepIn = Be.mergeDeepIn, vt.withMutations = Be.withMutations, vt.asMutable = Be.asMutable, vt.asImmutable = Be.asImmutable, vt.wasAltered = Be.wasAltered, mt.prototype.removeBefore = function(e, t, n) { - if (n === t ? 1 << t : 0 === this.array.length) return this; - var r = n >>> t & g; - if (r >= this.array.length) return new mt([], e); - var o, i = 0 === r; - if (t > 0) { - var a = this.array[r]; - if ((o = a && a.removeBefore(e, t - v, n)) === a && i) return this - } - if (i && !o) return this; - var u = St(this, e); - if (!i) - for (var s = 0; s < r; s++) u.array[s] = void 0; - return o && (u.array[r] = o), u - }, mt.prototype.removeAfter = function(e, t, n) { - if (n === (t ? 1 << t : 0) || 0 === this.array.length) return this; - var r, o = n - 1 >>> t & g; - if (o >= this.array.length) return this; - if (t > 0) { - var i = this.array[o]; - if ((r = i && i.removeAfter(e, t - v, n)) === i && o === this.array.length - 1) return this - } - var a = St(this, e); - return a.array.splice(o + 1), r && (a.array[o] = r), a - }; - var gt, yt, bt = {}; - - function _t(e, t) { - var n = e._origin, - r = e._capacity, - o = Ot(r), - i = e._tail; - return a(e._root, e._level, 0); - - function a(e, u, s) { - return 0 === u ? function(e, a) { - var u = a === o ? i && i.array : e && e.array, - s = a > n ? 0 : n - a, - l = r - a; - l > m && (l = m); - return function() { - if (s === l) return bt; - var e = t ? --l : s++; - return u && u[e] - } - }(e, s) : function(e, o, i) { - var u, s = e && e.array, - l = i > n ? 0 : n - i >> o, - c = 1 + (r - i >> o); - c > m && (c = m); - return function() { - for (;;) { - if (u) { - var e = u(); - if (e !== bt) return e; - u = null - } - if (l === c) return bt; - var n = t ? --c : l++; - u = a(s && s[n], o - v, i + (n << o)) - } - } - }(e, u, s) - } - } - - function wt(e, t, n, r, o, i, a) { - var u = Object.create(vt); - return u.size = t - e, u._origin = e, u._capacity = t, u._level = n, u._root = r, u._tail = o, u.__ownerID = i, u.__hash = a, u.__altered = !1, u - } - - function Et() { - return gt || (gt = wt(0, 0, v)) - } - - function xt(e, t, n, r, o, i) { - var a, u = r >>> n & g, - s = e && u < e.array.length; - if (!s && void 0 === o) return e; - if (n > 0) { - var l = e && e.array[u], - c = xt(l, t, n - v, r, o, i); - return c === l ? e : ((a = St(e, t)).array[u] = c, a) - } - return s && e.array[u] === o ? e : (E(i), a = St(e, t), void 0 === o && u === a.array.length - 1 ? a.array.pop() : a.array[u] = o, a) - } - - function St(e, t) { - return t && e && t === e.ownerID ? e : new mt(e ? e.array.slice() : [], t) - } - - function Ct(e, t) { - if (t >= Ot(e._capacity)) return e._tail; - if (t < 1 << e._level + v) { - for (var n = e._root, r = e._level; n && r > 0;) n = n.array[t >>> r & g], r -= v; - return n - } - } - - function kt(e, t, n) { - void 0 !== t && (t |= 0), void 0 !== n && (n |= 0); - var r = e.__ownerID || new x, - o = e._origin, - i = e._capacity, - a = o + t, - u = void 0 === n ? i : n < 0 ? i + n : o + n; - if (a === o && u === i) return e; - if (a >= u) return e.clear(); - for (var s = e._level, l = e._root, c = 0; a + c < 0;) l = new mt(l && l.array.length ? [void 0, l] : [], r), c += 1 << (s += v); - c && (a += c, o += c, u += c, i += c); - for (var f = Ot(i), p = Ot(u); p >= 1 << s + v;) l = new mt(l && l.array.length ? [l] : [], r), s += v; - var d = e._tail, - h = p < f ? Ct(e, u - 1) : p > f ? new mt([], r) : d; - if (d && p > f && a < i && d.array.length) { - for (var m = l = St(l, r), y = s; y > v; y -= v) { - var b = f >>> y & g; - m = m.array[b] = St(m.array[b], r) - } - m.array[f >>> v & g] = d - } - if (u < i && (h = h && h.removeAfter(r, 0, u)), a >= p) a -= p, u -= p, s = v, l = null, h = h && h.removeBefore(r, 0, a); - else if (a > o || p < f) { - for (c = 0; l;) { - var _ = a >>> s & g; - if (_ !== p >>> s & g) break; - _ && (c += (1 << s) * _), s -= v, l = l.array[_] - } - l && a > o && (l = l.removeBefore(r, s, a - c)), l && p < f && (l = l.removeAfter(r, s, p - c)), c && (a -= c, u -= c) - } - return e.__ownerID ? (e.size = u - a, e._origin = a, e._capacity = u, e._level = s, e._root = l, e._tail = h, e.__hash = void 0, e.__altered = !0, e) : wt(a, u, s, l, h) - } - - function At(e, t, n) { - for (var r = [], i = 0, u = 0; u < n.length; u++) { - var s = n[u], - l = o(s); - l.size > i && (i = l.size), a(s) || (l = l.map(function(e) { - return fe(e) - })), r.push(l) - } - return i > e.size && (e = e.setSize(i)), at(e, t, r) - } - - function Ot(e) { - return e < m ? 0 : e - 1 >>> v << v - } - - function Pt(e) { - return null === e || void 0 === e ? It() : Tt(e) ? e : It().withMutations(function(t) { - var n = r(e); - Le(n.size), n.forEach(function(e, n) { - return t.set(n, e) - }) - }) - } - - function Tt(e) { - return qe(e) && c(e) - } - - function Mt(e, t, n, r) { - var o = Object.create(Pt.prototype); - return o.size = e ? e.size : 0, o._map = e, o._list = t, o.__ownerID = n, o.__hash = r, o - } - - function It() { - return yt || (yt = Mt(Xe(), Et())) - } - - function jt(e, t, n) { - var r, o, i = e._map, - a = e._list, - u = i.get(t), - s = void 0 !== u; - if (n === y) { - if (!s) return e; - a.size >= m && a.size >= 2 * i.size ? (r = (o = a.filter(function(e, t) { - return void 0 !== e && u !== t - })).toKeyedSeq().map(function(e) { - return e[0] - }).flip().toMap(), e.__ownerID && (r.__ownerID = o.__ownerID = e.__ownerID)) : (r = i.remove(t), o = u === a.size - 1 ? a.pop() : a.set(u, void 0)) - } else if (s) { - if (n === a.get(u)[1]) return e; - r = i, o = a.set(u, [t, n]) - } else r = i.set(t, a.size), o = a.set(a.size, [t, n]); - return e.__ownerID ? (e.size = r.size, e._map = r, e._list = o, e.__hash = void 0, e) : Mt(r, o) - } - - function Nt(e, t) { - this._iter = e, this._useKeys = t, this.size = e.size - } - - function Rt(e) { - this._iter = e, this.size = e.size - } - - function Dt(e) { - this._iter = e, this.size = e.size - } - - function Lt(e) { - this._iter = e, this.size = e.size - } - - function Ut(e) { - var t = Qt(e); - return t._iter = e, t.size = e.size, t.flip = function() { - return e - }, t.reverse = function() { - var t = e.reverse.apply(this); - return t.flip = function() { - return e.reverse() - }, t - }, t.has = function(t) { - return e.includes(t) - }, t.includes = function(t) { - return e.has(t) - }, t.cacheResult = en, t.__iterateUncached = function(t, n) { - var r = this; - return e.__iterate(function(e, n) { - return !1 !== t(n, e, r) - }, n) - }, t.__iteratorUncached = function(t, n) { - if (t === N) { - var r = e.__iterator(t, n); - return new U(function() { - var e = r.next(); - if (!e.done) { - var t = e.value[0]; - e.value[0] = e.value[1], e.value[1] = t - } - return e - }) - } - return e.__iterator(t === j ? I : j, n) - }, t - } - - function qt(e, t, n) { - var r = Qt(e); - return r.size = e.size, r.has = function(t) { - return e.has(t) - }, r.get = function(r, o) { - var i = e.get(r, y); - return i === y ? o : t.call(n, i, r, e) - }, r.__iterateUncached = function(r, o) { - var i = this; - return e.__iterate(function(e, o, a) { - return !1 !== r(t.call(n, e, o, a), o, i) - }, o) - }, r.__iteratorUncached = function(r, o) { - var i = e.__iterator(N, o); - return new U(function() { - var o = i.next(); - if (o.done) return o; - var a = o.value, - u = a[0]; - return q(r, u, t.call(n, a[1], u, e), o) - }) - }, r - } - - function Ft(e, t) { - var n = Qt(e); - return n._iter = e, n.size = e.size, n.reverse = function() { - return e - }, e.flip && (n.flip = function() { - var t = Ut(e); - return t.reverse = function() { - return e.flip() - }, t - }), n.get = function(n, r) { - return e.get(t ? n : -1 - n, r) - }, n.has = function(n) { - return e.has(t ? n : -1 - n) - }, n.includes = function(t) { - return e.includes(t) - }, n.cacheResult = en, n.__iterate = function(t, n) { - var r = this; - return e.__iterate(function(e, n) { - return t(e, n, r) - }, !n) - }, n.__iterator = function(t, n) { - return e.__iterator(t, !n) - }, n - } - - function zt(e, t, n, r) { - var o = Qt(e); - return r && (o.has = function(r) { - var o = e.get(r, y); - return o !== y && !!t.call(n, o, r, e) - }, o.get = function(r, o) { - var i = e.get(r, y); - return i !== y && t.call(n, i, r, e) ? i : o - }), o.__iterateUncached = function(o, i) { - var a = this, - u = 0; - return e.__iterate(function(e, i, s) { - if (t.call(n, e, i, s)) return u++, o(e, r ? i : u - 1, a) - }, i), u - }, o.__iteratorUncached = function(o, i) { - var a = e.__iterator(N, i), - u = 0; - return new U(function() { - for (;;) { - var i = a.next(); - if (i.done) return i; - var s = i.value, - l = s[0], - c = s[1]; - if (t.call(n, c, l, e)) return q(o, r ? l : u++, c, i) - } - }) - }, o - } - - function Bt(e, t, n, r) { - var o = e.size; - if (void 0 !== t && (t |= 0), void 0 !== n && (n === 1 / 0 ? n = o : n |= 0), O(t, n, o)) return e; - var i = P(t, o), - a = T(n, o); - if (i != i || a != a) return Bt(e.toSeq().cacheResult(), t, n, r); - var u, s = a - i; - s == s && (u = s < 0 ? 0 : s); - var l = Qt(e); - return l.size = 0 === u ? u : e.size && u || void 0, !r && oe(e) && u >= 0 && (l.get = function(t, n) { - return (t = k(this, t)) >= 0 && t < u ? e.get(t + i, n) : n - }), l.__iterateUncached = function(t, n) { - var o = this; - if (0 === u) return 0; - if (n) return this.cacheResult().__iterate(t, n); - var a = 0, - s = !0, - l = 0; - return e.__iterate(function(e, n) { - if (!s || !(s = a++ < i)) return l++, !1 !== t(e, r ? n : l - 1, o) && l !== u - }), l - }, l.__iteratorUncached = function(t, n) { - if (0 !== u && n) return this.cacheResult().__iterator(t, n); - var o = 0 !== u && e.__iterator(t, n), - a = 0, - s = 0; - return new U(function() { - for (; a++ < i;) o.next(); - if (++s > u) return { - value: void 0, - done: !0 - }; - var e = o.next(); - return r || t === j ? e : q(t, s - 1, t === I ? void 0 : e.value[1], e) - }) - }, l - } - - function Vt(e, t, n, r) { - var o = Qt(e); - return o.__iterateUncached = function(o, i) { - var a = this; - if (i) return this.cacheResult().__iterate(o, i); - var u = !0, - s = 0; - return e.__iterate(function(e, i, l) { - if (!u || !(u = t.call(n, e, i, l))) return s++, o(e, r ? i : s - 1, a) - }), s - }, o.__iteratorUncached = function(o, i) { - var a = this; - if (i) return this.cacheResult().__iterator(o, i); - var u = e.__iterator(N, i), - s = !0, - l = 0; - return new U(function() { - var e, i, c; - do { - if ((e = u.next()).done) return r || o === j ? e : q(o, l++, o === I ? void 0 : e.value[1], e); - var f = e.value; - i = f[0], c = f[1], s && (s = t.call(n, c, i, a)) - } while (s); - return o === N ? e : q(o, i, c, e) - }) - }, o - } - - function Ht(e, t, n) { - var r = Qt(e); - return r.__iterateUncached = function(r, o) { - var i = 0, - u = !1; - return function e(s, l) { - var c = this; - s.__iterate(function(o, s) { - return (!t || l < t) && a(o) ? e(o, l + 1) : !1 === r(o, n ? s : i++, c) && (u = !0), !u - }, o) - }(e, 0), i - }, r.__iteratorUncached = function(r, o) { - var i = e.__iterator(r, o), - u = [], - s = 0; - return new U(function() { - for (; i;) { - var e = i.next(); - if (!1 === e.done) { - var l = e.value; - if (r === N && (l = l[1]), t && !(u.length < t) || !a(l)) return n ? e : q(r, s++, l, e); - u.push(i), i = l.__iterator(r, o) - } else i = u.pop() - } - return { - value: void 0, - done: !0 - } - }) - }, r - } - - function Wt(e, t, n) { - t || (t = tn); - var r = u(e), - o = 0, - i = e.toSeq().map(function(t, r) { - return [r, t, o++, n ? n(t, r, e) : t] - }).toArray(); - return i.sort(function(e, n) { - return t(e[3], n[3]) || e[2] - n[2] - }).forEach(r ? function(e, t) { - i[t].length = 2 - } : function(e, t) { - i[t] = e[1] - }), r ? Y(i) : s(e) ? K(i) : G(i) - } - - function Jt(e, t, n) { - if (t || (t = tn), n) { - var r = e.toSeq().map(function(t, r) { - return [t, n(t, r, e)] - }).reduce(function(e, n) { - return Yt(t, e[1], n[1]) ? n : e - }); - return r && r[0] - } - return e.reduce(function(e, n) { - return Yt(t, e, n) ? n : e - }) - } - - function Yt(e, t, n) { - var r = e(n, t); - return 0 === r && n !== t && (void 0 === n || null === n || n != n) || r > 0 - } - - function Kt(e, t, r) { - var o = Qt(e); - return o.size = new ee(r).map(function(e) { - return e.size - }).min(), o.__iterate = function(e, t) { - for (var n, r = this.__iterator(j, t), o = 0; !(n = r.next()).done && !1 !== e(n.value, o++, this);); - return o - }, o.__iteratorUncached = function(e, o) { - var i = r.map(function(e) { - return e = n(e), V(o ? e.reverse() : e) - }), - a = 0, - u = !1; - return new U(function() { - var n; - return u || (n = i.map(function(e) { - return e.next() - }), u = n.some(function(e) { - return e.done - })), u ? { - value: void 0, - done: !0 - } : q(e, a++, t.apply(null, n.map(function(e) { - return e.value - }))) - }) - }, o - } - - function Gt(e, t) { - return oe(e) ? t : e.constructor(t) - } - - function $t(e) { - if (e !== Object(e)) throw new TypeError("Expected [K, V] tuple: " + e) - } - - function Zt(e) { - return Le(e.size), C(e) - } - - function Xt(e) { - return u(e) ? r : s(e) ? o : i - } - - function Qt(e) { - return Object.create((u(e) ? Y : s(e) ? K : G).prototype) - } - - function en() { - return this._iter.cacheResult ? (this._iter.cacheResult(), this.size = this._iter.size, this) : J.prototype.cacheResult.call(this) - } - - function tn(e, t) { - return e > t ? 1 : e < t ? -1 : 0 - } - - function nn(e) { - var t = V(e); - if (!t) { - if (!W(e)) throw new TypeError("Expected iterable or array-like: " + e); - t = V(n(e)) - } - return t - } - - function rn(e, t) { - var n, r = function(i) { - if (i instanceof r) return i; - if (!(this instanceof r)) return new r(i); - if (!n) { - n = !0; - var a = Object.keys(e); - ! function(e, t) { - try { - t.forEach(function(e, t) { - Object.defineProperty(e, t, { - get: function() { - return this.get(t) - }, - set: function(e) { - ge(this.__ownerID, "Cannot set on an immutable record."), this.set(t, e) - } - }) - }.bind(void 0, e)) - } catch (e) {} - }(o, a), o.size = a.length, o._name = t, o._keys = a, o._defaultValues = e - } - this._map = Ue(i) - }, - o = r.prototype = Object.create(on); - return o.constructor = r, r - } - t(Pt, Ue), Pt.of = function() { - return this(arguments) - }, Pt.prototype.toString = function() { - return this.__toString("OrderedMap {", "}") - }, Pt.prototype.get = function(e, t) { - var n = this._map.get(e); - return void 0 !== n ? this._list.get(n)[1] : t - }, Pt.prototype.clear = function() { - return 0 === this.size ? this : this.__ownerID ? (this.size = 0, this._map.clear(), this._list.clear(), this) : It() - }, Pt.prototype.set = function(e, t) { - return jt(this, e, t) - }, Pt.prototype.remove = function(e) { - return jt(this, e, y) - }, Pt.prototype.wasAltered = function() { - return this._map.wasAltered() || this._list.wasAltered() - }, Pt.prototype.__iterate = function(e, t) { - var n = this; - return this._list.__iterate(function(t) { - return t && e(t[1], t[0], n) - }, t) - }, Pt.prototype.__iterator = function(e, t) { - return this._list.fromEntrySeq().__iterator(e, t) - }, Pt.prototype.__ensureOwner = function(e) { - if (e === this.__ownerID) return this; - var t = this._map.__ensureOwner(e), - n = this._list.__ensureOwner(e); - return e ? Mt(t, n, e, this.__hash) : (this.__ownerID = e, this._map = t, this._list = n, this) - }, Pt.isOrderedMap = Tt, Pt.prototype[h] = !0, Pt.prototype.delete = Pt.prototype.remove, t(Nt, Y), Nt.prototype.get = function(e, t) { - return this._iter.get(e, t) - }, Nt.prototype.has = function(e) { - return this._iter.has(e) - }, Nt.prototype.valueSeq = function() { - return this._iter.valueSeq() - }, Nt.prototype.reverse = function() { - var e = this, - t = Ft(this, !0); - return this._useKeys || (t.valueSeq = function() { - return e._iter.toSeq().reverse() - }), t - }, Nt.prototype.map = function(e, t) { - var n = this, - r = qt(this, e, t); - return this._useKeys || (r.valueSeq = function() { - return n._iter.toSeq().map(e, t) - }), r - }, Nt.prototype.__iterate = function(e, t) { - var n, r = this; - return this._iter.__iterate(this._useKeys ? function(t, n) { - return e(t, n, r) - } : (n = t ? Zt(this) : 0, function(o) { - return e(o, t ? --n : n++, r) - }), t) - }, Nt.prototype.__iterator = function(e, t) { - if (this._useKeys) return this._iter.__iterator(e, t); - var n = this._iter.__iterator(j, t), - r = t ? Zt(this) : 0; - return new U(function() { - var o = n.next(); - return o.done ? o : q(e, t ? --r : r++, o.value, o) - }) - }, Nt.prototype[h] = !0, t(Rt, K), Rt.prototype.includes = function(e) { - return this._iter.includes(e) - }, Rt.prototype.__iterate = function(e, t) { - var n = this, - r = 0; - return this._iter.__iterate(function(t) { - return e(t, r++, n) - }, t) - }, Rt.prototype.__iterator = function(e, t) { - var n = this._iter.__iterator(j, t), - r = 0; - return new U(function() { - var t = n.next(); - return t.done ? t : q(e, r++, t.value, t) - }) - }, t(Dt, G), Dt.prototype.has = function(e) { - return this._iter.includes(e) - }, Dt.prototype.__iterate = function(e, t) { - var n = this; - return this._iter.__iterate(function(t) { - return e(t, t, n) - }, t) - }, Dt.prototype.__iterator = function(e, t) { - var n = this._iter.__iterator(j, t); - return new U(function() { - var t = n.next(); - return t.done ? t : q(e, t.value, t.value, t) - }) - }, t(Lt, Y), Lt.prototype.entrySeq = function() { - return this._iter.toSeq() - }, Lt.prototype.__iterate = function(e, t) { - var n = this; - return this._iter.__iterate(function(t) { - if (t) { - $t(t); - var r = a(t); - return e(r ? t.get(1) : t[1], r ? t.get(0) : t[0], n) - } - }, t) - }, Lt.prototype.__iterator = function(e, t) { - var n = this._iter.__iterator(j, t); - return new U(function() { - for (;;) { - var t = n.next(); - if (t.done) return t; - var r = t.value; - if (r) { - $t(r); - var o = a(r); - return q(e, o ? r.get(0) : r[0], o ? r.get(1) : r[1], t) - } - } - }) - }, Rt.prototype.cacheResult = Nt.prototype.cacheResult = Dt.prototype.cacheResult = Lt.prototype.cacheResult = en, t(rn, _e), rn.prototype.toString = function() { - return this.__toString(un(this) + " {", "}") - }, rn.prototype.has = function(e) { - return this._defaultValues.hasOwnProperty(e) - }, rn.prototype.get = function(e, t) { - if (!this.has(e)) return t; - var n = this._defaultValues[e]; - return this._map ? this._map.get(e, n) : n - }, rn.prototype.clear = function() { - if (this.__ownerID) return this._map && this._map.clear(), this; - var e = this.constructor; - return e._empty || (e._empty = an(this, Xe())) - }, rn.prototype.set = function(e, t) { - if (!this.has(e)) throw new Error('Cannot set unknown key "' + e + '" on ' + un(this)); - if (this._map && !this._map.has(e) && t === this._defaultValues[e]) return this; - var n = this._map && this._map.set(e, t); - return this.__ownerID || n === this._map ? this : an(this, n) - }, rn.prototype.remove = function(e) { - if (!this.has(e)) return this; - var t = this._map && this._map.remove(e); - return this.__ownerID || t === this._map ? this : an(this, t) - }, rn.prototype.wasAltered = function() { - return this._map.wasAltered() - }, rn.prototype.__iterator = function(e, t) { - var n = this; - return r(this._defaultValues).map(function(e, t) { - return n.get(t) - }).__iterator(e, t) - }, rn.prototype.__iterate = function(e, t) { - var n = this; - return r(this._defaultValues).map(function(e, t) { - return n.get(t) - }).__iterate(e, t) - }, rn.prototype.__ensureOwner = function(e) { - if (e === this.__ownerID) return this; - var t = this._map && this._map.__ensureOwner(e); - return e ? an(this, t, e) : (this.__ownerID = e, this._map = t, this) - }; - var on = rn.prototype; - - function an(e, t, n) { - var r = Object.create(Object.getPrototypeOf(e)); - return r._map = t, r.__ownerID = n, r - } - - function un(e) { - return e._name || e.constructor.name || "Record" - } - - function sn(e) { - return null === e || void 0 === e ? vn() : ln(e) && !c(e) ? e : vn().withMutations(function(t) { - var n = i(e); - Le(n.size), n.forEach(function(e) { - return t.add(e) - }) - }) - } - - function ln(e) { - return !(!e || !e[fn]) - } - on.delete = on.remove, on.deleteIn = on.removeIn = Be.removeIn, on.merge = Be.merge, on.mergeWith = Be.mergeWith, on.mergeIn = Be.mergeIn, on.mergeDeep = Be.mergeDeep, on.mergeDeepWith = Be.mergeDeepWith, on.mergeDeepIn = Be.mergeDeepIn, on.setIn = Be.setIn, on.update = Be.update, on.updateIn = Be.updateIn, on.withMutations = Be.withMutations, on.asMutable = Be.asMutable, on.asImmutable = Be.asImmutable, t(sn, Ee), sn.of = function() { - return this(arguments) - }, sn.fromKeys = function(e) { - return this(r(e).keySeq()) - }, sn.prototype.toString = function() { - return this.__toString("Set {", "}") - }, sn.prototype.has = function(e) { - return this._map.has(e) - }, sn.prototype.add = function(e) { - return dn(this, this._map.set(e, !0)) - }, sn.prototype.remove = function(e) { - return dn(this, this._map.remove(e)) - }, sn.prototype.clear = function() { - return dn(this, this._map.clear()) - }, sn.prototype.union = function() { - var t = e.call(arguments, 0); - return 0 === (t = t.filter(function(e) { - return 0 !== e.size - })).length ? this : 0 !== this.size || this.__ownerID || 1 !== t.length ? this.withMutations(function(e) { - for (var n = 0; n < t.length; n++) i(t[n]).forEach(function(t) { - return e.add(t) - }) - }) : this.constructor(t[0]) - }, sn.prototype.intersect = function() { - var t = e.call(arguments, 0); - if (0 === t.length) return this; - t = t.map(function(e) { - return i(e) - }); - var n = this; - return this.withMutations(function(e) { - n.forEach(function(n) { - t.every(function(e) { - return e.includes(n) - }) || e.remove(n) - }) - }) - }, sn.prototype.subtract = function() { - var t = e.call(arguments, 0); - if (0 === t.length) return this; - t = t.map(function(e) { - return i(e) - }); - var n = this; - return this.withMutations(function(e) { - n.forEach(function(n) { - t.some(function(e) { - return e.includes(n) - }) && e.remove(n) - }) - }) - }, sn.prototype.merge = function() { - return this.union.apply(this, arguments) - }, sn.prototype.mergeWith = function(t) { - var n = e.call(arguments, 1); - return this.union.apply(this, n) - }, sn.prototype.sort = function(e) { - return mn(Wt(this, e)) - }, sn.prototype.sortBy = function(e, t) { - return mn(Wt(this, t, e)) - }, sn.prototype.wasAltered = function() { - return this._map.wasAltered() - }, sn.prototype.__iterate = function(e, t) { - var n = this; - return this._map.__iterate(function(t, r) { - return e(r, r, n) - }, t) - }, sn.prototype.__iterator = function(e, t) { - return this._map.map(function(e, t) { - return t - }).__iterator(e, t) - }, sn.prototype.__ensureOwner = function(e) { - if (e === this.__ownerID) return this; - var t = this._map.__ensureOwner(e); - return e ? this.__make(t, e) : (this.__ownerID = e, this._map = t, this) - }, sn.isSet = ln; - var cn, fn = "@@__IMMUTABLE_SET__@@", - pn = sn.prototype; - - function dn(e, t) { - return e.__ownerID ? (e.size = t.size, e._map = t, e) : t === e._map ? e : 0 === t.size ? e.__empty() : e.__make(t) - } - - function hn(e, t) { - var n = Object.create(pn); - return n.size = e ? e.size : 0, n._map = e, n.__ownerID = t, n - } - - function vn() { - return cn || (cn = hn(Xe())) - } - - function mn(e) { - return null === e || void 0 === e ? wn() : gn(e) ? e : wn().withMutations(function(t) { - var n = i(e); - Le(n.size), n.forEach(function(e) { - return t.add(e) - }) - }) - } - - function gn(e) { - return ln(e) && c(e) - } - pn[fn] = !0, pn.delete = pn.remove, pn.mergeDeep = pn.merge, pn.mergeDeepWith = pn.mergeWith, pn.withMutations = Be.withMutations, pn.asMutable = Be.asMutable, pn.asImmutable = Be.asImmutable, pn.__empty = vn, pn.__make = hn, t(mn, sn), mn.of = function() { - return this(arguments) - }, mn.fromKeys = function(e) { - return this(r(e).keySeq()) - }, mn.prototype.toString = function() { - return this.__toString("OrderedSet {", "}") - }, mn.isOrderedSet = gn; - var yn, bn = mn.prototype; - - function _n(e, t) { - var n = Object.create(bn); - return n.size = e ? e.size : 0, n._map = e, n.__ownerID = t, n - } - - function wn() { - return yn || (yn = _n(It())) - } - - function En(e) { - return null === e || void 0 === e ? On() : xn(e) ? e : On().unshiftAll(e) - } - - function xn(e) { - return !(!e || !e[Cn]) - } - bn[h] = !0, bn.__empty = wn, bn.__make = _n, t(En, we), En.of = function() { - return this(arguments) - }, En.prototype.toString = function() { - return this.__toString("Stack [", "]") - }, En.prototype.get = function(e, t) { - var n = this._head; - for (e = k(this, e); n && e--;) n = n.next; - return n ? n.value : t - }, En.prototype.peek = function() { - return this._head && this._head.value - }, En.prototype.push = function() { - if (0 === arguments.length) return this; - for (var e = this.size + arguments.length, t = this._head, n = arguments.length - 1; n >= 0; n--) t = { - value: arguments[n], - next: t - }; - return this.__ownerID ? (this.size = e, this._head = t, this.__hash = void 0, this.__altered = !0, this) : An(e, t) - }, En.prototype.pushAll = function(e) { - if (0 === (e = o(e)).size) return this; - Le(e.size); - var t = this.size, - n = this._head; - return e.reverse().forEach(function(e) { - t++, n = { - value: e, - next: n - } - }), this.__ownerID ? (this.size = t, this._head = n, this.__hash = void 0, this.__altered = !0, this) : An(t, n) - }, En.prototype.pop = function() { - return this.slice(1) - }, En.prototype.unshift = function() { - return this.push.apply(this, arguments) - }, En.prototype.unshiftAll = function(e) { - return this.pushAll(e) - }, En.prototype.shift = function() { - return this.pop.apply(this, arguments) - }, En.prototype.clear = function() { - return 0 === this.size ? this : this.__ownerID ? (this.size = 0, this._head = void 0, this.__hash = void 0, this.__altered = !0, this) : On() - }, En.prototype.slice = function(e, t) { - if (O(e, t, this.size)) return this; - var n = P(e, this.size); - if (T(t, this.size) !== this.size) return we.prototype.slice.call(this, e, t); - for (var r = this.size - n, o = this._head; n--;) o = o.next; - return this.__ownerID ? (this.size = r, this._head = o, this.__hash = void 0, this.__altered = !0, this) : An(r, o) - }, En.prototype.__ensureOwner = function(e) { - return e === this.__ownerID ? this : e ? An(this.size, this._head, e, this.__hash) : (this.__ownerID = e, this.__altered = !1, this) - }, En.prototype.__iterate = function(e, t) { - if (t) return this.reverse().__iterate(e); - for (var n = 0, r = this._head; r && !1 !== e(r.value, n++, this);) r = r.next; - return n - }, En.prototype.__iterator = function(e, t) { - if (t) return this.reverse().__iterator(e); - var n = 0, - r = this._head; - return new U(function() { - if (r) { - var t = r.value; - return r = r.next, q(e, n++, t) - } - return { - value: void 0, - done: !0 - } - }) - }, En.isStack = xn; - var Sn, Cn = "@@__IMMUTABLE_STACK__@@", - kn = En.prototype; - - function An(e, t, n, r) { - var o = Object.create(kn); - return o.size = e, o._head = t, o.__ownerID = n, o.__hash = r, o.__altered = !1, o - } - - function On() { - return Sn || (Sn = An(0)) - } - - function Pn(e, t) { - var n = function(n) { - e.prototype[n] = t[n] - }; - return Object.keys(t).forEach(n), Object.getOwnPropertySymbols && Object.getOwnPropertySymbols(t).forEach(n), e - } - kn[Cn] = !0, kn.withMutations = Be.withMutations, kn.asMutable = Be.asMutable, kn.asImmutable = Be.asImmutable, kn.wasAltered = Be.wasAltered, n.Iterator = U, Pn(n, { - toArray: function() { - Le(this.size); - var e = new Array(this.size || 0); - return this.valueSeq().__iterate(function(t, n) { - e[n] = t - }), e - }, - toIndexedSeq: function() { - return new Rt(this) - }, - toJS: function() { - return this.toSeq().map(function(e) { - return e && "function" == typeof e.toJS ? e.toJS() : e - }).__toJS() - }, - toJSON: function() { - return this.toSeq().map(function(e) { - return e && "function" == typeof e.toJSON ? e.toJSON() : e - }).__toJS() - }, - toKeyedSeq: function() { - return new Nt(this, !0) - }, - toMap: function() { - return Ue(this.toKeyedSeq()) - }, - toObject: function() { - Le(this.size); - var e = {}; - return this.__iterate(function(t, n) { - e[n] = t - }), e - }, - toOrderedMap: function() { - return Pt(this.toKeyedSeq()) - }, - toOrderedSet: function() { - return mn(u(this) ? this.valueSeq() : this) - }, - toSet: function() { - return sn(u(this) ? this.valueSeq() : this) - }, - toSetSeq: function() { - return new Dt(this) - }, - toSeq: function() { - return s(this) ? this.toIndexedSeq() : u(this) ? this.toKeyedSeq() : this.toSetSeq() - }, - toStack: function() { - return En(u(this) ? this.valueSeq() : this) - }, - toList: function() { - return pt(u(this) ? this.valueSeq() : this) - }, - toString: function() { - return "[Iterable]" - }, - __toString: function(e, t) { - return 0 === this.size ? e + t : e + " " + this.toSeq().map(this.__toStringMapper).join(", ") + " " + t - }, - concat: function() { - return Gt(this, function(e, t) { - var n = u(e), - o = [e].concat(t).map(function(e) { - return a(e) ? n && (e = r(e)) : e = n ? ae(e) : ue(Array.isArray(e) ? e : [e]), e - }).filter(function(e) { - return 0 !== e.size - }); - if (0 === o.length) return e; - if (1 === o.length) { - var i = o[0]; - if (i === e || n && u(i) || s(e) && s(i)) return i - } - var l = new ee(o); - return n ? l = l.toKeyedSeq() : s(e) || (l = l.toSetSeq()), (l = l.flatten(!0)).size = o.reduce(function(e, t) { - if (void 0 !== e) { - var n = t.size; - if (void 0 !== n) return e + n - } - }, 0), l - }(this, e.call(arguments, 0))) - }, - includes: function(e) { - return this.some(function(t) { - return he(t, e) - }) - }, - entries: function() { - return this.__iterator(N) - }, - every: function(e, t) { - Le(this.size); - var n = !0; - return this.__iterate(function(r, o, i) { - if (!e.call(t, r, o, i)) return n = !1, !1 - }), n - }, - filter: function(e, t) { - return Gt(this, zt(this, e, t, !0)) - }, - find: function(e, t, n) { - var r = this.findEntry(e, t); - return r ? r[1] : n - }, - forEach: function(e, t) { - return Le(this.size), this.__iterate(t ? e.bind(t) : e) - }, - join: function(e) { - Le(this.size), e = void 0 !== e ? "" + e : ","; - var t = "", - n = !0; - return this.__iterate(function(r) { - n ? n = !1 : t += e, t += null !== r && void 0 !== r ? r.toString() : "" - }), t - }, - keys: function() { - return this.__iterator(I) - }, - map: function(e, t) { - return Gt(this, qt(this, e, t)) - }, - reduce: function(e, t, n) { - var r, o; - return Le(this.size), arguments.length < 2 ? o = !0 : r = t, this.__iterate(function(t, i, a) { - o ? (o = !1, r = t) : r = e.call(n, r, t, i, a) - }), r - }, - reduceRight: function(e, t, n) { - var r = this.toKeyedSeq().reverse(); - return r.reduce.apply(r, arguments) - }, - reverse: function() { - return Gt(this, Ft(this, !0)) - }, - slice: function(e, t) { - return Gt(this, Bt(this, e, t, !0)) - }, - some: function(e, t) { - return !this.every(Nn(e), t) - }, - sort: function(e) { - return Gt(this, Wt(this, e)) - }, - values: function() { - return this.__iterator(j) - }, - butLast: function() { - return this.slice(0, -1) - }, - isEmpty: function() { - return void 0 !== this.size ? 0 === this.size : !this.some(function() { - return !0 - }) - }, - count: function(e, t) { - return C(e ? this.toSeq().filter(e, t) : this) - }, - countBy: function(e, t) { - return function(e, t, n) { - var r = Ue().asMutable(); - return e.__iterate(function(o, i) { - r.update(t.call(n, o, i, e), 0, function(e) { - return e + 1 - }) - }), r.asImmutable() - }(this, e, t) - }, - equals: function(e) { - return ve(this, e) - }, - entrySeq: function() { - var e = this; - if (e._cache) return new ee(e._cache); - var t = e.toSeq().map(jn).toIndexedSeq(); - return t.fromEntrySeq = function() { - return e.toSeq() - }, t - }, - filterNot: function(e, t) { - return this.filter(Nn(e), t) - }, - findEntry: function(e, t, n) { - var r = n; - return this.__iterate(function(n, o, i) { - if (e.call(t, n, o, i)) return r = [o, n], !1 - }), r - }, - findKey: function(e, t) { - var n = this.findEntry(e, t); - return n && n[0] - }, - findLast: function(e, t, n) { - return this.toKeyedSeq().reverse().find(e, t, n) - }, - findLastEntry: function(e, t, n) { - return this.toKeyedSeq().reverse().findEntry(e, t, n) - }, - findLastKey: function(e, t) { - return this.toKeyedSeq().reverse().findKey(e, t) - }, - first: function() { - return this.find(A) - }, - flatMap: function(e, t) { - return Gt(this, function(e, t, n) { - var r = Xt(e); - return e.toSeq().map(function(o, i) { - return r(t.call(n, o, i, e)) - }).flatten(!0) - }(this, e, t)) - }, - flatten: function(e) { - return Gt(this, Ht(this, e, !0)) - }, - fromEntrySeq: function() { - return new Lt(this) - }, - get: function(e, t) { - return this.find(function(t, n) { - return he(n, e) - }, void 0, t) - }, - getIn: function(e, t) { - for (var n, r = this, o = nn(e); !(n = o.next()).done;) { - var i = n.value; - if ((r = r && r.get ? r.get(i, y) : y) === y) return t - } - return r - }, - groupBy: function(e, t) { - return function(e, t, n) { - var r = u(e), - o = (c(e) ? Pt() : Ue()).asMutable(); - e.__iterate(function(i, a) { - o.update(t.call(n, i, a, e), function(e) { - return (e = e || []).push(r ? [a, i] : i), e - }) - }); - var i = Xt(e); - return o.map(function(t) { - return Gt(e, i(t)) - }) - }(this, e, t) - }, - has: function(e) { - return this.get(e, y) !== y - }, - hasIn: function(e) { - return this.getIn(e, y) !== y - }, - isSubset: function(e) { - return e = "function" == typeof e.includes ? e : n(e), this.every(function(t) { - return e.includes(t) - }) - }, - isSuperset: function(e) { - return (e = "function" == typeof e.isSubset ? e : n(e)).isSubset(this) - }, - keyOf: function(e) { - return this.findKey(function(t) { - return he(t, e) - }) - }, - keySeq: function() { - return this.toSeq().map(In).toIndexedSeq() - }, - last: function() { - return this.toSeq().reverse().first() - }, - lastKeyOf: function(e) { - return this.toKeyedSeq().reverse().keyOf(e) - }, - max: function(e) { - return Jt(this, e) - }, - maxBy: function(e, t) { - return Jt(this, t, e) - }, - min: function(e) { - return Jt(this, e ? Rn(e) : Un) - }, - minBy: function(e, t) { - return Jt(this, t ? Rn(t) : Un, e) - }, - rest: function() { - return this.slice(1) - }, - skip: function(e) { - return this.slice(Math.max(0, e)) - }, - skipLast: function(e) { - return Gt(this, this.toSeq().reverse().skip(e).reverse()) - }, - skipWhile: function(e, t) { - return Gt(this, Vt(this, e, t, !0)) - }, - skipUntil: function(e, t) { - return this.skipWhile(Nn(e), t) - }, - sortBy: function(e, t) { - return Gt(this, Wt(this, t, e)) - }, - take: function(e) { - return this.slice(0, Math.max(0, e)) - }, - takeLast: function(e) { - return Gt(this, this.toSeq().reverse().take(e).reverse()) - }, - takeWhile: function(e, t) { - return Gt(this, function(e, t, n) { - var r = Qt(e); - return r.__iterateUncached = function(r, o) { - var i = this; - if (o) return this.cacheResult().__iterate(r, o); - var a = 0; - return e.__iterate(function(e, o, u) { - return t.call(n, e, o, u) && ++a && r(e, o, i) - }), a - }, r.__iteratorUncached = function(r, o) { - var i = this; - if (o) return this.cacheResult().__iterator(r, o); - var a = e.__iterator(N, o), - u = !0; - return new U(function() { - if (!u) return { - value: void 0, - done: !0 - }; - var e = a.next(); - if (e.done) return e; - var o = e.value, - s = o[0], - l = o[1]; - return t.call(n, l, s, i) ? r === N ? e : q(r, s, l, e) : (u = !1, { - value: void 0, - done: !0 - }) - }) - }, r - }(this, e, t)) - }, - takeUntil: function(e, t) { - return this.takeWhile(Nn(e), t) - }, - valueSeq: function() { - return this.toIndexedSeq() - }, - hashCode: function() { - return this.__hash || (this.__hash = function(e) { - if (e.size === 1 / 0) return 0; - var t = c(e), - n = u(e), - r = t ? 1 : 0; - return function(e, t) { - return t = xe(t, 3432918353), t = xe(t << 15 | t >>> -15, 461845907), t = xe(t << 13 | t >>> -13, 5), t = xe((t = (t + 3864292196 | 0) ^ e) ^ t >>> 16, 2246822507), t = Se((t = xe(t ^ t >>> 13, 3266489909)) ^ t >>> 16) - }(e.__iterate(n ? t ? function(e, t) { - r = 31 * r + qn(Ce(e), Ce(t)) | 0 - } : function(e, t) { - r = r + qn(Ce(e), Ce(t)) | 0 - } : t ? function(e) { - r = 31 * r + Ce(e) | 0 - } : function(e) { - r = r + Ce(e) | 0 - }), r) - }(this)) - } - }); - var Tn = n.prototype; - Tn[f] = !0, Tn[L] = Tn.values, Tn.__toJS = Tn.toArray, Tn.__toStringMapper = Dn, Tn.inspect = Tn.toSource = function() { - return this.toString() - }, Tn.chain = Tn.flatMap, Tn.contains = Tn.includes, Pn(r, { - flip: function() { - return Gt(this, Ut(this)) - }, - mapEntries: function(e, t) { - var n = this, - r = 0; - return Gt(this, this.toSeq().map(function(o, i) { - return e.call(t, [i, o], r++, n) - }).fromEntrySeq()) - }, - mapKeys: function(e, t) { - var n = this; - return Gt(this, this.toSeq().flip().map(function(r, o) { - return e.call(t, r, o, n) - }).flip()) - } - }); - var Mn = r.prototype; - - function In(e, t) { - return t - } - - function jn(e, t) { - return [t, e] - } - - function Nn(e) { - return function() { - return !e.apply(this, arguments) - } - } - - function Rn(e) { - return function() { - return -e.apply(this, arguments) - } - } - - function Dn(e) { - return "string" == typeof e ? JSON.stringify(e) : String(e) - } - - function Ln() { - return S(arguments) - } - - function Un(e, t) { - return e < t ? 1 : e > t ? -1 : 0 - } - - function qn(e, t) { - return e ^ t + 2654435769 + (e << 6) + (e >> 2) | 0 - } - return Mn[p] = !0, Mn[L] = Tn.entries, Mn.__toJS = Tn.toObject, Mn.__toStringMapper = function(e, t) { - return JSON.stringify(t) + ": " + Dn(e) - }, Pn(o, { - toKeyedSeq: function() { - return new Nt(this, !1) - }, - filter: function(e, t) { - return Gt(this, zt(this, e, t, !1)) - }, - findIndex: function(e, t) { - var n = this.findEntry(e, t); - return n ? n[0] : -1 - }, - indexOf: function(e) { - var t = this.keyOf(e); - return void 0 === t ? -1 : t - }, - lastIndexOf: function(e) { - var t = this.lastKeyOf(e); - return void 0 === t ? -1 : t - }, - reverse: function() { - return Gt(this, Ft(this, !1)) - }, - slice: function(e, t) { - return Gt(this, Bt(this, e, t, !1)) - }, - splice: function(e, t) { - var n = arguments.length; - if (t = Math.max(0 | t, 0), 0 === n || 2 === n && !t) return this; - e = P(e, e < 0 ? this.count() : this.size); - var r = this.slice(0, e); - return Gt(this, 1 === n ? r : r.concat(S(arguments, 2), this.slice(e + t))) - }, - findLastIndex: function(e, t) { - var n = this.findLastEntry(e, t); - return n ? n[0] : -1 - }, - first: function() { - return this.get(0) - }, - flatten: function(e) { - return Gt(this, Ht(this, e, !1)) - }, - get: function(e, t) { - return (e = k(this, e)) < 0 || this.size === 1 / 0 || void 0 !== this.size && e > this.size ? t : this.find(function(t, n) { - return n === e - }, void 0, t) - }, - has: function(e) { - return (e = k(this, e)) >= 0 && (void 0 !== this.size ? this.size === 1 / 0 || e < this.size : -1 !== this.indexOf(e)) - }, - interpose: function(e) { - return Gt(this, function(e, t) { - var n = Qt(e); - return n.size = e.size && 2 * e.size - 1, n.__iterateUncached = function(n, r) { - var o = this, - i = 0; - return e.__iterate(function(e, r) { - return (!i || !1 !== n(t, i++, o)) && !1 !== n(e, i++, o) - }, r), i - }, n.__iteratorUncached = function(n, r) { - var o, i = e.__iterator(j, r), - a = 0; - return new U(function() { - return (!o || a % 2) && (o = i.next()).done ? o : a % 2 ? q(n, a++, t) : q(n, a++, o.value, o) - }) - }, n - }(this, e)) - }, - interleave: function() { - var e = [this].concat(S(arguments)), - t = Kt(this.toSeq(), K.of, e), - n = t.flatten(!0); - return t.size && (n.size = t.size * e.length), Gt(this, n) - }, - keySeq: function() { - return ye(0, this.size) - }, - last: function() { - return this.get(-1) - }, - skipWhile: function(e, t) { - return Gt(this, Vt(this, e, t, !1)) - }, - zip: function() { - return Gt(this, Kt(this, Ln, [this].concat(S(arguments)))) - }, - zipWith: function(e) { - var t = S(arguments); - return t[0] = this, Gt(this, Kt(this, e, t)) - } - }), o.prototype[d] = !0, o.prototype[h] = !0, Pn(i, { - get: function(e, t) { - return this.has(e) ? e : t - }, - includes: function(e) { - return this.has(e) - }, - keySeq: function() { - return this.valueSeq() - } - }), i.prototype.has = Tn.includes, i.prototype.contains = i.prototype.includes, Pn(Y, r.prototype), Pn(K, o.prototype), Pn(G, i.prototype), Pn(_e, r.prototype), Pn(we, o.prototype), Pn(Ee, i.prototype), { - Iterable: n, - Seq: J, - Collection: be, - Map: Ue, - OrderedMap: Pt, - List: pt, - Stack: En, - Set: sn, - OrderedSet: mn, - Record: rn, - Range: ye, - Repeat: me, - is: he, - fromJS: fe - } - }, e.exports = r() - }, function(e, t, n) { - "use strict"; - var r = function(e) {}; - e.exports = function(e, t, n, o, i, a, u, s) { - if (r(t), !e) { - var l; - if (void 0 === t) l = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."); - else { - var c = [n, o, i, a, u, s], - f = 0; - (l = new Error(t.replace(/%s/g, function() { - return c[f++] - }))).name = "Invariant Violation" - } - throw l.framesToPop = 1, l - } - } - }, function(e, t, n) { - "use strict"; - var r = n(34); - e.exports = r - }, function(e, t, n) { - "use strict"; - (function(e) { - Object.defineProperty(t, "__esModule", { - value: !0 - }), t.getCommonExtensions = t.getExtensions = t.escapeDeepLinkPath = t.createDeepLinkPath = t.shallowEqualKeys = t.buildFormData = t.sorters = t.btoa = t.serializeSearch = t.parseSearch = t.getSampleSchema = t.validateParam = t.validatePattern = t.validateMinLength = t.validateMaxLength = t.validateGuid = t.validateDateTime = t.validateString = t.validateBoolean = t.validateFile = t.validateInteger = t.validateNumber = t.validateMinimum = t.validateMaximum = t.propChecker = t.memoize = t.isImmutable = void 0; - var r = _(n(41)), - o = _(n(18)), - i = _(n(91)), - a = _(n(23)), - u = _(n(42)), - s = _(n(45)); - t.isJSONObject = function(e) { - try { - var t = JSON.parse(e); - if (t && "object" === (void 0 === t ? "undefined" : (0, s.default)(t))) return t - } catch (e) {} - return !1 - }, t.objectify = function(e) { - return S(e) ? E(e) ? e.toJS() : e : {} - }, t.arrayify = function(e) { - return e ? e.toArray ? e.toArray() : x(e) : [] - }, t.fromJSOrdered = function e(t) { - if (E(t)) return t; - if (t instanceof y.default.File) return t; - return S(t) ? Array.isArray(t) ? l.default.Seq(t).map(e).toList() : l.default.OrderedMap(t).map(e) : t - }, t.bindToState = function(e, t) { - var n = {}; - return (0, u.default)(e).filter(function(t) { - return "function" == typeof e[t] - }).forEach(function(r) { - return n[r] = e[r].bind(null, t) - }), n - }, t.normalizeArray = x, t.isFn = function(e) { - return "function" == typeof e - }, t.isObject = S, t.isFunc = function(e) { - return "function" == typeof e - }, t.isArray = function(e) { - return Array.isArray(e) - }, t.objMap = function(e, t) { - return (0, u.default)(e).reduce(function(n, r) { - return n[r] = t(e[r], r), n - }, {}) - }, t.objReduce = function(e, t) { - return (0, u.default)(e).reduce(function(n, r) { - var o = t(e[r], r); - return o && "object" === (void 0 === o ? "undefined" : (0, s.default)(o)) && (0, a.default)(n, o), n - }, {}) - }, t.systemThunkMiddleware = function(e) { - return function(t) { - t.dispatch, t.getState; - return function(t) { - return function(n) { - return "function" == typeof n ? n(e()) : t(n) - } - } - } - }, t.defaultStatusCode = function(e) { - var t = e.keySeq(); - return t.contains(w) ? w : t.filter(function(e) { - return "2" === (e + "")[0] - }).sort().first() - }, t.getList = function(e, t) { - if (!l.default.Iterable.isIterable(e)) return l.default.List(); - var n = e.getIn(Array.isArray(t) ? t : [t]); - return l.default.List.isList(n) ? n : l.default.List() - }, t.highlight = function(e) { - var t = document; - if (!e) return ""; - if (e.textContent.length > 5e3) return e.textContent; - return function(e) { - for (var n, r, o, i, a, u = e.textContent, s = 0, l = u[0], c = 1, f = e.innerHTML = "", p = 0; r = n, n = p < 7 && "\\" == n ? 1 : c;) { - if (c = l, l = u[++s], i = f.length > 1, !c || p > 8 && "\n" == c || [/\S/.test(c), 1, 1, !/[$\w]/.test(c), ("/" == n || "\n" == n) && i, '"' == n && i, "'" == n && i, u[s - 4] + r + n == "--\x3e", r + n == "*/"][p]) - for (f && (e.appendChild(a = t.createElement("span")).setAttribute("style", ["color: #555; font-weight: bold;", "", "", "color: #555;", ""][p ? p < 3 ? 2 : p > 6 ? 4 : p > 3 ? 3 : +/^(a(bstract|lias|nd|rguments|rray|s(m|sert)?|uto)|b(ase|egin|ool(ean)?|reak|yte)|c(ase|atch|har|hecked|lass|lone|ompl|onst|ontinue)|de(bugger|cimal|clare|f(ault|er)?|init|l(egate|ete)?)|do|double|e(cho|ls?if|lse(if)?|nd|nsure|num|vent|x(cept|ec|p(licit|ort)|te(nds|nsion|rn)))|f(allthrough|alse|inal(ly)?|ixed|loat|or(each)?|riend|rom|unc(tion)?)|global|goto|guard|i(f|mp(lements|licit|ort)|n(it|clude(_once)?|line|out|stanceof|t(erface|ernal)?)?|s)|l(ambda|et|ock|ong)|m(icrolight|odule|utable)|NaN|n(amespace|ative|ext|ew|il|ot|ull)|o(bject|perator|r|ut|verride)|p(ackage|arams|rivate|rotected|rotocol|ublic)|r(aise|e(adonly|do|f|gister|peat|quire(_once)?|scue|strict|try|turn))|s(byte|ealed|elf|hort|igned|izeof|tatic|tring|truct|ubscript|uper|ynchronized|witch)|t(emplate|hen|his|hrows?|ransient|rue|ry|ype(alias|def|id|name|of))|u(n(checked|def(ined)?|ion|less|signed|til)|se|sing)|v(ar|irtual|oid|olatile)|w(char_t|hen|here|hile|ith)|xor|yield)$/.test(f) : 0]), a.appendChild(t.createTextNode(f))), o = p && p < 7 ? p : o, f = "", p = 11; ![1, /[\/{}[(\-+*=<>:;|\\.,?!&@~]/.test(c), /[\])]/.test(c), /[$\w]/.test(c), "/" == c && o < 2 && "<" != n, '"' == c, "'" == c, c + l + u[s + 1] + u[s + 2] == "\x3c!--", c + l == "/*", c + l == "//", "#" == c][--p];); - f += c - } - }(e) - }, t.mapToList = function e(t) { - var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "key"; - var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : l.default.Map(); - if (!l.default.Map.isMap(t) || !t.size) return l.default.List(); - Array.isArray(n) || (n = [n]); - if (n.length < 1) return t.merge(r); - var a = l.default.List(); - var u = n[0]; - var s = !0; - var c = !1; - var f = void 0; - try { - for (var p, d = (0, i.default)(t.entries()); !(s = (p = d.next()).done); s = !0) { - var h = p.value, - v = (0, o.default)(h, 2), - m = v[0], - g = v[1], - y = e(g, n.slice(1), r.set(u, m)); - a = l.default.List.isList(y) ? a.concat(y) : a.push(y) - } - } catch (e) { - c = !0, f = e - } finally { - try { - !s && d.return && d.return() - } finally { - if (c) throw f - } - } - return a - }, t.extractFileNameFromContentDispositionHeader = function(e) { - var t = /filename="([^;]*);?"/i.exec(e); - null === t && (t = /filename=([^;]*);?/i.exec(e)); - if (null !== t && t.length > 1) return t[1]; - return null - }, t.pascalCase = C, t.pascalCaseFilename = function(e) { - return C(e.replace(/\.[^./]*$/, "")) - }, t.sanitizeUrl = function(e) { - if ("string" != typeof e || "" === e) return ""; - return (0, c.sanitizeUrl)(e) - }, t.getAcceptControllingResponse = function(e) { - if (!l.default.OrderedMap.isOrderedMap(e)) return null; - if (!e.size) return null; - var t = e.find(function(e, t) { - return t.startsWith("2") && (0, u.default)(e.get("content") || {}).length > 0 - }), - n = e.get("default") || l.default.OrderedMap(), - r = (n.get("content") || l.default.OrderedMap()).keySeq().toJS().length ? n : null; - return t || r - }, t.deeplyStripKey = function e(t, n) { - var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : function() { - return !0 - }; - if ("object" !== (void 0 === t ? "undefined" : (0, s.default)(t)) || Array.isArray(t) || null === t || !n) return t; - var o = (0, a.default)({}, t); - (0, u.default)(o).forEach(function(t) { - t === n && r(o[t], t) ? delete o[t] : o[t] = e(o[t], n, r) - }); - return o - }, t.stringify = function(e) { - if ("string" == typeof e) return e; - e.toJS && (e = e.toJS()); - if ("object" === (void 0 === e ? "undefined" : (0, s.default)(e)) && null !== e) try { - return (0, r.default)(e, null, 2) - } catch (t) { - return String(e) - } - return e.toString() - }, t.numberToString = function(e) { - if ("number" == typeof e) return e.toString(); - return e - }; - var l = _(n(7)), - c = n(571), - f = _(n(572)), - p = _(n(280)), - d = _(n(284)), - h = _(n(287)), - v = _(n(650)), - m = _(n(105)), - g = n(192), - y = _(n(32)), - b = _(n(723)); - - function _(e) { - return e && e.__esModule ? e : { - default: e - } - } - var w = "default", - E = t.isImmutable = function(e) { - return l.default.Iterable.isIterable(e) - }; - - function x(e) { - return Array.isArray(e) ? e : [e] - } - - function S(e) { - return !!e && "object" === (void 0 === e ? "undefined" : (0, s.default)(e)) - } - t.memoize = d.default; - - function C(e) { - return (0, p.default)((0, f.default)(e)) - } - t.propChecker = function(e, t) { - var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [], - r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : []; - return (0, u.default)(e).length !== (0, u.default)(t).length || ((0, v.default)(e, function(e, n) { - if (r.includes(n)) return !1; - var o = t[n]; - return l.default.Iterable.isIterable(e) ? !l.default.is(e, o) : ("object" !== (void 0 === e ? "undefined" : (0, s.default)(e)) || "object" !== (void 0 === o ? "undefined" : (0, s.default)(o))) && e !== o - }) || n.some(function(n) { - return !(0, m.default)(e[n], t[n]) - })) - }; - var k = t.validateMaximum = function(e, t) { - if (e > t) return "Value must be less than Maximum" - }, - A = t.validateMinimum = function(e, t) { - if (e < t) return "Value must be greater than Minimum" - }, - O = t.validateNumber = function(e) { - if (!/^-?\d+(\.?\d+)?$/.test(e)) return "Value must be a number" - }, - P = t.validateInteger = function(e) { - if (!/^-?\d+$/.test(e)) return "Value must be an integer" - }, - T = t.validateFile = function(e) { - if (e && !(e instanceof y.default.File)) return "Value must be a file" - }, - M = t.validateBoolean = function(e) { - if ("true" !== e && "false" !== e && !0 !== e && !1 !== e) return "Value must be a boolean" - }, - I = t.validateString = function(e) { - if (e && "string" != typeof e) return "Value must be a string" - }, - j = t.validateDateTime = function(e) { - if (isNaN(Date.parse(e))) return "Value must be a DateTime" - }, - N = t.validateGuid = function(e) { - if (e = e.toString().toLowerCase(), !/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(e)) return "Value must be a Guid" - }, - R = t.validateMaxLength = function(e, t) { - if (e.length > t) return "Value must be less than MaxLength" - }, - D = t.validateMinLength = function(e, t) { - if (e.length < t) return "Value must be greater than MinLength" - }, - L = t.validatePattern = function(e, t) { - if (!new RegExp(t).test(e)) return "Value must follow pattern " + t - }; - t.validateParam = function(e, t) { - var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], - r = [], - o = t && "body" === e.get("in") ? e.get("value_xml") : e.get("value"), - i = e.get("required"), - a = n ? e.get("schema") : e; - if (!a) return r; - var u = a.get("maximum"), - c = a.get("minimum"), - f = a.get("type"), - p = a.get("format"), - d = a.get("maxLength"), - h = a.get("minLength"), - v = a.get("pattern"); - if (f && (i || o)) { - var m = "string" === f && o, - g = "array" === f && Array.isArray(o) && o.length, - b = "array" === f && l.default.List.isList(o) && o.count(), - _ = "file" === f && o instanceof y.default.File, - w = "boolean" === f && (o || !1 === o), - E = "number" === f && (o || 0 === o), - x = "integer" === f && (o || 0 === o), - S = !1; - if (n && "object" === f) - if ("object" === (void 0 === o ? "undefined" : (0, s.default)(o))) S = !0; - else if ("string" == typeof o) try { - JSON.parse(o), S = !0 - } catch (e) { - return r.push("Parameter string value must be valid JSON"), r - } - var C = [m, g, b, _, w, E, x, S].some(function(e) { - return !!e - }); - if (i && !C) return r.push("Required field is not provided"), r; - if (v) { - var U = L(o, v); - U && r.push(U) - } - if (d || 0 === d) { - var q = R(o, d); - q && r.push(q) - } - if (h) { - var F = D(o, h); - F && r.push(F) - } - if (u || 0 === u) { - var z = k(o, u); - z && r.push(z) - } - if (c || 0 === c) { - var B = A(o, c); - B && r.push(B) - } - if ("string" === f) { - var V = void 0; - if (!(V = "date-time" === p ? j(o) : "uuid" === p ? N(o) : I(o))) return r; - r.push(V) - } else if ("boolean" === f) { - var H = M(o); - if (!H) return r; - r.push(H) - } else if ("number" === f) { - var W = O(o); - if (!W) return r; - r.push(W) - } else if ("integer" === f) { - var J = P(o); - if (!J) return r; - r.push(J) - } else if ("array" === f) { - var Y; - if (!b || !o.count()) return r; - Y = a.getIn(["items", "type"]), o.forEach(function(e, t) { - var n = void 0; - "number" === Y ? n = O(e) : "integer" === Y ? n = P(e) : "string" === Y && (n = I(e)), n && r.push({ - index: t, - error: n - }) - }) - } else if ("file" === f) { - var K = T(o); - if (!K) return r; - r.push(K) - } - } - return r - }, t.getSampleSchema = function(e) { - var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", - n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - if (/xml/.test(t)) { - if (!e.xml || !e.xml.name) { - if (e.xml = e.xml || {}, !e.$$ref) return e.type || e.items || e.properties || e.additionalProperties ? '\n\x3c!-- XML example cannot be generated --\x3e' : null; - var o = e.$$ref.match(/\S*\/(\S+)$/); - e.xml.name = o[1] - } - return (0, g.memoizedCreateXMLExample)(e, n) - } - var i = (0, g.memoizedSampleFromSchema)(e, n); - return "object" === (void 0 === i ? "undefined" : (0, s.default)(i)) ? (0, r.default)(i, null, 2) : i - }, t.parseSearch = function() { - var e = {}, - t = y.default.location.search; - if (!t) return {}; - if ("" != t) { - var n = t.substr(1).split("&"); - for (var r in n) n.hasOwnProperty(r) && (r = n[r].split("="), e[decodeURIComponent(r[0])] = r[1] && decodeURIComponent(r[1]) || "") - } - return e - }, t.serializeSearch = function(e) { - return (0, u.default)(e).map(function(t) { - return encodeURIComponent(t) + "=" + encodeURIComponent(e[t]) - }).join("&") - }, t.btoa = function(t) { - return (t instanceof e ? t : new e(t.toString(), "utf-8")).toString("base64") - }, t.sorters = { - operationsSorter: { - alpha: function(e, t) { - return e.get("path").localeCompare(t.get("path")) - }, - method: function(e, t) { - return e.get("method").localeCompare(t.get("method")) - } - }, - tagsSorter: { - alpha: function(e, t) { - return e.localeCompare(t) - } - } - }, t.buildFormData = function(e) { - var t = []; - for (var n in e) { - var r = e[n]; - void 0 !== r && "" !== r && t.push([n, "=", encodeURIComponent(r).replace(/%20/g, "+")].join("")) - } - return t.join("&") - }, t.shallowEqualKeys = function(e, t, n) { - return !!(0, h.default)(n, function(n) { - return (0, m.default)(e[n], t[n]) - }) - }; - var U = t.createDeepLinkPath = function(e) { - return "string" == typeof e || e instanceof String ? e.trim().replace(/\s/g, "_") : "" - }; - t.escapeDeepLinkPath = function(e) { - return (0, b.default)(U(e)) - }, t.getExtensions = function(e) { - return e.filter(function(e, t) { - return /^x-/.test(t) - }) - }, t.getCommonExtensions = function(e) { - return e.filter(function(e, t) { - return /^pattern|maxLength|minLength|maximum|minimum/.test(t) - }) - } - }).call(t, n(54).Buffer) - }, function(e, t, n) { - "use strict"; - e.exports = function(e) { - for (var t = arguments.length - 1, n = "Minified React error #" + e + "; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=" + e, r = 0; r < t; r++) n += "&args[]=" + encodeURIComponent(arguments[r + 1]); - n += " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."; - var o = new Error(n); - throw o.name = "Invariant Violation", o.framesToPop = 1, o - } - }, function(e, t, n) { - "use strict"; - var r = n(7), - o = "<>", - i = { - listOf: function(e) { - return l(e, "List", r.List.isList) - }, - mapOf: function(e, t) { - return c(e, t, "Map", r.Map.isMap) - }, - orderedMapOf: function(e, t) { - return c(e, t, "OrderedMap", r.OrderedMap.isOrderedMap) - }, - setOf: function(e) { - return l(e, "Set", r.Set.isSet) - }, - orderedSetOf: function(e) { - return l(e, "OrderedSet", r.OrderedSet.isOrderedSet) - }, - stackOf: function(e) { - return l(e, "Stack", r.Stack.isStack) - }, - iterableOf: function(e) { - return l(e, "Iterable", r.Iterable.isIterable) - }, - recordOf: function(e) { - return u(function(t, n, o, i, u) { - for (var s = arguments.length, l = Array(s > 5 ? s - 5 : 0), c = 5; c < s; c++) l[c - 5] = arguments[c]; - var f = t[n]; - if (!(f instanceof r.Record)) { - var p = a(f), - d = i; - return new Error("Invalid " + d + " `" + u + "` of type `" + p + "` supplied to `" + o + "`, expected an Immutable.js Record.") - } - for (var h in e) { - var v = e[h]; - if (v) { - var m = f.toObject(), - g = v.apply(void 0, [m, h, o, i, u + "." + h].concat(l)); - if (g) return g - } - } - }) - }, - shape: p, - contains: p, - mapContains: function(e) { - return f(e, "Map", r.Map.isMap) - }, - list: s("List", r.List.isList), - map: s("Map", r.Map.isMap), - orderedMap: s("OrderedMap", r.OrderedMap.isOrderedMap), - set: s("Set", r.Set.isSet), - orderedSet: s("OrderedSet", r.OrderedSet.isOrderedSet), - stack: s("Stack", r.Stack.isStack), - seq: s("Seq", r.Seq.isSeq), - record: s("Record", function(e) { - return e instanceof r.Record - }), - iterable: s("Iterable", r.Iterable.isIterable) - }; - - function a(e) { - var t = typeof e; - return Array.isArray(e) ? "array" : e instanceof RegExp ? "object" : e instanceof r.Iterable ? "Immutable." + e.toSource().split(" ")[0] : t - } - - function u(e) { - function t(t, n, r, i, a, u) { - for (var s = arguments.length, l = Array(s > 6 ? s - 6 : 0), c = 6; c < s; c++) l[c - 6] = arguments[c]; - return u = u || r, i = i || o, null != n[r] ? e.apply(void 0, [n, r, i, a, u].concat(l)) : t ? new Error("Required " + a + " `" + u + "` was not specified in `" + i + "`.") : void 0 - } - var n = t.bind(null, !1); - return n.isRequired = t.bind(null, !0), n - } - - function s(e, t) { - return u(function(n, r, o, i, u) { - var s = n[r]; - if (!t(s)) { - var l = a(s); - return new Error("Invalid " + i + " `" + u + "` of type `" + l + "` supplied to `" + o + "`, expected `" + e + "`.") - } - return null - }) - } - - function l(e, t, n) { - return u(function(r, o, i, u, s) { - for (var l = arguments.length, c = Array(l > 5 ? l - 5 : 0), f = 5; f < l; f++) c[f - 5] = arguments[f]; - var p = r[o]; - if (!n(p)) { - var d = u, - h = a(p); - return new Error("Invalid " + d + " `" + s + "` of type `" + h + "` supplied to `" + i + "`, expected an Immutable.js " + t + ".") - } - if ("function" != typeof e) return new Error("Invalid typeChecker supplied to `" + i + "` for propType `" + s + "`, expected a function."); - for (var v = p.toArray(), m = 0, g = v.length; m < g; m++) { - var y = e.apply(void 0, [v, m, i, u, s + "[" + m + "]"].concat(c)); - if (y instanceof Error) return y - } - }) - } - - function c(e, t, n, r) { - return u(function() { - for (var o = arguments.length, i = Array(o), a = 0; a < o; a++) i[a] = arguments[a]; - return l(e, n, r).apply(void 0, i) || t && (s = t, u(function(e, t, n, r, o) { - for (var i = arguments.length, a = Array(i > 5 ? i - 5 : 0), u = 5; u < i; u++) a[u - 5] = arguments[u]; - var l = e[t]; - if ("function" != typeof s) return new Error("Invalid keysTypeChecker (optional second argument) supplied to `" + n + "` for propType `" + o + "`, expected a function."); - for (var c = l.keySeq().toArray(), f = 0, p = c.length; f < p; f++) { - var d = s.apply(void 0, [c, f, n, r, o + " -> key(" + c[f] + ")"].concat(a)); - if (d instanceof Error) return d - } - })).apply(void 0, i); - var s - }) - } - - function f(e) { - var t = void 0 === arguments[1] ? "Iterable" : arguments[1], - n = void 0 === arguments[2] ? r.Iterable.isIterable : arguments[2]; - return u(function(r, o, i, u, s) { - for (var l = arguments.length, c = Array(l > 5 ? l - 5 : 0), f = 5; f < l; f++) c[f - 5] = arguments[f]; - var p = r[o]; - if (!n(p)) { - var d = a(p); - return new Error("Invalid " + u + " `" + s + "` of type `" + d + "` supplied to `" + i + "`, expected an Immutable.js " + t + ".") - } - var h = p.toObject(); - for (var v in e) { - var m = e[v]; - if (m) { - var g = m.apply(void 0, [h, v, i, u, s + "." + v].concat(c)); - if (g) return g - } - } - }) - } - - function p(e) { - return f(e) - } - e.exports = i - }, function(e, t, n) { - "use strict"; - /* - object-assign - (c) Sindre Sorhus - @license MIT - */ - var r = Object.getOwnPropertySymbols, - o = Object.prototype.hasOwnProperty, - i = Object.prototype.propertyIsEnumerable; - e.exports = function() { - try { - if (!Object.assign) return !1; - var e = new String("abc"); - if (e[5] = "de", "5" === Object.getOwnPropertyNames(e)[0]) return !1; - for (var t = {}, n = 0; n < 10; n++) t["_" + String.fromCharCode(n)] = n; - if ("0123456789" !== Object.getOwnPropertyNames(t).map(function(e) { - return t[e] - }).join("")) return !1; - var r = {}; - return "abcdefghijklmnopqrst".split("").forEach(function(e) { - r[e] = e - }), "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, r)).join("") - } catch (e) { - return !1 - } - }() ? Object.assign : function(e, t) { - for (var n, a, u = function(e) { - if (null === e || void 0 === e) throw new TypeError("Object.assign cannot be called with null or undefined"); - return Object(e) - }(e), s = 1; s < arguments.length; s++) { - for (var l in n = Object(arguments[s])) o.call(n, l) && (u[l] = n[l]); - if (r) { - a = r(n); - for (var c = 0; c < a.length; c++) i.call(n, a[c]) && (u[a[c]] = n[a[c]]) - } - } - return u - } - }, function(e, t, n) { - "use strict"; - var r = n(11), - o = n(87), - i = n(350), - a = (n(8), o.ID_ATTRIBUTE_NAME), - u = i, - s = "__reactInternalInstance$" + Math.random().toString(36).slice(2); - - function l(e, t) { - return 1 === e.nodeType && e.getAttribute(a) === String(t) || 8 === e.nodeType && e.nodeValue === " react-text: " + t + " " || 8 === e.nodeType && e.nodeValue === " react-empty: " + t + " " - } - - function c(e) { - for (var t; t = e._renderedComponent;) e = t; - return e - } - - function f(e, t) { - var n = c(e); - n._hostNode = t, t[s] = n - } - - function p(e, t) { - if (!(e._flags & u.hasCachedChildNodes)) { - var n = e._renderedChildren, - o = t.firstChild; - e: for (var i in n) - if (n.hasOwnProperty(i)) { - var a = n[i], - s = c(a)._domID; - if (0 !== s) { - for (; null !== o; o = o.nextSibling) - if (l(o, s)) { - f(a, o); - continue e - } - r("32", s) - } - } - e._flags |= u.hasCachedChildNodes - } - } - - function d(e) { - if (e[s]) return e[s]; - for (var t, n, r = []; !e[s];) { - if (r.push(e), !e.parentNode) return null; - e = e.parentNode - } - for (; e && (n = e[s]); e = r.pop()) t = n, r.length && p(n, e); - return t - } - var h = { - getClosestInstanceFromNode: d, - getInstanceFromNode: function(e) { - var t = d(e); - return null != t && t._hostNode === e ? t : null - }, - getNodeFromInstance: function(e) { - if (void 0 === e._hostNode && r("33"), e._hostNode) return e._hostNode; - for (var t = []; !e._hostNode;) t.push(e), e._hostParent || r("34"), e = e._hostParent; - for (; t.length; e = t.pop()) p(e, e._hostNode); - return e._hostNode - }, - precacheChildNodes: p, - precacheNode: f, - uncacheNode: function(e) { - var t = e._hostNode; - t && (delete t[s], e._hostNode = null) - } - }; - e.exports = h - }, function(e, t) { - var n = e.exports = { - version: "2.5.5" - }; - "number" == typeof __e && (__e = n) - }, function(e, t, n) { - "use strict"; - var r = n(107), - o = ["kind", "resolve", "construct", "instanceOf", "predicate", "represent", "defaultStyle", "styleAliases"], - i = ["scalar", "sequence", "mapping"]; - e.exports = function(e, t) { - var n, a; - if (t = t || {}, Object.keys(t).forEach(function(t) { - if (-1 === o.indexOf(t)) throw new r('Unknown option "' + t + '" is met in definition of "' + e + '" YAML type.') - }), this.tag = e, this.kind = t.kind || null, this.resolve = t.resolve || function() { - return !0 - }, this.construct = t.construct || function(e) { - return e - }, this.instanceOf = t.instanceOf || null, this.predicate = t.predicate || null, this.represent = t.represent || null, this.defaultStyle = t.defaultStyle || null, this.styleAliases = (n = t.styleAliases || null, a = {}, null !== n && Object.keys(n).forEach(function(e) { - n[e].forEach(function(t) { - a[String(t)] = e - }) - }), a), -1 === i.indexOf(this.kind)) throw new r('Unknown kind "' + this.kind + '" is specified for "' + e + '" YAML type.') - } - }, function(e, t, n) { - var r = n(242)("wks"), - o = n(167), - i = n(33).Symbol, - a = "function" == typeof i; - (e.exports = function(e) { - return r[e] || (r[e] = a && i[e] || (a ? i : o)("Symbol." + e)) - }).store = r - }, function(e, t, n) { - "use strict"; - t.__esModule = !0; - var r = i(n(568)), - o = i(n(91)); - - function i(e) { - return e && e.__esModule ? e : { - default: e - } - } - t.default = function() { - return function(e, t) { - if (Array.isArray(e)) return e; - if ((0, r.default)(Object(e))) return function(e, t) { - var n = [], - r = !0, - i = !1, - a = void 0; - try { - for (var u, s = (0, o.default)(e); !(r = (u = s.next()).done) && (n.push(u.value), !t || n.length !== t); r = !0); - } catch (e) { - i = !0, a = e - } finally { - try { - !r && s.return && s.return() - } finally { - if (i) throw a - } - } - return n - }(e, t); - throw new TypeError("Invalid attempt to destructure non-iterable instance") - } - }() - }, function(e, t, n) { - var r = n(162)("wks"), - o = n(116), - i = n(21).Symbol, - a = "function" == typeof i; - (e.exports = function(e) { - return r[e] || (r[e] = a && i[e] || (a ? i : o)("Symbol." + e)) - }).store = r - }, function(e, t, n) { - var r = n(21), - o = n(15), - i = n(49), - a = n(50), - u = n(52), - s = function(e, t, n) { - var l, c, f, p = e & s.F, - d = e & s.G, - h = e & s.S, - v = e & s.P, - m = e & s.B, - g = e & s.W, - y = d ? o : o[t] || (o[t] = {}), - b = y.prototype, - _ = d ? r : h ? r[t] : (r[t] || {}).prototype; - for (l in d && (n = t), n)(c = !p && _ && void 0 !== _[l]) && u(y, l) || (f = c ? _[l] : n[l], y[l] = d && "function" != typeof _[l] ? n[l] : m && c ? i(f, r) : g && _[l] == f ? function(e) { - var t = function(t, n, r) { - if (this instanceof e) { - switch (arguments.length) { - case 0: - return new e; - case 1: - return new e(t); - case 2: - return new e(t, n) - } - return new e(t, n, r) - } - return e.apply(this, arguments) - }; - return t.prototype = e.prototype, t - }(f) : v && "function" == typeof f ? i(Function.call, f) : f, v && ((y.virtual || (y.virtual = {}))[l] = f, e & s.R && b && !b[l] && a(b, l, f))) - }; - s.F = 1, s.G = 2, s.S = 4, s.P = 8, s.B = 16, s.W = 32, s.U = 64, s.R = 128, e.exports = s - }, function(e, t) { - var n = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); - "number" == typeof __g && (__g = n) - }, function(e, t, n) { - "use strict"; - t.__esModule = !0; - var r, o = n(262), - i = (r = o) && r.__esModule ? r : { - default: r - }; - t.default = function(e, t, n) { - return t in e ? (0, i.default)(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0 - }) : e[t] = n, e - } - }, function(e, t, n) { - e.exports = { - default: n(533), - __esModule: !0 - } - }, function(e, t) { - var n = Array.isArray; - e.exports = n - }, function(e, t, n) { - "use strict"; - t.__esModule = !0; - var r, o = n(23), - i = (r = o) && r.__esModule ? r : { - default: r - }; - t.default = i.default || function(e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t]; - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - } - }, function(e, t, n) { - "use strict"; - var r = !("undefined" == typeof window || !window.document || !window.document.createElement), - o = { - canUseDOM: r, - canUseWorkers: "undefined" != typeof Worker, - canUseEventListeners: r && !(!window.addEventListener && !window.attachEvent), - canUseViewport: r && !!window.screen, - isInWorker: !r - }; - e.exports = o - }, function(e, t, n) { - "use strict"; - var r = Object.prototype.hasOwnProperty; - - function o(e, t) { - return !!e && r.call(e, t) - } - var i = /\\([\\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g; - - function a(e) { - return !(e >= 55296 && e <= 57343) && (!(e >= 64976 && e <= 65007) && (65535 != (65535 & e) && 65534 != (65535 & e) && (!(e >= 0 && e <= 8) && (11 !== e && (!(e >= 14 && e <= 31) && (!(e >= 127 && e <= 159) && !(e > 1114111))))))) - } - - function u(e) { - if (e > 65535) { - var t = 55296 + ((e -= 65536) >> 10), - n = 56320 + (1023 & e); - return String.fromCharCode(t, n) - } - return String.fromCharCode(e) - } - var s = /&([a-z#][a-z0-9]{1,31});/gi, - l = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i, - c = n(416); - - function f(e, t) { - var n = 0; - return o(c, t) ? c[t] : 35 === t.charCodeAt(0) && l.test(t) && a(n = "x" === t[1].toLowerCase() ? parseInt(t.slice(2), 16) : parseInt(t.slice(1), 10)) ? u(n) : e - } - var p = /[&<>"]/, - d = /[&<>"]/g, - h = { - "&": "&", - "<": "<", - ">": ">", - '"': """ - }; - - function v(e) { - return h[e] - } - t.assign = function(e) { - return [].slice.call(arguments, 1).forEach(function(t) { - if (t) { - if ("object" != typeof t) throw new TypeError(t + "must be object"); - Object.keys(t).forEach(function(n) { - e[n] = t[n] - }) - } - }), e - }, t.isString = function(e) { - return "[object String]" === function(e) { - return Object.prototype.toString.call(e) - }(e) - }, t.has = o, t.unescapeMd = function(e) { - return e.indexOf("\\") < 0 ? e : e.replace(i, "$1") - }, t.isValidEntityCode = a, t.fromCodePoint = u, t.replaceEntities = function(e) { - return e.indexOf("&") < 0 ? e : e.replace(s, f) - }, t.escapeHtml = function(e) { - return p.test(e) ? e.replace(d, v) : e - } - }, function(e, t) { - e.exports = function(e) { - return "object" == typeof e ? null !== e : "function" == typeof e - } - }, function(e, t, n) { - var r = n(33), - o = n(60), - i = n(58), - a = n(73), - u = n(120), - s = function(e, t, n) { - var l, c, f, p, d = e & s.F, - h = e & s.G, - v = e & s.S, - m = e & s.P, - g = e & s.B, - y = h ? r : v ? r[t] || (r[t] = {}) : (r[t] || {}).prototype, - b = h ? o : o[t] || (o[t] = {}), - _ = b.prototype || (b.prototype = {}); - for (l in h && (n = t), n) f = ((c = !d && y && void 0 !== y[l]) ? y : n)[l], p = g && c ? u(f, r) : m && "function" == typeof f ? u(Function.call, f) : f, y && a(y, l, f, e & s.U), b[l] != f && i(b, l, p), m && _[l] != f && (_[l] = f) - }; - r.core = o, s.F = 1, s.G = 2, s.S = 4, s.P = 8, s.B = 16, s.W = 32, s.U = 64, s.R = 128, e.exports = s - }, function(e, t, n) { - var r = n(29), - o = n(101), - i = n(53), - a = /"/g, - u = function(e, t, n, r) { - var o = String(i(e)), - u = "<" + t; - return "" !== n && (u += " " + n + '="' + String(r).replace(a, """) + '"'), u + ">" + o + "" - }; - e.exports = function(e, t) { - var n = {}; - n[e] = t(u), r(r.P + r.F * o(function() { - var t = "" [e]('"'); - return t !== t.toLowerCase() || t.split('"').length > 3 - }), "String", n) - } - }, function(e, t) { - var n; - n = function() { - return this - }(); - try { - n = n || Function("return this")() || (0, eval)("this") - } catch (e) { - "object" == typeof window && (n = window) - } - e.exports = n - }, function(e, t, n) { - "use strict"; - var r, o = n(91), - i = (r = o) && r.__esModule ? r : { - default: r - }; - e.exports = function() { - var e = { - location: {}, - history: {}, - open: function() {}, - close: function() {}, - File: function() {} - }; - if ("undefined" == typeof window) return e; - try { - e = window; - var t = !0, - n = !1, - r = void 0; - try { - for (var o, a = (0, i.default)(["File", "Blob", "FormData"]); !(t = (o = a.next()).done); t = !0) { - var u = o.value; - u in window && (e[u] = window[u]) - } - } catch (e) { - n = !0, r = e - } finally { - try { - !t && a.return && a.return() - } finally { - if (n) throw r - } - } - } catch (e) { - console.error(e) - } - return e - }() - }, function(e, t) { - var n = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); - "number" == typeof __g && (__g = n) - }, function(e, t, n) { - "use strict"; - - function r(e) { - return function() { - return e - } - } - var o = function() {}; - o.thatReturns = r, o.thatReturnsFalse = r(!1), o.thatReturnsTrue = r(!0), o.thatReturnsNull = r(null), o.thatReturnsThis = function() { - return this - }, o.thatReturnsArgument = function(e) { - return e - }, e.exports = o - }, function(e, t, n) { - "use strict"; - Object.defineProperty(t, "__esModule", { - value: !0 - }); - var r = i(n(25)); - t.isOAS3 = a, t.isSwagger2 = function(e) { - var t = e.get("swagger"); - if ("string" != typeof t) return !1; - return t.startsWith("2.0") - }, t.OAS3ComponentWrapFactory = function(e) { - return function(t, n) { - return function(i) { - if (n && n.specSelectors && n.specSelectors.specJson) { - var u = n.specSelectors.specJson(); - return a(u) ? o.default.createElement(e, (0, r.default)({}, i, n, { - Ori: t - })) : o.default.createElement(t, i) - } - return console.warn("OAS3 wrapper: couldn't get spec"), null - } - } - }; - var o = i(n(0)); - - function i(e) { - return e && e.__esModule ? e : { - default: e - } - } - - function a(e) { - var t = e.get("openapi"); - return "string" == typeof t && (t.startsWith("3.0.") && t.length > 4) - } - }, function(e, t, n) { - var r = n(28); - e.exports = function(e) { - if (!r(e)) throw TypeError(e + " is not an object!"); - return e - } - }, function(e, t, n) { - var r = n(278), - o = "object" == typeof self && self && self.Object === Object && self, - i = r || o || Function("return this")(); - e.exports = i - }, function(e, t) { - e.exports = function(e) { - var t = typeof e; - return null != e && ("object" == t || "function" == t) - } - }, function(e, t, n) { - "use strict"; - var r = null; - e.exports = { - debugTool: r - } - }, function(e, t, n) { - var r = n(36), - o = n(238), - i = n(157), - a = Object.defineProperty; - t.f = n(44) ? Object.defineProperty : function(e, t, n) { - if (r(e), t = i(t, !0), r(n), o) try { - return a(e, t, n) - } catch (e) {} - if ("get" in n || "set" in n) throw TypeError("Accessors not supported!"); - return "value" in n && (e[t] = n.value), e - } - }, function(e, t, n) { - e.exports = { - default: n(516), - __esModule: !0 - } - }, function(e, t, n) { - e.exports = { - default: n(517), - __esModule: !0 - } - }, function(e, t, n) { - "use strict"; - var r = n(11), - o = n(13), - i = n(354), - a = n(69), - u = n(355), - s = n(88), - l = n(147), - c = n(8), - f = [], - p = 0, - d = i.getPooled(), - h = !1, - v = null; - - function m() { - E.ReactReconcileTransaction && v || r("123") - } - var g = [{ - initialize: function() { - this.dirtyComponentsLength = f.length - }, - close: function() { - this.dirtyComponentsLength !== f.length ? (f.splice(0, this.dirtyComponentsLength), w()) : f.length = 0 - } - }, { - initialize: function() { - this.callbackQueue.reset() - }, - close: function() { - this.callbackQueue.notifyAll() - } - }]; - - function y() { - this.reinitializeTransaction(), this.dirtyComponentsLength = null, this.callbackQueue = i.getPooled(), this.reconcileTransaction = E.ReactReconcileTransaction.getPooled(!0) - } - - function b(e, t) { - return e._mountOrder - t._mountOrder - } - - function _(e) { - var t = e.dirtyComponentsLength; - t !== f.length && r("124", t, f.length), f.sort(b), p++; - for (var n = 0; n < t; n++) { - var o, i = f[n], - a = i._pendingCallbacks; - if (i._pendingCallbacks = null, u.logTopLevelRenders) { - var l = i; - i._currentElement.type.isReactTopLevelWrapper && (l = i._renderedComponent), o = "React update: " + l.getName(), console.time(o) - } - if (s.performUpdateIfNecessary(i, e.reconcileTransaction, p), o && console.timeEnd(o), a) - for (var c = 0; c < a.length; c++) e.callbackQueue.enqueue(a[c], i.getPublicInstance()) - } - } - o(y.prototype, l, { - getTransactionWrappers: function() { - return g - }, - destructor: function() { - this.dirtyComponentsLength = null, i.release(this.callbackQueue), this.callbackQueue = null, E.ReactReconcileTransaction.release(this.reconcileTransaction), this.reconcileTransaction = null - }, - perform: function(e, t, n) { - return l.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, e, t, n) - } - }), a.addPoolingTo(y); - var w = function() { - for (; f.length || h;) { - if (f.length) { - var e = y.getPooled(); - e.perform(_, null, e), y.release(e) - } - if (h) { - h = !1; - var t = d; - d = i.getPooled(), t.notifyAll(), i.release(t) - } - } - }; - var E = { - ReactReconcileTransaction: null, - batchedUpdates: function(e, t, n, r, o, i) { - return m(), v.batchedUpdates(e, t, n, r, o, i) - }, - enqueueUpdate: function e(t) { - m(), v.isBatchingUpdates ? (f.push(t), null == t._updateBatchNumber && (t._updateBatchNumber = p + 1)) : v.batchedUpdates(e, t) - }, - flushBatchedUpdates: w, - injection: { - injectReconcileTransaction: function(e) { - e || r("126"), E.ReactReconcileTransaction = e - }, - injectBatchingStrategy: function(e) { - e || r("127"), "function" != typeof e.batchedUpdates && r("128"), "boolean" != typeof e.isBatchingUpdates && r("129"), v = e - } - }, - asap: function(e, t) { - c(v.isBatchingUpdates, "ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."), d.enqueue(e, t), h = !0 - } - }; - e.exports = E - }, function(e, t, n) { - e.exports = !n(51)(function() { - return 7 != Object.defineProperty({}, "a", { - get: function() { - return 7 - } - }).a - }) - }, function(e, t, n) { - "use strict"; - t.__esModule = !0; - var r = a(n(519)), - o = a(n(521)), - i = "function" == typeof o.default && "symbol" == typeof r.default ? function(e) { - return typeof e - } : function(e) { - return e && "function" == typeof o.default && e.constructor === o.default && e !== o.default.prototype ? "symbol" : typeof e - }; - - function a(e) { - return e && e.__esModule ? e : { - default: e - } - } - t.default = "function" == typeof o.default && "symbol" === i(r.default) ? function(e) { - return void 0 === e ? "undefined" : i(e) - } : function(e) { - return e && "function" == typeof o.default && e.constructor === o.default && e !== o.default.prototype ? "symbol" : void 0 === e ? "undefined" : i(e) - } - }, function(e, t, n) { - "use strict"; - e.exports = { - current: null - } - }, function(e, t) { - e.exports = function(e) { - return null != e && "object" == typeof e - } - }, function(e, t, n) { - "use strict"; - var r = n(13), - o = n(69), - i = n(34), - a = (n(9), ["dispatchConfig", "_targetInst", "nativeEvent", "isDefaultPrevented", "isPropagationStopped", "_dispatchListeners", "_dispatchInstances"]), - u = { - type: null, - target: null, - currentTarget: i.thatReturnsNull, - eventPhase: null, - bubbles: null, - cancelable: null, - timeStamp: function(e) { - return e.timeStamp || Date.now() - }, - defaultPrevented: null, - isTrusted: null - }; - - function s(e, t, n, r) { - this.dispatchConfig = e, this._targetInst = t, this.nativeEvent = n; - var o = this.constructor.Interface; - for (var a in o) - if (o.hasOwnProperty(a)) { - 0; - var u = o[a]; - u ? this[a] = u(n) : "target" === a ? this.target = r : this[a] = n[a] - } - var s = null != n.defaultPrevented ? n.defaultPrevented : !1 === n.returnValue; - return this.isDefaultPrevented = s ? i.thatReturnsTrue : i.thatReturnsFalse, this.isPropagationStopped = i.thatReturnsFalse, this - } - r(s.prototype, { - preventDefault: function() { - this.defaultPrevented = !0; - var e = this.nativeEvent; - e && (e.preventDefault ? e.preventDefault() : "unknown" != typeof e.returnValue && (e.returnValue = !1), this.isDefaultPrevented = i.thatReturnsTrue) - }, - stopPropagation: function() { - var e = this.nativeEvent; - e && (e.stopPropagation ? e.stopPropagation() : "unknown" != typeof e.cancelBubble && (e.cancelBubble = !0), this.isPropagationStopped = i.thatReturnsTrue) - }, - persist: function() { - this.isPersistent = i.thatReturnsTrue - }, - isPersistent: i.thatReturnsFalse, - destructor: function() { - var e = this.constructor.Interface; - for (var t in e) this[t] = null; - for (var n = 0; n < a.length; n++) this[a[n]] = null - } - }), s.Interface = u, s.augmentClass = function(e, t) { - var n = function() {}; - n.prototype = this.prototype; - var i = new n; - r(i, e.prototype), e.prototype = i, e.prototype.constructor = e, e.Interface = r({}, this.Interface, t), e.augmentClass = this.augmentClass, o.addPoolingTo(e, o.fourArgumentPooler) - }, o.addPoolingTo(s, o.fourArgumentPooler), e.exports = s - }, function(e, t, n) { - var r = n(94); - e.exports = function(e, t, n) { - if (r(e), void 0 === t) return e; - switch (n) { - case 1: - return function(n) { - return e.call(t, n) - }; - case 2: - return function(n, r) { - return e.call(t, n, r) - }; - case 3: - return function(n, r, o) { - return e.call(t, n, r, o) - } - } - return function() { - return e.apply(t, arguments) - } - } - }, function(e, t, n) { - var r = n(40), - o = n(95); - e.exports = n(44) ? function(e, t, n) { - return r.f(e, t, o(1, n)) - } : function(e, t, n) { - return e[t] = n, e - } - }, function(e, t) { - e.exports = function(e) { - try { - return !!e() - } catch (e) { - return !0 - } - } - }, function(e, t) { - var n = {}.hasOwnProperty; - e.exports = function(e, t) { - return n.call(e, t) - } - }, function(e, t) { - e.exports = function(e) { - if (void 0 == e) throw TypeError("Can't call method on " + e); - return e - } - }, function(e, t, n) { - "use strict"; - (function(e) { - /*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ - var r = n(528), - o = n(529), - i = n(261); - - function a() { - return s.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823 - } - - function u(e, t) { - if (a() < t) throw new RangeError("Invalid typed array length"); - return s.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t)).__proto__ = s.prototype : (null === e && (e = new s(t)), e.length = t), e - } - - function s(e, t, n) { - if (!(s.TYPED_ARRAY_SUPPORT || this instanceof s)) return new s(e, t, n); - if ("number" == typeof e) { - if ("string" == typeof t) throw new Error("If encoding is specified then the first argument must be a string"); - return f(this, e) - } - return l(this, e, t, n) - } - - function l(e, t, n, r) { - if ("number" == typeof t) throw new TypeError('"value" argument must not be a number'); - return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ? function(e, t, n, r) { - if (t.byteLength, n < 0 || t.byteLength < n) throw new RangeError("'offset' is out of bounds"); - if (t.byteLength < n + (r || 0)) throw new RangeError("'length' is out of bounds"); - t = void 0 === n && void 0 === r ? new Uint8Array(t) : void 0 === r ? new Uint8Array(t, n) : new Uint8Array(t, n, r); - s.TYPED_ARRAY_SUPPORT ? (e = t).__proto__ = s.prototype : e = p(e, t); - return e - }(e, t, n, r) : "string" == typeof t ? function(e, t, n) { - "string" == typeof n && "" !== n || (n = "utf8"); - if (!s.isEncoding(n)) throw new TypeError('"encoding" must be a valid string encoding'); - var r = 0 | h(t, n), - o = (e = u(e, r)).write(t, n); - o !== r && (e = e.slice(0, o)); - return e - }(e, t, n) : function(e, t) { - if (s.isBuffer(t)) { - var n = 0 | d(t.length); - return 0 === (e = u(e, n)).length ? e : (t.copy(e, 0, 0, n), e) - } - if (t) { - if ("undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length" in t) return "number" != typeof t.length || (r = t.length) != r ? u(e, 0) : p(e, t); - if ("Buffer" === t.type && i(t.data)) return p(e, t.data) - } - var r; - throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.") - }(e, t) - } - - function c(e) { - if ("number" != typeof e) throw new TypeError('"size" argument must be a number'); - if (e < 0) throw new RangeError('"size" argument must not be negative') - } - - function f(e, t) { - if (c(t), e = u(e, t < 0 ? 0 : 0 | d(t)), !s.TYPED_ARRAY_SUPPORT) - for (var n = 0; n < t; ++n) e[n] = 0; - return e - } - - function p(e, t) { - var n = t.length < 0 ? 0 : 0 | d(t.length); - e = u(e, n); - for (var r = 0; r < n; r += 1) e[r] = 255 & t[r]; - return e - } - - function d(e) { - if (e >= a()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + a().toString(16) + " bytes"); - return 0 | e - } - - function h(e, t) { - if (s.isBuffer(e)) return e.length; - if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength; - "string" != typeof e && (e = "" + e); - var n = e.length; - if (0 === n) return 0; - for (var r = !1;;) switch (t) { - case "ascii": - case "latin1": - case "binary": - return n; - case "utf8": - case "utf-8": - case void 0: - return F(e).length; - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return 2 * n; - case "hex": - return n >>> 1; - case "base64": - return z(e).length; - default: - if (r) return F(e).length; - t = ("" + t).toLowerCase(), r = !0 - } - } - - function v(e, t, n) { - var r = e[t]; - e[t] = e[n], e[n] = r - } - - function m(e, t, n, r, o) { - if (0 === e.length) return -1; - if ("string" == typeof n ? (r = n, n = 0) : n > 2147483647 ? n = 2147483647 : n < -2147483648 && (n = -2147483648), n = +n, isNaN(n) && (n = o ? 0 : e.length - 1), n < 0 && (n = e.length + n), n >= e.length) { - if (o) return -1; - n = e.length - 1 - } else if (n < 0) { - if (!o) return -1; - n = 0 - } - if ("string" == typeof t && (t = s.from(t, r)), s.isBuffer(t)) return 0 === t.length ? -1 : g(e, t, n, r, o); - if ("number" == typeof t) return t &= 255, s.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? o ? Uint8Array.prototype.indexOf.call(e, t, n) : Uint8Array.prototype.lastIndexOf.call(e, t, n) : g(e, [t], n, r, o); - throw new TypeError("val must be string, number or Buffer") - } - - function g(e, t, n, r, o) { - var i, a = 1, - u = e.length, - s = t.length; - if (void 0 !== r && ("ucs2" === (r = String(r).toLowerCase()) || "ucs-2" === r || "utf16le" === r || "utf-16le" === r)) { - if (e.length < 2 || t.length < 2) return -1; - a = 2, u /= 2, s /= 2, n /= 2 - } - - function l(e, t) { - return 1 === a ? e[t] : e.readUInt16BE(t * a) - } - if (o) { - var c = -1; - for (i = n; i < u; i++) - if (l(e, i) === l(t, -1 === c ? 0 : i - c)) { - if (-1 === c && (c = i), i - c + 1 === s) return c * a - } else -1 !== c && (i -= i - c), c = -1 - } else - for (n + s > u && (n = u - s), i = n; i >= 0; i--) { - for (var f = !0, p = 0; p < s; p++) - if (l(e, i + p) !== l(t, p)) { - f = !1; - break - } - if (f) return i - } - return -1 - } - - function y(e, t, n, r) { - n = Number(n) || 0; - var o = e.length - n; - r ? (r = Number(r)) > o && (r = o) : r = o; - var i = t.length; - if (i % 2 != 0) throw new TypeError("Invalid hex string"); - r > i / 2 && (r = i / 2); - for (var a = 0; a < r; ++a) { - var u = parseInt(t.substr(2 * a, 2), 16); - if (isNaN(u)) return a; - e[n + a] = u - } - return a - } - - function b(e, t, n, r) { - return B(F(t, e.length - n), e, n, r) - } - - function _(e, t, n, r) { - return B(function(e) { - for (var t = [], n = 0; n < e.length; ++n) t.push(255 & e.charCodeAt(n)); - return t - }(t), e, n, r) - } - - function w(e, t, n, r) { - return _(e, t, n, r) - } - - function E(e, t, n, r) { - return B(z(t), e, n, r) - } - - function x(e, t, n, r) { - return B(function(e, t) { - for (var n, r, o, i = [], a = 0; a < e.length && !((t -= 2) < 0); ++a) n = e.charCodeAt(a), r = n >> 8, o = n % 256, i.push(o), i.push(r); - return i - }(t, e.length - n), e, n, r) - } - - function S(e, t, n) { - return 0 === t && n === e.length ? r.fromByteArray(e) : r.fromByteArray(e.slice(t, n)) - } - - function C(e, t, n) { - n = Math.min(e.length, n); - for (var r = [], o = t; o < n;) { - var i, a, u, s, l = e[o], - c = null, - f = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1; - if (o + f <= n) switch (f) { - case 1: - l < 128 && (c = l); - break; - case 2: - 128 == (192 & (i = e[o + 1])) && (s = (31 & l) << 6 | 63 & i) > 127 && (c = s); - break; - case 3: - i = e[o + 1], a = e[o + 2], 128 == (192 & i) && 128 == (192 & a) && (s = (15 & l) << 12 | (63 & i) << 6 | 63 & a) > 2047 && (s < 55296 || s > 57343) && (c = s); - break; - case 4: - i = e[o + 1], a = e[o + 2], u = e[o + 3], 128 == (192 & i) && 128 == (192 & a) && 128 == (192 & u) && (s = (15 & l) << 18 | (63 & i) << 12 | (63 & a) << 6 | 63 & u) > 65535 && s < 1114112 && (c = s) - } - null === c ? (c = 65533, f = 1) : c > 65535 && (c -= 65536, r.push(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c), r.push(c), o += f - } - return function(e) { - var t = e.length; - if (t <= k) return String.fromCharCode.apply(String, e); - var n = "", - r = 0; - for (; r < t;) n += String.fromCharCode.apply(String, e.slice(r, r += k)); - return n - }(r) - } - t.Buffer = s, t.SlowBuffer = function(e) { - +e != e && (e = 0); - return s.alloc(+e) - }, t.INSPECT_MAX_BYTES = 50, s.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT : function() { - try { - var e = new Uint8Array(1); - return e.__proto__ = { - __proto__: Uint8Array.prototype, - foo: function() { - return 42 - } - }, 42 === e.foo() && "function" == typeof e.subarray && 0 === e.subarray(1, 1).byteLength - } catch (e) { - return !1 - } - }(), t.kMaxLength = a(), s.poolSize = 8192, s._augment = function(e) { - return e.__proto__ = s.prototype, e - }, s.from = function(e, t, n) { - return l(null, e, t, n) - }, s.TYPED_ARRAY_SUPPORT && (s.prototype.__proto__ = Uint8Array.prototype, s.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && s[Symbol.species] === s && Object.defineProperty(s, Symbol.species, { - value: null, - configurable: !0 - })), s.alloc = function(e, t, n) { - return function(e, t, n, r) { - return c(t), t <= 0 ? u(e, t) : void 0 !== n ? "string" == typeof r ? u(e, t).fill(n, r) : u(e, t).fill(n) : u(e, t) - }(null, e, t, n) - }, s.allocUnsafe = function(e) { - return f(null, e) - }, s.allocUnsafeSlow = function(e) { - return f(null, e) - }, s.isBuffer = function(e) { - return !(null == e || !e._isBuffer) - }, s.compare = function(e, t) { - if (!s.isBuffer(e) || !s.isBuffer(t)) throw new TypeError("Arguments must be Buffers"); - if (e === t) return 0; - for (var n = e.length, r = t.length, o = 0, i = Math.min(n, r); o < i; ++o) - if (e[o] !== t[o]) { - n = e[o], r = t[o]; - break - } - return n < r ? -1 : r < n ? 1 : 0 - }, s.isEncoding = function(e) { - switch (String(e).toLowerCase()) { - case "hex": - case "utf8": - case "utf-8": - case "ascii": - case "latin1": - case "binary": - case "base64": - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return !0; - default: - return !1 - } - }, s.concat = function(e, t) { - if (!i(e)) throw new TypeError('"list" argument must be an Array of Buffers'); - if (0 === e.length) return s.alloc(0); - var n; - if (void 0 === t) - for (t = 0, n = 0; n < e.length; ++n) t += e[n].length; - var r = s.allocUnsafe(t), - o = 0; - for (n = 0; n < e.length; ++n) { - var a = e[n]; - if (!s.isBuffer(a)) throw new TypeError('"list" argument must be an Array of Buffers'); - a.copy(r, o), o += a.length - } - return r - }, s.byteLength = h, s.prototype._isBuffer = !0, s.prototype.swap16 = function() { - var e = this.length; - if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); - for (var t = 0; t < e; t += 2) v(this, t, t + 1); - return this - }, s.prototype.swap32 = function() { - var e = this.length; - if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); - for (var t = 0; t < e; t += 4) v(this, t, t + 3), v(this, t + 1, t + 2); - return this - }, s.prototype.swap64 = function() { - var e = this.length; - if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); - for (var t = 0; t < e; t += 8) v(this, t, t + 7), v(this, t + 1, t + 6), v(this, t + 2, t + 5), v(this, t + 3, t + 4); - return this - }, s.prototype.toString = function() { - var e = 0 | this.length; - return 0 === e ? "" : 0 === arguments.length ? C(this, 0, e) : function(e, t, n) { - var r = !1; - if ((void 0 === t || t < 0) && (t = 0), t > this.length) return ""; - if ((void 0 === n || n > this.length) && (n = this.length), n <= 0) return ""; - if ((n >>>= 0) <= (t >>>= 0)) return ""; - for (e || (e = "utf8");;) switch (e) { - case "hex": - return P(this, t, n); - case "utf8": - case "utf-8": - return C(this, t, n); - case "ascii": - return A(this, t, n); - case "latin1": - case "binary": - return O(this, t, n); - case "base64": - return S(this, t, n); - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return T(this, t, n); - default: - if (r) throw new TypeError("Unknown encoding: " + e); - e = (e + "").toLowerCase(), r = !0 - } - }.apply(this, arguments) - }, s.prototype.equals = function(e) { - if (!s.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); - return this === e || 0 === s.compare(this, e) - }, s.prototype.inspect = function() { - var e = "", - n = t.INSPECT_MAX_BYTES; - return this.length > 0 && (e = this.toString("hex", 0, n).match(/.{2}/g).join(" "), this.length > n && (e += " ... ")), "" - }, s.prototype.compare = function(e, t, n, r, o) { - if (!s.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); - if (void 0 === t && (t = 0), void 0 === n && (n = e ? e.length : 0), void 0 === r && (r = 0), void 0 === o && (o = this.length), t < 0 || n > e.length || r < 0 || o > this.length) throw new RangeError("out of range index"); - if (r >= o && t >= n) return 0; - if (r >= o) return -1; - if (t >= n) return 1; - if (t >>>= 0, n >>>= 0, r >>>= 0, o >>>= 0, this === e) return 0; - for (var i = o - r, a = n - t, u = Math.min(i, a), l = this.slice(r, o), c = e.slice(t, n), f = 0; f < u; ++f) - if (l[f] !== c[f]) { - i = l[f], a = c[f]; - break - } - return i < a ? -1 : a < i ? 1 : 0 - }, s.prototype.includes = function(e, t, n) { - return -1 !== this.indexOf(e, t, n) - }, s.prototype.indexOf = function(e, t, n) { - return m(this, e, t, n, !0) - }, s.prototype.lastIndexOf = function(e, t, n) { - return m(this, e, t, n, !1) - }, s.prototype.write = function(e, t, n, r) { - if (void 0 === t) r = "utf8", n = this.length, t = 0; - else if (void 0 === n && "string" == typeof t) r = t, n = this.length, t = 0; - else { - if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); - t |= 0, isFinite(n) ? (n |= 0, void 0 === r && (r = "utf8")) : (r = n, n = void 0) - } - var o = this.length - t; - if ((void 0 === n || n > o) && (n = o), e.length > 0 && (n < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds"); - r || (r = "utf8"); - for (var i = !1;;) switch (r) { - case "hex": - return y(this, e, t, n); - case "utf8": - case "utf-8": - return b(this, e, t, n); - case "ascii": - return _(this, e, t, n); - case "latin1": - case "binary": - return w(this, e, t, n); - case "base64": - return E(this, e, t, n); - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return x(this, e, t, n); - default: - if (i) throw new TypeError("Unknown encoding: " + r); - r = ("" + r).toLowerCase(), i = !0 - } - }, s.prototype.toJSON = function() { - return { - type: "Buffer", - data: Array.prototype.slice.call(this._arr || this, 0) - } - }; - var k = 4096; - - function A(e, t, n) { - var r = ""; - n = Math.min(e.length, n); - for (var o = t; o < n; ++o) r += String.fromCharCode(127 & e[o]); - return r - } - - function O(e, t, n) { - var r = ""; - n = Math.min(e.length, n); - for (var o = t; o < n; ++o) r += String.fromCharCode(e[o]); - return r - } - - function P(e, t, n) { - var r = e.length; - (!t || t < 0) && (t = 0), (!n || n < 0 || n > r) && (n = r); - for (var o = "", i = t; i < n; ++i) o += q(e[i]); - return o - } - - function T(e, t, n) { - for (var r = e.slice(t, n), o = "", i = 0; i < r.length; i += 2) o += String.fromCharCode(r[i] + 256 * r[i + 1]); - return o - } - - function M(e, t, n) { - if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint"); - if (e + t > n) throw new RangeError("Trying to access beyond buffer length") - } - - function I(e, t, n, r, o, i) { - if (!s.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance'); - if (t > o || t < i) throw new RangeError('"value" argument is out of bounds'); - if (n + r > e.length) throw new RangeError("Index out of range") - } - - function j(e, t, n, r) { - t < 0 && (t = 65535 + t + 1); - for (var o = 0, i = Math.min(e.length - n, 2); o < i; ++o) e[n + o] = (t & 255 << 8 * (r ? o : 1 - o)) >>> 8 * (r ? o : 1 - o) - } - - function N(e, t, n, r) { - t < 0 && (t = 4294967295 + t + 1); - for (var o = 0, i = Math.min(e.length - n, 4); o < i; ++o) e[n + o] = t >>> 8 * (r ? o : 3 - o) & 255 - } - - function R(e, t, n, r, o, i) { - if (n + r > e.length) throw new RangeError("Index out of range"); - if (n < 0) throw new RangeError("Index out of range") - } - - function D(e, t, n, r, i) { - return i || R(e, 0, n, 4), o.write(e, t, n, r, 23, 4), n + 4 - } - - function L(e, t, n, r, i) { - return i || R(e, 0, n, 8), o.write(e, t, n, r, 52, 8), n + 8 - } - s.prototype.slice = function(e, t) { - var n, r = this.length; - if (e = ~~e, t = void 0 === t ? r : ~~t, e < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), t < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), t < e && (t = e), s.TYPED_ARRAY_SUPPORT)(n = this.subarray(e, t)).__proto__ = s.prototype; - else { - var o = t - e; - n = new s(o, void 0); - for (var i = 0; i < o; ++i) n[i] = this[i + e] - } - return n - }, s.prototype.readUIntLE = function(e, t, n) { - e |= 0, t |= 0, n || M(e, t, this.length); - for (var r = this[e], o = 1, i = 0; ++i < t && (o *= 256);) r += this[e + i] * o; - return r - }, s.prototype.readUIntBE = function(e, t, n) { - e |= 0, t |= 0, n || M(e, t, this.length); - for (var r = this[e + --t], o = 1; t > 0 && (o *= 256);) r += this[e + --t] * o; - return r - }, s.prototype.readUInt8 = function(e, t) { - return t || M(e, 1, this.length), this[e] - }, s.prototype.readUInt16LE = function(e, t) { - return t || M(e, 2, this.length), this[e] | this[e + 1] << 8 - }, s.prototype.readUInt16BE = function(e, t) { - return t || M(e, 2, this.length), this[e] << 8 | this[e + 1] - }, s.prototype.readUInt32LE = function(e, t) { - return t || M(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3] - }, s.prototype.readUInt32BE = function(e, t) { - return t || M(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]) - }, s.prototype.readIntLE = function(e, t, n) { - e |= 0, t |= 0, n || M(e, t, this.length); - for (var r = this[e], o = 1, i = 0; ++i < t && (o *= 256);) r += this[e + i] * o; - return r >= (o *= 128) && (r -= Math.pow(2, 8 * t)), r - }, s.prototype.readIntBE = function(e, t, n) { - e |= 0, t |= 0, n || M(e, t, this.length); - for (var r = t, o = 1, i = this[e + --r]; r > 0 && (o *= 256);) i += this[e + --r] * o; - return i >= (o *= 128) && (i -= Math.pow(2, 8 * t)), i - }, s.prototype.readInt8 = function(e, t) { - return t || M(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e] - }, s.prototype.readInt16LE = function(e, t) { - t || M(e, 2, this.length); - var n = this[e] | this[e + 1] << 8; - return 32768 & n ? 4294901760 | n : n - }, s.prototype.readInt16BE = function(e, t) { - t || M(e, 2, this.length); - var n = this[e + 1] | this[e] << 8; - return 32768 & n ? 4294901760 | n : n - }, s.prototype.readInt32LE = function(e, t) { - return t || M(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24 - }, s.prototype.readInt32BE = function(e, t) { - return t || M(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3] - }, s.prototype.readFloatLE = function(e, t) { - return t || M(e, 4, this.length), o.read(this, e, !0, 23, 4) - }, s.prototype.readFloatBE = function(e, t) { - return t || M(e, 4, this.length), o.read(this, e, !1, 23, 4) - }, s.prototype.readDoubleLE = function(e, t) { - return t || M(e, 8, this.length), o.read(this, e, !0, 52, 8) - }, s.prototype.readDoubleBE = function(e, t) { - return t || M(e, 8, this.length), o.read(this, e, !1, 52, 8) - }, s.prototype.writeUIntLE = function(e, t, n, r) { - (e = +e, t |= 0, n |= 0, r) || I(this, e, t, n, Math.pow(2, 8 * n) - 1, 0); - var o = 1, - i = 0; - for (this[t] = 255 & e; ++i < n && (o *= 256);) this[t + i] = e / o & 255; - return t + n - }, s.prototype.writeUIntBE = function(e, t, n, r) { - (e = +e, t |= 0, n |= 0, r) || I(this, e, t, n, Math.pow(2, 8 * n) - 1, 0); - var o = n - 1, - i = 1; - for (this[t + o] = 255 & e; --o >= 0 && (i *= 256);) this[t + o] = e / i & 255; - return t + n - }, s.prototype.writeUInt8 = function(e, t, n) { - return e = +e, t |= 0, n || I(this, e, t, 1, 255, 0), s.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1 - }, s.prototype.writeUInt16LE = function(e, t, n) { - return e = +e, t |= 0, n || I(this, e, t, 2, 65535, 0), s.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : j(this, e, t, !0), t + 2 - }, s.prototype.writeUInt16BE = function(e, t, n) { - return e = +e, t |= 0, n || I(this, e, t, 2, 65535, 0), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : j(this, e, t, !1), t + 2 - }, s.prototype.writeUInt32LE = function(e, t, n) { - return e = +e, t |= 0, n || I(this, e, t, 4, 4294967295, 0), s.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : N(this, e, t, !0), t + 4 - }, s.prototype.writeUInt32BE = function(e, t, n) { - return e = +e, t |= 0, n || I(this, e, t, 4, 4294967295, 0), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : N(this, e, t, !1), t + 4 - }, s.prototype.writeIntLE = function(e, t, n, r) { - if (e = +e, t |= 0, !r) { - var o = Math.pow(2, 8 * n - 1); - I(this, e, t, n, o - 1, -o) - } - var i = 0, - a = 1, - u = 0; - for (this[t] = 255 & e; ++i < n && (a *= 256);) e < 0 && 0 === u && 0 !== this[t + i - 1] && (u = 1), this[t + i] = (e / a >> 0) - u & 255; - return t + n - }, s.prototype.writeIntBE = function(e, t, n, r) { - if (e = +e, t |= 0, !r) { - var o = Math.pow(2, 8 * n - 1); - I(this, e, t, n, o - 1, -o) - } - var i = n - 1, - a = 1, - u = 0; - for (this[t + i] = 255 & e; --i >= 0 && (a *= 256);) e < 0 && 0 === u && 0 !== this[t + i + 1] && (u = 1), this[t + i] = (e / a >> 0) - u & 255; - return t + n - }, s.prototype.writeInt8 = function(e, t, n) { - return e = +e, t |= 0, n || I(this, e, t, 1, 127, -128), s.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1 - }, s.prototype.writeInt16LE = function(e, t, n) { - return e = +e, t |= 0, n || I(this, e, t, 2, 32767, -32768), s.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : j(this, e, t, !0), t + 2 - }, s.prototype.writeInt16BE = function(e, t, n) { - return e = +e, t |= 0, n || I(this, e, t, 2, 32767, -32768), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : j(this, e, t, !1), t + 2 - }, s.prototype.writeInt32LE = function(e, t, n) { - return e = +e, t |= 0, n || I(this, e, t, 4, 2147483647, -2147483648), s.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : N(this, e, t, !0), t + 4 - }, s.prototype.writeInt32BE = function(e, t, n) { - return e = +e, t |= 0, n || I(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : N(this, e, t, !1), t + 4 - }, s.prototype.writeFloatLE = function(e, t, n) { - return D(this, e, t, !0, n) - }, s.prototype.writeFloatBE = function(e, t, n) { - return D(this, e, t, !1, n) - }, s.prototype.writeDoubleLE = function(e, t, n) { - return L(this, e, t, !0, n) - }, s.prototype.writeDoubleBE = function(e, t, n) { - return L(this, e, t, !1, n) - }, s.prototype.copy = function(e, t, n, r) { - if (n || (n = 0), r || 0 === r || (r = this.length), t >= e.length && (t = e.length), t || (t = 0), r > 0 && r < n && (r = n), r === n) return 0; - if (0 === e.length || 0 === this.length) return 0; - if (t < 0) throw new RangeError("targetStart out of bounds"); - if (n < 0 || n >= this.length) throw new RangeError("sourceStart out of bounds"); - if (r < 0) throw new RangeError("sourceEnd out of bounds"); - r > this.length && (r = this.length), e.length - t < r - n && (r = e.length - t + n); - var o, i = r - n; - if (this === e && n < t && t < r) - for (o = i - 1; o >= 0; --o) e[o + t] = this[o + n]; - else if (i < 1e3 || !s.TYPED_ARRAY_SUPPORT) - for (o = 0; o < i; ++o) e[o + t] = this[o + n]; - else Uint8Array.prototype.set.call(e, this.subarray(n, n + i), t); - return i - }, s.prototype.fill = function(e, t, n, r) { - if ("string" == typeof e) { - if ("string" == typeof t ? (r = t, t = 0, n = this.length) : "string" == typeof n && (r = n, n = this.length), 1 === e.length) { - var o = e.charCodeAt(0); - o < 256 && (e = o) - } - if (void 0 !== r && "string" != typeof r) throw new TypeError("encoding must be a string"); - if ("string" == typeof r && !s.isEncoding(r)) throw new TypeError("Unknown encoding: " + r) - } else "number" == typeof e && (e &= 255); - if (t < 0 || this.length < t || this.length < n) throw new RangeError("Out of range index"); - if (n <= t) return this; - var i; - if (t >>>= 0, n = void 0 === n ? this.length : n >>> 0, e || (e = 0), "number" == typeof e) - for (i = t; i < n; ++i) this[i] = e; - else { - var a = s.isBuffer(e) ? e : F(new s(e, r).toString()), - u = a.length; - for (i = 0; i < n - t; ++i) this[i + t] = a[i % u] - } - return this - }; - var U = /[^+\/0-9A-Za-z-_]/g; - - function q(e) { - return e < 16 ? "0" + e.toString(16) : e.toString(16) - } - - function F(e, t) { - var n; - t = t || 1 / 0; - for (var r = e.length, o = null, i = [], a = 0; a < r; ++a) { - if ((n = e.charCodeAt(a)) > 55295 && n < 57344) { - if (!o) { - if (n > 56319) { - (t -= 3) > -1 && i.push(239, 191, 189); - continue - } - if (a + 1 === r) { - (t -= 3) > -1 && i.push(239, 191, 189); - continue - } - o = n; - continue - } - if (n < 56320) { - (t -= 3) > -1 && i.push(239, 191, 189), o = n; - continue - } - n = 65536 + (o - 55296 << 10 | n - 56320) - } else o && (t -= 3) > -1 && i.push(239, 191, 189); - if (o = null, n < 128) { - if ((t -= 1) < 0) break; - i.push(n) - } else if (n < 2048) { - if ((t -= 2) < 0) break; - i.push(n >> 6 | 192, 63 & n | 128) - } else if (n < 65536) { - if ((t -= 3) < 0) break; - i.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128) - } else { - if (!(n < 1114112)) throw new Error("Invalid code point"); - if ((t -= 4) < 0) break; - i.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63 & n | 128) - } - } - return i - } - - function z(e) { - return r.toByteArray(function(e) { - if ((e = function(e) { - return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "") - }(e).replace(U, "")).length < 2) return ""; - for (; e.length % 4 != 0;) e += "="; - return e - }(e)) - } - - function B(e, t, n, r) { - for (var o = 0; o < r && !(o + n >= t.length || o >= e.length); ++o) t[o + n] = e[o]; - return o - } - }).call(t, n(31)) - }, function(e, t) { - var n, r, o = e.exports = {}; - - function i() { - throw new Error("setTimeout has not been defined") - } - - function a() { - throw new Error("clearTimeout has not been defined") - } - - function u(e) { - if (n === setTimeout) return setTimeout(e, 0); - if ((n === i || !n) && setTimeout) return n = setTimeout, setTimeout(e, 0); - try { - return n(e, 0) - } catch (t) { - try { - return n.call(null, e, 0) - } catch (t) { - return n.call(this, e, 0) - } - } - }! function() { - try { - n = "function" == typeof setTimeout ? setTimeout : i - } catch (e) { - n = i - } - try { - r = "function" == typeof clearTimeout ? clearTimeout : a - } catch (e) { - r = a - } - }(); - var s, l = [], - c = !1, - f = -1; - - function p() { - c && s && (c = !1, s.length ? l = s.concat(l) : f = -1, l.length && d()) - } - - function d() { - if (!c) { - var e = u(p); - c = !0; - for (var t = l.length; t;) { - for (s = l, l = []; ++f < t;) s && s[f].run(); - f = -1, t = l.length - } - s = null, c = !1, - function(e) { - if (r === clearTimeout) return clearTimeout(e); - if ((r === a || !r) && clearTimeout) return r = clearTimeout, clearTimeout(e); - try { - r(e) - } catch (t) { - try { - return r.call(null, e) - } catch (t) { - return r.call(this, e) - } - } - }(e) - } - } - - function h(e, t) { - this.fun = e, this.array = t - } - - function v() {} - o.nextTick = function(e) { - var t = new Array(arguments.length - 1); - if (arguments.length > 1) - for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; - l.push(new h(e, t)), 1 !== l.length || c || u(d) - }, h.prototype.run = function() { - this.fun.apply(null, this.array) - }, o.title = "browser", o.browser = !0, o.env = {}, o.argv = [], o.version = "", o.versions = {}, o.on = v, o.addListener = v, o.once = v, o.off = v, o.removeListener = v, o.removeAllListeners = v, o.emit = v, o.prependListener = v, o.prependOnceListener = v, o.listeners = function(e) { - return [] - }, o.binding = function(e) { - throw new Error("process.binding is not supported") - }, o.cwd = function() { - return "/" - }, o.chdir = function(e) { - throw new Error("process.chdir is not supported") - }, o.umask = function() { - return 0 - } - }, function(e, t, n) { - "use strict"; - e.exports = function(e) { - if ("function" != typeof e) throw new TypeError(e + " is not a function"); - return e - } - }, function(e, t, n) { - "use strict"; - - function r(e, t) { - return e === t - } - - function o(e) { - var t = arguments.length <= 1 || void 0 === arguments[1] ? r : arguments[1], - n = null, - o = null; - return function() { - for (var r = arguments.length, i = Array(r), a = 0; a < r; a++) i[a] = arguments[a]; - return null !== n && n.length === i.length && i.every(function(e, r) { - return t(e, n[r]) - }) || (o = e.apply(void 0, i)), n = i, o - } - } - - function i(e) { - for (var t = arguments.length, n = Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r]; - return function() { - for (var t = arguments.length, r = Array(t), o = 0; o < t; o++) r[o] = arguments[o]; - var i = 0, - a = r.pop(), - u = function(e) { - var t = Array.isArray(e[0]) ? e[0] : e; - if (!t.every(function(e) { - return "function" == typeof e - })) { - var n = t.map(function(e) { - return typeof e - }).join(", "); - throw new Error("Selector creators expect all input-selectors to be functions, instead received the following types: [" + n + "]") - } - return t - }(r), - s = e.apply(void 0, [function() { - return i++, a.apply(void 0, arguments) - }].concat(n)), - l = function(e, t) { - for (var n = arguments.length, r = Array(n > 2 ? n - 2 : 0), o = 2; o < n; o++) r[o - 2] = arguments[o]; - var i = u.map(function(n) { - return n.apply(void 0, [e, t].concat(r)) - }); - return s.apply(void 0, function(e) { - if (Array.isArray(e)) { - for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t]; - return n - } - return Array.from(e) - }(i)) - }; - return l.resultFunc = a, l.recomputations = function() { - return i - }, l.resetRecomputations = function() { - return i = 0 - }, l - } - } - t.__esModule = !0, t.defaultMemoize = o, t.createSelectorCreator = i, t.createStructuredSelector = function(e) { - var t = arguments.length <= 1 || void 0 === arguments[1] ? a : arguments[1]; - if ("object" != typeof e) throw new Error("createStructuredSelector expects first argument to be an object where each property is a selector, instead received a " + typeof e); - var n = Object.keys(e); - return t(n.map(function(t) { - return e[t] - }), function() { - for (var e = arguments.length, t = Array(e), r = 0; r < e; r++) t[r] = arguments[r]; - return t.reduce(function(e, t, r) { - return e[n[r]] = t, e - }, {}) - }) - }; - var a = t.createSelector = i(o) - }, function(e, t, n) { - var r = n(117), - o = n(243); - e.exports = n(100) ? function(e, t, n) { - return r.f(e, t, o(1, n)) - } : function(e, t, n) { - return e[t] = n, e - } - }, function(e, t, n) { - var r = n(74); - e.exports = function(e) { - if (!r(e)) throw TypeError(e + " is not an object!"); - return e - } - }, function(e, t) { - var n = e.exports = { - version: "2.5.5" - }; - "number" == typeof __e && (__e = n) - }, function(e, t, n) { - var r = n(277); - e.exports = function(e) { - return null == e ? "" : r(e) - } - }, function(e, t, n) { - var r = n(77), - o = n(574), - i = n(575), - a = "[object Null]", - u = "[object Undefined]", - s = r ? r.toStringTag : void 0; - e.exports = function(e) { - return null == e ? void 0 === e ? u : a : s && s in Object(e) ? o(e) : i(e) - } - }, function(e, t, n) { - var r = n(592), - o = n(595); - e.exports = function(e, t) { - var n = o(e, t); - return r(n) ? n : void 0 - } - }, function(e, t, n) { - var r = n(295), - o = n(632), - i = n(78); - e.exports = function(e) { - return i(e) ? r(e) : o(e) - } - }, function(e, t, n) { - "use strict"; - var r = n(140), - o = Object.keys || function(e) { - var t = []; - for (var n in e) t.push(n); - return t - }; - e.exports = f; - var i = n(106); - i.inherits = n(81); - var a = n(305), - u = n(195); - i.inherits(f, a); - for (var s = o(u.prototype), l = 0; l < s.length; l++) { - var c = s[l]; - f.prototype[c] || (f.prototype[c] = u.prototype[c]) - } - - function f(e) { - if (!(this instanceof f)) return new f(e); - a.call(this, e), u.call(this, e), e && !1 === e.readable && (this.readable = !1), e && !1 === e.writable && (this.writable = !1), this.allowHalfOpen = !0, e && !1 === e.allowHalfOpen && (this.allowHalfOpen = !1), this.once("end", p) - } - - function p() { - this.allowHalfOpen || this._writableState.ended || r.nextTick(d, this) - } - - function d(e) { - e.end() - } - Object.defineProperty(f.prototype, "writableHighWaterMark", { - enumerable: !1, - get: function() { - return this._writableState.highWaterMark - } - }), Object.defineProperty(f.prototype, "destroyed", { - get: function() { - return void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed && this._writableState.destroyed) - }, - set: function(e) { - void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed = e, this._writableState.destroyed = e) - } - }), f.prototype._destroy = function(e, t) { - this.push(null), this.end(), r.nextTick(t, e) - } - }, function(e, t, n) { - "use strict"; - var r = n(312)(); - e.exports = function(e) { - return e !== r && null !== e - } - }, function(e, t, n) { - "use strict"; - var r = n(670), - o = Math.max; - e.exports = function(e) { - return o(0, r(e)) - } - }, function(e, t, n) { - "use strict" - }, function(e, t, n) { - "use strict"; - var r = n(11), - o = (n(8), function(e) { - if (this.instancePool.length) { - var t = this.instancePool.pop(); - return this.call(t, e), t - } - return new this(e) - }), - i = function(e) { - e instanceof this || r("25"), e.destructor(), this.instancePool.length < this.poolSize && this.instancePool.push(e) - }, - a = o, - u = { - addPoolingTo: function(e, t) { - var n = e; - return n.instancePool = [], n.getPooled = t || a, n.poolSize || (n.poolSize = 10), n.release = i, n - }, - oneArgumentPooler: o, - twoArgumentPooler: function(e, t) { - if (this.instancePool.length) { - var n = this.instancePool.pop(); - return this.call(n, e, t), n - } - return new this(e, t) - }, - threeArgumentPooler: function(e, t, n) { - if (this.instancePool.length) { - var r = this.instancePool.pop(); - return this.call(r, e, t, n), r - } - return new this(e, t, n) - }, - fourArgumentPooler: function(e, t, n, r) { - if (this.instancePool.length) { - var o = this.instancePool.pop(); - return this.call(o, e, t, n, r), o - } - return new this(e, t, n, r) - } - }; - e.exports = u - }, function(e, t) { - e.exports = {} - }, function(e, t, n) { - var r = n(154), - o = n(155); - e.exports = function(e) { - return r(o(e)) - } - }, function(e, t, n) { - var r = n(155); - e.exports = function(e) { - return Object(r(e)) - } - }, function(e, t, n) { - var r = n(33), - o = n(58), - i = n(118), - a = n(167)("src"), - u = Function.toString, - s = ("" + u).split("toString"); - n(60).inspectSource = function(e) { - return u.call(e) - }, (e.exports = function(e, t, n, u) { - var l = "function" == typeof n; - l && (i(n, "name") || o(n, "name", t)), e[t] !== n && (l && (i(n, a) || o(n, a, e[t] ? "" + e[t] : s.join(String(t)))), e === r ? e[t] = n : u ? e[t] ? e[t] = n : o(e, t, n) : (delete e[t], o(e, t, n))) - })(Function.prototype, "toString", function() { - return "function" == typeof this && this[a] || u.call(this) - }) - }, function(e, t) { - e.exports = function(e) { - return "object" == typeof e ? null !== e : "function" == typeof e - } - }, function(e, t, n) { - "use strict"; - var r = n(13), - o = n(264), - i = n(536), - a = n(541), - u = n(76), - s = n(542), - l = n(545), - c = n(546), - f = n(548), - p = u.createElement, - d = u.createFactory, - h = u.cloneElement, - v = r, - m = function(e) { - return e - }, - g = { - Children: { - map: i.map, - forEach: i.forEach, - count: i.count, - toArray: i.toArray, - only: f - }, - Component: o.Component, - PureComponent: o.PureComponent, - createElement: p, - cloneElement: h, - isValidElement: u.isValidElement, - PropTypes: s, - createClass: c, - createFactory: d, - createMixin: m, - DOM: a, - version: l, - __spread: v - }; - e.exports = g - }, function(e, t, n) { - "use strict"; - var r = n(13), - o = n(46), - i = (n(9), n(266), Object.prototype.hasOwnProperty), - a = n(267), - u = { - key: !0, - ref: !0, - __self: !0, - __source: !0 - }; - - function s(e) { - return void 0 !== e.ref - } - - function l(e) { - return void 0 !== e.key - } - var c = function(e, t, n, r, o, i, u) { - var s = { - $$typeof: a, - type: e, - key: t, - ref: n, - props: u, - _owner: i - }; - return s - }; - c.createElement = function(e, t, n) { - var r, a = {}, - f = null, - p = null; - if (null != t) - for (r in s(t) && (p = t.ref), l(t) && (f = "" + t.key), void 0 === t.__self ? null : t.__self, void 0 === t.__source ? null : t.__source, t) i.call(t, r) && !u.hasOwnProperty(r) && (a[r] = t[r]); - var d = arguments.length - 2; - if (1 === d) a.children = n; - else if (d > 1) { - for (var h = Array(d), v = 0; v < d; v++) h[v] = arguments[v + 2]; - 0, a.children = h - } - if (e && e.defaultProps) { - var m = e.defaultProps; - for (r in m) void 0 === a[r] && (a[r] = m[r]) - } - return c(e, f, p, 0, 0, o.current, a) - }, c.createFactory = function(e) { - var t = c.createElement.bind(null, e); - return t.type = e, t - }, c.cloneAndReplaceKey = function(e, t) { - return c(e.type, t, e.ref, e._self, e._source, e._owner, e.props) - }, c.cloneElement = function(e, t, n) { - var a, f, p = r({}, e.props), - d = e.key, - h = e.ref, - v = (e._self, e._source, e._owner); - if (null != t) - for (a in s(t) && (h = t.ref, v = o.current), l(t) && (d = "" + t.key), e.type && e.type.defaultProps && (f = e.type.defaultProps), t) i.call(t, a) && !u.hasOwnProperty(a) && (void 0 === t[a] && void 0 !== f ? p[a] = f[a] : p[a] = t[a]); - var m = arguments.length - 2; - if (1 === m) p.children = n; - else if (m > 1) { - for (var g = Array(m), y = 0; y < m; y++) g[y] = arguments[y + 2]; - p.children = g - } - return c(e.type, d, h, 0, 0, v, p) - }, c.isValidElement = function(e) { - return "object" == typeof e && null !== e && e.$$typeof === a - }, e.exports = c - }, function(e, t, n) { - var r = n(37).Symbol; - e.exports = r - }, function(e, t, n) { - var r = n(285), - o = n(187); - e.exports = function(e) { - return null != e && o(e.length) && !r(e) - } - }, function(e, t, n) { - var r = n(24), - o = n(190), - i = n(640), - a = n(61); - e.exports = function(e, t) { - return r(e) ? e : o(e, t) ? [e] : i(a(e)) - } - }, function(e, t, n) { - var r = n(128), - o = 1 / 0; - e.exports = function(e) { - if ("string" == typeof e || r(e)) return e; - var t = e + ""; - return "0" == t && 1 / e == -o ? "-0" : t - } - }, function(e, t) { - "function" == typeof Object.create ? e.exports = function(e, t) { - e.super_ = t, e.prototype = Object.create(t.prototype, { - constructor: { - value: e, - enumerable: !1, - writable: !0, - configurable: !0 - } - }) - } : e.exports = function(e, t) { - e.super_ = t; - var n = function() {}; - n.prototype = t.prototype, e.prototype = new n, e.prototype.constructor = e - } - }, function(e, t, n) { - "use strict"; - var r = n(66); - e.exports = function(e) { - if (!r(e)) throw new TypeError("Cannot use null or undefined"); - return e - } - }, function(e, t, n) { - "use strict"; - t.__esModule = !0; - var r, o = n(728), - i = (r = o) && r.__esModule ? r : { - default: r - }; - t.default = function(e) { - if (Array.isArray(e)) { - for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t]; - return n - } - return (0, i.default)(e) - } - }, function(e, t, n) { - "use strict"; - t.__esModule = !0, t.default = function(e, t) { - var n = {}; - for (var r in e) t.indexOf(r) >= 0 || Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]); - return n - } - }, function(e, t, n) { - "use strict"; - - function r(e) { - return void 0 === e || null === e - } - e.exports.isNothing = r, e.exports.isObject = function(e) { - return "object" == typeof e && null !== e - }, e.exports.toArray = function(e) { - return Array.isArray(e) ? e : r(e) ? [] : [e] - }, e.exports.repeat = function(e, t) { - var n, r = ""; - for (n = 0; n < t; n += 1) r += e; - return r - }, e.exports.isNegativeZero = function(e) { - return 0 === e && Number.NEGATIVE_INFINITY === 1 / e - }, e.exports.extend = function(e, t) { - var n, r, o, i; - if (t) - for (n = 0, r = (i = Object.keys(t)).length; n < r; n += 1) e[o = i[n]] = t[o]; - return e - } - }, function(e, t, n) { - "use strict"; - var r = n(85), - o = n(107), - i = n(16); - - function a(e, t, n) { - var r = []; - return e.include.forEach(function(e) { - n = a(e, t, n) - }), e[t].forEach(function(e) { - n.forEach(function(t, n) { - t.tag === e.tag && t.kind === e.kind && r.push(n) - }), n.push(e) - }), n.filter(function(e, t) { - return -1 === r.indexOf(t) - }) - } - - function u(e) { - this.include = e.include || [], this.implicit = e.implicit || [], this.explicit = e.explicit || [], this.implicit.forEach(function(e) { - if (e.loadKind && "scalar" !== e.loadKind) throw new o("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.") - }), this.compiledImplicit = a(this, "implicit", []), this.compiledExplicit = a(this, "explicit", []), this.compiledTypeMap = function() { - var e, t, n = { - scalar: {}, - sequence: {}, - mapping: {}, - fallback: {} - }; - - function r(e) { - n[e.kind][e.tag] = n.fallback[e.tag] = e - } - for (e = 0, t = arguments.length; e < t; e += 1) arguments[e].forEach(r); - return n - }(this.compiledImplicit, this.compiledExplicit) - } - u.DEFAULT = null, u.create = function() { - var e, t; - switch (arguments.length) { - case 1: - e = u.DEFAULT, t = arguments[0]; - break; - case 2: - e = arguments[0], t = arguments[1]; - break; - default: - throw new o("Wrong number of arguments for Schema.create function") - } - if (e = r.toArray(e), t = r.toArray(t), !e.every(function(e) { - return e instanceof u - })) throw new o("Specified list of super schemas (or a single Schema object) contains a non-Schema object."); - if (!t.every(function(e) { - return e instanceof i - })) throw new o("Specified list of YAML types (or a single Type object) contains a non-Type object."); - return new u({ - include: e, - explicit: t - }) - }, e.exports = u - }, function(e, t, n) { - "use strict"; - var r = n(11); - n(8); - - function o(e, t) { - return (e & t) === t - } - var i = { - MUST_USE_PROPERTY: 1, - HAS_BOOLEAN_VALUE: 4, - HAS_NUMERIC_VALUE: 8, - HAS_POSITIVE_NUMERIC_VALUE: 24, - HAS_OVERLOADED_BOOLEAN_VALUE: 32, - injectDOMPropertyConfig: function(e) { - var t = i, - n = e.Properties || {}, - a = e.DOMAttributeNamespaces || {}, - s = e.DOMAttributeNames || {}, - l = e.DOMPropertyNames || {}, - c = e.DOMMutationMethods || {}; - for (var f in e.isCustomAttribute && u._isCustomAttributeFunctions.push(e.isCustomAttribute), n) { - u.properties.hasOwnProperty(f) && r("48", f); - var p = f.toLowerCase(), - d = n[f], - h = { - attributeName: p, - attributeNamespace: null, - propertyName: f, - mutationMethod: null, - mustUseProperty: o(d, t.MUST_USE_PROPERTY), - hasBooleanValue: o(d, t.HAS_BOOLEAN_VALUE), - hasNumericValue: o(d, t.HAS_NUMERIC_VALUE), - hasPositiveNumericValue: o(d, t.HAS_POSITIVE_NUMERIC_VALUE), - hasOverloadedBooleanValue: o(d, t.HAS_OVERLOADED_BOOLEAN_VALUE) - }; - if (h.hasBooleanValue + h.hasNumericValue + h.hasOverloadedBooleanValue <= 1 || r("50", f), s.hasOwnProperty(f)) { - var v = s[f]; - h.attributeName = v - } - a.hasOwnProperty(f) && (h.attributeNamespace = a[f]), l.hasOwnProperty(f) && (h.propertyName = l[f]), c.hasOwnProperty(f) && (h.mutationMethod = c[f]), u.properties[f] = h - } - } - }, - a = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", - u = { - ID_ATTRIBUTE_NAME: "iid-reactid", - ROOT_ATTRIBUTE_NAME: "iid-reactroot", - ATTRIBUTE_NAME_START_CHAR: a, - ATTRIBUTE_NAME_CHAR: a + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040", - properties: {}, - getPossibleStandardName: null, - _isCustomAttributeFunctions: [], - isCustomAttribute: function(e) { - for (var t = 0; t < u._isCustomAttributeFunctions.length; t++) { - if ((0, u._isCustomAttributeFunctions[t])(e)) return !0 - } - return !1 - }, - injection: i - }; - e.exports = u - }, function(e, t, n) { - "use strict"; - var r = n(783); - n(39), n(9); - - function o() { - r.attachRefs(this, this._currentElement) - } - var i = { - mountComponent: function(e, t, n, r, i, a) { - var u = e.mountComponent(t, n, r, i, a); - return e._currentElement && null != e._currentElement.ref && t.getReactMountReady().enqueue(o, e), u - }, - getHostNode: function(e) { - return e.getHostNode() - }, - unmountComponent: function(e, t) { - r.detachRefs(e, e._currentElement), e.unmountComponent(t) - }, - receiveComponent: function(e, t, n, i) { - var a = e._currentElement; - if (t !== a || i !== e._context) { - 0; - var u = r.shouldUpdateRefs(a, t); - u && r.detachRefs(e, a), e.receiveComponent(t, n, i), u && e._currentElement && null != e._currentElement.ref && n.getReactMountReady().enqueue(o, e) - } - }, - performUpdateIfNecessary: function(e, t, n) { - e._updateBatchNumber === n && e.performUpdateIfNecessary(t) - } - }; - e.exports = i - }, function(e, t, n) { - "use strict"; - var r = n(217), - o = n(149), - i = n(218), - a = n(359), - u = "undefined" != typeof document && "number" == typeof document.documentMode || "undefined" != typeof navigator && "string" == typeof navigator.userAgent && /\bEdge\/\d/.test(navigator.userAgent); - - function s(e) { - if (u) { - var t = e.node, - n = e.children; - if (n.length) - for (var r = 0; r < n.length; r++) l(t, n[r], null); - else null != e.html ? o(t, e.html) : null != e.text && a(t, e.text) - } - } - var l = i(function(e, t, n) { - 11 === t.node.nodeType || 1 === t.node.nodeType && "object" === t.node.nodeName.toLowerCase() && (null == t.node.namespaceURI || t.node.namespaceURI === r.html) ? (s(t), e.insertBefore(t.node, n)) : (e.insertBefore(t.node, n), s(t)) - }); - - function c() { - return this.node.nodeName - } - - function f(e) { - return { - node: e, - children: [], - html: null, - text: null, - toString: c - } - } - f.insertTreeBefore = l, f.replaceChildWithTree = function(e, t) { - e.parentNode.replaceChild(t.node, e), s(t) - }, f.queueChild = function(e, t) { - u ? e.children.push(t) : e.node.appendChild(t.node) - }, f.queueHTML = function(e, t) { - u ? e.html = t : o(e.node, t) - }, f.queueText = function(e, t) { - u ? e.text = t : a(e.node, t) - }, e.exports = f - }, function(e, t, n) { - var r = n(146), - o = n(344); - e.exports = function(e, t, n, i) { - var a = !n; - n || (n = {}); - for (var u = -1, s = t.length; ++u < s;) { - var l = t[u], - c = i ? i(n[l], e[l], l, n, e) : void 0; - void 0 === c && (c = e[l]), a ? o(n, l, c) : r(n, l, c) - } - return n - } - }, function(e, t, n) { - e.exports = { - default: n(447), - __esModule: !0 - } - }, function(e, t, n) { - n(448); - for (var r = n(21), o = n(50), i = n(70), a = n(19)("toStringTag"), u = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","), s = 0; s < u.length; s++) { - var l = u[s], - c = r[l], - f = c && c.prototype; - f && !f[a] && o(f, a, l), i[l] = i.Array - } - }, function(e, t) { - var n = {}.toString; - e.exports = function(e) { - return n.call(e).slice(8, -1) - } - }, function(e, t) { - e.exports = function(e) { - if ("function" != typeof e) throw TypeError(e + " is not a function!"); - return e - } - }, function(e, t) { - e.exports = function(e, t) { - return { - enumerable: !(1 & e), - configurable: !(2 & e), - writable: !(4 & e), - value: t - } - } - }, function(e, t, n) { - var r = n(239), - o = n(163); - e.exports = Object.keys || function(e) { - return r(e, o) - } - }, function(e, t, n) { - var r = n(40).f, - o = n(52), - i = n(19)("toStringTag"); - e.exports = function(e, t, n) { - e && !o(e = n ? e : e.prototype, i) && r(e, i, { - configurable: !0, - value: t - }) - } - }, function(e, t, n) { - "use strict"; - var r = n(455)(!0); - n(237)(String, "String", function(e) { - this._t = String(e), this._i = 0 - }, function() { - var e, t = this._t, - n = this._i; - return n >= t.length ? { - value: void 0, - done: !0 - } : (e = r(t, n), this._i += e.length, { - value: e, - done: !1 - }) - }) - }, function(e, t) { - var n = {}.toString; - e.exports = function(e) { - return n.call(e).slice(8, -1) - } - }, function(e, t, n) { - e.exports = !n(101)(function() { - return 7 != Object.defineProperty({}, "a", { - get: function() { - return 7 - } - }).a - }) - }, function(e, t) { - e.exports = function(e) { - try { - return !!e() - } catch (e) { - return !0 - } - } - }, function(e, t) { - e.exports = {} - }, function(e, t, n) { - var r = n(119), - o = Math.min; - e.exports = function(e) { - return e > 0 ? o(r(e), 9007199254740991) : 0 - } - }, function(e, t, n) { - "use strict"; - e.exports = function(e) { - for (var t = arguments.length - 1, n = "Minified React error #" + e + "; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=" + e, r = 0; r < t; r++) n += "&args[]=" + encodeURIComponent(arguments[r + 1]); - n += " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."; - var o = new Error(n); - throw o.name = "Invariant Violation", o.framesToPop = 1, o - } - }, function(e, t) { - e.exports = function(e, t) { - return e === t || e != e && t != t - } - }, function(e, t, n) { - (function(e) { - function n(e) { - return Object.prototype.toString.call(e) - } - t.isArray = function(e) { - return Array.isArray ? Array.isArray(e) : "[object Array]" === n(e) - }, t.isBoolean = function(e) { - return "boolean" == typeof e - }, t.isNull = function(e) { - return null === e - }, t.isNullOrUndefined = function(e) { - return null == e - }, t.isNumber = function(e) { - return "number" == typeof e - }, t.isString = function(e) { - return "string" == typeof e - }, t.isSymbol = function(e) { - return "symbol" == typeof e - }, t.isUndefined = function(e) { - return void 0 === e - }, t.isRegExp = function(e) { - return "[object RegExp]" === n(e) - }, t.isObject = function(e) { - return "object" == typeof e && null !== e - }, t.isDate = function(e) { - return "[object Date]" === n(e) - }, t.isError = function(e) { - return "[object Error]" === n(e) || e instanceof Error - }, t.isFunction = function(e) { - return "function" == typeof e - }, t.isPrimitive = function(e) { - return null === e || "boolean" == typeof e || "number" == typeof e || "string" == typeof e || "symbol" == typeof e || void 0 === e - }, t.isBuffer = e.isBuffer - }).call(t, n(54).Buffer) - }, function(e, t, n) { - "use strict"; - - function r(e, t) { - Error.call(this), this.name = "YAMLException", this.reason = e, this.mark = t, this.message = (this.reason || "(unknown reason)") + (this.mark ? " " + this.mark.toString() : ""), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = (new Error).stack || "" - } - r.prototype = Object.create(Error.prototype), r.prototype.constructor = r, r.prototype.toString = function(e) { - var t = this.name + ": "; - return t += this.reason || "(unknown reason)", !e && this.mark && (t += " " + this.mark.toString()), t - }, e.exports = r - }, function(e, t, n) { - "use strict"; - var r = n(86); - e.exports = new r({ - include: [n(340)], - implicit: [n(751), n(752)], - explicit: [n(753), n(754), n(755), n(756)] - }) - }, function(e, t, n) { - "use strict"; - var r = n(110), - o = n(211), - i = n(351), - a = n(352), - u = (n(9), r.getListener); - - function s(e, t, n) { - var r = function(e, t, n) { - var r = t.dispatchConfig.phasedRegistrationNames[n]; - return u(e, r) - }(e, n, t); - r && (n._dispatchListeners = i(n._dispatchListeners, r), n._dispatchInstances = i(n._dispatchInstances, e)) - } - - function l(e) { - e && e.dispatchConfig.phasedRegistrationNames && o.traverseTwoPhase(e._targetInst, s, e) - } - - function c(e) { - if (e && e.dispatchConfig.phasedRegistrationNames) { - var t = e._targetInst, - n = t ? o.getParentInstance(t) : null; - o.traverseTwoPhase(n, s, e) - } - } - - function f(e, t, n) { - if (n && n.dispatchConfig.registrationName) { - var r = n.dispatchConfig.registrationName, - o = u(e, r); - o && (n._dispatchListeners = i(n._dispatchListeners, o), n._dispatchInstances = i(n._dispatchInstances, e)) - } - } - - function p(e) { - e && e.dispatchConfig.registrationName && f(e._targetInst, 0, e) - } - var d = { - accumulateTwoPhaseDispatches: function(e) { - a(e, l) - }, - accumulateTwoPhaseDispatchesSkipTarget: function(e) { - a(e, c) - }, - accumulateDirectDispatches: function(e) { - a(e, p) - }, - accumulateEnterLeaveDispatches: function(e, t, n, r) { - o.traverseEnterLeave(n, r, f, e, t) - } - }; - e.exports = d - }, function(e, t, n) { - "use strict"; - var r = n(11), - o = n(210), - i = n(211), - a = n(212), - u = n(351), - s = n(352), - l = (n(8), {}), - c = null, - f = function(e, t) { - e && (i.executeDispatchesInOrder(e, t), e.isPersistent() || e.constructor.release(e)) - }, - p = function(e) { - return f(e, !0) - }, - d = function(e) { - return f(e, !1) - }, - h = function(e) { - return "." + e._rootNodeID - }; - var v = { - injection: { - injectEventPluginOrder: o.injectEventPluginOrder, - injectEventPluginsByName: o.injectEventPluginsByName - }, - putListener: function(e, t, n) { - "function" != typeof n && r("94", t, typeof n); - var i = h(e); - (l[t] || (l[t] = {}))[i] = n; - var a = o.registrationNameModules[t]; - a && a.didPutListener && a.didPutListener(e, t, n) - }, - getListener: function(e, t) { - var n = l[t]; - if (function(e, t, n) { - switch (e) { - case "onClick": - case "onClickCapture": - case "onDoubleClick": - case "onDoubleClickCapture": - case "onMouseDown": - case "onMouseDownCapture": - case "onMouseMove": - case "onMouseMoveCapture": - case "onMouseUp": - case "onMouseUpCapture": - return !(!n.disabled || (r = t, "button" !== r && "input" !== r && "select" !== r && "textarea" !== r)); - default: - return !1 - } - var r - }(t, e._currentElement.type, e._currentElement.props)) return null; - var r = h(e); - return n && n[r] - }, - deleteListener: function(e, t) { - var n = o.registrationNameModules[t]; - n && n.willDeleteListener && n.willDeleteListener(e, t); - var r = l[t]; - r && delete r[h(e)] - }, - deleteAllListeners: function(e) { - var t = h(e); - for (var n in l) - if (l.hasOwnProperty(n) && l[n][t]) { - var r = o.registrationNameModules[n]; - r && r.willDeleteListener && r.willDeleteListener(e, n), delete l[n][t] - } - }, - extractEvents: function(e, t, n, r) { - for (var i, a = o.plugins, s = 0; s < a.length; s++) { - var l = a[s]; - if (l) { - var c = l.extractEvents(e, t, n, r); - c && (i = u(i, c)) - } - } - return i - }, - enqueueEvents: function(e) { - e && (c = u(c, e)) - }, - processEventQueue: function(e) { - var t = c; - c = null, s(t, e ? p : d), c && r("95"), a.rethrowCaughtError() - }, - __purge: function() { - l = {} - }, - __getListenerBank: function() { - return l - } - }; - e.exports = v - }, function(e, t, n) { - "use strict"; - var r = n(48), - o = n(213), - i = { - view: function(e) { - if (e.view) return e.view; - var t = o(e); - if (t.window === t) return t; - var n = t.ownerDocument; - return n ? n.defaultView || n.parentWindow : window - }, - detail: function(e) { - return e.detail || 0 - } - }; - - function a(e, t, n, o) { - return r.call(this, e, t, n, o) - } - r.augmentClass(a, i), e.exports = a - }, function(e, t, n) { - "use strict"; - var r = { - remove: function(e) { - e._reactInternalInstance = void 0 - }, - get: function(e) { - return e._reactInternalInstance - }, - has: function(e) { - return void 0 !== e._reactInternalInstance - }, - set: function(e, t) { - e._reactInternalInstance = t - } - }; - e.exports = r - }, function(e, t, n) { - var r; - /*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames - */ - /*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames - */ - ! function() { - "use strict"; - var n = {}.hasOwnProperty; - - function o() { - for (var e = [], t = 0; t < arguments.length; t++) { - var r = arguments[t]; - if (r) { - var i = typeof r; - if ("string" === i || "number" === i) e.push(r); - else if (Array.isArray(r)) e.push(o.apply(null, r)); - else if ("object" === i) - for (var a in r) n.call(r, a) && r[a] && e.push(a) - } - } - return e.join(" ") - } - void 0 !== e && e.exports ? e.exports = o : void 0 === (r = function() { - return o - }.apply(t, [])) || (e.exports = r) - }() - }, function(e, t) { - e.exports = !0 - }, function(e, t, n) { - var r = n(160), - o = Math.min; - e.exports = function(e) { - return e > 0 ? o(r(e), 9007199254740991) : 0 - } - }, function(e, t) { - var n = 0, - r = Math.random(); - e.exports = function(e) { - return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++n + r).toString(36)) - } - }, function(e, t, n) { - var r = n(59), - o = n(459), - i = n(460), - a = Object.defineProperty; - t.f = n(100) ? Object.defineProperty : function(e, t, n) { - if (r(e), t = i(t, !0), r(n), o) try { - return a(e, t, n) - } catch (e) {} - if ("get" in n || "set" in n) throw TypeError("Accessors not supported!"); - return "value" in n && (e[t] = n.value), e - } - }, function(e, t) { - var n = {}.hasOwnProperty; - e.exports = function(e, t) { - return n.call(e, t) - } - }, function(e, t) { - var n = Math.ceil, - r = Math.floor; - e.exports = function(e) { - return isNaN(e = +e) ? 0 : (e > 0 ? r : n)(e) - } - }, function(e, t, n) { - var r = n(121); - e.exports = function(e, t, n) { - if (r(e), void 0 === t) return e; - switch (n) { - case 1: - return function(n) { - return e.call(t, n) - }; - case 2: - return function(n, r) { - return e.call(t, n, r) - }; - case 3: - return function(n, r, o) { - return e.call(t, n, r, o) - } - } - return function() { - return e.apply(t, arguments) - } - } - }, function(e, t) { - e.exports = function(e) { - if ("function" != typeof e) throw TypeError(e + " is not a function!"); - return e - } - }, function(e, t, n) { - var r = n(465), - o = n(53); - e.exports = function(e) { - return r(o(e)) - } - }, function(e, t, n) { - "use strict"; - var r = n(58), - o = n(73), - i = n(101), - a = n(53), - u = n(17); - e.exports = function(e, t, n) { - var s = u(e), - l = n(a, s, "" [e]), - c = l[0], - f = l[1]; - i(function() { - var t = {}; - return t[s] = function() { - return 7 - }, 7 != "" [e](t) - }) && (o(String.prototype, e, c), r(RegExp.prototype, s, 2 == t ? function(e, t) { - return f.call(e, this, t) - } : function(e) { - return f.call(e, this) - })) - } - }, function(e, t, n) { - var r = n(116)("meta"), - o = n(28), - i = n(52), - a = n(40).f, - u = 0, - s = Object.isExtensible || function() { - return !0 - }, - l = !n(51)(function() { - return s(Object.preventExtensions({})) - }), - c = function(e) { - a(e, r, { - value: { - i: "O" + ++u, - w: {} - } - }) - }, - f = e.exports = { - KEY: r, - NEED: !1, - fastKey: function(e, t) { - if (!o(e)) return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e; - if (!i(e, r)) { - if (!s(e)) return "F"; - if (!t) return "E"; - c(e) - } - return e[r].i - }, - getWeak: function(e, t) { - if (!i(e, r)) { - if (!s(e)) return !0; - if (!t) return !1; - c(e) - } - return e[r].w - }, - onFreeze: function(e) { - return l && f.NEED && s(e) && !i(e, r) && c(e), e - } - } - }, function(e, t) { - t.f = {}.propertyIsEnumerable - }, function(e, t, n) { - "use strict"; - var r = {}; - e.exports = r - }, function(e, t, n) { - "use strict"; - Object.defineProperty(t, "__esModule", { - value: !0 - }), t.CLEAR_BY = t.CLEAR = t.NEW_AUTH_ERR = t.NEW_SPEC_ERR_BATCH = t.NEW_SPEC_ERR = t.NEW_THROWN_ERR_BATCH = t.NEW_THROWN_ERR = void 0, t.newThrownErr = function(e) { - return { - type: a, - payload: (0, i.default)(e) - } - }, t.newThrownErrBatch = function(e) { - return { - type: u, - payload: e - } - }, t.newSpecErr = function(e) { - return { - type: s, - payload: e - } - }, t.newSpecErrBatch = function(e) { - return { - type: l, - payload: e - } - }, t.newAuthErr = function(e) { - return { - type: c, - payload: e - } - }, t.clear = function() { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; - return { - type: f, - payload: e - } - }, t.clearBy = function() { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : function() { - return !0 - }; - return { - type: p, - payload: e - } - }; - var r, o = n(179), - i = (r = o) && r.__esModule ? r : { - default: r - }; - var a = t.NEW_THROWN_ERR = "err_new_thrown_err", - u = t.NEW_THROWN_ERR_BATCH = "err_new_thrown_err_batch", - s = t.NEW_SPEC_ERR = "err_new_spec_err", - l = t.NEW_SPEC_ERR_BATCH = "err_new_spec_err_batch", - c = t.NEW_AUTH_ERR = "err_new_auth_err", - f = t.CLEAR = "err_clear", - p = t.CLEAR_BY = "err_clear_by" - }, function(e, t, n) { - var r = n(62), - o = n(47), - i = "[object Symbol]"; - e.exports = function(e) { - return "symbol" == typeof e || o(e) && r(e) == i - } - }, function(e, t, n) { - var r = n(63)(Object, "create"); - e.exports = r - }, function(e, t, n) { - var r = n(600), - o = n(601), - i = n(602), - a = n(603), - u = n(604); - - function s(e) { - var t = -1, - n = null == e ? 0 : e.length; - for (this.clear(); ++t < n;) { - var r = e[t]; - this.set(r[0], r[1]) - } - } - s.prototype.clear = r, s.prototype.delete = o, s.prototype.get = i, s.prototype.has = a, s.prototype.set = u, e.exports = s - }, function(e, t, n) { - var r = n(105); - e.exports = function(e, t) { - for (var n = e.length; n--;) - if (r(e[n][0], t)) return n; - return -1 - } - }, function(e, t, n) { - var r = n(606); - e.exports = function(e, t) { - var n = e.__data__; - return r(t) ? n["string" == typeof t ? "string" : "hash"] : n.map - } - }, function(e, t, n) { - var r = n(611), - o = n(639), - i = n(191), - a = n(24), - u = n(644); - e.exports = function(e) { - return "function" == typeof e ? e : null == e ? i : "object" == typeof e ? a(e) ? o(e[0], e[1]) : r(e) : u(e) - } - }, function(e, t) { - e.exports = function(e) { - return e.webpackPolyfill || (e.deprecate = function() {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", { - enumerable: !0, - get: function() { - return e.l - } - }), Object.defineProperty(e, "id", { - enumerable: !0, - get: function() { - return e.i - } - }), e.webpackPolyfill = 1), e - } - }, function(e, t) { - var n = 9007199254740991, - r = /^(?:0|[1-9]\d*)$/; - e.exports = function(e, t) { - var o = typeof e; - return !!(t = null == t ? n : t) && ("number" == o || "symbol" != o && r.test(e)) && e > -1 && e % 1 == 0 && e < t - } - }, function(e, t) { - var n = Object.prototype; - e.exports = function(e) { - var t = e && e.constructor; - return e === ("function" == typeof t && t.prototype || n) - } - }, function(e, t, n) { - var r = n(634), - o = n(181), - i = n(635), - a = n(636), - u = n(637), - s = n(62), - l = n(286), - c = l(r), - f = l(o), - p = l(i), - d = l(a), - h = l(u), - v = s; - (r && "[object DataView]" != v(new r(new ArrayBuffer(1))) || o && "[object Map]" != v(new o) || i && "[object Promise]" != v(i.resolve()) || a && "[object Set]" != v(new a) || u && "[object WeakMap]" != v(new u)) && (v = function(e) { - var t = s(e), - n = "[object Object]" == t ? e.constructor : void 0, - r = n ? l(n) : ""; - if (r) switch (r) { - case c: - return "[object DataView]"; - case f: - return "[object Map]"; - case p: - return "[object Promise]"; - case d: - return "[object Set]"; - case h: - return "[object WeakMap]" - } - return t - }), e.exports = v - }, function(e, t, n) { - var r = n(139); - e.exports = function(e, t, n) { - var o = null == e ? void 0 : r(e, t); - return void 0 === o ? n : o - } - }, function(e, t, n) { - var r = n(79), - o = n(80); - e.exports = function(e, t) { - for (var n = 0, i = (t = r(t, e)).length; null != e && n < i;) e = e[o(t[n++])]; - return n && n == i ? e : void 0 - } - }, function(e, t, n) { - "use strict"; - (function(t) { - !t.version || 0 === t.version.indexOf("v0.") || 0 === t.version.indexOf("v1.") && 0 !== t.version.indexOf("v1.8.") ? e.exports = { - nextTick: function(e, n, r, o) { - if ("function" != typeof e) throw new TypeError('"callback" argument must be a function'); - var i, a, u = arguments.length; - switch (u) { - case 0: - case 1: - return t.nextTick(e); - case 2: - return t.nextTick(function() { - e.call(null, n) - }); - case 3: - return t.nextTick(function() { - e.call(null, n, r) - }); - case 4: - return t.nextTick(function() { - e.call(null, n, r, o) - }); - default: - for (i = new Array(u - 1), a = 0; a < i.length;) i[a++] = arguments[a]; - return t.nextTick(function() { - e.apply(null, i) - }) - } - } - } : e.exports = t - }).call(t, n(55)) - }, function(e, t, n) { - var r = n(54), - o = r.Buffer; - - function i(e, t) { - for (var n in e) t[n] = e[n] - } - - function a(e, t, n) { - return o(e, t, n) - } - o.from && o.alloc && o.allocUnsafe && o.allocUnsafeSlow ? e.exports = r : (i(r, t), t.Buffer = a), i(o, a), a.from = function(e, t, n) { - if ("number" == typeof e) throw new TypeError("Argument must not be a number"); - return o(e, t, n) - }, a.alloc = function(e, t, n) { - if ("number" != typeof e) throw new TypeError("Argument must be a number"); - var r = o(e); - return void 0 !== t ? "string" == typeof n ? r.fill(t, n) : r.fill(t) : r.fill(0), r - }, a.allocUnsafe = function(e) { - if ("number" != typeof e) throw new TypeError("Argument must be a number"); - return o(e) - }, a.allocUnsafeSlow = function(e) { - if ("number" != typeof e) throw new TypeError("Argument must be a number"); - return r.SlowBuffer(e) - } - }, function(e, t, n) { - "use strict"; - e.exports = n(675)("forEach") - }, function(e, t, n) { - "use strict"; - var r = n(314), - o = n(311), - i = n(196), - a = n(684); - (e.exports = function(e, t) { - var n, i, u, s, l; - return arguments.length < 2 || "string" != typeof e ? (s = t, t = e, e = null) : s = arguments[2], null == e ? (n = u = !0, i = !1) : (n = a.call(e, "c"), i = a.call(e, "e"), u = a.call(e, "w")), l = { - value: t, - configurable: n, - enumerable: i, - writable: u - }, s ? r(o(s), l) : l - }).gs = function(e, t, n) { - var u, s, l, c; - return "string" != typeof e ? (l = n, n = t, t = e, e = null) : l = arguments[3], null == t ? t = void 0 : i(t) ? null == n ? n = void 0 : i(n) || (l = n, n = void 0) : (l = t, t = n = void 0), null == e ? (u = !0, s = !1) : (u = a.call(e, "c"), s = a.call(e, "e")), c = { - get: t, - set: n, - configurable: u, - enumerable: s - }, l ? r(o(l), c) : c - } - }, function(e, t, n) { - var r = n(49), - o = n(329), - i = n(330), - a = n(36), - u = n(115), - s = n(164), - l = {}, - c = {}; - (t = e.exports = function(e, t, n, f, p) { - var d, h, v, m, g = p ? function() { - return e - } : s(e), - y = r(n, f, t ? 2 : 1), - b = 0; - if ("function" != typeof g) throw TypeError(e + " is not iterable!"); - if (i(g)) { - for (d = u(e.length); d > b; b++) - if ((m = t ? y(a(h = e[b])[0], h[1]) : y(e[b])) === l || m === c) return m - } else - for (v = g.call(e); !(h = v.next()).done;) - if ((m = o(v, y, h.value, t)) === l || m === c) return m - }).BREAK = l, t.RETURN = c - }, function(e, t, n) { - "use strict"; - var r = n(86); - e.exports = r.DEFAULT = new r({ - include: [n(108)], - explicit: [n(757), n(758), n(759)] - }) - }, function(e, t, n) { - var r = n(344), - o = n(105), - i = Object.prototype.hasOwnProperty; - e.exports = function(e, t, n) { - var a = e[t]; - i.call(e, t) && o(a, n) && (void 0 !== n || t in e) || r(e, t, n) - } - }, function(e, t, n) { - "use strict"; - var r = n(11), - o = (n(8), {}), - i = { - reinitializeTransaction: function() { - this.transactionWrappers = this.getTransactionWrappers(), this.wrapperInitData ? this.wrapperInitData.length = 0 : this.wrapperInitData = [], this._isInTransaction = !1 - }, - _isInTransaction: !1, - getTransactionWrappers: null, - isInTransaction: function() { - return !!this._isInTransaction - }, - perform: function(e, t, n, o, i, a, u, s) { - var l, c; - this.isInTransaction() && r("27"); - try { - this._isInTransaction = !0, l = !0, this.initializeAll(0), c = e.call(t, n, o, i, a, u, s), l = !1 - } finally { - try { - if (l) try { - this.closeAll(0) - } catch (e) {} else this.closeAll(0) - } finally { - this._isInTransaction = !1 - } - } - return c - }, - initializeAll: function(e) { - for (var t = this.transactionWrappers, n = e; n < t.length; n++) { - var r = t[n]; - try { - this.wrapperInitData[n] = o, this.wrapperInitData[n] = r.initialize ? r.initialize.call(this) : null - } finally { - if (this.wrapperInitData[n] === o) try { - this.initializeAll(n + 1) - } catch (e) {} - } - } - }, - closeAll: function(e) { - this.isInTransaction() || r("28"); - for (var t = this.transactionWrappers, n = e; n < t.length; n++) { - var i, a = t[n], - u = this.wrapperInitData[n]; - try { - i = !0, u !== o && a.close && a.close.call(this, u), i = !1 - } finally { - if (i) try { - this.closeAll(n + 1) - } catch (e) {} - } - } - this.wrapperInitData.length = 0 - } - }; - e.exports = i - }, function(e, t, n) { - "use strict"; - var r = n(111), - o = n(358), - i = { - screenX: null, - screenY: null, - clientX: null, - clientY: null, - ctrlKey: null, - shiftKey: null, - altKey: null, - metaKey: null, - getModifierState: n(215), - button: function(e) { - var t = e.button; - return "which" in e ? t : 2 === t ? 2 : 4 === t ? 1 : 0 - }, - buttons: null, - relatedTarget: function(e) { - return e.relatedTarget || (e.fromElement === e.srcElement ? e.toElement : e.fromElement) - }, - pageX: function(e) { - return "pageX" in e ? e.pageX : e.clientX + o.currentScrollLeft - }, - pageY: function(e) { - return "pageY" in e ? e.pageY : e.clientY + o.currentScrollTop - } - }; - - function a(e, t, n, o) { - return r.call(this, e, t, n, o) - } - r.augmentClass(a, i), e.exports = a - }, function(e, t, n) { - "use strict"; - var r, o = n(26), - i = n(217), - a = /^[ \r\n\t\f]/, - u = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/, - s = n(218)(function(e, t) { - if (e.namespaceURI !== i.svg || "innerHTML" in e) e.innerHTML = t; - else { - (r = r || document.createElement("div")).innerHTML = "" + t + ""; - for (var n = r.firstChild; n.firstChild;) e.appendChild(n.firstChild) - } - }); - if (o.canUseDOM) { - var l = document.createElement("div"); - l.innerHTML = " ", "" === l.innerHTML && (s = function(e, t) { - if (e.parentNode && e.parentNode.replaceChild(e, e), a.test(t) || "<" === t[0] && u.test(t)) { - e.innerHTML = String.fromCharCode(65279) + t; - var n = e.firstChild; - 1 === n.data.length ? e.removeChild(n) : n.deleteData(0, 1) - } else e.innerHTML = t - }), l = null - } - e.exports = s - }, function(e, t, n) { - "use strict"; - var r = /["'&<>]/; - e.exports = function(e) { - return "boolean" == typeof e || "number" == typeof e ? "" + e : function(e) { - var t, n = "" + e, - o = r.exec(n); - if (!o) return n; - var i = "", - a = 0, - u = 0; - for (a = o.index; a < n.length; a++) { - switch (n.charCodeAt(a)) { - case 34: - t = """; - break; - case 38: - t = "&"; - break; - case 39: - t = "'"; - break; - case 60: - t = "<"; - break; - case 62: - t = ">"; - break; - default: - continue - } - u !== a && (i += n.substring(u, a)), u = a + 1, i += t - } - return u !== a ? i + n.substring(u, a) : i - }(e) - } - }, function(e, t, n) { - "use strict"; - var r, o = n(13), - i = n(210), - a = n(804), - u = n(358), - s = n(805), - l = n(214), - c = {}, - f = !1, - p = 0, - d = { - topAbort: "abort", - topAnimationEnd: s("animationend") || "animationend", - topAnimationIteration: s("animationiteration") || "animationiteration", - topAnimationStart: s("animationstart") || "animationstart", - topBlur: "blur", - topCanPlay: "canplay", - topCanPlayThrough: "canplaythrough", - topChange: "change", - topClick: "click", - topCompositionEnd: "compositionend", - topCompositionStart: "compositionstart", - topCompositionUpdate: "compositionupdate", - topContextMenu: "contextmenu", - topCopy: "copy", - topCut: "cut", - topDoubleClick: "dblclick", - topDrag: "drag", - topDragEnd: "dragend", - topDragEnter: "dragenter", - topDragExit: "dragexit", - topDragLeave: "dragleave", - topDragOver: "dragover", - topDragStart: "dragstart", - topDrop: "drop", - topDurationChange: "durationchange", - topEmptied: "emptied", - topEncrypted: "encrypted", - topEnded: "ended", - topError: "error", - topFocus: "focus", - topInput: "input", - topKeyDown: "keydown", - topKeyPress: "keypress", - topKeyUp: "keyup", - topLoadedData: "loadeddata", - topLoadedMetadata: "loadedmetadata", - topLoadStart: "loadstart", - topMouseDown: "mousedown", - topMouseMove: "mousemove", - topMouseOut: "mouseout", - topMouseOver: "mouseover", - topMouseUp: "mouseup", - topPaste: "paste", - topPause: "pause", - topPlay: "play", - topPlaying: "playing", - topProgress: "progress", - topRateChange: "ratechange", - topScroll: "scroll", - topSeeked: "seeked", - topSeeking: "seeking", - topSelectionChange: "selectionchange", - topStalled: "stalled", - topSuspend: "suspend", - topTextInput: "textInput", - topTimeUpdate: "timeupdate", - topTouchCancel: "touchcancel", - topTouchEnd: "touchend", - topTouchMove: "touchmove", - topTouchStart: "touchstart", - topTransitionEnd: s("transitionend") || "transitionend", - topVolumeChange: "volumechange", - topWaiting: "waiting", - topWheel: "wheel" - }, - h = "_reactListenersID" + String(Math.random()).slice(2); - var v = o({}, a, { - ReactEventListener: null, - injection: { - injectReactEventListener: function(e) { - e.setHandleTopLevel(v.handleTopLevel), v.ReactEventListener = e - } - }, - setEnabled: function(e) { - v.ReactEventListener && v.ReactEventListener.setEnabled(e) - }, - isEnabled: function() { - return !(!v.ReactEventListener || !v.ReactEventListener.isEnabled()) - }, - listenTo: function(e, t) { - for (var n = t, r = function(e) { - return Object.prototype.hasOwnProperty.call(e, h) || (e[h] = p++, c[e[h]] = {}), c[e[h]] - }(n), o = i.registrationNameDependencies[e], a = 0; a < o.length; a++) { - var u = o[a]; - r.hasOwnProperty(u) && r[u] || ("topWheel" === u ? l("wheel") ? v.ReactEventListener.trapBubbledEvent("topWheel", "wheel", n) : l("mousewheel") ? v.ReactEventListener.trapBubbledEvent("topWheel", "mousewheel", n) : v.ReactEventListener.trapBubbledEvent("topWheel", "DOMMouseScroll", n) : "topScroll" === u ? l("scroll", !0) ? v.ReactEventListener.trapCapturedEvent("topScroll", "scroll", n) : v.ReactEventListener.trapBubbledEvent("topScroll", "scroll", v.ReactEventListener.WINDOW_HANDLE) : "topFocus" === u || "topBlur" === u ? (l("focus", !0) ? (v.ReactEventListener.trapCapturedEvent("topFocus", "focus", n), v.ReactEventListener.trapCapturedEvent("topBlur", "blur", n)) : l("focusin") && (v.ReactEventListener.trapBubbledEvent("topFocus", "focusin", n), v.ReactEventListener.trapBubbledEvent("topBlur", "focusout", n)), r.topBlur = !0, r.topFocus = !0) : d.hasOwnProperty(u) && v.ReactEventListener.trapBubbledEvent(u, d[u], n), r[u] = !0) - } - }, - trapBubbledEvent: function(e, t, n) { - return v.ReactEventListener.trapBubbledEvent(e, t, n) - }, - trapCapturedEvent: function(e, t, n) { - return v.ReactEventListener.trapCapturedEvent(e, t, n) - }, - supportsEventPageXY: function() { - if (!document.createEvent) return !1; - var e = document.createEvent("MouseEvent"); - return null != e && "pageX" in e - }, - ensureScrollValueMonitoring: function() { - if (void 0 === r && (r = v.supportsEventPageXY()), !r && !f) { - var e = u.refreshScrollValues; - v.ReactEventListener.monitorScrollValue(e), f = !0 - } - } - }); - e.exports = v - }, function(e, t, n) { - "use strict"; - - function r() { - this.__rules__ = [], this.__cache__ = null - } - r.prototype.__find__ = function(e) { - for (var t = this.__rules__.length, n = -1; t--;) - if (this.__rules__[++n].name === e) return n; - return -1 - }, r.prototype.__compile__ = function() { - var e = this, - t = [""]; - e.__rules__.forEach(function(e) { - e.enabled && e.alt.forEach(function(e) { - t.indexOf(e) < 0 && t.push(e) - }) - }), e.__cache__ = {}, t.forEach(function(t) { - e.__cache__[t] = [], e.__rules__.forEach(function(n) { - n.enabled && (t && n.alt.indexOf(t) < 0 || e.__cache__[t].push(n.fn)) - }) - }) - }, r.prototype.at = function(e, t, n) { - var r = this.__find__(e), - o = n || {}; - if (-1 === r) throw new Error("Parser rule not found: " + e); - this.__rules__[r].fn = t, this.__rules__[r].alt = o.alt || [], this.__cache__ = null - }, r.prototype.before = function(e, t, n, r) { - var o = this.__find__(e), - i = r || {}; - if (-1 === o) throw new Error("Parser rule not found: " + e); - this.__rules__.splice(o, 0, { - name: t, - enabled: !0, - fn: n, - alt: i.alt || [] - }), this.__cache__ = null - }, r.prototype.after = function(e, t, n, r) { - var o = this.__find__(e), - i = r || {}; - if (-1 === o) throw new Error("Parser rule not found: " + e); - this.__rules__.splice(o + 1, 0, { - name: t, - enabled: !0, - fn: n, - alt: i.alt || [] - }), this.__cache__ = null - }, r.prototype.push = function(e, t, n) { - var r = n || {}; - this.__rules__.push({ - name: e, - enabled: !0, - fn: t, - alt: r.alt || [] - }), this.__cache__ = null - }, r.prototype.enable = function(e, t) { - e = Array.isArray(e) ? e : [e], t && this.__rules__.forEach(function(e) { - e.enabled = !1 - }), e.forEach(function(e) { - var t = this.__find__(e); - if (t < 0) throw new Error("Rules manager: invalid rule name " + e); - this.__rules__[t].enabled = !0 - }, this), this.__cache__ = null - }, r.prototype.disable = function(e) { - (e = Array.isArray(e) ? e : [e]).forEach(function(e) { - var t = this.__find__(e); - if (t < 0) throw new Error("Rules manager: invalid rule name " + e); - this.__rules__[t].enabled = !1 - }, this), this.__cache__ = null - }, r.prototype.getRules = function(e) { - return null === this.__cache__ && this.__compile__(), this.__cache__[e] || [] - }, e.exports = r - }, function(e, t, n) { - "use strict"; - e.exports = function(e, t) { - var n, r, o, i = -1, - a = e.posMax, - u = e.pos, - s = e.isInLabel; - if (e.isInLabel) return -1; - if (e.labelUnmatchedScopes) return e.labelUnmatchedScopes--, -1; - for (e.pos = t + 1, e.isInLabel = !0, n = 1; e.pos < a;) { - if (91 === (o = e.src.charCodeAt(e.pos))) n++; - else if (93 === o && 0 === --n) { - r = !0; - break - } - e.parser.skipToken(e) - } - return r ? (i = e.pos, e.labelUnmatchedScopes = 0) : e.labelUnmatchedScopes = n - 1, e.pos = u, e.isInLabel = s, i - } - }, function(e, t, n) { - var r = n(93); - e.exports = Object("z").propertyIsEnumerable(0) ? Object : function(e) { - return "String" == r(e) ? e.split("") : Object(e) - } - }, function(e, t) { - e.exports = function(e) { - if (void 0 == e) throw TypeError("Can't call method on " + e); - return e - } - }, function(e, t, n) { - var r = n(28), - o = n(21).document, - i = r(o) && r(o.createElement); - e.exports = function(e) { - return i ? o.createElement(e) : {} - } - }, function(e, t, n) { - var r = n(28); - e.exports = function(e, t) { - if (!r(e)) return e; - var n, o; - if (t && "function" == typeof(n = e.toString) && !r(o = n.call(e))) return o; - if ("function" == typeof(n = e.valueOf) && !r(o = n.call(e))) return o; - if (!t && "function" == typeof(n = e.toString) && !r(o = n.call(e))) return o; - throw TypeError("Can't convert object to primitive value") - } - }, function(e, t, n) { - e.exports = n(50) - }, function(e, t, n) { - var r = n(36), - o = n(452), - i = n(163), - a = n(161)("IE_PROTO"), - u = function() {}, - s = function() { - var e, t = n(156)("iframe"), - r = i.length; - for (t.style.display = "none", n(240).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("