From e251e39e55613c832552763ff8b2c974c0dd0117 Mon Sep 17 00:00:00 2001 From: CHAMI Rachid Date: Thu, 22 Feb 2024 15:50:25 +0100 Subject: [PATCH] docs: combine Blobstream and Blobstream X docs (#1379) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: initial attempt to integrate BlobstreamX docs * Update nodes/hardfork-process.md * feat: rearrange menu and remove old workflow * docs: add snippets to proofs queries * chore: blobstream -> blobstreamx * chore: contract -> library * chore: contract -> library * chore: tabs * docs: add proofs queries overview * chore: remove unnecessary note * docs: add listening for new events docs * feat: add initial blobstream x intro section + linting + formatting * feat: add overview of blobstream x section * feat: wrap up edits to blobstream.md page for blobstream x * feat: edits to blobstream.md * feat: add local blobstream x instructions * docs: address code review changes * Update developers/blobstreamx-offchain.md by @Gunter038 * docs:some feedback by @puma314 * feat: add proof language * feat: update requesting-data-commitment-ranges intro * feat: feedback for description on requesting-data-commitment-ranges.md page * feat: use sections for datacommittment ranges page * feat: split blobstreamxdeploy page into sections * feat: upgrade diagrams * Apply suggestions from code review * feat: upgrade contracts with placeholders * feat: remove page and link to succint docs * feat: add docs.succint.xyz in place of succint.xyz * feat: add testnet on table * feat: resolve todos * feat: add links to mocha/mainnet * feat: add blobstream header for clarity * feat: put intro in menu bc top level link of menu is weird * feat: styling updates and graphics update * feat: add page back for blobstream-x deploy * docs: Apply suggestions from code review Co-authored-by: CHAMI Rachid * Apply suggestions from code review Co-authored-by: CHAMI Rachid * feat: feedback from comment on GH * feat: update file paths and config.ts * Update developers/blobstream.md * Apply suggestions from code review * Apply suggestions from code review --------- Co-authored-by: joshcs.eth ᵍᵐ Co-authored-by: Josh Stein <46639943+jcstein@users.noreply.github.com> --- .vitepress/config.ts | 46 +- developers/blobstream-contracts.md | 54 +- developers/blobstream-offchain.md | 11 +- developers/blobstream-proof-queries.md | 1051 ++++++++++++++--- developers/blobstream-x-deploy.md | 13 + developers/blobstream.md | 180 +-- .../requesting-data-commitment-ranges.md | 57 + importBlobstream.mjs | 42 - nodes/blobstream-binary.md | 95 -- nodes/blobstream-bootstrapper.md | 62 - nodes/blobstream-deploy.md | 74 -- nodes/blobstream-keys.md | 362 ------ nodes/blobstream-orchestrator.md | 309 ----- nodes/blobstream-relayer.md | 123 -- nodes/consensus-node.md | 35 - .../blobstream/Celestia_Blobstream_X1b.png | Bin 0 -> 124555 bytes .../blobstream/Celestia_Blobstream_X2b.png | Bin 0 -> 286171 bytes 17 files changed, 1101 insertions(+), 1413 deletions(-) create mode 100644 developers/blobstream-x-deploy.md create mode 100644 developers/requesting-data-commitment-ranges.md delete mode 100644 importBlobstream.mjs delete mode 100644 nodes/blobstream-binary.md delete mode 100644 nodes/blobstream-bootstrapper.md delete mode 100644 nodes/blobstream-deploy.md delete mode 100644 nodes/blobstream-keys.md delete mode 100644 nodes/blobstream-orchestrator.md delete mode 100644 nodes/blobstream-relayer.md create mode 100644 public/img/blobstream/Celestia_Blobstream_X1b.png create mode 100644 public/img/blobstream/Celestia_Blobstream_X2b.png diff --git a/.vitepress/config.ts b/.vitepress/config.ts index b9ec5079450..90eb8d0fd4f 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -411,33 +411,6 @@ function sidebarHome() { ], }, { text: "Consensus", link: "/nodes/consensus-node" }, - { - text: "Blobstream for validators", - collapsed: true, - items: [ - { - text: "Install the binary", - link: "/nodes/blobstream-binary", - }, - { - text: "Blobstream Orchestrator", - link: "/nodes/blobstream-orchestrator", - }, - { text: "Key management", link: "/nodes/blobstream-keys" }, - { - text: "Blobstream Relayer", - link: "/nodes/blobstream-relayer", - }, - { - text: "Deploy the contract", - link: "/nodes/blobstream-deploy", - }, - { - text: "Blobstream Bootstrapper", - link: "/nodes/blobstream-bootstrapper", - }, - ], - }, { text: "IBC relayers", collapsed: true, @@ -553,9 +526,12 @@ function sidebarHome() { }, { text: "Integrate with Blobstream", - link: "/developers/blobstream", collapsed: true, items: [ + { + text: "Overview of Blobstream", + link: "/developers/blobstream", + }, { text: "Integrate with Blobstream contracts", link: "/developers/blobstream-contracts", @@ -568,6 +544,20 @@ function sidebarHome() { text: "Querying the Blobstream proofs", link: "/developers/blobstream-proof-queries", }, + { + text: "Local Blobstream X operators", + collapsed: true, + items: [ + { + text: "Requesting data commitment ranges", + link: "/developers/requesting-data-commitment-ranges", + }, + { + text: "Non-canonical Blobstream X deployments", + link: "/developers/blobstream-x-deploy", + }, + ], + }, ], }, { diff --git a/developers/blobstream-contracts.md b/developers/blobstream-contracts.md index 2f51bdd5e9a..efd4d69f0af 100644 --- a/developers/blobstream-contracts.md +++ b/developers/blobstream-contracts.md @@ -13,12 +13,15 @@ Make sure to have the following installed: - [Foundry](https://github.com/foundry-rs/foundry) -### Installing Blobstream contracts +### Installing Blobstream X contracts -Install the Blobstream contracts repo as a dependency: +We will be using the Blobstream X implementation of +Blobstream, so we can install its repo as a dependency: + +Install the Blobstream X contracts repo as a dependency: ```sh -forge install celestiaorg/blobstream-contracts --no-commit +forge install TBD --no-commit ``` Note that the minimum Solidity compiler version for using the Blobstream @@ -27,38 +30,39 @@ contracts is `0.8.19`. ### Example usage Example minimal Solidity contract for a stub ZK rollup that leverages the -Blobstream contract to check that data has been posted to Celestia: +`BlobstreamX.sol` contract to check that data has been posted to Celestia: ```solidity // SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.19; +TBD import "blobstream-contracts/IDAOracle.sol"; import "blobstream-contracts/DataRootTuple.sol"; import "blobstream-contracts/lib/tree/binary/BinaryMerkleProof.sol"; contract MyRollup { - IDAOracle immutable blobstream; + IDAOracle immutable blobstreamX; bytes32[] public rollup_block_hashes; - constructor(IDAOracle _blobstream) { - blobstream = _blobstream; + constructor(IDAOracle _blobstreamX) { + blobstreamX = _blobstreamX; } function submitRollupBlock( bytes32 _rollup_block_hash, bytes calldata _zk_proof, - uint256 _blobstream_nonce, + uint256 _blobstreamX_nonce, DataRootTuple calldata _tuple, BinaryMerkleProof calldata _proof ) public { // Verify that the data root tuple (analog. block header) has been // attested to by the Blobstream contract. require( - blobstream.verifyAttestation(_blobstream_nonce, _tuple, _proof) + blobstreamX.verifyAttestation(_blobstreamX_nonce, _tuple, _proof) ); - // Verify the ZKP. + // Verify the ZKP (zero-knowledge proof). // _tuple.dataRoot is a public input, leaves (shares) are private inputs. require(verifyZKP(_rollup_block_hash, _zk_proof, _tuple.dataRoot)); @@ -93,18 +97,18 @@ verifying a Merkle inclusion proof. The [`IDAOracle`](https://github.com/celestiaorg/blobstream-contracts/blob/master/src/IDAOracle.sol) (**D**ata **A**vailability **O**racle Interface) interface allows L2 contracts -on Ethereum to query the Blobstream contract for relayed `DataRootTuple`s. The -single interface method `verifyAttestation` verifies a Merkle inclusion proof -that a `DataRootTuple` is included under a specific batch (indexed by batch -nonce). In other words, analogously it verifies that a specific block header is -included in the canonical Celestia chain. +on Ethereum to query the `BlobstreamX.sol` contract for relayed `DataRootTuple`s. +The single interface method `verifyAttestation` verifies a Merkle inclusion +proof that a `DataRootTuple` is included under a specific batch (indexed by +batch nonce). In other words, analogously it verifies that a specific block +header is included in the canonical Celestia chain. ## Querying the proof To prove that the data was published to Celestia, check out the -[proof queries documentation](./blobstream-proof-queries.md) +[proof queries documentation](./blobstreamx-proof-queries.md) to understand how to query the proofs from Celestia consensus -nodes and make them usable in the Blobstream verifier contract. +nodes and make them usable in the Blobstream X verifier contract. ## Verifying data inclusion for fraud proofs @@ -119,27 +123,27 @@ against a `DataRootTuple`. The library is stateless, and allows to pass an In the `DAVerifier` library, we find functions that help with data inclusion verification and calculating the square size of a -Celestia block. These functions work with the Blobstream smart contract, +Celestia block. These functions work with the Blobstream X smart contract, using different proofs to check and confirm the data's availability. Let's take a closer look at these functions: - [`verifySharesToDataRootTupleRoot`](https://github.com/celestiaorg/blobstream-contracts/blob/3a552d8f7bfbed1f3175933260e6e440915d2da4/src/lib/verifier/DAVerifier.sol#L80-L124): This function verifies that the - shares, which were posted to Celestia, were committed to by the Blobstream + shares, which were posted to Celestia, were committed to by the Blobstream X smart contract. It checks that the data root was committed to by the - Blobstream smart contract and that the shares were committed to by the + Blobstream X smart contract and that the shares were committed to by the rows roots. - [`verifyRowRootToDataRootTupleRoot`](https://github.com/celestiaorg/blobstream-contracts/blob/3a552d8f7bfbed1f3175933260e6e440915d2da4/src/lib/verifier/DAVerifier.sol#L133-L155): This function verifies that a row/column root, from a Celestia block, was committed to by the - Blobstream smart contract. It checks that the data root was committed - to by the Blobstream smart contract and that the row root commits to + Blobstream X smart contract. It checks that the data root was committed + to by the Blobstream X smart contract and that the row root commits to the data root. - [`verifyMultiRowRootsToDataRootTupleRoot`](https://github.com/celestiaorg/blobstream-contracts/blob/3a552d8f7bfbed1f3175933260e6e440915d2da4/src/lib/verifier/DAVerifier.sol#L164-L194): This function verifies that a set of rows/columns, from a Celestia block, were committed - to by the Blobstream smart contract. It checks that the data root was - committed to by the Blobstream smart contract and that the rows roots + to by the Blobstream X smart contract. It checks that the data root was + committed to by the Blobstream X smart contract and that the rows roots commit to the data root. - [`computeSquareSizeFromRowProof`](https://github.com/celestiaorg/blobstream-contracts/blob/3a552d8f7bfbed1f3175933260e6e440915d2da4/src/lib/verifier/DAVerifier.sol#L204-L215): This function computes the Celestia @@ -155,4 +159,4 @@ take a closer look at these functions: `verifySharesToDataRootTupleRoot()` method. For an overview of a demo rollup implementation, head to -[the next section](./blobstream-offchain.md). +[the next section](./blobstreamx-offchain.md). diff --git a/developers/blobstream-offchain.md b/developers/blobstream-offchain.md index 6e748295053..5609d55cf31 100644 --- a/developers/blobstream-offchain.md +++ b/developers/blobstream-offchain.md @@ -6,11 +6,14 @@ description: Learn how to integrate your L2's offchain logic with Blobstream ## Blobstream demo rollup -Rollups can use the Blobstream for DA by posting their data to Celestia and then +Rollups can use Blobstream for DA by posting their data to Celestia and then proving that it was posted on Ethereum. This is done identically to how any -rollup or user would post data to Celestia, and then the validators sign over -additional commitments that are relayed to Ethereum via a light client relay -(aka Blobstream!). This demo will outline (note outline is not an +rollup or user would post data to Celestia. Then, a zero-knowledge proof that +Celestia validators have come to consensus on Celestia block headers is +generated, and subsequently relayed to Ethereum to the Blobstream X smart +contract. + +This demo rollup will outline (the outline is not an implementation! please do not expect to copy and paste this code 🙂) a very simple Blobstream rollup to illustrate at a high level what this could look like. diff --git a/developers/blobstream-proof-queries.md b/developers/blobstream-proof-queries.md index 3fd50f7c3c1..a3160848cf9 100644 --- a/developers/blobstream-proof-queries.md +++ b/developers/blobstream-proof-queries.md @@ -4,22 +4,115 @@ description: Learn how to query the inclusion proofs used in Blobstream # Blobstream proofs queries + + ## Prerequisites - Access to a Celestia [consensus full node](../nodes/consensus-node.md) RPC endpoint (or full node). The node doesn't need to be a validating node in order for the proofs to be queried. A full node is enough. -## Querying the proofs +## Overview of the proof queries + +To prove the inclusion of PayForBlobs (PFB) transactions, blobs or shares, +committed to in a Celestia block, we use the Celestia consensus node's RPC to +query for proofs that can be verified in a rollup settlement contract via +Blobstream. In fact, when a PFB transaction is included in a block, it +gets separated into a PFB transaction (without the blob), and the actual +data blob that it carries. These two are split into shares, which are the +low level constructs of a Celestia block, and saved to the corresponding +Celestia block. Learn more about shares in the +[shares specs](https://celestiaorg.github.io/celestia-app/specs/shares.html). + +The two diagrams below summarize how a single share, which can contain a +PFB transaction, or a part of the rollup data that was posted using a PFB, +is committed to in Blobstream. + +The share is highlighted in green. `R0`, `R1` etc, represent the respective +row and column roots, the blue and pink gradients are erasure encoded data. +More details on the square layout can be found +[in the data square layout](https://github.com/celestiaorg/celestia-app/blob/v1.1.0/specs/src/specs/data_square_layout.md) +and +[data structures](https://github.com/celestiaorg/celestia-app/blob/v1.1.0/specs/src/specs/data_structures.md#erasure-coding) +portion of the specs. + +### The Celestia square + +![Square](/img/blobstream/blobstream-square.png) -To prove PFBs, blobs or shares, we can use the Celestia consensus node's RPC to -query proofs for them: +### The commitment scheme + +![Blobstream Commitment Diagram](/img/blobstream/blobstream-commitment-diagram.png) + +So to prove inclusion of a share to a Celestia block, we use Blobstream +as a source of truth. Currently, we will be using the Blobstream X implementation +of Blobstream, more information on Blobstream X can be found in +[the overview](./blobstream.md#blobstream-x). In a nutshell, Blobstream X +attests to the data posted to Celestia in the Blobstream X contract via +verifying a zk-proof of the headers of a batch of Celestia blocks. Then, it +keeps reference of that batch of blocks using the merkleized commitment +of their `(dataRoot, height)` resulting in a `data root tuple root`. +Check the above diagram which shows: + +- 0: those are the shares, that when unified, contain the PFB or the rollup + data blob. +- 1: the row and column roots are the namespace merkle tree roots over + the shares. More information on the NMT in the + [NMT specs](https://celestiaorg.github.io/celestia-app/specs/data_structures.html?highlight=namespace%20merkle#namespace-merkle-tree). + These commit to the rows and columns containing the above shares. +- 2: the data roots: which are the binary merkle tree commitment over + the row and column roots. This means that if you can prove that a share + is part of a row, using a namespace merkle proof. Then prove that this + row is committed to by the data root. Then you can be sure that that share + was published to the corresponding block. +- 3: in order to batch multiple blocks into the same commitment, we create + a commitment over the `(dataRoot, height)` tuple for a batch of blocks, + which results in a data root tuple root. It's this commitment that gets + stored in the Blobstream X smart contract. + +So, if we're able to prove that a share is part of a row, then that row is +committed to by a data root. Then, prove that that data root along with its +height is committed to by the data root tuple root, which gets saved to the +Blobstream X contract, we can be sure that that share was committed to in +the corresponding Celestia block. + +In this document, we will provide details on how to query the above proofs, +and how to adapt them to be sent to a rollup contract for verification. + +## Hands-on demonstration + +This part will provide the details of proof generation, and the way to +make the results of the proofs queries ready to be consumed by the +target rollup contract. + +:::tip NOTE +For the go client snippets, make sure to have the following replaces in +your `go.mod`: + + + +```go +// go.mod + github.com/cosmos/cosmos-sdk => github.com/celestiaorg/cosmos-sdk v1.18.3-sdk-v0.46.14 + github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 + github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 + github.com/tendermint/tendermint => github.com/celestiaorg/celestia-core v1.32.0-tm-v0.34.29 + +) +``` + + + +Also, make sure to update the versions to match the latest +`github.com/celestiaorg/cosmos-sdk` and +`github.com/celestiaorg/celestia-core` versions. +::: ### 1. Data root inclusion proof -To prove the data root is committed to by the Blobstream smart contract, we will -need to provide a Merkle proof of the data root tuple to a data root tuple root. -This can be created using the +To prove the data root is committed to by the Blobstream X smart +contract, we will need to provide a Merkle proof of the data root +tuple to a data root tuple root. This can be created using the [`data_root_inclusion_proof`](https://github.com/celestiaorg/celestia-core/blob/c3ab251659f6fe0f36d10e0dbd14c29a78a85352/rpc/client/http/http.go#L492-L511) query. @@ -27,47 +120,220 @@ This [endpoint](https://github.com/celestiaorg/celestia-core/blob/793ece9bbd732a allows querying a data root to data root tuple root proof. It takes a block `height`, a starting block, and an end block, then it generates the binary Merkle proof of the `DataRootTuple`, corresponding to that `height`, -to the `DataRootTupleRoot` which is committed to in the Blobstream contract. - -Example request: `/data_root_inclusion_proof?height=15&start=10&end=20` - -Which queries the proof of the height `15` to the data commitment defined -by the range `[10, 20)`. - -Example response: - -```json -{ - "jsonrpc": "2.0", - "id": -1, - "result": { - "proof": { - "total": "10", - "index": "5", - "leaf_hash": "vkRaRg7FGtZ/ZhsJRh/Uhhb3U6dPaYJ1pJNEfrwq5HE=", - "aunts": [ - "nmBWWwHpipHwagaI7MAqM/yhCDb4cz7z4lRxmVRq5f8=", - "nyzLbFJjnSKOfRZur8xvJiJLA+wBPtwm0KbYglILxLg=", - "GI/tJ9WSwcyHM0r0i8t+p3hPFtDieuYR9wSPVkL1r2s=", - "+SGf6MfzMmtDKz5MLlH+y7mPV9Moo2x5rLjLe3gbFQo=" - ] - } - } +to the `DataRootTupleRoot` which is committed to in the Blobstream X contract. + +The endpoint can be queried using the golang client: + +```go +package main + +import ( + "context" + "fmt" + "github.com/tendermint/tendermint/rpc/client/http" + "os" +) + +func main() { + ctx := context.Background() + trpc, err := http.New("tcp://localhost:26657", "/websocket") + if err != nil { + fmt.Println(err) + os.Exit(1) + } + err = trpc.Start() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + dcProof, err := trpc.DataRootInclusionProof(ctx, 15, 10, 20) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + fmt.Println(dcProof.Proof.String()) } ``` -:::tip NOTE -The values are base64 encoded. For these to be usable -with the solidity smart contract, they need to be converted to `bytes32`. -Check the next section for more information. -::: + + +### Full example of proving that a Celestia block was committed to by Blobstream X contract + +```go +package main + +import ( + "context" + "fmt" + "github.com/celestiaorg/celestia-app/pkg/square" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + ethcmn "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/ethclient" + blobstreamxwrapper "github.com/succinctlabs/blobstreamx/bindings" + "github.com/tendermint/tendermint/crypto/merkle" + "github.com/tendermint/tendermint/rpc/client/http" + "math/big" + "os" +) + +func main() { + err := verify() + if err != nil { + fmt.Println(err) + os.Exit(1) + } +} + +func verify() error { + ctx := context.Background() + + // start the tendermint RPC client + trpc, err := http.New("tcp://localhost:26657", "/websocket") + if err != nil { + return err + } + err = trpc.Start() + if err != nil { + return err + } + + // get the PayForBlob transaction that contains the published blob + tx, err := trpc.Tx(ctx, []byte("tx_hash"), true) + if err != nil { + return err + } + + // get the block containing the PayForBlob transaction + blockRes, err := trpc.Block(ctx, &tx.Height) + if err != nil { + return err + } + + // get the nonce corresponding to the block height that contains + // the PayForBlob transaction + // since BlobstreamX emits events when new batches are submitted, + // we will query the events + // and look for the range committing to the blob + // first, connect to an EVM RPC endpoint + ethClient, err := ethclient.Dial("evm_rpc_endpoint") + if err != nil { + return err + } + defer ethClient.Close() + + // use the BlobstreamX contract binding + wrapper, err := blobstreamxwrapper.NewBlobstreamX(ethcmn.HexToAddress("contract_Address"), ethClient) + if err != nil { + return err + } + + LatestBlockNumber, err := ethClient.BlockNumber(context.Background()) + if err != nil { + return err + } + + eventsIterator, err := wrapper.FilterDataCommitmentStored( + &bind.FilterOpts{ + Context: ctx, + Start: LatestBlockNumber - 90000, + End: &LatestBlockNumber, + }, + nil, + nil, + nil, + ) + if err != nil { + return err + } + + var event *blobstreamxwrapper.BlobstreamXDataCommitmentStored + for eventsIterator.Next() { + e := eventsIterator.Event + if int64(e.StartBlock) <= tx.Height && tx.Height < int64(e.EndBlock) { + event = &blobstreamxwrapper.BlobstreamXDataCommitmentStored{ + ProofNonce: e.ProofNonce, + StartBlock: e.StartBlock, + EndBlock: e.EndBlock, + DataCommitment: e.DataCommitment, + } + break + } + } + if err := eventsIterator.Error(); err != nil { + return err + } + err = eventsIterator.Close() + if err != nil { + return err + } + if event == nil { + return fmt.Errorf("couldn't find range containing the transaction height") + } + + // get the block data root inclusion proof to the data root tuple root + dcProof, err := trpc.DataRootInclusionProof(ctx, uint64(tx.Height), event.StartBlock, event.EndBlock) + if err != nil { + return err + } + + // verify that the data root was committed to by the BlobstreamX contract + committed, err := VerifyDataRootInclusion(ctx, wrapper, event.ProofNonce.Uint64(), uint64(tx.Height), blockRes.Block.DataHash, dcProof.Proof) + if err != nil { + return err + } + if committed { + fmt.Println("data root was committed to by the BlobstreamX contract") + } else { + fmt.Println("data root was not committed to by the BlobstreamX contract") + return nil + } + return nil +} + +func VerifyDataRootInclusion( + _ context.Context, + blobstreamXwrapper *blobstreamxwrapper.BlobstreamX, + nonce uint64, + height uint64, + dataRoot []byte, + proof merkle.Proof, +) (bool, error) { + tuple := blobstreamxwrapper.DataRootTuple{ + Height: big.NewInt(int64(height)), + DataRoot: *(*[32]byte)(dataRoot), + } + + sideNodes := make([][32]byte, len(proof.Aunts)) + for i, aunt := range proof.Aunts { + sideNodes[i] = *(*[32]byte)(aunt) + } + wrappedProof := blobstreamxwrapper.BinaryMerkleProof{ + SideNodes: sideNodes, + Key: big.NewInt(proof.Index), + NumLeaves: big.NewInt(proof.Total), + } + + valid, err := blobstreamXwrapper.VerifyAttestation( + &bind.CallOpts{}, + big.NewInt(int64(nonce)), + tuple, + wrappedProof, + ) + if err != nil { + return false, err + } + return valid, nil +} +``` + + ### 2. Transaction inclusion proof To prove that a rollup transaction is part of the data root, we will need to -provide two proofs: (1) a namespace Merkle proof of the transaction to (2) +provide two proofs: (1) a namespace Merkle proof of the transaction to a row root. This could be done via proving the shares that contain the -transaction to the row root using a namespace Merkle proof. And, a +transaction to the row root using a namespace Merkle proof. (2) And, a binary Merkle proof of the row root to the data root. These proofs can be generated using the @@ -88,69 +354,25 @@ If the share range spans multiple rows, then the proof can contain multiple NMT and binary proofs. ::: -Example request: `/prove_shares?height=15&startShare=0&endShare=1` - -Which queries the proof of shares `[0,1)` in block `15`. - -Example response: - -```json -{ - "jsonrpc": "2.0", - "id": -1, - "result": { - "data": [ - "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAAABXAAAACbaAgrOAgqgAQqdAQogL2NlbGVzdGlhLmJsb2IudjEuTXNnUGF5Rm9yQmxvYnMSeQovY2VsZXN0aWExdWc1ZWt0MmNjN250dzRkdG1zZDlsN3N0cTBzN3Z5ZTd5bTJyZHISHQAAAAAAAAAAAAAAAAAAAAAAAAASExIyQkMkMoiZGgKXAiIgrfloW1M/Y33zlD2luveDELZzr9cF92+2eTaImIWhN9pCAQASZwpQCkYKHy9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkSIwohA36hewmW/AXtrw6S+QsNUzFGfeg37Da6igoP2ZQcK+04EgQKAggBGAISEwoNCgR1dGlhEgUyMTAwMBDQ6AwaQClYLQPNrFoD6H8mgmwxjFeNhwhRu39EcrVKMFkNQ8+HHuodhdOQIG/8DXEmrBwrpwj6hi+3uEsZ+0p5vrf3v8sSAQEaBElORFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" - ], - "share_proofs": [ - { - "end": 1, - "nodes": [ - "AAAAAAAAAAAAAAAAAAAAAAAAABITEjJCQyQyiJkAAAAAAAAAAAAAAAAAAAAAAAAAEhMSMkJDJDKImbiwnpOdwIZBFr0UiFhPKwGy/XIIjL+gqm0fqxIw0z0o", - "/////////////////////////////////////////////////////////////////////////////3+fuhlzUfKJnZD8yg/JOtZla2V3g2Q7y+18iH5j0Uxk" - ] - } - ], - "namespace_id": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA==", - "row_proof": { - "row_roots": [ - "000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000121312324243243288993946154604701154F739F3D1B5475786DDD960F06D8708D4E870DA6501C51750" - ], - "proofs": [ - { - "total": "8", - "index": "0", - "leaf_hash": "300xzO8TiLwPNuREY6OJcRKzTHQ4y6yy6qH0wAuMMrc=", - "aunts": [ - "ugp0sV9YNEI5pOiYR7RdOdswwlfBh2o3XiRsmMNmbKs=", - "3dMFZFaWZMTZVXhphF5TxlCJ+CT3EvmMFOpiXFH+ID4=", - "srl59GiTSiwC9LqdYASzFC6TvusyY7njX8/XThp6Xws=" - ] - } - ], - "start_row": 0, - "end_row": 0 - }, - "namespace_version": 0 - } -} -``` +The endpoint can be queried using the golang client: -:::tip NOTE -The values are base64 encoded. For these to be usable -with the solidity smart contract, they need to be converted to `bytes32`. -Check the next section for more information. -::: +```go + sharesProof, err := trpc.ProveShares(ctx, 15, 0, 1) + if err != nil { + ... + } +``` -## Converting the proofs to be usable in the `DAVerifier` contract +## Converting the proofs to be usable in the `DAVerifier` library -The `DAVerifier` smart contract takes the following proof format: +Smart contracts that use the `DAVerifier` library takes the following proof +format: ```solidity /// @notice Contains the necessary parameters to prove that some shares, which were posted to -/// the Celestia network, were committed to by the Blobstream smart contract. +/// the Celestia network, were committed to by the BlobstreamX smart contract. struct SharesProof { // The shares that were committed to. bytes[] data; @@ -162,12 +384,12 @@ struct SharesProof { NamespaceNode[] rowRoots; // The proofs of the rowRoots to the data root. BinaryMerkleProof[] rowProofs; - // The proof of the data root tuple to the data root tuple root that was posted to the Blobstream contract. + // The proof of the data root tuple to the data root tuple root that was posted to the BlobstreamX contract. AttestationProof attestationProof; } /// @notice Contains the necessary parameters needed to verify that a data root tuple -/// was committed to, by the Blobstream smart contract, at some specif nonce. +/// was committed to, by the BlobstreamX smart contract, at some specif nonce. struct AttestationProof { // the attestation nonce that commits to the data root tuple. uint256 tupleRootNonce; @@ -192,33 +414,14 @@ we can convert it to bytes using the `abi.encode(...)` as done for [this variable](https://github.com/celestiaorg/blobstream-contracts/blob/3a552d8f7bfbed1f3175933260e6e440915d2da4/src/lib/verifier/test/RollupInclusionProofs.t.sol#L384-L402). This can be gotten from the above result of the [transaction inclusion proof](#2-transaction-inclusion-proof) -query in the field `data`, which is in `base64` encoded then be -converted to hex to be used as described. +query in the field `data`. ### `shareProofs` This is the shares proof to the row roots. These can contain multiple proofs if the shares containing the blob span across multiple rows. To construct them, we will use the result of the -[transaction inclusion proof](#2-transaction-inclusion-proof) section: - -```json -"share_proofs": [ - { - "start": ..., - "end": ..., - "nodes": [ - "...", - "..." - ] - } -], -``` - -:::tip NOTE -If any of the fields is empty, then it will not be in the response. -For example, if the `start` field is `0`, it will be omitted in the response. -::: +[transaction inclusion proof](#2-transaction-inclusion-proof) section. While the `NamespaceMerkleMultiproof` being: @@ -240,7 +443,8 @@ So, we can construct the `NamespaceMerkleMultiproof` with the following mapping: - `endKey` in the Solidity struct **==** `end` in the query response - `sideNodes` in the Solidity struct **==** `nodes` in the query response -- The `NamespaceNode`, which is the type of the `sideNodes`, is defined as follows: +- The `NamespaceNode`, which is the type of the `sideNodes`, is defined as + follows: ```solidity /// @notice Namespace Merkle Tree node. @@ -284,6 +488,68 @@ An example of doing this can be found in the [RollupInclusionProofs.t.sol](https://github.com/celestiaorg/blobstream-contracts/blob/3a552d8f7bfbed1f3175933260e6e440915d2da4/src/lib/verifier/test/RollupInclusionProofs.t.sol#L465-L477) test. +A golang helper that can be used to make this conversion is as follows: + + + +```go +func toNamespaceMerkleMultiProofs(proofs []*tmproto.NMTProof) []client.NamespaceMerkleMultiproof { + shareProofs := make([]client.NamespaceMerkleMultiproof, len(proofs)) + for i, proof := range proofs { + sideNodes := make([]client.NamespaceNode, len(proof.Nodes)) + for j, node := range proof.Nodes { + sideNodes[j] = *toNamespaceNode(node) + } + shareProofs[i] = client.NamespaceMerkleMultiproof{ + BeginKey: big.NewInt(int64(proof.Start)), + EndKey: big.NewInt(int64(proof.End)), + SideNodes: sideNodes, + } + } + return shareProofs +} + +func minNamespace(innerNode []byte) *client.Namespace { + version := innerNode[0] + var id [28]byte + for i, b := range innerNode[1:28] { + id[i] = b + } + return &client.Namespace{ + Version: [1]byte{version}, + Id: id, + } +} + +func maxNamespace(innerNode []byte) *client.Namespace { + version := innerNode[29] + var id [28]byte + for i, b := range innerNode[30:57] { + id[i] = b + } + return &client.Namespace{ + Version: [1]byte{version}, + Id: id, + } +} + +func toNamespaceNode(node []byte) *client.NamespaceNode { + minNs := minNamespace(node) + maxNs := maxNamespace(node) + var digest [32]byte + for i, b := range node[58:] { + digest[i] = b + } + return &client.NamespaceNode{ + Min: *minNs, + Max: *maxNs, + Digest: digest, + } +} +``` + +with `proofs` being `sharesProof.ShareProofs`. + ### `namespace` Which is the namespace used by the rollup when submitting data to Celestia. @@ -310,25 +576,43 @@ An example can be found in the [RollupInclusionProofs.t.sol](https://github.com/celestiaorg/blobstream-contracts/blob/3a552d8f7bfbed1f3175933260e6e440915d2da4/src/lib/verifier/test/RollupInclusionProofs.t.sol#L488) test. +A method to convert to namespace, provided that the namespace +size is 29, is as follows: + +```go +func namespace(namespaceID []byte) *client.Namespace { + version := namespaceID[0] + var id [28]byte + for i, b := range namespaceID[1:] { + id[i] = b + } + return &client.Namespace{ + Version: [1]byte{version}, + Id: id, + } +} +``` + +with `namespace` being `sharesProof.NamespaceID`. + ### `rowRoots` Which are the roots of the rows where the shares containing the Rollup data are -localised. These can be taken from the `prove_shares` query response: - -```json -"row_proof": -{ - "row_roots": - [ - "..." - ], -}, +localised. + +In golang, the proof can be converted as follows: + +```go +func toRowRoots(roots []bytes.HexBytes) []client.NamespaceNode { + rowRoots := make([]client.NamespaceNode, len(roots)) + for i, root := range roots { + rowRoots[i] = *toNamespaceNode(root.Bytes()) + } + return rowRoots +} ``` -The values inside the `row_roots` are already in hex, and the Solidity type -of the `rowRoots` is `NamespaceNode`. So, we will construct them similar to the -`sideNodes` of the [`shareProofs`](#shareproofs). Except that no base64 -conversion is needed. +with `roots` being `sharesProof.RowProof.RowRoots`. ### `rowProofs` @@ -346,47 +630,52 @@ struct BinaryMerkleProof { } ``` -To construct them, we take the response of the `prove_shares` query: - -```json -"row_proof": { - "row_roots": [ - "..." - ], - "proofs": [ - { - "total": "...", - "index": "...", - "leaf_hash": "...", - "aunts": [ - "...", - "..." - ] - } - ], -``` - +To construct them, we take the response of the `prove_shares` query, and do the following mapping: - `key` in the Solidity struct **==** `index` in the query response - `numLeaves` in the Solidity struct **==** `total` in the query response - `sideNodes` in the Solidity struct **==** `aunts` in the query response -The type of the `sideNodes` is a `bytes32`. So, we take the values in the query -response, we convert them from base64 to hex, then we create the values. +The type of the `sideNodes` is a `bytes32`. An example can be found in the [RollupInclusionProofs.t.sol](https://github.com/celestiaorg/blobstream-contracts/blob/3a552d8f7bfbed1f3175933260e6e440915d2da4/src/lib/verifier/test/RollupInclusionProofs.t.sol#L479-L484) test. +A golang helper to convert the row proofs is as follows: + +```go +func toRowProofs(proofs []*merkle.Proof) []client.BinaryMerkleProof { + rowProofs := make([]client.BinaryMerkleProof, len(proofs)) + for i, proof := range proofs { + sideNodes := make( [][32]byte, len(proof.Aunts)) + for j, sideNode := range proof.Aunts { + var bzSideNode [32]byte + for k, b := range sideNode { + bzSideNode[k] = b + } + sideNodes[j] = bzSideNode + } + rowProofs[i] = client.BinaryMerkleProof{ + SideNodes: sideNodes, + Key: big.NewInt(proof.Index), + NumLeaves: big.NewInt(proof.Total), + } + } +} +``` + +with `proofs` being `sharesProof.RowProof.Proofs`. + ### `attestationProof` This is the proof of the data root to the data root tuple root, which is committed -to in the Blobstream contract: +to in the Blobstream X contract: ```solidity /// @notice Contains the necessary parameters needed to verify that a data root tuple -/// was committed to, by the Blobstream smart contract, at some specif nonce. +/// was committed to, by the BlobstreamX smart contract, at some specif nonce. struct AttestationProof { // the attestation nonce that commits to the data root tuple. uint256 tupleRootNonce; @@ -397,7 +686,7 @@ struct AttestationProof { } ``` -- `tupleRootNonce`: the nonce at which Blobstream committed to the batch containing +- `tupleRootNonce`: the nonce at which Blobstream X committed to the batch containing the block containing the data. - `tuple`: the `DataRootTuple` of the block: @@ -428,43 +717,447 @@ An example can be found in the [RollupInclusionProofs.t.sol](https://github.com/celestiaorg/blobstream-contracts/blob/3a552d8f7bfbed1f3175933260e6e440915d2da4/src/lib/verifier/test/RollupInclusionProofs.t.sol#L488) test. +A golang helper to create an attestation proof: + +```go +func toAttestationProof( + nonce uint64, + height uint64, + blockDataRoot [32]byte, + dataRootInclusionProof merkle.Proof, +) client.AttestationProof { + sideNodes := make( [][32]byte, len(dataRootInclusionProof.Aunts)) + for i, sideNode := range dataRootInclusionProof.Aunts { + var bzSideNode [32]byte + for k, b := range sideNode { + bzSideNode[k] = b + } + sideNodes[i] = bzSideNode + } + + return client.AttestationProof{ + TupleRootNonce: big.NewInt(int64(nonce)), + Tuple: client.DataRootTuple{ + Height: big.NewInt(int64(height)), + DataRoot: blockDataRoot, + }, + Proof: client.BinaryMerkleProof{ + SideNodes: sideNodes, + Key: big.NewInt(dataRootInclusionProof.Index), + NumLeaves: big.NewInt(dataRootInclusionProof.Total), + }, + } +} +``` + +with the `nonce` being the attestation nonce, which can be retrieved using `BlobstreamX` +contract events. Check below for an example. And `height` being the Celestia +Block height that contains the rollup data, along with the `blockDataRoot` being +the data root of the block height. Finally, `dataRootInclusionProof` is the +Celestia block data root inclusion proof to the data root tuple root that +was queried in the begining of this page. + If the `dataRoot` or the `tupleRootNonce` is unknown during the verification: -- `dataRoot`: can be queried using the `/block?height=15` query (`15` in this - example endpoint), and taking the `data_hash` field from the response. -- `tupleRootNonce`: can be retried using a `gRPC` query to the app to the - [`/qgb/v1/data_commitment/range/height`](https://github.com/celestiaorg/celestia-app/blob/c517bd27c4e0b3d6e4521a7d2946662cb0f19f1d/proto/celestia/qgb/v1/query.proto#L51-L56) - endpoint. An example can be found in the - [`verify`](https://github.com/celestiaorg/celestia-app/blob/c517bd27c4e0b3d6e4521a7d2946662cb0f19f1d/x/blobstream/client/verify.go#L245-L251) - command. +- `dataRoot`: can be queried using the `/block?height=15` query + (`15` in this example endpoint), and taking the `data_hash` + field from the response. +- `tupleRootNonce`: can be retried via querying the + `BlobstreamXDataCommitmentStored` events from the BlobstreamX + contract and looking for the nonce attesting to the + corresponding data. An example: -## High-level diagrams + -The two diagrams below summarize how a single share is committed to in Blobstream. -The share is highlighted in green. `R0`, `R1`, etc represent the respective row and -column roots, the blue and pink gradients are erasure encoded data. More details -on the square layout can be found -[in the data square layout](https://github.com/celestiaorg/celestia-app/blob/v1.1.0/specs/src/specs/data_square_layout.md) -and -[data structures](https://github.com/celestiaorg/celestia-app/blob/v1.1.0/specs/src/specs/data_structures.md#erasure-coding) -portion of the specs. +```go + // get the nonce corresponding to the block height that contains the PayForBlob transaction + // since BlobstreamX emits events when new batches are submitted, we will query the events + // and look for the range committing to the blob + // first, connect to an EVM RPC endpoint + ethClient, err := ethclient.Dial("evm_rpc_endpoint") + if err != nil { + return err + } + defer ethClient.Close() + + // use the BlobstreamX contract binding + wrapper, err := blobstreamxwrapper.NewBlobstreamX(ethcmn.HexToAddress("contract_Address"), ethClient) + if err != nil { + return err + } + + LatestBlockNumber, err := ethClient.BlockNumber(ctx) + if err != nil { + return err + } + + eventsIterator, err := wrapper.FilterDataCommitmentStored( + &bind.FilterOpts{ + Context: ctx, + Start: LatestBlockNumber - 90000, // 90000 can be replaced with the range of EVM blocks to look for the events in + End: &LatestBlockNumber, + }, + nil, + nil, + nil, + ) + if err != nil { + return err + } + + var event *blobstreamxwrapper.BlobstreamXDataCommitmentStored + for eventsIterator.Next() { + e := eventsIterator.Event + if int64(e.StartBlock) <= tx.Height && tx.Height < int64(e.EndBlock) { + event = &blobstreamxwrapper.BlobstreamXDataCommitmentStored{ + ProofNonce: e.ProofNonce, + StartBlock: e.StartBlock, + EndBlock: e.EndBlock, + DataCommitment: e.DataCommitment, + } + break + } + } + if err := eventsIterator.Error(); err != nil { + return err + } + err = eventsIterator.Close() + if err != nil { + return err + } + if event == nil { + return fmt.Errorf("couldn't find range containing the block height") + } +``` -### The Celestia square +### Listening for new data commitments -![Square](/img/blobstream/blobstream-square.png) +For listening for new `BlobstreamXDataCommitmentStored` events, sequencers can +use the `WatchDataCommitmentStored` as follows: -### The commitment scheme +```go + ethClient, err := ethclient.Dial("evm_rpc") + if err != nil { + return err + } + defer ethClient.Close() + blobstreamWrapper, err := blobstreamxwrapper.NewBlobstreamXFilterer(ethcmn.HexToAddress("contract_address"), ethClient) + if err != nil { + return err + } -![Blobstream Commitment Diagram](/img/blobstream/blobstream-commitment-diagram.png) + eventsChan := make(chan *blobstreamxwrapper.BlobstreamXDataCommitmentStored, 100) + subscription, err := blobstreamWrapper.WatchDataCommitmentStored( + &bind.WatchOpts{ + Context: ctx, + }, + eventsChan, + nil, + nil, + nil, + ) + if err != nil { + return err + } + defer subscription.Unsubscribe() + + for { + select { + case <-ctx.Done(): + return ctx.Err() + case err := <-subscription.Err(): + return err + case event := <-eventsChan: + // process the event + fmt.Println(event) + } + } +``` + + + +Then, new proofs can be created as documented above using the new +data commitments contained in the received events. + +### Example rollup that uses the DAVerifier + +An example rollup that uses the DAVerifier can be as simple as: + + + +```solidity +pragma solidity ^0.8.22; + +import {DAVerifier} from "@blobstream/lib/verifier/DAVerifier.sol"; +import {IDAOracle} from "@blobstream/IDAOracle.sol"; + +contract SimpleRollup { + IDAOracle bridge; + ... + function submitFraudProof(SharesProof memory _sharesProof, bytes32 _root) public { + // (1) verify that the data is committed to by BlobstreamX contract + (bool committedTo, DAVerifier.ErrorCodes err) = DAVerifier.verifySharesToDataRootTupleRoot(bridge, _sharesProof, _root); + if (!committedTo) { + revert("the data was not committed to by Blobstream"); + } + // (2) verify that the data is part of the rollup block + // (3) parse the data + // (4) verify invalid state transition + // (5) effects + } +} +``` + +Then, you can submit the fraud proof using golang as follows: + +```go +package main + +import ( + "context" + "fmt" + "github.com/celestiaorg/celestia-app/pkg/square" + "github.com/celestiaorg/celestia-app/x/qgb/client" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + ethcmn "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/ethclient" + blobstreamxwrapper "github.com/succinctlabs/blobstreamx/bindings" + "github.com/tendermint/tendermint/crypto/merkle" + "github.com/tendermint/tendermint/libs/bytes" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/tendermint/tendermint/rpc/client/http" + "github.com/tendermint/tendermint/types" + "math/big" + "os" +) + +func main() { + err := verify() + if err != nil { + fmt.Println(err) + os.Exit(1) + } +} + +func verify() error { + ctx := context.Background() + + + // ... + // check the first section for this part of the implementation + + // get the nonce corresponding to the block height that contains the PayForBlob transaction + // since Blobstream X emits events when new batches are submitted, we will query the events + // and look for the range committing to the blob + // first, connect to an EVM RPC endpoint + ethClient, err := ethclient.Dial("evm_rpc_endpoint") + if err != nil { + return err + } + defer ethClient.Close() + + // ... + // check the first section for this part of the implementation + + // now we will create the shares proof to be verified by the SimpleRollup + // contract that uses the DAVerifier library + + // get the proof of the shares containing the blob to the data root + sharesProof, err := trpc.ProveShares(ctx, 16, uint64(blobShareRange.Start), uint64(blobShareRange.End)) + if err != nil { + return err + } + + // use the SimpleRollup contract binding to submit to it a fraud proof + simpleRollupWrapper, err := client.NewWrappers(ethcmn.HexToAddress("contract_Address"), ethClient) + if err != nil { + return err + } + + // submit the fraud proof containing the share data that had the invalid state transition for example + // along with its proof + err = submitFraudProof( + ctx, + simpleRollupWrapper, + sharesProof, + event.ProofNonce.Uint64(), + uint64(tx.Height), + dcProof.Proof, + blockRes.Block.DataHash, + ) + + return nil +} + +func submitFraudProof( + ctx context.Context, + simpleRollup *client.Wrappers, + sharesProof types.ShareProof, + nonce uint64, + height uint64, + dataRootInclusionProof merkle.Proof, + dataRoot []byte, +) error { + var blockDataRoot [32]byte + for i, b := range dataRoot[58:] { + blockDataRoot[i] = b + } + tx, err := simpleRollup.SubmitFraudProof( + &bind.TransactOpts{ + Context: ctx, + }, + client.SharesProof{ + Data: sharesProof.Data, + ShareProofs: toNamespaceMerkleMultiProofs(sharesProof.ShareProofs), + Namespace: *namespace(sharesProof.NamespaceID), + RowRoots: toRowRoots(sharesProof.RowProof.RowRoots), + RowProofs: toRowProofs(sharesProof.RowProof.Proofs), + AttestationProof: toAttestationProof(nonce, height, blockDataRoot, dataRootInclusionProof), + }, + blockDataRoot, + ) + if err != nil { + return err + } + // wait for transaction +} + +func toAttestationProof( + nonce uint64, + height uint64, + blockDataRoot [32]byte, + dataRootInclusionProof merkle.Proof, +) client.AttestationProof { + sideNodes := make( [][32]byte, len(dataRootInclusionProof.Aunts)) + for i, sideNode := range dataRootInclusionProof.Aunts { + var bzSideNode [32]byte + for k, b := range sideNode { + bzSideNode[k] = b + } + sideNodes[i] = bzSideNode + } + + return client.AttestationProof{ + TupleRootNonce: big.NewInt(int64(nonce)), + Tuple: client.DataRootTuple{ + Height: big.NewInt(int64(height)), + DataRoot: blockDataRoot, + }, + Proof: client.BinaryMerkleProof{ + SideNodes: sideNodes, + Key: big.NewInt(dataRootInclusionProof.Index), + NumLeaves: big.NewInt(dataRootInclusionProof.Total), + }, + } +} + +func toRowRoots(roots []bytes.HexBytes) []client.NamespaceNode { + rowRoots := make([]client.NamespaceNode, len(roots)) + for i, root := range roots { + rowRoots[i] = *toNamespaceNode(root.Bytes()) + } + return rowRoots +} + +func toRowProofs(proofs []*merkle.Proof) []client.BinaryMerkleProof { + rowProofs := make([]client.BinaryMerkleProof, len(proofs)) + for i, proof := range proofs { + sideNodes := make( [][32]byte, len(proof.Aunts)) + for j, sideNode := range proof.Aunts { + var bzSideNode [32]byte + for k, b := range sideNode { + bzSideNode[k] = b + } + sideNodes[j] = bzSideNode + } + rowProofs[i] = client.BinaryMerkleProof{ + SideNodes: sideNodes, + Key: big.NewInt(proof.Index), + NumLeaves: big.NewInt(proof.Total), + } + } +} + +func toNamespaceMerkleMultiProofs(proofs []*tmproto.NMTProof) []client.NamespaceMerkleMultiproof { + shareProofs := make([]client.NamespaceMerkleMultiproof, len(proofs)) + for i, proof := range proofs { + sideNodes := make([]client.NamespaceNode, len(proof.Nodes)) + for j, node := range proof.Nodes { + sideNodes[j] = *toNamespaceNode(node) + } + shareProofs[i] = client.NamespaceMerkleMultiproof{ + BeginKey: big.NewInt(int64(proof.Start)), + EndKey: big.NewInt(int64(proof.End)), + SideNodes: sideNodes, + } + } + return shareProofs +} + +func minNamespace(innerNode []byte) *client.Namespace { + version := innerNode[0] + var id [28]byte + for i, b := range innerNode[1:28] { + id[i] = b + } + return &client.Namespace{ + Version: [1]byte{version}, + Id: id, + } +} + +func maxNamespace(innerNode []byte) *client.Namespace { + version := innerNode[29] + var id [28]byte + for i, b := range innerNode[30:57] { + id[i] = b + } + return &client.Namespace{ + Version: [1]byte{version}, + Id: id, + } +} + +func toNamespaceNode(node []byte) *client.NamespaceNode { + minNs := minNamespace(node) + maxNs := maxNamespace(node) + var digest [32]byte + for i, b := range node[58:] { + digest[i] = b + } + return &client.NamespaceNode{ + Min: *minNs, + Max: *maxNs, + Digest: digest, + } +} + +func namespace(namespaceID []byte) *client.Namespace { + version := namespaceID[0] + var id [28]byte + for i, b := range namespaceID[1:] { + id[i] = b + } + return &client.Namespace{ + Version: [1]byte{version}, + Id: id, + } +} +``` + +For the step (2), check the [rollup inclusion proofs documentation](https://github.com/celestiaorg/blobstream-contracts/blob/master/docs/inclusion-proofs.md) +for more information. ## Conclusion After creating all the proofs, and verifying them: 1. Verify inclusion proof of the transaction to Celestia data root -2. Prove that the data root tuple is committed to by the Blobstream smart contract +2. Prove that the data root tuple is committed to by the Blobstream X smart + contract -We can be sure that the data was published to Celestia. +We can be sure that the data was published to Celestia, and then rollups can +proceed with their normal fraud proving mechanism. :::tip NOTE The above proof constructions are implemented in Solidity, diff --git a/developers/blobstream-x-deploy.md b/developers/blobstream-x-deploy.md new file mode 100644 index 00000000000..270c93db302 --- /dev/null +++ b/developers/blobstream-x-deploy.md @@ -0,0 +1,13 @@ +# Non-canonical Blobstream X deployments + +If you want to deploy Blobstream X to a new chain, where a +canonical Succinct Gateway contract does not exist, you +need to do the following. + +## Deploy a new `SuccinctGateway` contract + +[Deploy a new `SuccinctGateway` contract to the new chain](https://docs.succinct.xyz/platform/onchain-integration#gateway-deployment). + +## Deploy a `BlobstreamX` contract to the new chain + +[Follow the guide to use your deployed `SuccinctGateway` to deploy a new Blobstream X contract](https://github.com/succinctlabs/blobstreamx?tab=readme-ov-file#deploy-blobstream-x-contract). diff --git a/developers/blobstream.md b/developers/blobstream.md index d26ef945b6f..def660a771a 100644 --- a/developers/blobstream.md +++ b/developers/blobstream.md @@ -2,10 +2,12 @@ description: Learn how to integrate your L2 with Blobstream --- -# Integrate with Blobstream +# Blobstream: Streaming modular DA to Ethereum ![Blobstream logo](/img/blobstream/blobstream_logo.png) +## What is Blobstream? + [Blobstream](https://blog.celestia.org/introducing-blobstream/) is the first data availability solution for Ethereum that securely scales with the number of users. Formerly known as the [Quantum Gravity Bridge (QGB)](https://blog.celestia.org/celestiums/), @@ -14,79 +16,106 @@ on Ethereum, for integration by developers into L2 contracts. This enables Ether developers to build high-throughput L2s using Celestia's optimised DA layer, the first with Data Availability Sampling (DAS). -The following docs go over how developers can integrate Blobstream. -There are also docs on how to run a [Blobstream orchestrator](../nodes/blobstream-binary.md) -as a Celestia validator which won't be covered in the following sections -aimed at developers. - -## Overview - -Blobstream, -consists of two components: an [orchestrator](../nodes/blobstream-orchestrator.md) -and a [relayer](../nodes/blobstream-relayer.md). - -In the following diagram, we show how a layer 2 (L2) would post data to -Celestia and then verify that it was published in the target EVM chain. - -![Blobstream-Architecture](/img/blobstream/Blobstream.png) - -Data will first be attested to by the Celestia validator set, _i.e._ -signing commitments committing to the data. Then, these signatures will be -relayed to the target EVM chain (in this case, Ethereum). Finally, -the L2, or any party, will be able to verify that the data was published -to Celestia directly on the EVM chain on the Blobstream smart contract. You can -reference [the Blobstream smart contract](https://github.com/celestiaorg/blobstream-contracts/blob/master/src/Blobstream.sol). - -The **orchestrator** is part of the validator setup and works as follows: - -- celestia-app creates an attestation on the state machine level that needs to - be signed -- The orchestrator queries the attestation, signs it, then submits the signature - to the Blobstream P2P network - -The **relayer** submits the attestations' signatures from the Blobstream -P2P network to the target EVM chain. +An implementation of Blobstream, by [Succinct](https://docs.succinct.xyz/), called +[Blobstream X](https://github.com/succinctlabs/blobstreamx), is out +and will be used in the canonical deployments. This implementation proves the +validity of Celestia block headers on a target EVM chain using zero-knowledge (ZK) +proofs, which allow inheriting all the security +guarantees of Celestia. + +## What is Blobstream X? + +Blobstream X is an implementation of Blobstream with a +ZK light client that bridges Celestia’s modular DA layer to +Ethereum to allow high-throughput rollups to use Celestia’s DA while settling +on Ethereum. + +Optimistic or ZK rollups that settle on Ethereum, but wish to use Celestia for +DA, require a mechanism for _bridging_ Celestia’s data root to Ethereum as part +of the settlement process. This data root is used during inclusion proofs to +prove that particular rollup transactions were included and made available in +the Celestia network. + +Bridging Celestia’s data root to Ethereum requires running a Celestia +_light client_ as a smart contract on Ethereum, to make the latest state +of the Celestia chain known on Ethereum and available to rollups. Blobstream +X utilizes the latest advances in ZK proofs to generate a +_succinct proof_ that enough Celestia validators have come to consensus +(according to the CometBFT consensus protocol) on a block header, and +verifies this proof in the Blobstream X Ethereum smart contract to update +it with the latest Celestia header. + +The Blobstream X ZK proof not only verifies the consensus of +Celestia validators, but it also merkelizes and hashes all the data roots +in the block range from the previous update to the current update, making +accessible all Celestia data roots (verifiable with a Merkle inclusion proof +against the stored Merkle root) to rollups. + +Blobstream X is built and deployed with +[Succinct's protocol](https://docs.succinct.xyz). + +![blobstream x draft diagram](/img/blobstream/Celestia_Blobstream_X1b.png) + +## Integrate with Blobstream X + +The following docs go over how developers can integrate Blobstream X. + +You can [find the repository for Blobstream X](https://github.com/succinctlabs/blobstreamx) +along with code for: + +- [The Blobstream X smart contract - `BlobstreamX.sol`](https://github.com/succinctlabs/blobstreamx/blob/main/contracts/src/BlobstreamX.sol) +- [The Blobstream X circuits](https://alpha.succinct.xyz/celestia/blobstreamx) +- [The Blobstream X contract Golang bindings](https://github.com/succinctlabs/blobstreamx/blob/main/bindings/BlobstreamX.go) + +Canonical deployments of Blobstream X will be maintained on the +following chains: Arbitrum One, Base and Ethereum Mainnet. Every 1 +hour, Succinct will post an update to the Blobstream X contract +that will include a new data commitment range that covers a 1-hour +block range from the `latestBlock` in the Blobstream X contract. +On Ethereum Mainnet, the Blobstream X contract will be updated +every 4 hours. :::tip NOTE -If the contract is still not deployed, then it needs to be -deployed before it is used by the relayer. See the -[deployment documentation](../nodes/blobstream-deploy.md) for more details. +Custom ranges can be requested using the `BlobstreamX` contract +to create proofs for specific Celestia block batches. These ranges +can be constructed as `[latestBlock, customTargetBlock)`, with +`latestBlock` is the latest block height that was committed to by the +`BlobstreamX` contract, and `latestBlock > customTargetBlock`, +and `customTargetBlock - latestBlock <= DATA_COMMITMENT_MAX`. + +Block ranges that are before the contract's `latestBlock` can't be +proven a second time in different batches. + +More information can be found in the [`requestHeaderRange(...)`](https://github.com/succinctlabs/blobstreamx/blob/364d3dc8c8dc9fd44b6f9f049cfb18479e56cec4/contracts/src/BlobstreamX.sol#L78-L101) +method. ::: -## How Blobstream works - -Blobstream allows Celestia block header data roots to be relayed in one -direction, from Celestia to an EVM chain. It does not support bridging -assets such as fungible or non-fungible tokens directly, and cannot send -messages from the EVM chain back to Celestia. +### How Blobstream X works -It works by relying on a set of signers to attest to some event on Celestia: -the Celestia validator set. The Blobstream contract keeps track of the -Celestia validator set by updating its view of the validator set with -`updateValidatorSet()`. More than 2/3 of the voting power of the current -view of the validator set must sign off on new relayed events, submitted with -`submitDataRootTupleRoot()`. Each event is a batch of `DataRootTuple`s, with -each tuple representing a single -[data root (i.e. block header)](https://celestiaorg.github.io/celestia-app/specs/data_structures.html#header). -Relayed tuples are in the same order as Celestia block headers. +As shown in the diagram below, the entrypoint for updates to the Blobstream +X contract is through the `SuccinctGateway` smart contract, which is a +simple entrypoint contract that verifies proofs (against a deployed +onchain verifier for the Blobstream X circuit) and then calls the +`BlobstreamX.sol` contract to update it. +[Find more information about the `SuccinctGateway`](https://docs.succinct.xyz/platform/onchain-integration#succinct-gateway). -![Blobstream attestation flow](/img/blobstream/Celestia_Blobstream_attestation_flow.jpg) +![blobstream x overview diagram draft](/img/blobstream/Celestia_Blobstream_X2b.png) -### Events and messages relayed + -**Validator sets**: -The relayer informs the Blobstream contract who are the current -validators and their power. -This results in an execution of the `updateValidatorSet` function. - -**Batches**: -The relayer informs the Blobstream contract of new data root tuple roots. -This results in an execution of the `submitDataRootTupleRoot` function. +:::tip NOTE +If the Blobstream X contract is not deployed on a desired chain, +it needs to be deployed before it can be used by your rollup. See the +[deployment documentation](https://docs.succinct.xyz/platform/onchain-integration#gateway-deployment) +for more details. +::: -## How to integrate +### How to integrate with Blobstream X -Integrating your L2 with Blobstream requires two components: your onchain smart -contract logic, and your offchain client logic. The next three sections cover these +Integrating your L2 with Blobstream X requires two components: your +[onchain smart contract logic](./blobstream-x-contracts.md), +and your [offchain client logic for your rollup](./blobstream-x-offchain.md). +The next three sections cover these topics: - [Integrate with Blobstream contracts](./blobstream-contracts.md) @@ -95,16 +124,19 @@ topics: ### Deployed contracts -You can interact with the Blobstream contracts today on testnet. The Blobstream Solidity -smart contracts are currently deployed on the following Ethereum testnets: +You can interact with the Blobstream X contracts today on testnet. The +Blobstream X Solidity smart contracts are currently deployed on +the following Ethereum testnets: -| Contract | EVM network | Contract address | Attested data | +| Contract | EVM network | Contract address | Attested data on Celestia | | ------------ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------- | -| Blobstream | Sepolia | [`0x3a5cbB6EF4756DA0b3f6DAE7aB6430fD8c46d247`](https://sepolia.etherscan.io/address/0x3a5cbB6EF4756DA0b3f6DAE7aB6430fD8c46d247) | Mocha testnet | -| Blobstream | Arbitrum Sepolia | [`0x040769edbca5218e616c8eb16e4faea49ced5e33`](https://sepolia.arbiscan.io/address/0x040769edbca5218e616c8eb16e4faea49ced5e33) | Mocha testnet | -| Blobstream X | Goerli | [`0x67ea962864cdad3f2202118dc6f65ff510f7bb4d`](https://goerli.etherscan.io/address/0x67ea962864cdad3f2202118dc6f65ff510f7bb4d) | Mocha testnet | +| Blobstream X | Ethereum Mainnet | [`Not yet deployed`](https://etherscan.io/address/0xTODO) | [Mainnet Beta](../nodes/mainnet.md) | +| Blobstream X | Arbitrum One | [`Not yet deployed`](https://arbiscan.io/address/0xTODO) | [Mainnet Beta](../nodes/mainnet.md) | +| Blobstream X | Base | [`Not yet deployed`](https://goerli.etherscan.io/address/0xTODO) | [Mainnet Beta](../nodes/mainnet.md) | +| Blobstream X | Ethereum Sepolia | [`Not yet deployed`](https://sepolia.etherscan.io/address/0x48B257EC1610d04191cC2c528d0c940AdbE1E439) | [Mainnet Beta](../nodes/mainnet.md) | +| Blobstream X | Arbitrum Sepolia | [`Not yet deployed`](https://sepolia.arbiscan.io/address/0xTODO) | [Mocha testnet](../nodes/mocha-testnet.md) | @@ -113,9 +145,7 @@ smart contracts are currently deployed on the following Ethereum testnets: ### Decentralization and security Blobstream is built on Celestia, which uses a CometBFT-based proof-of-stake -system. An incorrect data availability attestation in this system will -ultimately be penalized (currently not implemented), ensuring validators -act in good faith. Thus, Blobstream shares the same security assumptions +system. Blobstream shares the same security assumptions as Celestia. In contrast, data availability committees (DACs), are typically centralized or semi-centralized, relying on a specific set of entities or individuals to vouch for data availability. @@ -130,8 +160,8 @@ attestations or confirmations from its permissioned members. ### Flexibility and scalability -Blobstream is designed to offer high-throughput data availability for Ethereum L2s, -aiming to strike a balance between scalability and security. It operates +Blobstream is designed to offer high-throughput data availability for Ethereum +L2s, aiming to strike a balance between scalability and security. It operates independently of Ethereum's gas costs, as Celestia's resource pricing is more byte-focused rather than computation-centric. On the other hand, the scalability and flexibility of a DAC would depend on its specific design and implementation. diff --git a/developers/requesting-data-commitment-ranges.md b/developers/requesting-data-commitment-ranges.md new file mode 100644 index 00000000000..fab49c36556 --- /dev/null +++ b/developers/requesting-data-commitment-ranges.md @@ -0,0 +1,57 @@ +# Requesting data commitment ranges + +By default, the Succinct team will be maintaining canonical Blobstream X +deployments on Ethereum, updating every 4 hours, and on Arbitrum One +and Base, updating every 1 hour. If you wish for the Blobstream X contract +to be updated at a different cadence, then you have several different +options for how to update the smart contract. + +To request proofs to be submitted to the Blobstream X contract at a +different cadence, you can do one of the following: + +## Recommended setup + +Run the Blobstream X operator with hosted proving on the Succinct +platform, by running an operator script that pings the platform with +proof requests at a specified cadence. + +[Follow these instructions to run the operator script](https://github.com/succinctlabs/blobstreamx?tab=readme-ov-file#operator-with-hosted-proving). + +Here are example values for the `.env` file: + +1. `TENDERMINT_RPC_URL` from + [the public Celestia list](https://docs.celestia.org/nodes/mainnet#consensus-nodes). +2. `SUCCINCT_RPC_URL` = `https://alpha.succinct.xyz/api` +3. Request for `SUCCINCT_API_KEY` from + [the Succinct team](https://alpha.succinct.xyz/partner). +4. `CHAIN_ID` is the chain ID of the deployed Blobstream X contract. +5. `CONTRACT_ADDRESS`: Blobstream X proxy contract address. +6. `NEXT_HEADER_FUNCTION_ID` & `HEADER_RANGE_FUNCTION_ID`: Get the + `functionId`'s from the Blobstream X contract by using the + `nextHeaderFunctionId` and `headerRangeFunctionId` respectively, + which are public storage variables. + +## Local proving + +[Run the Blobstream X operator with local proving](https://github.com/succinctlabs/blobstreamx?tab=readme-ov-file#local-proving--relaying). + +:::tip +Note: Requires a large cloud machine to run in a reasonable +amount of time. EC2 r6a.16xlarge takes ~30 minutes to generate a +header range proof. +::: + +## Request proof onchain + +Directly request a proof via the Blobstream X contract interface. +Unlike the Blobstream X operator which handles requests off-chain, +requesting on-chain requires gas, but the proof will be generated +and relayed by the Succinct platform. + +1. Call `requestHeaderRange(uint64 _targetBlock)` with the end + of the range you want a commitment for. + +2. A `DataCommitmentStored(uint256, uint64, uint64, bytes32)` + will be emitted for the requested range when it is stored in the + contract. Listen to this event to know that the proof has been + generated successfully. diff --git a/importBlobstream.mjs b/importBlobstream.mjs deleted file mode 100644 index d83ebdc69de..00000000000 --- a/importBlobstream.mjs +++ /dev/null @@ -1,42 +0,0 @@ -import fs from 'fs'; -import fetch from 'node-fetch'; - -const filesToImport = [ - { - url: 'https://raw.githubusercontent.com/celestiaorg/orchestrator-relayer/main/docs/deploy.md', - fileName: 'blobstream-deploy.md', - }, - { - url: 'https://raw.githubusercontent.com/celestiaorg/orchestrator-relayer/main/docs/keys.md', - fileName: 'blobstream-keys.md', - }, - { - url: 'https://raw.githubusercontent.com/celestiaorg/orchestrator-relayer/main/docs/orchestrator.md', - fileName: 'blobstream-orchestrator.md', - }, - { - url: 'https://raw.githubusercontent.com/celestiaorg/orchestrator-relayer/main/docs/relayer.md', - fileName: 'blobstream-relayer.md', - }, - { - url: 'https://raw.githubusercontent.com/celestiaorg/orchestrator-relayer/main/docs/bootstrapper.md', - fileName: 'blobstream-bootstrapper.md', - } -]; - -async function importMarkdown(file) { - try { - const response = await fetch(file.url); - if (response.ok) { - const markdown = await response.text(); - fs.writeFileSync(`./nodes/${file.fileName}`, markdown); - console.log(`Markdown file '${file.fileName}' successfully imported!`); - } else { - console.error(`Error fetching the markdown file: ${response.statusText}`); - } - } catch (error) { - console.error(`Error importing the markdown file: ${error.message}`); - } -} - -filesToImport.forEach(importMarkdown); diff --git a/nodes/blobstream-binary.md b/nodes/blobstream-binary.md deleted file mode 100644 index c08814c96ab..00000000000 --- a/nodes/blobstream-binary.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -description: This guide shows you how to install the Blobstream binary. ---- - -# Blobstream for validators - -[Blobstream](https://blog.celestia.org/introducing-blobstream/) -allows Ethereum developers to build high-throughput L2s using Celestia, -the first data availability layer with data availability sampling. - -This page and following tutorials will go over Blobstream and how validators -on Celestia can run it. - -If you're looking to learn more, you can view -[the `orchestrator-relayer` repository](https://github.com/celestiaorg/orchestrator-relayer) -or [read more about how Blobstream works](../developers/blobstream.md#overview). - -## Install the Blobstream binary - - - - -The [orchestrator](./blobstream-orchestrator.md) is the software that signs the -Blobstream attestations, and the [relayer](./blobstream-relayer.md) is the -software that relays them to the target EVM chain. - -The following sections in this category presume you have the following setup: - -- A celestia-app - [validator node](./consensus-node.md#optional-setting-up-a-validator) running -- The following hardware minimum requirements for running the orchestrator: - - Memory: **2 GB RAM** - - CPU: **1 core** - - Disk: **10 GB SSD Storage** - -### Install - -1. [Install Go](https://go.dev/doc/install) {{constants.golangBlobstream}} - -2. Clone the `https://github.com/celestiaorg/orchestrator-relayer` repository: - - ```bash-vue - git clone https://github.com/celestiaorg/orchestrator-relayer.git - cd orchestrator-relayer - git checkout {{constants.orchrelayVersion}} - ``` - - These commands check you out to: - of @celestiaorg/orchestrator-relayer - -3. Install the Blobstream CLI - - ```sh - make install - ``` - -### Usage - -```sh -# Print help -blobstream --help -``` - -### Next steps - -1. If you are a Celestia validator, all you need to do is run the - orchestrator. Check out - [the Blobstream orchestrator page](./blobstream-orchestrator.md) for more details. -2. [Learn about key management](./blobstream-keys.md) -3. Optional: If you want to post commitments on an EVM chain, you will need to deploy - a new Blobstream contract and run a relayer, - or run a relayer for an already deployed Blobstream contract. Check out - [the Blobstream relayer page](./blobstream-relayer.md) for - relayer docs and [the Blobstream deployment page](./blobstream-deploy.md) for - how to deploy a new Blobstream contract. -4. Optional: [Learn how to run a Blobstream bootstrapper node](./blobstream-bootstrapper.md) - -:::tip -The Blobstream P2P network is a separate network than the consensus or -the data availability one. Thus, you will need its specific -bootstrappers to be able to connect to it. -::: - -### Useful links - -The smart contract implementation is in [blobstream-contracts](https://github.com/celestiaorg/blobstream-contracts/). - -The state machine implementation is in [x/blobstream](https://github.com/celestiaorg/celestia-app/tree/main/x/blobstream). - -Blobstream ADRs are in [the docs](https://github.com/celestiaorg/celestia-app/tree/main/docs/architecture). - -Blobstream design explained in [this blog post on layer 2s](https://blog.celestia.org/celestiums/). diff --git a/nodes/blobstream-bootstrapper.md b/nodes/blobstream-bootstrapper.md deleted file mode 100644 index a814e9715e4..00000000000 --- a/nodes/blobstream-bootstrapper.md +++ /dev/null @@ -1,62 +0,0 @@ -# Blobstream bootstrapper - -To bootstrap the Blobstream P2P network, we use the bootstrapper Blobstream -node type to accept connections from freshly created orchestrators/relayers -and share its peer table with them. - -## How to run - -### Install the Blobstream binary - -Make sure to have the Blobstream binary installed. Check -[the Blobstream binary page](https://docs.celestia.org/nodes/blobstream-binary) -for more details. - -### Init the store - -Before starting the bootstrapper, we will need to init the store: - -```sh -blobstream bootstrapper init -``` - -By default, the store will be created in `~/.bootstrapper`. However, -if you want to specify a custom location, you can use the `--home` flag. -Or, you can use the following environment variable: - - - -| Variable | Explanation | Default value | Required | -| ------------------- | ----------------------------------- | ----------------- | -------- | -| `BOOTSTRAPPER_HOME` | Home directory for the bootstrapper | `~/.bootstrapper` | Optional | - -### Add keys - -The P2P private key is optional, and a new one will be generated automatically -on the start if none is provided. - -The `p2p` sub-command will help you set up this key if you want to use a specific -one: - -```sh -blobstream bootstrapper p2p --help -``` - -### Open the P2P port - -In order for the bootstrapper node to work, you will need to expose the P2P -port, which is by default `30000`. - -### Start the bootstrapper - -Now that we have the store initialized, we can start the bootstrapper: - -```shell -blobstream bootstrapper start -``` - -#### Systemd service - -An example of a systemd service that can be used for bootstrappers can be -found in the -[orchestrator documentation](https://docs.celestia.org/nodes/blobstream-orchestrator). diff --git a/nodes/blobstream-deploy.md b/nodes/blobstream-deploy.md deleted file mode 100644 index 5e775a8ef9d..00000000000 --- a/nodes/blobstream-deploy.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -sidebar_label: Deploy the Blobstream contract -description: Learn how to deploy the Blobstream smart contract. ---- - -# Deploy the Blobstream contract - - - -The `deploy` is a helper command that allows deploying the Blobstream smart contract to a new EVM chain: - -```sh -blobstream deploy --help - -Deploys the Blobstream contract and initializes it using the provided Celestia chain - -Usage: - blobstream deploy [flags] - blobstream deploy [command] - -Available Commands: - keys Blobstream keys manager -``` - -## How to run - -### Install the Blobstream binary - -Make sure to have the Blobstream binary installed. Check [the Blobstream binary page](https://docs.celestia.org/nodes/blobstream-binary) for more details. - -### Add keys - -In order to deploy a Blobstream smart contract, you will need a funded EVM address and its private key. The `keys` command will help you set up this key: - -```sh -blobstream deploy keys --help -``` - -To import your EVM private key, there is the `import` subcommand to assist you with that: - -```sh -blobstream deploy keys evm import --help -``` - -This subcommand allows you to either import a raw ECDSA private key provided as plaintext, or import it from a file. The files are JSON keystore files encrypted using a passphrase like in [this example](https://geth.ethereum.org/docs/developers/dapp-developer/native-accounts). - -After adding the key, you can check that it's added via running: - -```sh -blobstream deploy keys evm list -``` - -For more information about the `keys` command, check [the `keys` documentation](https://docs.celestia.org/nodes/blobstream-keys). - -### Deploy the contract - -Now, we can deploy the Blobstream contract to a new EVM chain: - -```sh -blobstream deploy \ - --evm.chain-id 4 \ - --core.grpc localhost:9090 \ - --core.rpc localhost:26657 \ - --starting-nonce latest \ - --evm.rpc http://localhost:8545 -``` - -The `--starting-nonce` can have the following values: - -- `latest`: to deploy the Blobstream contract starting from the latest validator set. -- `earliest`: to deploy the Blobstream contract starting from genesis. -- `nonce`: you can provide a custom nonce on where you want Blobstream to start. If the provided nonce is not a `Valset` attestation, then the valset before it will be used to deploy the Blobstream smart contract. - -And, now you will see the Blobstream smart contract address in the logs along with the transaction hash. diff --git a/nodes/blobstream-keys.md b/nodes/blobstream-keys.md deleted file mode 100644 index ea9d87d91b4..00000000000 --- a/nodes/blobstream-keys.md +++ /dev/null @@ -1,362 +0,0 @@ ---- -sidebar_label: Key management -description: Learn how to manage EVM private keys and P2P identities. ---- - -# Key management - - - -The Blobstream `keys` command allows managing EVM private keys and P2P identities. It is defined as a subcommand for multiple commands with the only difference being the directory where the keys are stored. For the remaining functionality, it is the same for all the commands. - -## Orchestrator command - -The `blobstream orchestrator keys` command manages keys for the orchestrator. By default, it uses the orchestrator default home directory to store the keys: `~/.orchestrator/keystore`. However, the default home can be changed either by specifying a different directory using the `--home` flag or setting the following environment variable: - -| Variable | Explanation | Default value | Required | -| ------------------- | ----------------------------------- | ----------------- | -------- | -| `ORCHESTRATOR_HOME` | Home directory for the orchestrator | `~/.orchestrator` | Optional | - -## Relayer command - -The `blobstream relayer keys` command manages keys for the relayer. By default, it uses the relayer default home directory to store the keys: `~/.relayer/keystore`. However, the default home can be changed either by specifying a different directory using the `--home` flag or setting the following environment variable: - -| Variable | Explanation | Default value | Required | -| -------------- | ------------------------------ | ------------- | -------- | -| `RELAYER_HOME` | Home directory for the relayer | `~/.relayer` | Optional | - -## Deploy command - -The `blobstream deploy keys` command manages keys for the deployer. By default, it uses the deployer default home directory to store the keys: `~/.deployer/keystore`. However, the default home can be changed either by specifying a different directory using the `--home` flag or setting the following environment variable: - -| Variable | Explanation | Default value | Required | -| --------------- | ------------------------------------- | ------------- | -------- | -| `DEPLOYER_HOME` | Home directory for the deploy command | `~/.deployer` | Optional | - -## Store initialization (!) - -For the `keys` command, the home directory will be created automatically for commands that `add/import` new keys without having to manually initialize the store. Thus, you should be careful when running those. - -However, if it finds an already initialized store, it will only add new keys to it and not overwrite it. - -For the remaining subcommands `update/delete/list`, if the store is not initialized, the command will complain and change nothing on the file system. - -## Options - -As specified above, aside from the difference in the default home directory, the `keys` subcommand is similar for all commands and handles the keys in the same way. - -The examples will use the orchestrator command to access the keys. However, the same behaviour applies to the other commands as well. - -```sh -blobstream orchestrator keys --help - -Blobstream keys manager - -Usage: - blobstream orchestrator keys [command] - -Available Commands: - evm Blobstream EVM keys manager - p2p Blobstream p2p keys manager - -Flags: - -h, --help help for keys - -Use "blobstream orchestrator keys [command] --help" for more information about a command. -``` - -### EVM keystore - -The first subcommand of the `keys` command is `evm`. This command allows managing EVM keys. - -The EVM keys are `ECDSA` keys using the `secp256k1` curve. The implementation uses `geth` file system keystore [implementation](https://geth.ethereum.org/docs/developers/dapp-developer/native-accounts). Thus, keys can be used interchangeably with any compatible software. - -```sh -blobstream orchestrator keys evm --help - -Blobstream EVM keys manager - -Usage: - blobstream orchestrator keys evm [command] - -Available Commands: - add create a new EVM address - delete delete an EVM addresses from the key store - import import evm keys to the keystore - list list EVM addresses in key store - update update an EVM account passphrase - -Flags: - -h, --help help for evm - -Use "blobstream orchestrator keys evm [command] --help" for more information about a command. -``` - -The store also uses the `accounts.StandardScryptN` and `accounts.StandardScryptP` for the `Scrypt` password-based key derivation algorithm to improve its resistance to parallel hardware attacks: - -```go -evmKs = keystore.NewKeyStore(evmKeyStorePath(path), keystore.StandardScryptN, keystore.StandardScryptP) -``` - -#### EVM: Add subcommand - -The `add` subcommand allows creating a new EVM private key and storing it in the keystore: - -```sh -blobstream orchestrator keys evm add --help - -create a new EVM address - -Usage: - blobstream orchestrator keys evm add [flags] -``` - -The passphrase of the key encryption can be passed as a flag. But it is advised not to pass it as plain text and instead enter it when prompted interactively. - -After creating a new key, you will see its corresponding address printed: - -```sh -blobstream orchestrator keys evm add - -I[2023-04-13|14:16:11.387] successfully opened store path=/home/midnight/.orchestrator -I[2023-04-13|14:16:11.387] please provide a passphrase for your account -I[2023-04-13|14:16:30.533] account created successfully address=0xaF319b70de80232539ad576f88739afD2dF44187 -I[2023-04-13|14:16:30.534] successfully closed store path=/home/midnight/.orchestrator -``` - -#### EVM: Delete subcommand - -The `delete` subcommand allows deleting an EVM private key from store via providing its corresponding address: - -```sh -blobstream orchestrator keys evm delete --help - -delete an EVM addresses from the key store - -Usage: - blobstream orchestrator keys evm delete [flags] -``` - -The provided address should be a `0x` prefixed EVM address. - -After running the command, you will be prompted to enter the passphrase for the encrypted private key, if not passed as a flag. - -Then, you will be prompted to confirm that you want to delete that private key. Make sure to verify if you're deleting the right one because once deleted, it can no longer be recovered! - -```sh -blobstream orchestrator keys evm delete 0x27a1F8CE94187E4b043f4D57548EF2348Ed556c7 - -I[2023-04-13|15:01:41.308] successfully opened store path=/home/midnight/.orchestrator -I[2023-04-13|15:01:41.309] deleting account address=0x27a1F8CE94187E4b043f4D57548EF2348Ed556c7 -I[2023-04-13|15:01:41.309] please provide the address passphrase -I[2023-04-13|15:01:43.268] Are you sure you want to delete your private key? This action cannot be undone and may result in permanent loss of access to your account. -Please enter 'yes' or 'no' to confirm your decision: yes -I[2023-04-13|15:01:45.532] private key has been deleted successfully address=0x27a1F8CE94187E4b043f4D57548EF2348Ed556c7 -I[2023-04-13|15:01:45.534] successfully closed store path=/home/midnight/.orchestrator -``` - -#### EVM: List subcommand - -The `list` subcommand allows listing the existing keys in the keystore: - -```sh -blobstream orchestrator keys evm list - -I[2023-04-13|16:08:45.084] successfully opened store path=/home/midnight/.orchestrator -I[2023-04-13|16:08:45.084] listing accounts available in store -I[2023-04-13|16:08:45.084] 0x7Dd8F9CAfe6D25165249A454F2d0b72FD149Bbba -I[2023-04-13|16:08:45.084] successfully closed store path=/home/midnight/.orchestrator -``` - -You could specify a different home using the `--home` flag to list the keys in another home directory. - -#### EVM: Update subcommand - -The `update` subcommand allows changing the EVM private key passphrase to a new one. It takes as argument the `0x` prefixed EVM address corresponding to the private key we want to edit. - -```sh -blobstream orchestrator evm update --help - -update an EVM account passphrase - -Usage: - blobstream orchestrator keys evm update [flags] -``` - -Example: - -```sh -blobstream orchestrator evm update 0x7Dd8F9CAfe6D25165249A454F2d0b72FD149Bbba - -I[2023-04-13|16:21:17.139] successfully opened store path=/home/midnight/.orchestrator -I[2023-04-13|16:21:17.140] updating account address=0x7Dd8F9CAfe6D25165249A454F2d0b72FD149Bbba -I[2023-04-13|16:21:17.140] please provide the address passphrase -I[2023-04-13|16:21:18.134] please provide the address new passphrase -I[2023-04-13|16:21:22.403] successfully updated the passphrase address=0x7Dd8F9CAfe6D25165249A454F2d0b72FD149Bbba -I[2023-04-13|16:21:22.420] successfully closed store path=/home/midnight/.orchestrator -``` - -Both the passphrases can be provided as flags, but it's better to pass them interactively for more security. - -The `--home` can be specified if the store is not in the default directory. - -#### EVM: Import subcommand - -The `import` subcommand allows importing existing private keys into the keystore. It has two subcommands: `ecdsa` and `file`. The first allows importing a private key in plaintext, while the other allows importing a private key from a JSON file secured with a passphrase. - -```sh -blobstream orchestrator keys evm import --help - -import evm keys to the keystore - -Usage: - blobstream orchestrator keys evm import [command] - -Available Commands: - ecdsa import an EVM address from an ECDSA private key - file import an EVM address from a file - -Flags: - -h, --help help for import - -Use "blobstream orchestrator keys evm import [command] --help" for more information about a command. -``` - -#### EVM: Import ECDSA - -For the first one, it takes as argument the private key in plaintext. Then, it prompts for the passphrase to use when encrypting the key and saving it to the keystore. The passphrase could be passed as a flag using the `--evm.passphrase`, but it's advised not to. - -Example: - -```sh -blobstream orchestrator keys evm import ecdsa da6ed55cb2894ac2c9c10209c09de8e8b9d109b910338d5bf3d747a7e1fc9eb7 - -I[2023-04-13|17:00:48.617] successfully opened store path=/home/midnight/.orchestrator -I[2023-04-13|17:00:48.617] importing account -I[2023-04-13|17:00:48.617] please provide the address passphrase -I[2023-04-13|17:00:51.989] successfully imported file address=0x6B452Da14195b0aDc3C960E56a078Cf8f50448f8 -I[2023-04-13|17:00:51.990] successfully closed store path=/home/midnight/.orchestrator -``` - -#### EVM: Import file - -For the second, it takes a JSON key file, as defined in [@ethereum/eth-keyfile](https://github.com/ethereum/eth-keyfile), and imports it to your keystore, so it can be used for signatures. - -```sh -blobstream orchestrator keys evm import file --help - -import an EVM address from a file - -Usage: - blobstream orchestrator keys evm import file [flags] -``` - -For example, if we have a file in the current directory containing a private key, we could run the following: - -```sh -blobstream orchestrator keys evm import file UTC--2023-04-13T15-00-50.302148204Z--966e6f22781ef6a6a82bbb4db3df8e225dfd9488 - -I[2023-04-13|17:31:53.307] successfully opened store path=/home/midnight/.orchestrator -I[2023-04-13|17:31:53.307] importing account -I[2023-04-13|17:31:53.308] please provide the address passphrase -I[2023-04-13|17:31:54.440] please provide the address new passphrase -I[2023-04-13|17:31:58.436] successfully imported file address=0x966e6f22781EF6a6A82BBB4DB3df8E225DfD9488 -I[2023-04-13|17:31:58.437] successfully closed store path=/home/midnight/.orchestrator -``` - -with the `passphrase` being the current file passphrase, and the `new passphrase` being the new passphrase that will be used to encrypt the private key in the Blobstream store. - -### P2P keystore - -Similar to the above EVM keystore, the P2P store has similar subcommands for handling the P2P Ed25519 private keys. However, it doesn't use any passphrase to secure them because they aren't that important. Any key could be used, and it is not binding to any identity. Thus, there is no need to secure them. - -To access the P2P keystore, run the following: - -```sh -blobstream orchestrator keys p2p - -Blobstream p2p keys manager - -Usage: - blobstream orchestrator keys p2p [command] - -Available Commands: - add create a new Ed25519 P2P address - delete delete an Ed25519 P2P private key from store - import import an existing p2p private key - list list existing p2p addresses - -Flags: - -h, --help help for p2p - -Use "blobstream orchestrator keys p2p [command] --help" for more information about a command. -``` - -The `orchestrator` could be replaced by `relayer` and the only difference would be the default home directory. Aside from that, all the methods defined for the orchestrator will also work with the relayer. - -#### P2P: Add subcommand - -The `add` subcommand creates a new p2p key to the p2p store: - -```sh -blobstream orchestrator keys p2p add --help - -create a new Ed25519 P2P address - -Usage: - blobstream orchestrator keys p2p add [flags] -``` - -It takes as argument an optional `` which would be the name that we can use to reference that private key. If not specified, an incremental nickname will be assigned. - -```sh -blobstream orchestrator keys p2p add - -I[2023-04-13|17:38:17.289] successfully opened store path=/home/midnight/.orchestrator -I[2023-04-13|17:38:17.290] generating a new Ed25519 private key nickname=1 -I[2023-04-13|17:38:17.291] key created successfully nickname=1 -I[2023-04-13|17:38:17.291] successfully closed store path=/home/midnight/.orchestrator -``` - -For example, in the above execution, the nickname `1` was given to the newly added key, since we didn't provide a nickname. - -The nickname will be needed in case the orchestrator needs to use a specific private key to connect to the P2P network, and that nickname will be provided as a flag. However, if not provided, the orchestrator/relayer will choose the first key in the store and just use it to connect. - -#### P2P: Delete subcommand - -The `delete` subcommand will delete a P2P private key from store referenced by its nickname: - -```sh -blobstream orchestrator keys p2p delete --help - -delete an Ed25519 P2P private key from store - -Usage: - blobstream orchestrator keys p2p delete [flags] -``` - -#### P2P: Import subcommand - -The `import` subcommand will import an existing Ed25519 private key to the store. It takes as argument the nickname that we wish to save the private key under, and the actual private key in hex format without `0x`: - -```sh -blobstream orchestrator keys p2p import --help - -import an existing p2p private key - -Usage: - blobstream orchestrator keys p2p import [flags] -``` - -#### P2P: List subcommand - -The `list` subcommand lists the existing P2P private keys in the store: - -```sh -blobstream orchestrator keys p2p list --help - -list existing p2p addresses - -Usage: - blobstream orchestrator keys p2p list [flags] -``` diff --git a/nodes/blobstream-orchestrator.md b/nodes/blobstream-orchestrator.md deleted file mode 100644 index e6986c582a4..00000000000 --- a/nodes/blobstream-orchestrator.md +++ /dev/null @@ -1,309 +0,0 @@ ---- -sidebar_label: Blobstream Orchestrator -description: Learn about the Blobstream Orchestrator. ---- - -# Blobstream Orchestrator - - - - -The role of the orchestrator is to sign attestations using its corresponding validator EVM private key. These attestations are generated within the Blobstream module of the Celestia-app state machine. To learn more about what attestations are, you can refer to [the Blobstream overview](https://github.com/celestiaorg/celestia-app/tree/main/x/blobstream). - -> **_NOTE:_** -> Running a Blobstream orchestrator is an incredibly important aspect of running a validator. The signatures created there will be used to commit to block data in the exact way as the signatures included in the commit. Not running an orchestrator potentially has the same consequences (enforced by social slashing and eventually the protocol itself) as not signing a block. - -## How it works - -The orchestrator does the following: - -1. Connect to a Celestia-app full node or validator node via RPC and gRPC and wait for new attestations -2. Once an attestation is created inside the Blobstream state machine, the orchestrator queries it. -3. After getting the attestation, the orchestrator signs it using the provided EVM private key. The private key should correspond to the EVM address provided when creating the validator. Read [more about Blobstream keys](https://docs.celestia.org/nodes/blobstream-keys/). -4. Then, the orchestrator pushes its signature to the P2P network it is connected to, via adding it as a DHT value. -5. Listen for new attestations and go back to step 2. - -The orchestrator connects to a separate P2P network from the consensus or the data availability networks. - -The bootstrapper node for the Mocha testnet is: - -```sh -/dns/bootstr-0-mocha-blobstream.celestia-mocha.com/tcp/30000/p2p/12D3KooWLrw6EQgDwvgqrqT8wLNJoQYN3SDAzaAxJgyiTa2xowyF -``` - -Make sure to specify the bootstrapper using the `--p2p.bootstrappers` flag when running the orchestrator or set it in the `/config/config.toml` config file. - -This means that even if the consensus node is already connected to the consensus network, if the orchestrator doesn't start with a list of bootstrapper to its specific network, then, it will not work and will output the following logs: - -```text -I[2023-04-26|00:04:08.175] waiting for routing table to populate targetnumberofpeers=1 currentcount=0 -I[2023-04-26|00:04:18.175] waiting for routing table to populate targetnumberofpeers=1 currentcount=0 -I[2023-04-26|00:04:28.175] waiting for routing table to populate targetnumberofpeers=1 currentcount=0 -``` - -## How to run - -### Requirements - -To run an orchestrator, you will need to have access to the following: - -- Access to your EVM address private key. This address doesn't need to be funded in any network. If yours is not yet set, check the [register an EVM address](#register-evm-address) section. -- A list of bootstrappers for the P2P network. -- Access to your consensus node RPC and gRPC ports. - -### Install the Blobstream binary - -Make sure to have the Blobstream binary installed. Check [the Blobstream binary page](https://docs.celestia.org/nodes/blobstream-binary) for more details. - -### Init the store - -Before starting the orchestrator, we will need to init the store: - -```sh -blobstream orchestrator init -``` - -By default, the store will be created under `~/.orchestrator`. However, if you want to specify a custom location, you can use the `--home` flag. Or, you can use the following environment variable: - -| Variable | Explanation | Default value | Required | -| ------------------- | ----------------------------------- | ----------------- | -------- | -| `ORCHESTRATOR_HOME` | Home directory for the orchestrator | `~/.orchestrator` | Optional | - -### Add keys - -In order for the orchestrator to start, it will need two private keys: - -- EVM private key -- P2P private key - -The EVM private key is the most important one since it needs to correspond to the EVM address provided when creating the validator. - -The P2P private key is optional, and a new one will be generated automatically on the start if none is provided. - -The `keys` command will help you set up these keys: - -```sh -blobstream orchestrator keys --help -``` - -To add an EVM private key, check the next section. - -#### EVM key - -Because EVM keys are important, we provide a keystore that will help manage them. The keystore uses a file system keystore protected by a passphrase to store and open private keys. - -To import your EVM private key, there is the `import` subcommand to assist you with that: - -```sh -blobstream orchestrator keys evm import --help -``` - -This subcommand allows you to either import a raw ECDSA private key provided as plaintext, import it from a file, or use a BIP39 mnemonic and derive a private key from it. The files are JSON keystore files encrypted using a passphrase like in [this example](https://geth.ethereum.org/docs/developers/dapp-developer/native-accounts). - -After adding the key, you can check that it's added via running: - -```sh -blobstream orchestrator keys evm list -``` - -For more information about the `keys` command, check [the `keys` documentation](https://docs.celestia.org/nodes/blobstream-keys). - -Then, you will need to register the EVM address for your validator as specified in the [Register EVM Address](#register-evm-address) section. - -### Open the P2P port - -In order for the signature propagation to be successful, you will need to expose the P2P port, which is by default `30000`. - -If not, then the signatures may not be available to the network and relayers will not be able to query them. - -### Start the orchestrator - -Now that we have the store initialized, we can start the orchestrator. Make sure you have your Celestia-app node RPC and gRPC accessible, and able to connect to the P2P network bootstrappers. - -The orchestrator accepts the following flags: - -```sh -blobstream orchestrator start --help - -Starts the Blobstream orchestrator to sign attestations - -Usage: - blobstream orchestrator start [flags] - -Flags: - --core.grpc string Specify the celestia app grpc address (default "localhost:9090") - --core.rpc string Specify the celestia app rest rpc address (default "tcp://localhost:26657") - --evm.account string Specify the EVM account address to use for signing (Note: the private key should be in the keystore) - --evm.passphrase string the evm account passphrase (if not specified as a flag, it will be asked interactively) - --grpc.insecure allow gRPC over insecure channels, if not TLS the server must use TLS - -h, --help help for start - --home string The Blobstream orchestrator home directory (default "/Users/joshstein/.orchestrator") - --log.format string The logging format (json|plain) (default "plain") - --log.level string The logging level (trace|debug|info|warn|error|fatal|panic) (default "info") - --p2p.bootstrappers string Comma-separated multiaddresses of p2p peers to connect to - --p2p.listen-addr string MultiAddr for the p2p peer to listen on (default "/ip4/0.0.0.0/tcp/30000") - --p2p.nickname string Nickname of the p2p private key to use (if not provided, an existing one from the p2p store or a newly generated one will be used) -``` - -Also, you can set the necessary configuration in the orchestrator's TOML config file. You can find the orchestrator's TOML config file in the orchestrator's home directory under `config/config.toml`. This would save you from setting all the flags in the command. - -> **_NOTE:_** The CLI flags take precedence over the config files for the same parameters. - -To start the orchestrator in the default home directory, run the following: - -```sh -blobstream orchestrator start --evm.account 0x966e6f22781EF6a6A82BBB4DB3df8E225DfD9488 -``` - -> **_NOTE:_** The above command assumes that the necessary configuration is specified in the `/config/config.toml` file. - -Then, you will be prompted to enter your EVM key passphrase so that the orchestrator can use it to sign attestations. Make sure that it's the EVM address that was provided when creating the validator. If not, then the orchestrator will not sign, and you will keep seeing a "validator not part of valset" warning message. If you see such message, first verify that your validator is part of the active validator set. If so, then probably the EVM address provided to the orchestrator is not the right one, and you should check which EVM address is registered to your validator. Check the [Register EVM Address](#register-evm-address) section for more information. - -If you no longer have access to your EVM address, you could always edit your validator with a new EVM address. This can be done through the `edit-validator` command. Check the [Register EVM Address](#register-evm-address) section. - -### Known issues - -#### `transport: authentication handshake failed` - -```text -rpc error: code = Unavailable desc = connection error: desc = "transport: authentication handshake failed: tls: first record does not look like a TLS handshake" -``` - -Seeing this error means that the orchestrator/relayer is trying to connect to a gRPC endpoint that is not secure. To bypass this, use the `--grpc.insecure` flag. However, we recommend using secure gRPC connections. - -#### `failed to query last valset before nonce (most likely pruned)` - -This warning shows that an attestation, that is needed by the orchestrator/relayer, has been pruned from the state machine. However, it's not an issue since we implemented fallback mechanisms that will use the P2P network to get it. And if that doesn't work, connecting the orchestrator/relayer to an archive node will get that attestation. - -So, seeing that warning is not a problem. - -### Register EVM Address - -When creating a validator, a random EVM address corresponding to its operator is set in the Blobstream state. This address will be used by the orchestrator to sign attestations. And since validators will generally not have access to its corresponding private key, that address needs to be edited with one whose private key is known to the validator operator. - -> **_NOTE:_** When a validator wants to start an orchestrator for a Celestia network for the first time, they will need to generate an EVM address offchain, either using the [EVM keystore](#evm-key) methods or a third party software that allows generating Ethereum addresses and provide you with a private key or a BIP39 mnemonic. - -So, to edit an EVM address for a certain validator, its corresponding account needs to send a `RegisterEVMAddress` transaction with the new address. - -First, you should get your validator `valoper` address. To do so, run the following: - -```sh -celestia-appd keys show --bech val -``` - -This assumes that you're using the default home directory, the default keystore etc. If not, make sure to add the flags that correspond to your situation. - -To check which EVM address is registered for your `valoper` address, run the following: - -```sh -celestia-appd query qgb evm -``` - -Then, to proceed with the edit, run the following command: - -```shell -celestia-appd tx qgb register \ - \ - \ - --fees 30000utia \ - --broadcast-mode block \ - --yes \ - --from your_wallet -``` - -Example command output: - -```sh -code: 0 -codespace: "" -data: 12300A2E2F63656C65737469612E7167622E76312E4D7367526567697374657245564D41646472657373526573706F6E7365 -events: -... -gas_used: "66959" -gas_wanted: "210000" -height: "3" -info: "" -logs: -- events: - - attributes: - - key: action - value: /celestia.blobstream.v1.MsgRegisterEVMAddress - type: message - log: "" - msg_index: 0 -raw_log: '[{"msg_index":0,"events":[{"type":"message","attributes":[{"key":"action","value":"/celestia.blobstream.v1.MsgRegisterEVMAddress"}]}]}]' -timestamp: "" -tx: null -txhash: 4199EA959A2CFEFCD4726D8D8F7B536458A46A27318D3483A4E9614F560606BC -``` - -Now, you can verify that the EVM address has been updated using the following command: - -```sh -celestia-appd query qgb evm -``` - -Now, you can restart the orchestrator, and it should start signing. - -Note: A validator set change is triggered if more than 5% of the total staking power of the network changes. This means that even if you change your EVM address, and you don't see your orchestrator signing, it's alright. Just wait until the validator set changes, and then your orchestrator will automatically start signing. - -### Updating the EVM address if its corresponding private key is lost - -If, for some reason, the private key, corresponding to the EVM account that was registered above, was lost, or some validator wants to change it for some reason, then they can re-register another EVM address for their validator using the same above command using the new EVM address. - -If the validator still has access to the previously running orchestrator, it would be safer to keep it running in a separate process, initialize a new orchestrator in a new home directory, and run it using the new EVM address. Then, once the new orchestrator starts signing, the old one can be stopped. - -Running a second orchestrator in the same machine would require using different P2P listening ports, i.e. changing the `listen-addr` value in the `/config/config.toml` file and using different ports between the two instances. - -#### Systemd service - -If you want to start the orchestrator as a `systemd` service, you could use the following: - -- Make sure you have the store initialized and the EVM address private key imported. Check the above sections for how to do that. -- Put the following configuration under: `/etc/systemd/system/orchestrator.service`: - -```text -[Unit] -Description=Blobstream orchestrator service -After=network.target - -[Service] -Type=simple -ExecStart= orchestrator start --evm.account --evm.passphrase -LimitNOFILE=infinity -LimitCORE=infinity -Restart=always -RestartSec=1 -StartLimitBurst=5 -User= -StandardError=journal -StandardOutput=journal -TTYPath=/dev/tty0 - -[Install] -WantedBy=multi-user.target -``` - -- Start the orchestrator service using: - -```shell -sudo systemctl start orchestrator -``` - -- Follow the logs to see if everything is running correctly: - -```shell -sudo journalctl -f -u orchestrator -``` - -And you should see the orchestrator signing. - -##### Issue: Journald not outputting the logs - -Sometimes, `journald` wouldn't load the logs from the specified service. An easy fix would be to restart it: - -```shell -sudo systemctl restart systemd-journald -``` - -Then, you should be able to follow the logs as expected. diff --git a/nodes/blobstream-relayer.md b/nodes/blobstream-relayer.md deleted file mode 100644 index f71df6953f1..00000000000 --- a/nodes/blobstream-relayer.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -sidebar_label: Blobstream Relayer -description: Learn about the Blobstream Relayer. ---- - -# Blobstream Relayer - - - -The role of the relayer is to gather attestations' signatures from the orchestrators, and submit them to a target EVM chain. The attestations are generated within the Blobstream module of the Celestia-app state machine. To learn more about what attestations are, you can refer to [the Blobstream overview](https://github.com/celestiaorg/celestia-app/tree/main/x/blobstream). - -Also, while every validator in the Celestia validator set needs to run an orchestrator, we only need one entity to run the relayer, and it can be anyone. Thus, if you're a validator, most likely you want to read [the orchestrator documentation](https://docs.celestia.org/nodes/blobstream-orchestrator/). - -Every relayer needs to target a Blobstream smart contract. This contract can be deployed, if not already, using the `blobstream deploy` command. More details in the [Deploy the Blobstream contract guide](https://docs.celestia.org/nodes/blobstream-deploy/). - -## How it works - -The relayer works as follows: - -1. Connect to a Celestia-app full node or validator node via RPC and gRPC and wait for attestations. -2. Once an attestation is created inside the Blobstream state machine, the relayer queries it. -3. After getting the attestation, the relayer checks if the target Blobstream smart contract's nonce is lower than the attestation. -4. If so, the relayer queries the P2P network for signatures from the orchestrators. -5. Once the relayer finds more than 2/3s signatures, it submits them to the target Blobstream smart contract where they get validated. -6. Listen for new attestations and go back to step 2. - -The relayer connects to a separate P2P network from the consensus or the data availability one. So, we will provide bootstrappers for that one. - -This means that even if the consensus node is already connected to the consensus network, if the relayer doesn't start with a list of bootstrapper to its specific network, then, it will not work and will output the following logs: - -```text -I[2023-04-26|00:04:08.175] waiting for routing table to populate targetnumberofpeers=1 currentcount=0 -I[2023-04-26|00:04:18.175] waiting for routing table to populate targetnumberofpeers=1 currentcount=0 -I[2023-04-26|00:04:28.175] waiting for routing table to populate targetnumberofpeers=1 currentcount=0 -``` - -## How to run - -### Install the Blobstream binary - -Make sure to have the Blobstream binary installed. Check out the [Install the Blobstream binary page](https://docs.celestia.org/nodes/blobstream-binary) for more details. - -### Init the store - -Before starting the relayer, we will need to init the store: - -```sh -blobstream relayer init -``` - -By default, the store will be created un `~/.relayer`. However, if you want to specify a custom location, you can use the `--home` flag. Or, you can use the following environment variable: - -| Variable | Explanation | Default value | Required | -| -------------- | ------------------------------ | ------------- | -------- | -| `RELAYER_HOME` | Home directory for the relayer | `~/.relayer` | Optional | - -### Add keys - -In order for the relayer to start, it will need two private keys: - -- EVM private key -- P2P private key - -The EVM private key is the most important since it needs to be funded, so it is able to send transactions in the target EVM chain. - -The P2P private key is optional, and a new one will be generated automatically on the start if none is provided. - -The `keys` command will help you set up these keys: - -```sh -blobstream relayer keys --help -``` - -To add an EVM private key, check the next section. - -#### EVM key - -Because EVM keys are important, we provide a keystore that will help manage them. The keystore uses a file system keystore protected by a passphrase to store and open private keys. - -To import your EVM private key, there is the `import` subcommand to assist you with that: - -```sh -blobstream relayer keys evm import --help -``` - -This subcommand allows you to either import a raw ECDSA private key provided as plaintext, or import it from a file. The files are JSON keystore files encrypted using a passphrase like [in this example](https://geth.ethereum.org/docs/developers/dapp-developer/native-accounts). - -After adding the key, you can check that it's added via running: - -```sh -blobstream relayer keys evm list -``` - -For more information about the `keys` command, check [the `keys` documentation](https://docs.celestia.org/nodes/blobstream-keys). - -### Start the relayer - -Now that we have the store initialized, and we have a target Blobstream smart contract address, we can start the relayer. Make sure you have your Celestia-app node RPC and gRPC accessible, and able to connect to the P2P network bootstrappers. - -The relayer accepts the following flags: - -```sh -blobstream relayer start --help - -Runs the Blobstream relayer to submit attestations to the target EVM chain - -Usage: - blobstream relayer start [flags] -``` - -Also, you can set the necessary configuration in the relayers's TOML config file. You can find the orchestrator's TOML config file in the relayer's home directory under `config/config.toml`. - -> **_NOTE:_** The CLI flags take precedence over the config files for the same parameters. - -To start the relayer using the default home directory, run the following: - -```sh -/bin/blobstream relayer start --evm.account=0x35a1F8CE94187E4b043f4D57548EF2348Ed556c8 -``` - -> **_NOTE:_** The above command assumes that the necessary configuration is specified in the `/config/config.toml` file. - -Then, you will be prompted to enter your EVM key passphrase for the EVM address passed using the `--evm.account` flag, so that the relayer can use it to send transactions to the target Blobstream smart contract. Make sure that it's funded. diff --git a/nodes/consensus-node.md b/nodes/consensus-node.md index f1359dffb6f..563d776e17a 100644 --- a/nodes/consensus-node.md +++ b/nodes/consensus-node.md @@ -451,12 +451,6 @@ Follow You have successfully set up a bridge node that is syncing with the network. -#### Setup Blobstream keys - -First, prepare an EVM address with a private key that you have -access to. We will use it to register your validator's EVM address -[later in this page](#register-your-validators-evm-address). - ### Run the validator node In order to start your validator node, run the following: @@ -524,38 +518,9 @@ tx: null txhash: ``` -### Register your validator's EVM address {#register-your-validators-evm-address} - -This section will cover how to register your validator's EVM address. -This is required to run an orchestrator. - -To register your EVM address, run the following. Be sure to replace -`YOUR_EVM_ADDRESS` with your EVM address: - -```bash -VALIDATOR_ADDRESS=$(celestia-appd keys show $VALIDATOR_WALLET --bech val -a) -EVM_ADDRESS="YOUR_EVM_ADDRESS" - -celestia-appd tx qgb register \ - $VALIDATOR_ADDRESS \ - $EVM_ADDRESS \ - --from $VALIDATOR_WALLET \ - --fees 30000utia \ - -b block \ - -y & -``` - You should now be able to see your validator from [a block explorer](./mocha-testnet.md#explorers) -### Run a Blobstream orchestrator - -For validators, running a Blobstream orchestrator is **incredibly important** -for both Mocha and Mainnet (when announced). Blobstream orchestrator enables -validators to sign attestations. -[Refer to the documentation](https://docs.celestia.org/nodes/blobstream-orchestrator/#how-to-run) -to run an orchestrator. - ### Submit your validator information After starting your node, please submit your node as a seed and peer to the diff --git a/public/img/blobstream/Celestia_Blobstream_X1b.png b/public/img/blobstream/Celestia_Blobstream_X1b.png new file mode 100644 index 0000000000000000000000000000000000000000..eb6f9e97dba625106d9d02a31b9cf9233c59168f GIT binary patch literal 124555 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%0AX;#Yp*HCL zl<7a;OEJUwXX83{?uT*~E{nN(Yx27`p%GSHkv|@$vlGXkET$PHSE-$n#DShc#~!G< zvcG`I#~KpqyevaH&WVe{zmec|JlSI_3aY#_J_*!dfg%(W;N^~jkuxAm3&eGfE){t5 zB>rO(KI{Qo6{8ivx z?vJib%y+J+%|QZhcN_(q+|wV*SW0^{+4i*ub}w`F%Jlfy*L4WmP~`9!w^ydzSzVmf z`W=9(2X3cie}#BE$=jcNSCR)A^;dX|uVA?!ANQjG6UbBKzYiO!A;D+7Qb}-4%^&{* zS732e!NWeLGb0c74_WPLRP52OHC@ddRS0}VpuEt_^+LfyCK5>a+FVf8Y&}@+5A?^# zi3l@C3DUbGc+>=H9WxvO^wp#tXd7zTE?=Ky&oHHMJ$(06lt8DaMr;G+^!{kj%NUZv zF=^ZSd5#Q(I-qeyd2?0PPre@e8Y@grG4lGQL27Qm)PPDq4Xf`4vug#-QfByyA;q5H z&hm(lJ#S@`@Q7@Z5mo_s?besHW48B!>KQ;yHuLHt*=Fp1o&h0g3l8&X(=oSYyIQjk z_)x)BlMX#7tz`kU;l-nE7Tbw0n3p=%gmCNE6>6I!ZXP8FU!6qNl^$a9?ZgOM5DB1F zusW2JN1OM*L&Cq5`%YF6MShDkD4EAmu{9N@Vr#vOf_Z#v-??zlsh^3}YzD{3h zVH35W@BYdPv~7Wdj|EVVZOMK=9|_{fwSTMcIkB>!QLtXYLYO#I5CA>7E9vQX%lrA17 zSQ<%q0IWw*x^lcktTBpwZB86}UJXhcS^Q~5HzpgfV!H+AX zu)()*l(I6aZ^8A{C_+tuF7vf>ol`+~l>?fBO+ZmLwsS^sU){qK^7fl6YABDuQU$S< zDe`-30M;%_psEio2IRrO3X?_o1)%RMy7`Y^N<1aufp-Z~3P0|%^a*%JqMsg=@c8c; z!$tv9)tB-9s;`+f=(4&{e*3uiB7w?Ek-%Z))d6FPvtD|K{g(gqxTORtWmge4j_S*_ zWDG=4aulJQ^E~ahlj5wsA-c^|k-r46Hy&ot&w1NfuUyOI9QKO;zNvV#gnL=YYH>fw zmITX)zzTy+dt5^GPqH&ZA5lgojwtfG>0qYeHxGW7LI6>_kb{3h!5%uldQb;O8_+AP z1Vrx|@X{w_GhG=0h2O2WI++QhT?FpxG)ti-frfCm zrWy15s!+l)jS~!c9vrl;{Xv&>qp;AjqV_V5AZ{zzgL=fTjDeK33V~>KV3@)KUY0?l z9INk&h|{0lXQIF=Cq;e*v-cbWG4p=OZZ8Tpywu_Df_DI=Um(V{3a#H>Q0CbJ4}6%l zTBs5Fmj{RZG>XDHG>D^Aj}aL_hSXA#t0?9pZMF2%ngLxBct% z3)l!Fu&^T3H5zDy^L~MnF(}Y$R!}gjA9Uv3b_9!BK*U z8T<`JBPd_2H|$9EVW|2hC0D-JY?K?_lra7hGy|DjKM=m~9AdopXr3%+AkTu(NfVxp z95pg{5q$8+W9SvG^TIBR=+EksLD4Eu3~k_3AxW60#P`KmaX;%$PS-ZLfP_gtvpQk~ z1xpb(J9`w^qvK}mw6*b6jz{4xjzvA!)baNNs~N? zgm5ndP@&t9w;bVKvypp-?jdVp-&==Y6E}@%-VE1W=7v+bb)dCPNtn700~~Vg{W=@` zC`$1Dcq7nTv-&Ygv*5-@qj0duCQu58$yKGRhk-Hbmfn;e>6_v2xni(FreV?BxwD+O zxk}Ob$gQWW#Y!A5i?dnMzKOqQSI-P|P3jla5SoD)gi<5C8yV-*(2;>NKVHTsFcOK}snF3$_vMf0XE>0+8$$OzqJ zKKYNnfO1`wAjIS(yS!&w(Sp4etJJ_!J_A-d4pf2?Wcx#~H_7b)u@a^}FyF(!%8cq+ zy?XTCKV#igNmi1N3~o#jW|&2bkXwQx)Q0A6grUWz28u#5m<+sQQ3Qv4IZ0PE-=F$A zEITFygloY(K$v55kGJC767*j6{w*XMgx=U_SYzGNLRtg|3Ef+P*YTfmqd^`mN5R9P zAzQelY()gaD`D=vs6J7k5ci32Wc{!hqg}p#^k*eyMNbN%jX4Wbpz63tx)&_zvM~jr2l#xb?1+n;2iTvD_+sbz@AD#DKqP?5~ z;b7QLHZ8D}W`gtII$E&6?~!-zINGv(hIxP}Yg1h9td^&1#n-T}=>hdEzSYp5J`D}^ z_!kPP$28K)g#pIKGJ?w#YkKsdJdnT58joNlc=R&ELi)vhw-_pEY8_^6dEU{c`uL&1 zoqPgfJ7?}~e?(`>WU~@yAnuKD>T=`caD1>_HSd8*j|=Nrtvo13qFJG=$59P+3fO@1 zk8T3RgP4d~!}R$m@&pewU6C?Y3esC;szsIHlGq&Ou zBT++V6p|u_=VR4+6vJi}%~PjNGK>?!YFnDFt90sfI5d=Yui;3OJFQw4Bgo5*n5YZC z%3l)q|8P#k3{`;1+!9H`%Vh#?1GPa8bWD@S77?uiC1ZgzediKOf{ZwFm1Efm%AJeW zswde;5=rnW&qtTr37^#60}U|>BF#E(A3p^wMR_H=xxst8#ag=1aF(y|d2v~n-)a1u zrHo>@bK)ZwT~bN-MDR7Ep)nha=&^j&JmHDP1e9oVP zqnjP1U-*tkT()edFu88T8oLk^PQA$A#DW=oP=VG*c-R}}E?d1rqZ*5%kW=9~=)RAJ z(%v%-VBc5wY<>fh=lEP^Tsl?Z`YG;bXWRPmc2#*qkBTerV15JxZV)8wQcd2}s@DLw z?gHf+=gAPY0N7Uue>(nl)CE|&Na^TBn>SQ?Wm%Ss`3%R zSwC@_&PVS4^OP7RVM)Rq)nuiB6r>CChEy$qc~7Zf>8?iJ{GWaZ!gL65Eq0!H{_Y4Y zL8*L)XSfbQ>397%2KjRzBatxOmWi|0Mt~1YXLe+Gg*jDpG2Rz*x|1Xv3{M{VKd!Di zuF19i<1w%)1(Xt0I;0yE2?;@@a|!~|FoaQKDku#C(j_3$Oq!7*F&gO@-L;Jn28^-a zGtPNm&-?p_53z?myW_gPab5SbPT-0_hT=Ts*~-yBB>xnDzQ|T>k-RiTVd} zS*^9!o4n^KKQZ%$)nH_PVem=Lgx#y3yKg$3Wzc0Qm<+C}L+LSHulSW&r%l-hCl%uA z0-@U$oNZU;R@nm3;}1y)RUW{Vby9LkgrsA8h8S4v!X7q>X`$($5+z_3MslGba*ch~ zALAj2#L}F@df}7q1`k+LF|nglp1BWu*1&yDE3bT0p&eQ+ENqn_!Ipi_9V7zafXL+BB)jowPMrfoAe6f0{eUOy#Vo z5hM%xIvHK$zh0jLCDb2)KgDkwD*j&z}H677x@y zp2$@Ex$=+kLS_o|G92v=?faatMB&-*Ldagw`~fsSvIoP)Z2)z~9{Ajm062+~Ci{Nt zzkq~n_Bl1erWf!gH`#y-@BaJ3nDAOH%niio-~YHCaFc&n{~_sb)m4FdHy9vOpnxkS zod10#P^gV<1Y{FO;LTDv{`F?js(TMj0hR(tYGkH2{`CjoF5rLvGr-e5OP2g+gOl;c zdiw&%zY6eo*DHaW`0n_x>jt>o9=Qcg*6xEA&8I4XmiEd&<^QCCA=#rcDOSKNIDGuq zEWFuqt!al&osjC$8k&L2#xDL@y)Im*v=>5F?fJhS3NYV*s>c7lxm2ND8&VwbVphbE zxt#p(_%z%j^*WG~iT%&QFw5`?nlz9H3hb-?|6~m0sf>rC9xpZ=xt@-ZLtnAZe<<3I zsV7=kk4C=645n*sxvs&Jt-vzc*C7Q>rh_l(})5O+YMJpI>)lFNkis7Y_ZjgVsoEFaVIH&)2)1jMWJu@f zUwi$(Lyx=?6fs%LN$vk&gM|9G&Qbk!%o??}pUQTgcVqQtbbIN%`wzITy}j~B%>0oT zUi{7WSTb0OBC=D$GcPPFK19OT7VKPGs-6lOa^|jO8SwKpcAW{4d62r?wo~3mbLbpq z6(CJ;3z0^p>!j6=yM4B=jFF14q}}{BSjQjPx0@M=i&JrzI3XNl4%Ly?K_nmy!NfNe zH#d8he=d&ptXL24775T5Nyaf<%fom1q|R{(s~gA~xJh%k;fk$2#|ep_eIle&=khk( zuuj$o$3C4pb^H`zGm;A+SK`5F#UXcUH|8;M8kqJ!Vaw1K9J`;&V|&}R;h@EJ@)%4d zE(dBk0a}r!I2Trzw&4shDsdbyr`S5}l_$FJD^b&R^fJNvgKV6Ifv_GlKQ%H2r6cQ- z-c}e(Ur`g@nw|rS)NHV#?f=$hsk2lv2=5y4h>J{I3aMDpNL+D{Q~AshX(IEjAr*Y2 zl&`o}ffiHPSd!E0)kaHptwB?fhF-_36}xq-?h7-ZdYUE6TJ44fyB30U+2w;--;dE& zB5Wj46Z#_x|N1y?iV3@N;%P3ABUf?V;6b|L6NQ}QWho}pd9{|E){|z!jSNy}v{Oy8 z_K%(VwvLX|FqZk<&9w`2mqk9pMC+#OZYWZlxn~}y`bz>K+A42&V5eFrhB+y=_ux@aL&f#o4#sX7a&NS+C#h6B7U_P%s0>NV79bF7{x-YJlA|{A0zTaX93g~JBZJ5dr>8M zw^M&MZT?Nci^3}-Ih{?f_c3C^TVLDKTlAJuVAxC2; z-!0nM__`PS+E-t686sls>E#A{5Yf#U#+UGnG+!crO%i2p# zS%$Q0dG30NxpLD_??m~zimJ`VG zN#!KausEc9?cO>s&kAt*=y85qg@lwI+}~7e9<7U*ARJTW-S$;MON1OA@>n9$%bs{Q z^!RVXPJTZapxeJ&zi!Wm9E?xr*K0JSRpTzV(x!#S5hm5gK|Ea7{t6GXIl$HnrOi}j`p#5vHY_z5t@=s${V4gx zBq9GNeGF}yhD+2@ZMT9X!*WhqU)F6QTSb1O5X`ad0zLk}YD2X-KpKqzS+UAOS=~## z=9$wMZ)ac%Z_B0H9fR{qTMU64D6~;Xht-LT#%_h}mhflJ8@e*~p!qBoVxS48c`#oaFDs6Leor5k+FR1;)l6%_ z1Wv!Lcbqd2D6J~V(-Q1%C&(n66x=poOFJpb^4uXxg~3nSv>CDSB|dzun6qp57JGqF z-S{lshxP(iCfZFueP(ziKW$@w643vLZ<+G~TIy{(huUppy-}ah<6?|DG<9)h&BAYV z`QdIEzZ-AY%IiL?gjd9peZMv#BgHs$Qy|9Y@*Kd4UnEd&e6?cuJ^3lqB@$qk?L?Q}hoTFr?KaWT5m*_{@yB4CM4lF8ezzIK9hZC_`H(D!F$A@Ey=?o>i zSNf2>fY)MYavBXbYSRbum=fEUE*ptMMhoGq6A=UMC!G0xDjM0QRr~)?RFtQhrup! z(r@#4-qVkm-lyWd{=fq3+vEJA`p;_CcsjoypU$}uNyHNl<^`DAw$Z9%Y2V_PWee!t zJ%|DA1VG;%#Iwg=X^;!~o$XIg7`Rfh8``I|NjEI_`_v5GMY?&h;W}bbp@bkUO+fBh zxjr8&0IV`tlKFto@NF6dg)lh%#0&g^z_S1%R|@kZER7w`q|*TL><^NAOONJX0Q$3W zoXQ4q24|hx`bn97gMNQGYEi{J#r%@z(Ow)wN9o~dXJI_>AK!E?d6LU*%QLmCz)l`S z>|07TmtpZF;hSOCMi`d^L*&-=#25L82SoZq$zIh!~SV z9~8PMmt=O$)BFA`$Y;&;vnuJ$F~_NTiw&aER3umbAclfPlXyR(gM#BG&obo1Pzh78 z3~>kXTP@1Dy1xN>(~z*>v-Gt81)o2DWKRWY9oIK|u0tX$aScPa$VmIr{w^-K{zewa zn{@!`thDLWc-pM%wu04Q!|~Chm1Oo9klP3%`hiFB;<7CgFGtEmKnCF;QX`+tU3d7C z0bcx2uB8GURb(9uz`Khl&1+xTv!{freKBlw%)70+%&haqY+Hf`u~HmjDuQE$EG^!Q z^5CrmRc1ArE;dYJ_dS#_Oi}npRMISdtn=9mMMdahN*PFm_$>t7IB<$WW6FR`fFW{Y zQh9HG7~8*zuihniBq7~5VNS48Y;9RO4^JNm=~wKFty=E%u$U#Ru*n_bC>B=ryH6w| zHf3Z98|H;xe4%>w-|KLP&~>-^`Q1DTG=Te4f&L)S{1X=FlIig$>Ic7wDz1N8vp4q3 ztbEt8EXotf(0YDfC-XB>bVSXPOeJhgx-{UneaaMRmV z8e(8tqtmxmFuh;@bLn*8LNPPZ@?*I5tLvkZ9VmeNsAeAO}B zh3xUay4$}HR=Pabf-|YdNIcMn1`#jKHK2lT{L96Ok5o|?&k9aAtsw9;8l?=uNLzj= z&9W@YN5++Yt#yIy-?r%6G=eA9Qk?+}LOcSnP#GGd@#&0;oBO`!XP*PB3&ua1M5;FT z0fl4*t;lJM?CSxt09+0U^fwc>VGW+M0-6uuf5PtB-<$U$Qbe4J?vOe)<1^|c3=-w;<)CY5D#5E;MOrRgS9hCCc{12|au-X=HjWFRC zB6a<1?HbQ$FUsY8PLsvBhp+r)L^9nMuHMC^O&(1gXlyP5GYt6A6)R&Ji)p4!Osk3i z<BN%yIptRUAz3Pr1uW?oM@DgpI=VWbAt_8lOtw{X@`)Jm30yu{$UG!=71w zR#OsFH+>9Rvk`X?hLBj?tAf48(Orn5tqsE+e=#>-Le(zcSd>%Bh z@#PE7zusT`>#yfGbT`M;c}o;&ve=80?8K5^4T_mWJM5f5%DAwV<>J8iA;}48uPvVP z2A8xJk3DMrm}yA)%$s2u*7u<)5n=Q3*2@b+Gq_#E`;}=Q45CjGCuFnilb*5Y1WnIg zbXqxaMA7l9V*)7WjX0}m6fUv`Q2xI!Y8d`h^82^~1+e%UCqf78JOFLg>zK-FMmIp1$xDF{Z!y`2XF2jAH!{o4i+-RR`2<>^KczBg7SO zq9&Jcp1E1G*fMu4F{tl{hV`}Q?XERlx9EHJ5?fYYeV2%+Nmr8o{9FKKX~_7*Okf{A z1AnPU5Kw5}eSTjxX3x7oY`ALhTn|D5!Yoyx?T##!39LyP0*BUY%oluKTOTn=i$O%x zEDWVGIP{`?HRm7dJC+2cia61(WL2s=o^?1HJ2Dknu?HTmn6w`G(#t&Fa&=Xvdv8rv zx^4reJ&`MH6z+yj7&gDM?0S7o$}l|nBYH!Cdjsq<8oej+$xJJ*1oGyo0@zGpkQg6n zKW;PPZdlox35}L8ir_+38dWy+LzQUc$Dyqrh2vpb8=loG4Vl5|Jb1Oy#f>T=<*iK>wuGvsokK&U@nmGhiUss)GQLW0W@IlmYxg_B z=ix=xwD<3&fpsx|rsY+0pEy~=1$k3WnLvUOP{AipcQf{8ZXq`^d;TxQ0C(N0@Qb0! ziul(pN*rtt?kJ9bW7HdtE!v;-uyXhuhg5Nhwv}P)nn6T0vYWLcaHhZi*4#dG@(aB~mgvpEz7eYLJQ4<)zfWHTjy`=>h6?z{E$L95? z>fgOqA|>89z^BmaU7;I(Y23>DdAtrYwbyw@Vg3!WA1!{*cF@bdDt!+6#NArOzL~0{ zY7|v|Y&y-gCg)8UJ}kY*dr!gGT=#j1nwEFcrKY%3#{Z*jUc?H?QIc9UPGr=R3s z@xyj$Xszv9G~=RzqrWewk@J0o^kkbce|hx9)ZDBR4~eR@XdiWT3|~%_Nu=mln93N_ zD0Rn_^5O@7=%yofRqEZVt0?=xEc@q`sheY^8-pkN5vY|;$+22lqR!KSYgZ4^2>4ZC2qbpPrb9wbupoA-Z0@?w&* zZ_+yU%DICxeiuA{4?<7>09G10w5z$`-1DlGx3Ny!vA)-)Hq||`M~s%ikSWJcsc4Dy zc7(llpz6lpaMET~R{d|m zsWDryboK0^n3SW5MtDo>yf1%MlbDB;sx)t8Mp;A=4HSL2&Bs-SR;jhrHwj#lv>&zY zdRm<_fjT$to>k9m^)M z4mWAQ*xEkd0YbBpsTYo~rpXZ^Y>d99>B_~P}eN+wnvl0H{~kR}0UJA2D$O~Ug{ zC1nzBtnidv%IPS1KHN`wX-QC1{EdEfJe9~3G?<3+tPS- zb#*h$o={RpFTCAR^W4|*JDsa}-nhR~tv;G>Y?izpYv(@8S18am$Xm!XrZQ1{~W&%{Yt+1`vE2AHJBbs>cM5p%TLNb#V#{CYxh zUl4E4*CIsRI`Z99vr5b1uVo#Y{0Med1V5kU3uuIg(5uJEdbgwPhmMG1iIZk^a0$D{ zr7>rjt_mfV>bV9B26-(Crvm$)Y5LDCMwO`!rl|cqs}zA5tqPp;IDJejq6GiB-iJvT z;UgDQn!$ z7o&~pKB-VM32#fHm8{Gn7cUO<6G1AP7O?9SA&=glVw6uCwDksNVlFIJPR|_``^SAN zBvv-hpF22YhDUPTN7f2wG9+8?@G+-D}Os zzco$VT?2`@2X~|08oX}`5HMyri^lz8Api8zgU4{3a&Mw#k|W!MQWFySv-A$30}^kirE+Or9C=xrLg`atu;r`wS>?>lyhO%^-dG&Q)^_@_O<;WK8>>QWtZh50?2kmi{z(xfMMxT)(_0e6q);Pa)R+GZx#&Ax zYc2(;c-C`W#&g#^_Rv0tjqZth<1O04RJWK1UnkeUF&{&~&R$P%SJcD^rUV3;D8d)()n(tFQ-ZeZo_@(~aF(sW@LI9JjPTxh#Sdz$AK5|b>E zO84_;a* z5c%B}X)=2;fk#IT;dUAUiUQ0@L6K|k$Eye*#UK7NVKnmo2S=Q|N7kbH&f|f@$v9RX zX#*~>%*yum2rx@GuCB#|-J%I(ErLO|_3Yo4#0lXMr#$3^=Ht7Ck}6)$c-xG{N&HQxD^-=V){B>mlb z_xV@s%$MV|h$Lm91|;&{-J%tjt7vgr@v8|zo$Db5nqaz^%Gn>!?mO9k_a*r1g?KDY zs!*hbFdT7<|nT2PdfM#3c#+D4um1Umi|wZ0!xZW>?EpVdTs6 z_ES$_c6e(5)u0|#ZAsV(OE=8Sm|xL}b<}zK@GdQ3tAu+eKJKQp42Bfho?*3}nC@C! zU0Gyq4cXh(MVPju&(rO0HdgCd+?j|Q$#S|%u_{a5njL@JF}=QeQhtF;FPez0Gl<<- zHA#_#4cI}|ECl|8QbaiXE-=c2FJpa6{$dd@4K1VNm#QzIoP|xKBNk)Lu^vXm787p5#I_ z3rE)mI?s6=MV?O9lYbGso`CjT{<{zET!cLJ>b{StfB93#UQxl}^1Nk?>*^|V&k>6_ zeW#P$|vQW%0rF{R_Qpqw>Ps(K=Ky@s zkXgf1z`gY&EXQRwX#ebdMAY^G^r~D#KK=0ozRylbQ#y1ETcl+k0Ef#vHLk7LNf%!T zP;BrXd|r2QA{=h*P!&j7*Lvc3_OYP#>Z^i=0>n>0T@F}@si{vlo;e+8J_LpCy>9pMTa`1ueZ>FT3^>wuy@#X`c)8&%U&#p#9swz9YVe`FqvQE@Wm1OU^ z%|F3+ZaIzX?5{k_m4ZxxUUP|X@mMhwO{))tAzyGXqpf9-w@+J@w;G)XbNQMCr$ZR(Jwl5dEcJ` z(<7Y(0^`bAxMIh+00th2zX#EZa2zKvkRr@fcr<{cJt-S})J`V}aa~9QfI~BjN9tW6 zL#?;!>V6-*Zen;YD8XBP_FGsz1Ht>Mii2)ul9!1KH;!`v=iCwqYAo*fY4+SWz{_J_oLN7QWAem?#)}Hl>=l~Ivp_Wb zzGgVQZY+5cjP2hdlAqXQmNN-E9p0~D|6R@<8m=+q0Lj=&;U4H}v1hH+Vw60a*I_&I z-UlP-FmZUc!Hn?1nkCB7_emo|e-8dd{JeGVbN&GQC2MYN@kX@OvIjX`DE|w~Bkm5AxRi_s&MiUc#C(q^DmvWx z>Z?AX9=iVQw|1O*>-huU4pb6!)WOJm_##Gnzc?mN>lTEn7gz$GuE`r-!f4M4<{wPao6YMCCm26B(t9^yY}rg~ZN7L# zzqfTe#XpIlL+vxS?E`vdixvB==4Qyr86A#p{YV`%o$NMyfPOsSMruCAgjUIUT|%ss&mUG!ZMaDI$k*Ka z{Tj@I=^o1+;jo+tz`M+#8y_h+7!>T%+?rC-h@P)mNOwyg+>D2EU+Eg{ZJyF$saij4 zLpeYs2&c6rWK^+f-kd~<7Sd2~{ynVL#jq*!4wTA+B$v5OUVybVmVr9zEAj*11AvZ8J)KhTI~Ls;Z&l; zSTNCwJKMq$)*$D;=QY0AO1&Zw;K~{*J;-nKV2DLshVw;mP|2a8D1Uc`;x}-=)7~WC zyk!J3woS8rXSvdN{A`6gN>AS&*&2Ii{)Jpb;nU>=k&mz8@FqLPu4Zfz6U;!!=@ix_ zz3rIiAaNa!h4%$UV0h^14{6arzB>!3MYT97fCdSW;xk9aKk+%Ik2yZ>%B_(YaIIJ7 z_OC)4?dSSonbCiVmQ_#|pe}rvUlxRXsms(&Z8u^QG7Y`dld8iKa~Wg9_$t@g(Ui9{ zJ}&aMZ>aJEc-L>UqPQ7}H)bP+_FQjjEJ)mU#H%ybW>VW(?~&UOn0ME=Yh3zo|*R9HUAvNP%8n_#sV$kq{=SJDXBG&lFMI{Pf>Q0>^h zm(HRujdw}HMkM)7aHN7p;Qs0-Y6A!(xn*f}?hT{yK)&gMPmS`Qic%WU2X3~Lr`te8 zm=t7u6u`LO36%*~wMmSc3h)aoCnF{`{!agZ!nZB*4@LO$P5I;<_(gIhv$OgW)P90j z*JC>mm-^C_u0ACzJxM!zdj=tJ7bOY_*#r;cKJ-U8)cI{dR%a}$rC!oRm-a6=`A3(s z>CwaUixmRDzpm(JgwGGCJK1hb`=h=poQ%!s^ozUGcXq08MoMNAGW#$|M+wRrW`kDWae6`I%kEDmfIu`vy82Q^IvTo zJ{Qy6Iv_v^XzOouf>Z?Jfvmub=7`uN>=S9ooXB-1RG_&TxztqJ(4vT55Qhgw+wsd*_QL5pmRbr%6@3qW{u{|cm2Xg%Mx-nE-r7LezD++< zvR*>{%S3Xz=k6e-fCa0fBRO;%#=;Mfq%2^Syxg>oFi<+VR#5r!r1PnoX=#-Erbs96 zIS3Wa_MM-f{J0YQ2A{pb#$3G-FUdl&{o>IxhF4hm5bQ{{WhD4274b3BO*Hx2J;j1; zmI?9mS>(8f#zfuhnZ;X}veG`o@B&^{=zHhb-I-X|&Ca%KrzlaFjmDY_;U8U#x(Dft zaJ0`$Au$*dK;%Mz5R1K|8Ud7j3a6P1(MI{xQM;q{BQdmaMB#FA^1Z~_BAkBfYe844 z@tpc~ScnEz-2mz_oDOr)WfLkL5M2swAkwoo&Cy4TT@Z{427G|L%l)EzrL~fS4MFi% zADtjOG55NvUyLjU&Y{u%Uw(X2-k_IUwYK$Io-<2We?RNj{3Cg&do>)o@V2D#Le95eejVh}b7;*atUfpCeGWIebBQ@Rl z<@_$(SOWc&U*^|~w8GZ)AfbB-! zbPIbFw09R=BAOEl4{YiDChI6*zKb4V4ASig4a~Ino=l72G9M~;WbR_WW(n`H-<1o$ zH%T(WT=2Mf!3^UI9zb&V@E^%%n_N$T7-KyDt$T*Q-ZiVd2Z^M+z~awc zlKwm{Gg?7!qK8Mqzq1pZV&Iq7_$f4eP2O}5DrmJiWmw|W@U5;e^M*6*h*}JN%v_?a z8WgUnsAvcXRWy{$v>$>zv|rOuezk_ci+FKQtTC1x6i>QvjAJ1*ITX@*fu4pxVCTb@2aM}K2Bpv{`xLm|g41h==^UxRRVtc5yMn2TNyug0Fpi9@O(6OAqQOs{ECi^K3 zb?Fs2cF$WNr&9R9vsQQd;oEd?C)i1!cz!wNvcl$xLx7d>i?h8htVHoibC1LqyPA zvkm_X+gCnsu#6kk@Yro_J@eod;@*98BGw`&@?{%u?Mh1hTZ8n(qHY6dVZ_Sj7$Vd4 z)Sn&bHf*rVB+&ty=voe2x}0(o$=u#kC%Eqk=0qDflNQ!xLE;iVZt9rhp%g$XJ<#L= zKK#H{MHP?exRn&iZ^N;l0f?p_1j6g9!>&Q*0c{*wV2u zFxOt!M;x|rAzDu6jz>*5XgcusY<9t>cIpnV-VdUV4lA@-C_hzz7{x2p8+jswnM&kY z*~ha3uLF?qb6mO%v?Y6ASI^*YnVE9luk9MvpQ6F2h)aM6-qH;7rXw0?f8e6|NXGie z9bD1=%SlVESg`VhW`E=^)aRqOQ$%T{_{Vk!{`G{Mmit8pbcbijq?j)63d}{V%s7gu zBkl(15^Ecw7hy2aBy9BQL#0^MPq&OO7qtk`;;wl_P_{&$dpfbTWEQg!oiZU#UZCT!-vR$q zl*gl~b$3+7hI6+NiS;@Y8+&uCVboQ>W}wu9QKH7gY=}e2frd9Ml#lQN`H<<-3vn|wXxX45IJ!2+PL7a5b6X(v=>T1<~ zx@dd2<~CmUlInDm3|vlpkV!#pDgDICS$luW4f|p*4!SxhddC0g-d%*wjXLS_0-C9w zuHieC$tw=6R-P^ICYf1i-u3%?-(eThAi$bhsU5~sKl~2M8aN255%b$KIPg@T-Wgrn z`q|h}&QnEBejyjRK3svBBkY85Z%TUpCGRjI&J>fK$A zUa@km@*c*}aYBmhIML*Nz@TN`>4es8FTEeWzO?V!eDtLXtl_47RIes8 z;xHv3`z_a|dp0dW$myBC?#z9;%YCx@Wgi{o%*(HHXxh)j-;#WAQ~c_xlb)Eji`FzH zDLTv>X~e^xf#D#nj;Z?STJk)-Zy`}rZ&S?T{nb0BglK`lXadHC4pp=}rbO2s%UNN~ zRXXY~{msfxrNt-0lsBo!Q{#nVbBC?fx@78T{P7XC&k1aU)t^Qj^8l2jx^}-nC`wQc zKlHNha61$zQcT=MZc!*a&v6>_aX}3emh2mUE~m=R|0=21MDvt> zW9gIp$}hc72(VqSS+I#=*6l2S9|{(_0ndsvmL7n4DH+8~%q`vTvzt}h_fSDGge#w} zP)Y@3mJIa7e1(nmLM0LuRV?o_$9A&U57`1#=qHWEPl6+r!3yQv)DWu1D|51JH*$5C zoo~kOXe<|h4Q69LX>ecA3PwgI@6SgP4;aUD$}?+nop%z>bf#1~ zfm6SPb;O?>zivJ%^0}^l9@mkDU+A#GmhtoQktej0xHv1bVqIp;l?)Qtu}3Pn0cn!G zq4APr?HhgnwCGwZUQUE~@}ko@1-z$zYfRfY((7tf!0@FmcA)U)Kh*4<<3y&;n`rJh zRH*~nfL`#$U-|aMrqSkQUR*+vuZ4@0R9aph2ce2OL)7`__ayr)HZYKSCCpC98NOua zuW^f+U}gUGX>I|%@LYC(o^GO2*4gkBDF>7*+l3`~?7GO*^IUuWd(UgpVN;hPD9m>*>e1-gMwioaI3ccE!0_=jv(DV%0#gJokL ze09F;bkwRYkpfjN!>;q;hsiIA7!hK36Kh|Hg8S?nC7)uKvgKY0I<9kW54}l!ZJu5t zDVQGuiXRl=+qZDy#H^;_3%mO zV|+Nk#pNAA@7}A^Q8LoA5gsB0k9`T-%SeG)Pt7>%sj-(jqVMsM$?;>cDDvO8gINh} zZ2VGGj{XW%45{Zp{_;`*N?A4E)Os$$itgNl2wvJqmb&VXpANe6VdazCGA9@uIY0S9 zxV@{d_3*v0gg2YcS{1J?(|ksNxV+byv-q%pCM0|uML)%=c@yJ^fVJt^5j~^b=)kFf z=OjU^P#4x7H1@6a9^3V`=$*-3N&aCsIqc_hnfze%-M<$}b=2*<=0`nDuj#0RAdN@n zNn9w}sBtr1>p9s9^}?j^<2Y?wddOpWtLKhn+{UA(kd8>yCs>K0&a@aO8SvCxmiLeS z-&!O)BdIg}jLu&@Y49`~S7xsk05z7K&~$ZSWf|o?ZrfK`KS6D;3*%TT3~XjCg3({$ z{MKq_eaGP2awav*`0J_PC%)!>y-FUDsu0QV>J&Pt-k5gZIlZ0bOS#sQgGQJOH}i2b zOaxC$8#{Z90BWQvD*TAb!3)VArQ>}Kj^#(6J{-MxhsKMuh1Qo&irCUy7mvM{+=czx zYy=aEyH2eIg?7C_)Ayo{GG9rU%Y#=$6^#3S_tx-m!1WHP8!6w79-YdzT3|ZjC6+IN ztcpepO#+`Q!$nDuz$q56;#!)Yxsde1q+r3v&aHsbKk|8WNOz(6kQm6pa*)g&Rr|i( z8oIU0%vg2z#f*eQ$Tx?k5Q=P+CX+k^Ah^=!nH}ZLSC)+AR`$HgS2}5xvVHjKMq?ah zj5cdcXlvhWppz=JpU3J>U2L^J*NUGUQKU2ijhx#g7?!TX@Wm$(r$zkagCuyW@$RJOWY0p$;sA24#X1)H<@`F>5!Z+COx*jCJm~_ejDLu`^zBlQcV-gqRNU$<=GB= z&K;nPAQ{IJ#%Zv>NB0~idj&SeR>aQA{udzU^lz8696!T;$YDu%?>zdNMM=Lbvi1_| zx4s0CZdW{a{sYVT2LL5(@9YIc(L@!n%TD+C4w>hHbTFujSsO%UcYa<75LKUYa`O!q zQd3x;W=GRlf#x|wV1`BhnPJnsMU3qmwFNw}JHQGy_-OY-6KU6HCEkNrt-Yy@R9W)a z5L713`XoQX9_t4H2lIabouZn8z;BG$MW5>q!-aV7L&o1vG@Czf<1)Ygj@F?rsj8yr zGt*=nz=9|#j z>3Ve#AX6ynG`z&CecfX$mU}zfEg|R$Ji*1>Ug)QxNr7DXGd;bv=O!c0pknI?XN?d# zq*3KQ&sxn7v8JF+0U$t^%N35=M=5yPjeB$~S9N%h54>%2|+p8upj7{y!TTUphnd7py} z`|NXFk0G(*`t8#iocp-8`w$usKb3;a)zd<`uZh3B*0w@#X)OfP<)}|f2+qy0$ig+R zI^BZi9O=Bu6uVu)!p`99JGZeB>E@O5z-GE&tW=$UT{GE*WuoGmLAIk0jgc^5OZ{q- zZ-2RO&#LA;Q;W&R_!9y>fPEmi2XV9h4T$}#)7dO-k=0Y&)0tWUL40uoJJex}BHH0P zM<>^kybH`exAts1gq^8ZR_kh<`A&v=O5}U*uaIro64t&2%gZH87w}VO5^j2z(J9Be zwYU8^C&G-9CU*9X4+S&IKX#+BZLtKBQC?_R6HcGZp~=z|nM|ubnzKhgeGg&AR8Ybd zbP+J^j!g@|S^Yu8UY~0)Kk)VZe4b4;jN@PLx7IRYS=GA0@mPV37xtN3lW&s7`66o( z)3$eGwQdh{aR{a=ylMRG_?Y`F{dFekBI{+j6ez8V=AsyP9T4$pBIStu%g1|yiYft> z2YIRT25*l;cO*wYHE?N;E{wLZ_z5*lvY$OHK8wu8Q#{>Rme4^g9gocVSNb(f+?=QJ z6<3|Q;OxAzuHS3Wz9rOT#y*SflwdEi{{01*JM>@MCt9dqFAl4V1b2?^1Gm<$cW{K# zf0Ip$=OhdCVzlGkr}SWf@AG<0S5HV=y$c0vjjpY_6bxZ7UZ-^${M#-qItBXFe*=BD zr_8Yid$zL5FS>u3lz7L8@!&rEbn{%A%87DYray9L`DTs14ph3@Sx%AXTD+e{FNJ4u zP`m)*sDm0P`!Z4p;9d)Wpgr1&_K--9_g_y^1IpvHP3#FT3nYru;qp6I`WF1X;AX>6 z7scQy1|k90>E&&tI-&5p;pObTa~IBKH+cuRIVAw`UdyTX6UUh_V;yeUL)Qg>L^^41_T~z`33xufg=b`ux z=X63#sLruCpJh%s^oc(Q5%j-F@$%v$zs>J?>w-NC>TpJ_S8eiMM;Fc0cMB)vZpA3~ zIDlEa*Y*;`=2kp$yN$0$E|oOcsKF)$52>u!Km}oIcA^ayS3}+QcdtAvu5V4)UE&$2 zQMuM&L=Zb`17`qM$)a6bU!RtazK%{7e*h(T_|7>S)*7C{+V%t&4UNs9V7ck}f*O}i zPyXvn@zBUmhrjhEY7AKl?iIGKro8q;ADV}J~tkvzlEw6l1OA0mA3Q!2SMf)L<*C^E;P&?`$0SZH`q+W-9L6&o zQCWb*T~Io>qB$FSA3KZ5i@f`QQ#bW<;^$kHnkyfSv$SunuRw8f`!?C2;caZZ)QzQ^ z*-7B29)f&2;g&GFY|z(gr+h`nHWjRY_ubkD&f|Ey6o>8S79w9~3~P~_LnXq1K3>2@ zw|%1&(VovwIo`Km8C|rYKk-svqmjFaM|iaVv6J!)=J9YKYxj-V8~M+VL-s%>9q462 z_SK{z)Y3t4-~)3g_SSv#@zrFhuX71X_vvEk(JeqNb&1ue-CBb-l`H+PjgQ|zk2}Ze zyt*~I4UU@iztTk$8<*uGF9T=EmU?Tvl2MrWSTLjEvcBnB;po=r_1F>4H_v*3m7oJy zs26{C5)6EW&#{gQ@fZ{poua=rMxu3erVw@d9s<7dl@^t za^<_-ATzI7JrgmNcsKvv&Nlh3!Q6P@H&(&Q$DwJ;v3CWhu8lX^Z`Lj6HGC8buVrgS zg~CLI;WWK30mg5-G8UsvQbi$wKq1w^g)=cHIkf4r%O7^s=iLC;?epXk8ln#t*FV#w zYW}1K^~+)hz9~ma{k6b~F(y^TQT*fM_FnqBb6H-B?YfrS7DRNgLIX_4*e96_C}oeX zaPtXSOIxfTj311D1?4`6hXGX;mH@;PUBbc+OSykRFrP1jK=KDi2N|U`f2ouSmq2H{ z86`?hrZnT02zIROLT6%>`+k;+g6u|mh#2VNBC`_Mm*QS4#F>+B2jB1*h5kRT-a0Jm zsOuWWK#&kIKw45HrKOc_1d$HuW?<-6ksP`kr9rwIk#0dkVCWcf=os=l<9$ER`&{4r z;RRfyGUs>p-fOS5&ORYCd|}DoPYSjTZ@+^^Ajt#N706#Rwn{qKgMCb>UlW7WCPMTjG8Vv|=Ysh`)ZJah?nxd@n zeR5%^{lCJ#s$C!6REDMnxs14NBN2P8kZZY0rK5J8jHaNYD^Y4T0oh<{!Q*NE??*db z6wEvN;xt>HfYo5@1Yx~n`0Cjh1eIS>qF$+^p>EYW?iXq8?|ZpS^|#70=EKx4e_Wlg z1vWa?=1%dz+tjuyaGDhXNz?^PwlhABwVQ2mlde~Yt_q*>;Xc>Lr9s+P4g(mbLz9H9 zS6f)odRFDY*eC?;{z@b~t}UJPTaw&LI0mW64m)-J)O@zp+~h_Ptqx0UOhmk@?i0=| zEDU*zW_yUx1^+Y_Jo(+8i3yB-%b#J&iDd^*DGHgf98zLG@j{wi^#SXzY7U z!!i87ZW&s%8k_gumY)lpvUnzFQ+VDO*;ffz>bhoH%fFAPAXIRnH63PM*!02STjTu*ya<)8$``e`b|j8i;GBToh5$7Tp>5*NUds5n^pWcpANgj*HStpe zHB%QY3i%=LB`3VEcAdA>(LNfl7OrQXW6eA23L?QVs^yG+!JOb z&9N^0qI*Vi1yKtBb>ekqh zh+J%Q4W#f9@bK_xR+{1GDrbZn+?-G1J*sEeKbdG*T^-!^+O|RQZp=2jgN-)uMyalg~)dJ38+dIV`0};EBAkC$n|0=OkcfMPMo> zhoWxH#=KB2EKLx(J~Q6_TQ2VHUF))=Ep)z~B_l6y{0*dbZswt$eDp)-OIRr(s(HSI z+ZHfy;HobMEoCH}$NQJVo33h3*|Ruza5uBXM-}cEb=5Y(?Z#{Wd98-rAPl{F&^)@Y z4{QG;cse{5gYHfmKU)%DpjJfHn;p8o_TYRBnETgy(g0BZ=5xko2usenE-EOnQyYD% zRk&NfbN~3X^M^>B8E35|_R;&U*)T)Us|{(e^9`qnyG&cM!%pIG25PX&J?o&9)NS82 z%b+F6s}}%4 zI(JU9&hsXt=4);Oj+zNUwNTrtk5*WH8fVHDMn;%-pElR{N5l9Cwm%^>z2g?t5~yC8=+JhQ$c2UHSKg+C9czLyNs2kqdM?`XTrl3mT;q| zdR~^D|K#(nF!SG{-$VPA6N>)C=H)Of=8~Nsd|}WCO>7Nv4;``S$jk6495N52@697<0S^-*hZDDI)PBMdb${>p_`NUANWHul0p7asZIQW_!cR6( zXxGPhxFGXI-tNVHl0a9Q(uL55#QPB995%oW8EW3_KZCo5PE+oCcK3iWD-Hwi>c5VO zRQXjkfpbk8BKsV@gG8sGXLQSsf>I*?JLRD!W?DHoH`du5E(q7=tT&zK2j_lr2yr5Kk@1kv{R zXUr!vLT^ZPEQJGqaGu2V>{K{ZdK?-7sHnay6)Nul&sLfp;|=jCQay3dFmqBVRjCi~ z;oZ1(q-NZxUmw6}f3$Mz$y0+W(qS3~nyxi#^Eai0>j?sQz|Ea%mGNUa@!_aPdBRTQ z!_kJl(^J>N(1%d($O&3m?H0bRyDoOa60O&>sgKIzdbtYwn97{0FCo5p`6r_X4|c?} zf1wca6UG%i&ka-=MAJ)eVVzKQPJoFDxXGNQt)@=C8~bYmI{x#szRZ_bUKBn?7M!H} z3smz`)e>KCW`~Oryzjdnbj)NF|F)@B3btNrpNRakGuTxe2!f

H-q3MJ!&1RInk@A3!8x_wX6H~;f3&Ab$o&liPs1DNH?gE^ zlG|g55LVvY6(3=FtP);UJpmdaX&mQHs!Y7Wk%;ePzeF~_+PuB z1J^juhdMRgZ)OupvfKW$S-U@b;k2)PsWn(z)j&Mh0;wD@(GSUHNfy6Tj1A1Kf+H}D zyVEJ03?I~qk_IHzPiUt|UgweTdimJ3^AZ}4tp64vOPxm9O zZqu`1S6@18cQ0T8Oop(+Vf!5a}#$q&rf}Ys^{gR20eOvVBBAAGDRHgJ|jFfZ3m& z`RKARfz6hwXC#zTO5rg3glM(Vmi#f0$-+zpxoPjZmH)HDXcJ^%9e=7l;A`kwgE(oq z(^I-%>kW9LG}b3t8xz-qgJY^AS&QyKn%(xpGr5TOE=5~^E-_!iQMZ<9R$j%h`+n_&h~oOa z_MLIe7nR=s)W$0t;6WWs@MvnSl=Ihg;Kx|bIrZx*`AX#KDG``}bw!v#u5ns?tL9M8 z;11iWK?fZ3M~?G6XKw54vib)>x4r4^3#h@ClR}_N8UXEThF8D8i=QpQ*kAcxdzqM- z@d})x=^gkjbQ3)JVaVX^i1xeQtGTfl z(LPqYHKV#+Qc$4E@SNc|j~QBWsYnu&+^b8j+|x$mS*P!dQf_@%?5|+UEQN)6m-)hi z>+OA%c0i8+oA?-OOoq4joreolbe0g?O7q*qnJxUdjTYu^5i*JcoxDZ`B?VG#IZX_m zI^_KozQxNb#(V)a$3Y^5u#7h4L5X=T({DP{+ZOPkeHA z-;eTa*ZMZC5W7<)+w9jhFbHOugb4Pk^y}dKk7QD32dt$; zv8L!?wQ6vvudoo>K-vE~Bv8?Y&~!;Nth0e*AT#mBvIMpzshB{E_pgUu)i!=+vo+0u z`|G&7h7*JB9Nbwd02M~jUuOPOt-Dly7 zg4I{7T`K#XMt3_U$CZ7U<9tfKt@u!Uyk0A4Y7%16s<><5d&Q$(^xJ1fOim7`!DXk= zM-a_mF0ru~xc}=6?)Nr-2=mPei|do$`}A%h;6ibobM$LbwSdX)Z|Ys_cad2|?5ab( zI$B3-r}YC4jc@`^m076n`gW6nS<7wP$t@Nf=VXD+a}6x_D}l6Z1=WlXvjT|C(J5}# z7X{MOY-vpo(n=Pcilz%JBQ~J*_SWn_lin#f{Z;$re-B1d`et=xo82dd<%Q?=c?H zL#u3qwT4c(Gt)|Hs&g(hp4No1(i#Sf6c%v`2-^uwv1wFnHCm$+A(mM%4>L2afe(s) zZ7?MdXS*hpQke8lu3~#A377q(o~w#|>pey`wuzv=TeohhS~e71z;;4HLW=snn%EJQ z4;p#O%H9vB6b3))_Z1Wu7mtdK&F+&|jQTNnJN8ZJ>91e?^V>9(dk?#@@$j5vUqkQ? z{b;|WrjoC$tyxWgevnp3s0j(Nq@`)KCGYR==a~trxV-dgEO+6R5_=-(vYnXQy!QG& z6EidFAsKaX@IN(@h2_!^#{K7by7*#T(qs;q{Fl&SWD$Rh?FrGM2@=yrLG%-syT1#; z{@9)OzuAh4)q2te>>j4OA3r`8vFaa*F$aZzuB)ud&Vq`xC_XrJ2iQ`=@SDzku&pjB%6!y%F%$UL`xTk^MQ*-ob8G3_xPjX3pb%rvRc{)WSNTj0N_;icfOcb5~o_g!OB34folPV)=>kJ=ww zra~T*5@)sh@0VG{LobNDywcq595eR$rZ8rM26e({95>Cxy5vKq9I zXLz3^2}BUy)Y36BVsn`fbsTN{8J{fp=M1h(VIHhQ-YY}m*Q_Lqw7vBy2@jDVjTCaVKC& zZ7opcvJi^dpNeS~5_`?8$8MC~|L`Uip53<{OolAxAWdkxb3%S z{WGlh=4$?CfbQag+UBgB3DF!~WMUt;2x z)6mjNCQ}GFJv5G5wW`M0#ZJY7Ewj8S)~XDsfy~=cf3DnnLQE`OtX=)c)MybtC1f&5 zJZah=&st?ZOj*wOmEM&n6{4Vk$72UiB;~evGuz<&*mS&qrh&qBcdnQ}pmZ5LN|~8y zeX=Ba4z}H)G(kyJaex2LSiTBv!)m;ageP^TAjX`eZd&0{o8xIn&=O~F8V3wHG+w#NSdojzHoJsl4GhIjL%i`nDBi!w)-i${KU?tDG7Bib}=+CS4%YY~eLYO+(Df|{qfBHGnr1`*H zHWdoB8)(a|x;fK8=ILET$miV5Vkw72WbL#;1=wkR$IK)lZAoGNNfnY$CLk2g+|7v# zRqDwZ{2yVn!;J}Tm%GBaJx^@Tmm@^EVF!tG&7OaLe!gS5(i62bXERk{Y9Rz3918n>(J;n3hQU)Js1t`v?wIdlTgAHORvXu4WAz4IWWC*Dotd z6;-n|V2bi5^Uwc#nb|@>TarZ}tyJi@lbsoutt6q(=hJ;ehVN)Ng&<1}J{j+TVcTrd zp>l=@Ygcme!D>J5Mi4z}f4LjxkQf>Hd=QqiL&9bDZob9aav+gI4BOR7=)lcf}!+t=qQ zu(E$uvWj^5+~xUU(2n{-pEt@J0hi4i(#w_Q(pZtd6&wI55}f1%jl#JPiG1I6Lv|2m$Mzml<;^|RJtF5ed2FR5I@6Dp)c`m<{GEk zs(V^j;=9>Z&DBG={IfO8uT38#Y0H(9IQ@Acb4C2&#On_z1k{B3)rz%02qE^cAZcJC z+`@Mqy5MgQdMTnCJ?T!#Zu#t&q8`kD9C$j{-yu^&GjYbL% zCDVy|kXEef7{ETzvK?RnS!=^LNP?lzf$*&~g!hYcts z9X>FRx^l$}uueKsP?5va(mlV4l6ZOBNIlHUelk)M$1E{wF3M`3A3kwRF;{y>n6IHV zvfW+fQz%QC(t3BqYW3^J!%!~bnfoXt}fM^>#NS& zLM*?*RLgg%Z=iuI4|??w(>=XU=Wf+StwH`hyBFxtM11<+(EMrbz&lM1+ga_4>yL23 z{v;@)sF(xt`jD8N`R7KX&JeX+1rh=1O3=fFV#E6>-3LINDA2C9YFMJUQ90-ce$2b- z;`9D(7%2~Msz1f z>M3(+lUNLc;%MsdBuBy&9=k|+c}g)`w*r6oIs2$;66EG-?M8_v3gTkqbn zr!Vo+vM+Uo_MnEL$4co>WSaP`w$EZh5baV@MT0u^f-TwUs;x-Hwv?;@M-mAN&szGv zo-shjNm&NIb)A)}{?YyW2-DhPc}P6d_L!!Di)EzNMooU~l#RX=Bm65QOSnDO#XgtS zt#SLTO!e&p0EAPhpUZL`*}?s&N$Ol!pz}< zrUTaAY>X_P2LMMcpZ2>8ac>B#{oTJ}1@ z)F%8A1b6F9D5;1Y{B;4CLh54Muv0UW@37nj>iG+rno90g>q)j`4_TQ3w6-;9im zD2-dT2jCx#NK;wX94-+Ol_vArGHsd#9O_nCL>1KD#%=TWowj}n;<2*O_ox{F5}0Ye)!5ByR}r*75ArQTM z1NLerhjEw1S5J&L<-(~C_2i$ZOlDYWgVAWBN`Q@hIx@(Aew>86ADe9F-mD(NMw{8v ztkN;&S939`U|!z}Y6hYA4FO+v37k+A?LdWxvnmTC>)YD@S;yCO<{TV5nco zQ-puXrQwINVBk!qYo3`}ffvc(2{dZ)foqC>I-K1_Rw-vxE=A<&^Qzl%4;_Cuty~r82W@;V9K+Nh@u#s=_)TLi)kE9Xn;uJ;c%ARoWJsrw z{hfB)lTfLwy3<4v?}j?WOrvY*S{=Yte<)nxZ^Z-fdJVq85YN#2%!5qn{EH!y7oBpb z>+dXtIr0(GxdIDu45%1C|GfFnEh zEhDn84;Nl)GMK;aTLUaL(;WG?aHSy_>oa|~{Vp=d@4h%@)**yLv)Lf2)t}rj?kiTE znji-VKI|QP%Nfn_`iOXCgsFRcgI1`h&*f{qI{UT)0r2eQBm`=Qc8hE0`br~syf032 zerS~9jOY#W&3lQ9UY})k)+8oABNg^=x*paQv2IHvzMmh#VeD;tn0Y(=8{~=?OMmYG z>~0t)*5wHn58R9;vV363S(P2>c{s?|Df9~}gz*#hF-jX%_E7h`2j20CM!Ht0RG*M* zuxb(A*67pBpxc*@rVd2E_%q#&po<5JiW-!Wq4mGqmFbn8pV+4ha#l)=xu{A`u^EV{ zN~BFrP|tF-rT;Ni(eBmgK@^h)c@=MICujL1Ra624^7ggyz#bXd90*-!C76!^suBlc8b_;=fjmlieQ^zZx8zKAB*re znYvVd)%RoW5PrW*Cm`sj&=Kmgk!Y^HUu!OlyMPoi)ZcHSt=Dv|1)av{bc}I zOLr2#W3E#<4LjvZXUOTSE7kZ94FX&zfC${~Gr4Oy!*I~x0h6l_NYf8k(UfD+_WElg8mLb&d$7WI@-GL5sllKmy`} zSJHwC%F5j-jBm<+a`H}i!gAR=73rr`*YS(CJTZ{BI+Oo9XZVPb!%DgUIkhjqrU(@~>Z zw6?i0qb-bp{r9S8L??_GRy(uj7<$}{%^t8K=?1`ckAV<&IRysBr^$~Mk7_^EvZ7edhqEC!9@FVtt?x>17SY@qw@#4jwFPOO88xAH= zoeF;3{mVthRng16JH?vizY5On={&*WMu8_nj$)awrk#q}#ts^Q3 zp8w;pOm~>-KoHT~&p zV)*ha{S?3B+HZikEY6QMMlAyUun366urn!cLl&pZGsYzh655Qbfe1fV=U}|=a+{|= zft`3{cDzWZRw;%JcZH=ykQ1r(+vnRZNu${Ad(hyP4%-|p{p$Me@Wtx#=i(U z0(1p)EYk-$2?N(`?=u2i-MJFI#t{DQ0nj*oU7#W%32wtjhfqo)@p`&| zbI96ohO+3*C711Vm8>KA{0%;ZKrFKL#>XKd=QN%~8fj2;2yi=wZm{ezfwhXjscTfr zH#-ApZN|N*7K?&7_)bsC#G`NeA`_!@TJlIb;=1FZ@u&BD16J%_M)uRYVr>;L*Y|hG z^}Z@5uT@j(*{PV+;AlG}VqA_>AGze9cs&lGI_Em#r%gWTj`4q3Rwt7(e85;Z8Mjk1k z5_17T%ssJ4yitJ!gEkxVL)fcYLfhZ zBnIwCOa6F67K!QoO}Oh5?gI?I;dzOgyUwT?o|P{ibGjB9&`IAPl5MlvG4ph` z|3G?@O|Fscko7K03Lode10rY)ZP{3d@iggHK4Rdzcp&$TcCFpc*sllIw;MfVb|1<*_-+uSTyzr0oy*hVR6bP57Wyg~aCnsEeXUt9N zZ?c95Y&a7(Gp)X@?Oz(_+)g{3m+&p!wk`u}J;ASRPrQcNaC3P`FqkHoz@V6%O*jZ@ z7vPApJa?NlSjL>kcXN|@tgVpLwpVPeD#$DOK4C>!56X6LhV!T1ODK_Y4Kw9C=qi>+ z=lYmV7DJa8vNbp_@h`9HL-`gf?qIk*`#zZ@y&*RIO~qt1GIWCnSYs(e7BG{_r2 zp7#0As9)bMSZ#4M%4%Rw=&dy8} zNpGH8dzvG{GxcADXB#T7xvpq4TanJazKP4`zXw9?wC$7(uwvPOQTYvkGxr4m?K0>h zJIvAaW-<=zDuk-nk3FSI5@S~uL`$a|h`qHlfDxBXH< z{U!jNHFu%~@xbZ`1d?H+YYf4^8e{lB%>)L<9wSSpwtNL3?s7masTZ35PHQ@{T#rbv zL}7thBLvfNR(ergAgkJ3mpg*ud(`_P{=`aJe`?;&Fa<_L}vQm`LlQ zho*=4o_V%c^Hxp%WH9igrErngPlO}~@D2IWTZW@45pNdlsvv#O9iG7xv%zGQ1U9{n zlsv!{A>uI`CQeN*rO0$z#hVxB=5>&kLi-Ac5Cn(x=udBk^vaPJ^oQD&V7FvO{pl2a zUM~)HjR1F&*)OgrqBo1D5|q#I5!U~2v#{Jg0))y$)1FZdiOB^8&atF0eMud&&XHr<#>O<;w~E#C7xEVW&;*b4vkMF1D;=3@TF zVt=WVHv%6Y|0$0A{B-#}gK!7BW3H3cF0$p~?_ zzf2QNB#pmpfh5oQ{hsjqaoLOf*Qz2K*@nB%q$Nl_E$LpoAg*uT&RGl*YQofd;^5h% z@5crkWq>88$HlEW`GBBzu`1f?-2q9MhV&(Do2ACl#Eq!W-BVYWJdRmINy76qc7e?r z))htu%P)}30hPm!z4b-O9cA6&{}Tw*j~{w_dv{(vo^N$t|NR!u>@Eid1KNEd^?Cap zTxrbd-MSoh_8Gwlo1@+^_u{9gt_D`w75r%60D5Q)h%|$OIQSaL2EM@%!oTbK-#m#y zY5KR!unJi6J(L*z^QV(I2DyZW4YS>*Wth^X zHO?(RMi-22Mv8U#I7!1K<(9t(Qf7kv@w9+-Cr71No2NFM**r6~GF0seP?MNO?WKf3 z1!^!OgDp*{6{!02+Wh@kz5|pCrMQT!q>R@NzZRF>9fGUjLp%IV>+eW~++Ok6PRACi z7Z>tJ%vb%a&@jAv`RiAdYO!JObsH9ylk9mo4#7!@jw^`o1DF3v9QB^)En@H3-s%X# zQJIX-ZeZSJbL^!DBF)v}WP8d9C}6?nB>JzqD>7|HGJoXj)^p;MaCZFIy=q=f?|MA! zRN_YINQVzMU*ae8R^=?^@iaZ*{udZ>&_J5|pFGzf$4&U?M5{yRs%wXVL0}AMsLp0u zjGxOkNxo0R{w?f6&Y0a}x$jX(9fHA%Zty8BCyKO=CJlToPY$V0H6N0^`iN0&Go@9nis<}eUtO^^WQ~7iFoiUC5o`v@0JCE;F`oLk!e=}8Yk0TS|0g$ z7Q!g5own7Lpp}c09mjPqN_HW;qI#!|M{!Ia`o14j*kAv`W&aJTzg>A+R&MLf^##!k z1E4O3MQ@rqd0Qym2!pa{_zjFXI5a-mh-~FhVoZk5O?tD2j{yEgmLc;g|hE=htRO3 zkC5%A*C{no<3rMJny9Txs#5came;_I#kw*|Z%F!r>{h4hbx~=Rru{^KR=GEr!l!(G zlB|>_5Zw9s(&1RA0MKd&H-lf+KpM6?^Sp_MD!-3T?*`l3M>4~$MR_}J>ivK>P2i9n zUqO1(;dQA`_|T2?=QHzi1IKV#QHr>C=FbIDq+^I=r%}e&y-Uy1xMiP8!k-UH>-)s{ zmb}C@9*dpHewk(J7N9GuT1sxz8rHD3W?7-4Jno|J0xTOGbE zroPgmFd8IY?%wCNx^m2KK{n|onXEBTr!|Eu)Xa&{%M1;Z!^E};a+C5|6I%SIqycQ%Dn7~|p=13y)pE9>+Dymq9zORBV91!}+`bW|9DPhmpO1VFdsZ6AB6g_* zX{Imv;Ca;-{cEv3Pa@P7vf%HkQ~6x#+_XPh&J{^gMFW+{gkc5hxzHv1J=IXpV3E` z3;3tp7Rqq*Oy%D%=$HAsB8l%$NJ%)0(YZ=MT@C3#v)&&$n6>Fn76k{Bl2)V8e2w2n zB>F!?zZO(9PgX_O9L7xJEn3evnMt|K@BsC!OcT@-nIzb0TUHC6bBanL0ynR$`nwWOwJGN}e0&JG*n{_$}R0PUmxxWu}n zr7WMO{IX{7$zQ*#OuLBdU&e-q1A_UH%8I+)qQxN)f69Vz2+$wmBfe;RS@u+=x$-%( zakt}Y0dyGO`H=|*KHmYusMZu0m|=NFITjVv3f}z2!LaY9m5H~w7n;%8s(5dl-(;EG z&qsja#Q{&jFwc6niap@71uVh65Dmbq&|uXMQKk5(N3`GUp9{aINWz-XTuxVD5DtQ( zwWQvi)Mo5`wL$!YRXOB@b7g+uRH54Vux{-aPK&L0V@`{6xL48r1PTnc^lp3s$K2~n zThH{^Vde_=0Tb&76@Tr@q5@3x$C*=1t|utXe?zd+P&&NbQ|GhvDXpwC^Uu@BSP|lW zb{V~ZaA|@n-20zEaLjH^DH@H>29GiQ_Wx6JjoMg(%2qBw2?|yQ;sFnIcc~NR|NK{l zpmc?q=EL$AM1IjQmOfOC?Tp2*ulG^63HwLaBD5IK*HR!7*@_zW3qNm_zxF$fk-TGW znR>X|bI=soPD*)NA#?Qo`*-e-KQRVRKpUf0p`Ny<;{Xr`(@(nU z!F3Cjn)=U74uqtmH6|l&*c*rVNv)DNO<8IjTA{ICj`RHsRRi9?4txKW8+XEg;o9hX z?MqS*|6{5De%U2H;}5tQhU6?=$m?@=!=8-O(a{AVQouHep7Y!l7I0dR9K3h}p5iyn zDD0J``AGQv=*B`}Jw||1bYJ_Y93fOta7<8mJQwL*6_znDl<)j+c6d{6NF?zryidqs zNrLcxxp?3MqVDqNoThzGJhscbzp?;mWhNok6uh`k9aCxmP$Tuj{j-I9#M&^ZJDqil zwYSPNDTs*HqM=QoR?vu6CKg|pDG0kFbv-r<@;ZEYq_U#Y-PcG8Rt5?G0{em1;0a(0 zVEeMPNl!G;rFrxdx z^SYwftqKB&TH&&HxdAf={>1v1HVDTXBcfk??V2@$fRIkI; ziUvR>Y3+KfXf5dlM|N(m(fKV5w^Y`{(o8}OdkiWn1DpqV)CTkLb)}>vlGx~Y1%Cc1 z`jV3C>su?kWY0GX!^e{1;$)}fytyhlC9ZCDv10tZ`cH9h={&mlY0%S(ZgoJ1f}P|F zWZC3pkk#ljU!U&GXvom9B=(pXT6-L=Q{UC#BL7SZce7uSN8V^vn#rCXp5^N`x?B&> z)Ix~Gc-x_#!|B2sARX7fHt&t5PxgO`7eP$PXQer$q@eHw%FX4r_p#x4LZ<)-U8v=d zL(pN6rU|+##jNcuwp$*o^cunYK5lFTzescc5MMGf%GemISb;B% z2!l|Uxr!+vw&7zApt&3a=xxv?+-}I3Z?ZpiawJPy@*-*VBr@`$oRX3YBRdz%l@9Jl z1;9jiq>yK3W_}$LHR`~IwQxIbjM6s%xrOKOP6WOk6*3|y2)j_fxnZ3EiIuLgHjoq} zN;HPJJf1Wd%T*-P)&0qOH(fha3Opd<=*RB@I5TzJCv`Jw_u}V8I!|TMEnapu-G(;~ z`}WSCya>&*Uf8w*!-a1y*Ze7mS48KjHu#&Lek5Mi1rON`zrXc?UG+V)_u9_pY0>J< z%)4)D+S`+<#-qyJZwk4$SD0UB@rHegVF@3RjoJEGRp@6ba&SPVhNYR{&tcVPI~qH3 zFzYPGk9WTM@WOVChfg^s%%kw6f0PiB#0~NsRtDsQsN*b7-?!qFk#}XH2SXo2-ics* z$}G2x4(7eGh#r72r18H8Ra;oO5Ak$L$gGS9OSX?uS)8+UGft7y*E)i0qtG@McJ91#~Q_g1})5$e6-`WI3%VIHM0r5YkV(Bzb`35jKu&kR(+@w)D>dNI_tq1rOxQT6M1`t`_f zs!n@jK+N-BbYWBP?f&2lbkPK+!^S}WU0p~e@DA`PC z!{3#3k+h|m+Fv&vjmi_v$R`Y48S&B6OS-mUBKCo|BZP6KVtvKzH4P(dZgamd0JC6W z0e+!cX#rV7Au{p+aiEAg+U$YhV&Oe|P6x5p%turt8*Zf1rl$a(LzHH0g>m9 znASafQi)1%xyKY36MV@be0{b&dI+LS{uJ&Q;biyfR60$-S;99}$X)f1(wfW4`ZX|5 zK(A-$Fzivg+-SOELA6Q6e)vkMgAu86=Kgi}^lXQ_>7#~=Z)fHOFvxDi>)7?So>pT1 z>xhtFF;BT>6a|d<=v@07#Gu2FVHz2vDH4x}3ggYlD_rCO3Ll+ZcF6VBdWG}TsXlxG z>h#|877GAwF@Ex&ki%JK^$T=A;NajnXo+l)6dYY05m;V_%rm}3HT)%dsuCV>N+sTY zE~-wGndF$gyCpkmF*N$J%H{BpfW6ZTy%vwQr9@R~Lp6aaJp7Hr=lI(WqW8WfIC6#R z0GGwsMAc}gZMY_2Dhvl}T+BT54aQWv(WP%pD{5v;+emNqz z+myxp`o|)65?bOGJ|262G;Lk_^yO}7D4xeb?~4uKzM*;4NRsrXIH3Cwv?q!@))Q6C z9R2|TA;#!DU+}Zzb~8&WfM^Ci)63lvu5}_Tb-qCO6uVnXw8?)^&w?ZTz8-3NzWJkc z9mrBFYGgj(-*p1axL$C^6gVP?M8VUWJ}$!8TOxDYb}Ai~rDm&u-YF086!!{R=*6hJ ztKZaf`b0!T_jk2-yOSkZ?-=n)W;5+n5q~uiN-wL$-{BJv&QvfVg!_R%C#kCvBM#(RI4~Xjo+w&8I~Z3Veb6Ybvm1y2Dzb zv@fU>y2B6~%Ki*TQ^&~c&;#y)85RU&V;2+M9h7{$o~QzOB26?wb`26ep(lv$5L~Vq ze(=LRz@PJ66Nh|StETDZ)rUU%!gS!9!Nm&HOe!zXtw{fId7omu&adQ0ca$T1B9;ny zoU}y9T#K?T4_nIrb{(A7zMs$1NpXEFb`^#v`aCBuZy3#2*RQWXNViOo^4c(d_0Z== z9~6Z7(^WJaW-7s=u)_gLlucRQtOqIL?ILe0=i?6Vu87EN$Gz?`Q1$ z%S0IOSn@FmiLA7oGJwG#a(0|^D~eWn9gzA@qqicd#lOA_l?kFJLuynmG&yaka!{7& zHz&7dtU6NO*_p0>OjF~|QkH6~2>cDHlnE@+zULcxMhXXYf*wZ}K2?rBF>m~Fo_@`q zYjStwpuD=gOx1R3>xR~AW+ONuvkh@4$XVutS9$I3WsE}*fdx#;%Qe4WV^M#WD||q^ z&uu%+JzZw#$Kc`V=JxtSk*10S4aKXEpJaxcelGx!t5loEKOFq{MaY(WcQ}R9$+i~E zxbB8r*6-poaZ8b2qk53>gel)CR_)UWEMz5gweNm?8m2FLX)!d6^(DGt5Y!(4K+0cD zdT>y;#)S|c1ACnUeCA~14;CZ`WYh%}1v=shYBWU&ZZxC8j>f37x;+`RjD~oPo!+rpy^yUHNkHq;zmiDT^6B0^AttqW%7ItR+CF4~W zKg|YD*7N1Ysuf#PeBie+LWnD$|Ki-5fwZ#TB_x_HrqxNIrG`qZ6Vggyk4%!^CyZqo zP`P$j*bB@#1h^Nmi||44VZ5>`PtBpe*34VAp@TR&DH27UwMW;wv)sePRI#xsip(GE zCRz)-y;=Kg4*{G=P6sQpa)2wjn$@X?wkQm_Cw99VZuYoiVqt+zPQH_VsA8Z)&YH3H zgp|~3Bv)Bz|7#V5+)`Poy~)jg@mvco%D7`*I_oA1yJ`w*Yl>`Z*q*pDr2LQF71`xg zItrTT^55aakB5?ZVDT(kMh*tO2aQ@z2!GgruyF)U%=SOh`=79ypfH;ZInHY9?QAE)HYcs5z=dm-f9I-v$gI@zR`Cs5{ds9>T`k5_nBsoWTn|RIT5DKi z*UySyRyt5C8oW}eZ1%9x3%q+8En;^IWA3xI*=qhcOIan}FR?~vx(=W*sDQrB@@#K$ ztlrW5;JDM+UY6o99&CX{K4kXfmQpQ4jy{s2at34{vgq#WE#IlA7J7 z#Y{GRX0$+I>qK*5y;?0wCJ6dBllKTXk=GbL~l9>fIi%wx)ED6%TjIM7{BPoduL=-$q~ zJ7@>U3P~@;?lYj9kitFCeTY5|?%c5G5#gZjC9PgdGPujx!-isW@|Y6m0ZvY8>NZ(} z&sHs4jNPu+*3Qwd_KbJqa`nDV^76_#Upw6Jun7ps)#MtQohM7|tJs>Yoav0c};mll6;G z)fe^4FRd>gEtzI(YRmLs=%>gYZ&g$m{d;^fTleOt`V^khAcK;L1+;~Q=mK9tTW>m; zCQ14IdD0heoCiZH*BQ>VGP?myOvz~R;56v}(B=y{CT6DZ{H9s+UBaZCu177)i{(1C zW8-2ZH#Q3Rysp?fGZO54E&ldDAtZ`pmp&Aa$uPj^umIo&BhrXSi+__#TFmB8F1})h zNE$f3Al>M?J0yziiK0CME2( z)&_q6C^aG|9h0k+1{&T-UfVlb4?g;3r&sXSu2VTmSozYD^qsAQAXQqHjG0O=Mc)RBy_wp5KSYLPdL6m+y+3?WN!6q~>Hzx?H5n4jyqa-U2 z2I2M^mmEA_S~hlPj*N@b+IC)RsGuuGzKD5w5kTdLB!$2O@A<82@T5lk=nCcw)tS;f zUU55?FgQOyx2$>UDtg;K%P{;L{_X7@Qa(F!=iNEIAS5m^TUF54#5hy;D@q}^NMK_N zxp((Ji|a;CG>h^KeCu~lC4y48gRH=8I9*Xbfo)JUfVKrqYNX#nL*Zc=B*QNGwU`ZJ zlzw|Sx1*gu)+zQTL-A!El<~^w!D=>hAgYk=u&G5AHooTa@~`^y=E9p)bCE6 zv5Mxl1qr>J3q_Rk^1coClL0pr%CWgJZuv5fis_s%PD7;J$E0vYIhXX7N#TO)ogh%U zb6Sa?*Ei||g9!$~zdZLQxN~?i-}`*)t;c8xdton+xw$R zGcuk{f(FCoP_>r67N(y*VOvt-snS(^#QZFW^(u~cxn^LfZ#4A7p&RSK@fN;!uW!@I zA^yXSi)Y^J+nq7f)@{8$cQIB5m)*a}fbuQLeG2><|GekEH&?ZibP`;^25rIppUv>5 zylwd6lKe3_xk7}{flSLf+B2!s6xWB>>W{wq+@6OhnjgKXDI?*{_v0t{hg5#G*o4fd zD<<%ojEoCU#ikWiWr;>bWE|Y*jV#@i{1$Mzw^(m1CMxD(r$dyQHJwpAB2$xDhrlU_ zpOK+YM(E)dT5Mv<5?9q00q+Hm<%;&AlwulV>p;Az3hvtZ#^!w_3PDmuxT?rhuJ1ia z^1<{~L1vwGwq;zl-t)t?bYr!g?&UGJm#}p&1`=N8i(lS7YNC-)Qp}hFrH>`+=~2rc zN@-qcg%SU=8Z)Emq5qr$_}0-Dm99l6>U@GtA?h6&{xSoWF#NlEYadW*aNQOgyboc) zSymj?1!mRfv8mDPHTlT5pQ)>Sw*Ei1-aD#^?fV18az*7Tf+#9T#6|}}kPa#x1f;8! zs7R42y@sf$C{=m~>C&YWT0}ZXF98w=JwQkh0txAF@P2=9t+&>jKNOdOnR90L-k-Af zkpd80vOQ=3=Hq;?;Nlr1#$7RJ@n$*dj$zuAb%UztoQlV0(7hOploia^NXJj*sxmBl z2&~}hVFjGzVcHycBiuwKc5(FKypP%O4e|iAAi`p3RvDj;?tWb_^V#{q{&Je4DPpLB zn77`0+LtiX6m$kB-`JJY;$67 zh;Rb;;TwJ{_w-OG^(%7cn^d&FOSY2N6K%4Szg4oB$%9CorjJ|B+n?9cA;oS3V!F+} zazTq93I_*${PHthqAZ=CRLfq8^j?@2_h#@*1ge*yMr) z!k;g#xgi!6Hjmdz)Y6t;(NofrB6av!Sb=N@0KDs*F9E?ygRAqf%^^(&MzAV2F8B@v z6~Jj5b{Mq}FD^x1V3gQoiCJEiZBIBR<|&Su;Kd7Tj`)xQv%JdV>elyk^Bp2;Z!H_$T`S+r7mA2Z zagjeO+7sPmt=<&Z#I^E5h#v!r=boKMao2CYkT++mC};r*^;ignX2%(R+x7Yshv404dd`b3Mokz~?-TKs&)05wI<}8cd5sMSGjPhJD zD}ESr4}D#|duCPEjRr&C8qAcjmZwn<-)*su{Q}Td9ZF8&;bchI* z>`-C{L20HL77g33xb1wE%umJzyJlB8s|RfbZ^`H+1ktBfYi-ddnr)ly6Dbo-uN~}M zNYyjRfv&}$Zh2vs8}Yy~K`**p83?idj(b`Zbd{fSxmg9cVmX@0sJk2shS2L@&qoQX z_sk~#j3||u+_!9Vi%!YjnjCHdSqd>R&WI20=UCo+-r9265wff=`}|?L!dmeVo_&5l z4b-$v%h8I0!os@RH(92yXifb&dKhqk3-yj{6OY#I$_6O^L(RIY9?;IexHf`-o`MCZ z{Qu&STO6u&Rf4ze-HE1m;C~2f#nw20qDS zJ76|(F9WhyA`FqM%i^O?WSGPI&kPiU<^$mHy+s=UpiUh2VBz`u z=6IgN=u2y&3JS{c;$=hE;l?L+PYFBD#9j2c9M@dW7p;qbnH`rRsVy%hnI2hF5xe;C zq8*7{z@%2<@F#?f|Ml?n1>KVds`R&UM+X+c%zM!c8`a8@*S~>Uy-UC<*Mg6lag=r} zf)O!=Fx38$tsiJ6oTQZy%?Z%%(Q3R&No;D*0#8GB>3Y7azB0jE2O#imXu(ytZBN+( zhy07h|7ygpT(vHH%=>5QNK$Fh5Pi0oaFFq1mL_G>y?9cvh4SRn!u}4|ly8t+#?x(JFJlYtLJr21x(RzTQ%YE^8dEX)z zHDI)@UoRCy8w`OJcq98)I%2&^TIv>f`vKL48TeOMDMLTx#V1<5aPdQ7poKykpOF=_ z8|vxo_9RnV<+6N&a^t_Lxxrtm55aZ=Z`ds}&mP6@|1+1q;4Zwz3Vn|D_MHaZr2=NH#`;RT-M0jTgNUIQE&SGFQR?2MDaI-6Fi=o0{_b7xso9 zeA5?}nJR_Vi}*ZB)2a#|HT%#BB`%%P)k)N9UOPEu#h9JsF-p{xiQpnPKYPSmP{ggh z8)iroP_D2~3`}#iOJop$j=5%SFoV|ARlo4<+zxXuQo4U=D!GrlJmbL}a{htX6`v91 z+X4cXqNpFY8VCnx*-mjY+k*FxS~rJi%qEM%EFM!@HS&Bf+FH)7wfwxnn7uVf2C}zl zvDF3r?534Zrm%}o3^2PJI>^Nrv0N97#F-e|B6e+L(ycckChZ4R5-1 z(*k1aZRnemPP(xit3tv`Y2qTQ+K-wvSz~ZxR_VbiMJ7e|=TEbXh4z8oK79Kf_wy;x z-}N1^$fV((+&sjSKmhqzzI_w;{cY|`x|qV>*TKH8Rqh|1Jc-f$Jo#Eo1h8{iYAWrY z(r+JzDQ+D+ZTR^uOjO@ilL_&&pwvGX&_C;yp(X$0r|uL1Kdb1kKlPjX*UU@}6MG2% z93p?d{GoZJNuK1#Fiqp<&(B#m^BGdvxARxAn2}%bqSr&IdsKmm2JD;D|DF^!4S3?_ zkVcKhx;?0lDhCR+PF-AmAoS*e7G04a`KkzSJ*#MgS2fH<2m+HGEWb zHiSN4xz`?H5^nm5AHtWrGSNxP23i)p4xXeY?s;F8|T?ED^~23 zbubu9V84o11AudKz1Ur!dBjA?Yi`L;cFV7baoOJ7Zl)EFGiU48A4F}|a~+lQ0x;!l z3l{XO$v#Q5(7q4yD?xSx>4%AjgWuK;k^`SygWZ;^EYgBISBc&1l^Jz@`klE{git5H za{Xyr?;3&p9z2sm!%<_l@}Uh(eSj>T$mocp0z_$n1s@&dOz|8ngs)FL#l24hiux;4 zB#zCIl4N6ezp0Awry;P4K7zAiBpSjTTS?6x>l$zn8(Q>EsvyUI+6y@suL{tzD=K$+ z9&-HM+{0gVr773>4{L*eqHt1ut&NZS<6`gEl9*EKlq%j`u>+IKH~q}+KJfIr?}^!a zzk8GP2HfA&{I5|`pU8h(IwxOr4G_Wqud28%2VpdtDny-($ma$z)YTP-dbQ7w{_si= z82S7|aC5pzR;C0QUSZXGP5r41Z+QSS_UglEKT0#l>f+l~;9kMMQj|68(k>#9%F-abQIMqxQUTd>VqcQf_TZ}J{_W6F!S4D-7-6R%>nf{JVtAc8 zH0@E6JO6W?^gJ?fG>-Y~nj+Ed>l(MYu+_NijBeKEciPAH?+FlmHF$k2(JRimPq5+w zUkz`Rvfi!enrU>g4~RlRc+|QKiVnhfjUdlss9i|bmK+ILoR!cZ!S_~Wk5&tRn?Y}X zKWD^!|B&!VK`o%bHu8URIgp%31@`s(uCuJf|5?57zxYE~Wfi~?MOOo^-PNPtf5^3v z9MsbOE#%yig$PH1gF>?V8`(7u+{fppe?Bc56 zPt~`&VH&3;Rph>#^0!@*JQ+(%N6!}&d%=_V?*71h4~EUHv?Bg+t0wy=yu%Wa2<&K z)5AOn-=olm+j6$bu|DIK(oL1A)9AStx{-0see!Tlv%d?W1h% z)^lrtY^R>s`)Q&7G^W7TSvT77ID9XtW(sj9x!|Su1qzzJ>^S^x&>O!bG)Nv_gQ&Ty z-Zg^Fdxf`3ET0$Gi`kxXV<}h_YpYrhEko6BOnRKe&BDKkTdAlSajbTRL<_tB*ywJyJeDk*%zTCYB`~9n)%+prFDRBwD)Agk9y$BS@V^Y{S zb2IS`|6$(w_A2Lwc6jz*UOjZhMpTg8vpratS0mLY`$YU1W(r`;`o=!3WFc;I_RS&g ztK6-OE7oL5eFzDMD1@!JL0TVr`r$GFem?7;Lx0ZOI1(=Xbkali>;uD-IlTWUi71Xg zJhAq9#AEWxh=^_5x6?+FT$j#?s+%MQn2g5>0dn@vw#M!XaYipB7rplAE8loC;c?(r zRux||vZEu{5je%co3QFCdXBUumy%STt`7jHNnQep60q0%$D&}DIyf{(@BZAyS^Qck z4Wg9Q=t}j2Cx@i$#A;618)V4m$L2zUgI|yKZ;a6t>NeHH(!C2;64W7Xu|#s|!x^jBH%K@(`7zpm$(^PCX`?5b zej4my4P@e5#gZET18>J|qckSTp5i>{OWFP-q-(D6G)DZqrjK*CaphV4?|N8G)6y6E zx%php9GxJDZLT+Uc4HfmO}dEk1G1yJ(E8DxyWBz=eRt&q-_FWZ>JbFmu2VT5ChU(D z6KY=|kIXg_uDQ-bo|pjP#`0d-1KhKTyt57WZmvGiu^56UeO1r1$+~}pF)N4x!^wAK zN=&+P>J1F_lBX0E1;T6~E5UXSnVri&U;o^LOX*KYsOX}ScR^KE@5+Z*-U zP2d-$eHpXWlT#!~Rg ziNk=WhyhGdf29BFJP9X-lcEyc;9Srwm2BxGd=s6&#JD)=^TF2g@{Qv}7yfvAlV^d# ziKilf>O);u7iMz+E>UTF=$8DY{$DMp5aK)b4@&8)FLYYe2KY>c{vAOo+Ht^#nYe$=k&{N7V2FjUH+g|6B$)F z#EwW5F)ae7|C`iQ-fVi_F7Z$zLGc~ z_a0v1y|L#pj&t?&G~8A9Vu9S8N}IaGZU~)K%u)c#x9m7Csy%Go7TeU|`X~lHo=(|! z6UnVa#-Z#2)|8*0gwb;lZ3S1U(NDMfdw=Jani~!LLqq65Ri9B1fs_EE@Uy*PbA4~G zR;eDd^82BI^*OP}nje=_Ccnhhxm%X9PSHT3D9yVDWf5iR`{~N-W0Pa-2J!PlfDAJIDQxOXsT9- zq~)o5Mg02VeI-2pt0QEr*zj_^t=#G>)U&K1@a(Kb9Okt0xaLaZLV$+wvb>b~3li@0 zzvefH7r+AiPXyOJ&YRQvz{+dZ>rJUWNb84+FNI~YeDp&J0915WOO0Qt*M6q)UN(yE zPc9dIWvo`%Ui=w1CHhp^L>)EMJE3{sd8YBavhrr@%UERU#V7^21PRqhnePy`%TX%V zpVi3}4THiK#QCjWpAW(f;GWhQixqPXM%*Zq5A@95+f17XB{!r9{3g8 z-g+dY<9+0mzJg+~vM1HTWbG|otM+I=<3@7^Cu(jq`4PIJXq`6--c$wljjJWY&&)d^1`}gzsJu%3z|d=Y4s_xa`PT86$^{TPcUa<#;Mc)0`1Ec zBcYXyZ2jVAXY~H?%0Ot7>P^fFH}#nzX2EvTM>GyOr2ws^G;x zUrcLs+lEk!1WD69CrrYK`qHr|SQOtSRFq1lw4oPcJ7Q|Iky}fUJ;S%n_Rf_J%+u2R z=GlhtS~AYvj^ig!pJV&ihP-D%|L4fP&3y`H+!33Vw>RmWSL~U%+hn)5BdOaEcKn~Q zv$xP%=nUMs>JiyQ~08xt3t%KS7}quYUOFZg;7WgU6T8J-Lv2n03E*^H3-NmN{}znbWvVq zR!#iyWjlTHU*ok{t}rU-a5(^u>QeE><-OelG;b1e@J)jI#oSV}=t2Y6bV2qDLt;+Z zQVs>=%+Az^+J)vS(^AcUjq06Zn|E6zm!gOEHdX@CRQtVN zkxT?69^~2V9mRnq@(rz$ira1?o^pJA(@O-y%;a|kvhO2sc z54E3UJ-qJAPiJ)08$JejfBS#i&0ZfCod2h?yvxg1y|WTP37FzeNGoJI;eVGsVq1i? z?S2t9u{l|NNP}iRBXJm2M{o`Tg0x6T!P*(5(OV$nelAYzH}g4o5^Z3uBCILgI8cA2 z$K!S&vrA-Gb)8C~Bn!gi0RX>2H0CeJ)GaFWJTq_yjOm(5UfXueYT0(B2;u@}VcX#J zFi&s#9P7OZ_Kpb8lFm+}bbIS!>xit0d>dy;)x#(3@cQW^`m`pq9h8SSSy zmYlo#z@k!Myvl^zkzRkSzveB`)j?EUmC7)z-7At6l4?mXAseJrk1S#OFXRed7rn{E z0J98AFsA`;M##@X)cj&nplPM1-RXaSN0|=Wp(`ew5%12Y**?7qB24*7lhTug1V_*> z!Fk;t6L-YT1H|Qv<=wk~)$O6y8TYVtHbR)m4>t#iBVVswna-=T4|4JpR;F~TTf^w} zzWU#71}~L76H0p@dUONcA&@xy`WeiF-Om1*N_N!>-(?P6)i%}c;_m^#sArRYt3MFV zfxVVD{DR-UxlS;F-Z~&DzdjVf@j`ubbtu>%bg*{ZLn`{r^b=5E2ppRSSt zP}*WMKWs~=FDIw}H4h+$gbuLM|1Tna-{wD%GwRoR|3wbRp*eBZ>p2_1wshrqN%UkF z$?QN6tF2LdX!`4wOv8xvK6&x*-*xr`PKxa)yEpnL^MbHKu+h$r2i_tiTFA0VSxoH0 zu|X4v{a$R0*Z3fZSTy%DIkozsosG+{=OtBBA8}cfA8Fm|Es}Pa;hL>>mI2194d-|T z7!55h2X#5n>n}(*A{;jnxcQfj_!M;8fw~2_%skYNC&3Y}m zigTD}>IgTm9#BV9f&xc7)Pf#cb);P%YrZc;rRWE33<$Bk?#}f|Bgn;3NpOig0WIPx ztK=j%%Z9Y)b8ddTC81|&e-G8+x2aVsd&#lAUu?{}RZ*ts?N64F&nD2<{QW=NkRgLR zRTuKs+m2*zEWS|w&WVU1tPuAJd3T%H$0fX&Im5Sy^CB!bMTgS&dOWW{9Jrmv%c46V z9{8n68kB^cjcclPyViaGGfWJY$^Um$%D3Y$t0{-ZMyZFM0>G=AwYE!ik-EfjNV3|2 zo76mI$wGEB$p-R#oG2OFCsNS!hvsQ~lRUtu|F2{07KTl3)lEtHMk4<5pW{AFbrSSu z*MD%RhS(u%r3VfYS-Bz>64Q}eZuX2_^!l@37p{=DNUtVhBV9STE?pnQ02ETOy^FFF zy1Ga&uS4;umQAHmL6%z2?lDtO-8gS>*RI)}5v33FxyQj^IH#FmTlXue=9>M9i0^!t zjfR{z(~`1uWlE>=0Pf?%J^Vp>J-y)_KuZ{=<{1cQo17KvebGlB2ifHI{_*s7CRB)9 ze)ylJ)Vqo+`ZTIHjLM`UUSI5!=q8+g6<%tRxRf?oSd!R329XHSIQ2y+%}f3Yb)2;C zL&+TE^`S>pZjQBltHT6#U^bftXZasGPd|5DGu@bKk=61oK(wtpB z@u&$+od%7LH19>-qvf-WT3-0ZN{6u<9f4mD4O_sxUED^ZA$0uYetM#(mFeuQrbj6) z4|S0nr|`C)ND~thJArY6p=+?mLe#L~m~T0u&8t}*kepm&mw>>H;vBB49J+a6`ZF&E zD|)an03BmCZM~k4hkn$zaUXTG#1Gv)nW!7E zAg)`@2M~E#$b=mr(?+g@JPNSivg)t#YCICxOayv{{rr9l0a@w4!8(FZ(d|Nh%cs8V znBEo*$8QCw&Uqjq-n6|33WdRdYI%zRA#eWEoQBn`8;6k$p;@$wvz(0Vqk~VTEGjo7J+8_lgaR#a>$Z)R)4hB#Pwo zJ95P5tJvkaTz~TVr46DNw?TNd;+0m#JJ+;ld*(T3GOz(e+NnVzAjh8Ts(aHoEb(WD zQ&=+yk^65JYh%kH$~!9-6yZ!zpXc>4NX-+sQPH!gus&2Gy(uW8*H+qtNvhX4W#k5{u$*OBm-;}was>-){*sItHDUSt%D3wBsnIZD7G2D z&sNS&Yt=|-Ph-qI8yz{4`Pq1U)o5q@u6lFimHCLa%r?`{Bquoqy4kI{&tuUM|G1`4 z=D5!XrySK48Xnt0co-c9zJ;|1TH1%(KL;TCfIBDez-tvYB8@?+?^oPLwSeJhw_rR5 z4qRB?zf+a~oCQ1sEN{aka}Vv33F=ZcQh)%M8fS9;3XiP!Ga_(I?Vj z+Y$77$WU+in|||I`AHD(Db;Iok0<^b*%s{E^C@9E_14-!)wlrF^qW0MopCAU(5Tvp zRS|8(D+y?;x9MtCdS!m(tn_JvYB@~-eSV!;7q$Sh7;^kupQ4tDTWDcq65YNRY7|?> z3yaGSvGyWJPk%3Rg5SK#PQfJvn+tu(p7)Q9agC3vH*aY0u^d2JBBzpY<*v@I%q!mA z;VtDrpMsY46fxFmYxa^J8L2etK}USnmPfiPGiC zk0R@Amiv#BE#}~4tA6qNKGZ7*M!hPuq`NjBuCGAPmsPPNG~fb^RVq{R5uc;vd%K^+ zfh$i?U2mkq-KYL0np1zRwYT0Ix4&3AZ!Y})SI6}(0ZDS&*CzQm1vVt_41IT!@KCV) zXNHdz130Q@Htfcj zB4-r}E%EkZCB?c);-*|eNq1*}es+&}8UNhSdzFZ}z|V=p^76HANY6^XaiI7tShyCD z00ZQWH{VqQP*6Y|OdEFh67bho#!k41&b8T*o`ubO{-g&i?Y&TdZq#~1v4z$VtI8+t!h#XNVZ@dFMn|-NQTFklT;7ZGPrVVAzpDT<>LbQ~Ph;cB z==}M@*H@8o{(PEXP*Zs(?WsM6VQa98EVaGMae1DvXV@yY^pwsR1kzmF8#Un;lOTOK zOlw0tdch#>@uh+C^WqyjXz&T+q68ytS#Q}vZG?B(c?`(FO) zPfnV}2x;jcIE8fjde*e$3w`%>#{#b^t)Z5PZmw6pbp7{=*e`}=vF zE5~(phalzqRpYE1FxGj5x}!r*g6ivy;)lNQ8j|C)TBlE$MGvSSK7ELgPBm`N*<1PC zu%2qdy8g=!=L~~pkuS@*j~J*!FpdPgJ$ezhNBR^nk=Jnz&<>doP=JriAY0X705Kek zcQ=PeY4vXkG8pg1a0H7-1&leZ$KRk|$A*(CtsR6=Jw0KC!^|WgH!RP|zHVzf^fOR` z=)r?+hioKr_6!%BLK!v%trBuX+MVofd`jWkHEmgR1}}`OJ>o>?5=*=@$QlXgQD~Zi zK@ELnrlU4^j(0RU5NHbR*rx>$F=KQyTPLGOu#zqnH~E*0nFxU{`0y&7IlC`nTIzHR z2$>Rg4i2Sl{&&9Y?h2%G7CR#ud)SOhM z?866lvGSt)g2S1Nj?*}tSberiz`L`VBf6_+oVtu}MDt}k2@$}s;3#o$t2jCOS27>O zE4Kre@-^l9TpI*!R7AP)l?sfgIjklCIC!q@!o3xG=$ujLzHdLB=UssHt9D{bwm!`H zwpg@mX|TfUwBf!v`(6u5?d#%!B3`>YtLQc!m(^?w8-0b6-RVIKV@=m9FjY)oU5Tyt z7*|}r=X;|DF+tf2rMs5ISi7hGtmwWgV*S=5tW$P{E%*A3&PrcdS?x`{nMhagv3v4f z+EaWiP?&lqfNDk#;>e!e%8`m|4cxw${12%D2_J>YL+S=cc9* z361X#5=6L?%p+VyOs!jWHUmdnE%M z7#9+h&{+c-!je=q^L<7@dezw9OV1F_Jbg4s&ER2erSo^rh#*I>;=Z+RBcH@^KN%hlR(UP@@uTKr>P2Ni z68d=-J^VJ47$CCcls6+B>p}86Ao>BdM|vq*pxDZ^fL6a6_7iZOjg>&T$C&ipdJ;6Y zY;Wc#A4%^Yzi4A7Ju+rJCr1Jx)a3hr|9;H(yr%1hAmZ*%)vwW63ishd4C6Fk%oN0j zFd0;HpH>&awZQGT6UCx8J%vcD`D4kx*&|cb%G%&W)X$(C(GY=5*FW`>v?pI#_Fa?| zxhQf8;y4wT?KqS6bgVXPp7Gg2w13*qpA|wTV6Qth15>#;O(JIN8>8MQ-oto4li*vx zN&)!4Dc?(9Q_HM#<*!P{@;2ggsrhKmI?letJUq!wHGmjrLbg{FGy%yALB+p=MW%{B zFPn)Z)}@9yvPK+T8%bGg%{Q8H5Vg|lp!lpLj**dtBFI;fywe&t8X_AGL}1?*a-* zZQ%IJ4cKa~uyJW&W@`!1T)L%0NMZ`lk+55p>w#l39Q>-%`L)wYv9X$##IgdoIo;rL z>V|A*qnk0w-02z9e74Pk=faz{T#&l5o3rZI67v#`g7(nb?q$t#JhKI{t1=5H{I>a`vcrF-R`?|DZVB8 zi&x4`gUDrsMaIJ2+fSyapPvkq|9I{i|0$howN1pV)CzAO!(nd=F z6}&e@W*iGbVr_SzG%)GFp$8qZd(1iLMFZ5C){bC2qUC}8&6M_fkM&80PzX?-Pw>K`LP4d)e+&Jy{cEkz+#18O%n5ktQ<*L|5i4nm*sqbAcON z^8;sw-cR!Hm-xyWCxlAFSwWZrAf?3dSGPR#^l4g4g&G?smx4lwOb_GV=iK8uP3AR zHvTaXh_LPD4WQY~Hel9ZJhH(p%O;jF37kmR_vMS4vtutKUDmaXJSQEItjcWiCqV<5 zKi8;!%A6qTmg~-*fYmISfmeiI1~IoRO5gt%Fy+}wiOS3ef@542|4KT=$Y!7 zr4uYq-s_&b^8xh{Wg))O=7hBb9tY*LQ!v@4Mm6BeR#@865$Pj-EK?u#BpQWn=(!D@ zPzD`p7EpHb2NR!73mZbvkC0y2P+DZYXO+fA0(J)arv{NruI_;rw1r{R1k5>j22L*r zf7Tmn78X~+>>6APxfKi?7%MwZRfKcZ5RPoeK-VghXef*_!7dXx53KGQE@{IxbAhf( zPn2b!lklmigrM#sy>`20KyM_bh7*&ORn9T8&#xnh>*o8_-t zq`U|;pFU9mw=Itx#rvU2xD_H{NFhLj(m?pI9ESwWwE8iaY2rAjl*++#`t}t}COM@E zY_KdN(WEj@&qjk`lS@$YwrtOMC9F)lq{p4P6Q&67NrEs%+#h{HvceCGpnJz>?*tWX``%Ak;})$BTv`6XU$(3hEVjDe9&~;0bi~C>yLuFx)9ww zU|_CiBKlyXf09BZ z)t2b;G4wYOP;Y}^tJIF+yKLQq$;hRo%3$HP{hzIBNZK#g>`jIg-|NA?vEN|_0qulGES|~X)o=(0IhVps`6BE%F7XF;5+qji`Hy#PMLIt!X zN{~-@WK$ke&Wv@(`J@bS*yKC!{rV3q3neQLc|9j87Bu{>{0$w-N8fS{X~ z1}hmGLzyL5hL!&=3@sFFzSAL>anokkmQmIToX>YE3*l{4WhjgxMm%>IBje2WLGlc zKGZ`Tx+wmemQ%*S^~ex|e%+vfYf3oVuu5Gu z9ZN!iNFi-=^Pw@KxaCpht~vH5P!Q1T9acQfL(1x_4)WhYoMyK^+zcDiXkvyEQq7|0 zO7;{>_ar6gW8?i;>gXArshGN;-!8o<8J@3?Duz3)EU4)=Nb*-0K6`uDstD7pfCznEwcS8h+M#H+iBwcv*;a~Eg`iQBXiT$)o+v}8>hC%`b5wROkVwqh`QEo9P#Oh|X zXjb#veh2GqU}boeWtV|qb7k!;o~4XO!?ErpjQhcY0C3#t&Zr@MyAcP}I<4p?5xzO< z8;lp+#5aqh$3?!LKz{Efj#a``vt^%aCMhXNAGbOlX<{%PGB(1v(2f8Fb*RRemnQz( zJ`cyv`>)5cF6Ey$uyL%!KMBh_Nx!&=W*ct3uJUJ5b^UkGF?L8PVN@05km>utDrj;) zvpJ7@_^IwS${W$1=|De52o^hknY*rMzseBJOPYsbex;n|k#%v3!Tt9CwQ3k~SkCOE z#2ZAkQhgCa+W`*N&w@f?YKJwDVV=Jk9v7YSPHKZa8OsXJ)VpBXlVCbegV~g??M{pBmI6qmBI}f^M@A+N=CWFD zmtM5g2&8U&#;|}go^mk3tuiL>D><~(6zn~GgN=G|Swtn=Cy3mIsI5fvEYWKCcw)9f z-mLIQnPaW+GgL=Rr92mbk_;l}HLi+eM2?vmN8tO3=rF=EG?CS`T3rBDC#NL-0ONUs$&1q=v{?L%gB9 zPyp-xFF4I`JBGyQSG_X7EgC@&BK1J2%j^Q65XN0T)oS*`qH?*2vFhISE;JOniZf(x z#(Q9tNj>;hs>pD_Kxvi*jWzuR{7-jHR&YS@hVvwuR)=N~4qy$f_m+Nsh6^M3kZSBI zoPKEPeZLA{UheVqd)@Uo%NvDB{uUuDENj~fn+ACNO52}MV*h+!>&AX&3s03ItT~=~ zdae&5vq=gDq59@BQ5MyOEYf1Y^qXwTF=_mH=-xM-=NkI%vna+iXERBKw*kGs>c76| z?)N^Q9zL?}(UZl6$?$mLg7kFRQvKnlb7Z0E%?40w+}OSXf8k^cB&Q;;vQ6j{p^yiT zVyMg@H@Aw`ZTu_69v9_%F#2l=MHv_!%-jNXnkB2i2m?b&gGhz;{g*c3&-WlCw9Fk) zat5h!Ck*j^;MoC=TmL`{GH{EjI@!RD*q-tQk*-eHtTd-p5@DkApG~a7x@hwrBv+3f>jv{~ zKNRu&@&U1D#=&YL3&W;hD>Ak1$*^O+w3b`Md%h=Qoj$_yLlmApzwdDS#TjxDoT9i> zgNsSPA?rIq%rK^G7V)=$I@b%Fc`1`Sk=Td2gl@wy8aKq?T!006-(VeC|ELE62!37B z=S!d$#GC&Vu1LCvpohEeRt9XvQ5bmU9^+sKOpEH={$jGz&ZN}r)LzfG*=wdz!8>T- z!rRN%%r(DdSNI-SWH>u5G(nbpe&2iUQ>MMG6` zXCt-}3R!7%V>A!<)Ywp?`-vvLd>{~$4h|n5mX~?SY~O4=eg1sc@y=o3B-?IQ)v?x6 z#?vBPWVz+Nt}i`T&sUNw96E1dGFAR0utR8U9`sVE!b~!4fH|k($>r#(z<(CsGNsP) zQ;LiO^)3w=66ssBWC1WuK{sX)8e34`^IW@nmnK@p{CtlUIS^JmiH3Li))@6vIu}){ z-iS$Gx2=on5;(JEGH$>3kKMReES|X#yq0KdXiCYnpvd{pH}Us1g?RIUq^9tagm;)s z#_on3ZZ-YNQ#1)$cmYJ&2~}IWql}m&#MvNc{(tht+W#kCP`WwDBXzYuluK=x$6N(w zzh{Jvr3gd%#t^857EGP9U#`7qL{G0CmE`BPW0l`swTRA~@1-!1;Nd0r5arfFXRPgJ zpnjyEH+{=;{3#u)K~|b9A2y})*$4p2vuHrnidy$$c+wccStZbI%0qu9WX9BLcc?tX z|LBz)RV+W7Opi}S#9Y@7Y@dmV`a;AMsqA#WgM@$cDwW~BdzY2AG6d@Tds7Eb<wEYLpOE9gq{s4=J zS(--J?3WFtiFMCHTLf-#i{1Ie}<$}xa_ zWK5|#$US)5kp8R%bJac4L3Mfav#TYyyP=FMcQ%tM(IdeKQ#}L*5+TI+mpwzv5#T50 z`OvPb6Hq*w=0^4V)>?qJwO6EvY)iDrXAx^lBm5?PDT++C$G=tfv|F}G3|_^3gBcrfe zs6_f>Ubn`UBHoh~^pCYC&w&=J(lU|@F;#9u;g5;!azC~R&Ab>}{JHmAdK<%xPeU(c z@4ywX^emfI)4m-15pdH{fd-C$@<)jEQ1EY+txbkQfTaRGJ|32za(X9bKB5rny{$^0R!_n#sLBc}Hu9Q6 zD>i3gNouL|BjYVQ`pr@ehsfa|Oh!Q@C6>ViLgKyhPQRaR_dle%mtCThrEgSM^IuS>U<><5L21C)X6 zN*kZEZWcB5lw;CcpcV%%TU^Us!)OSVz1x};qKI$Xe&>$~3Xug;TX?x;p<;~c!Jj{} z^NfYkY*4bb$AiwcV*Fn&CWF}#Xl!D~!hLsTa*%l$UV9Ml95R}-UMrx-0s#)qU6@T`uxm+o0+>O9$ z6JSe2GKrYPun5@;Tp;dDFQ+Y~o#~IjkRE#Z5KLESZ2<$_OZ?F z20v;3Od|DePd=1}Vhp}7gacsPOlkgBfc~AF$t9m^C#-}h8_mth>lk256 zV56pb%CN=<0LW7*6+$ff>30CT3~)u(9D;xN!Ez=3Lt79)1p5A3%=?9_gzVg1c7PtN zitxB)%Sy^zhEt-qqj<7BHE=2#>&@J!K^NVasi458v|bY0+mW8-++}G4S?-;)A+})8 zdZ_IBlMHDcLsnBlM`^7d7eF1qaPVEj`H?gDV=O-sKwZXQ@etMQ+27bK^QIf5CB)3n zOdFBm;q%lON3S2PF4~rKx}}RO$cNVCOQGD|ZTzBQj(ie4_EV+K)x76%Cen$?im91R zc7oUFf><%vJtD{a!(x2iFs@iH1<r!W6{;T@Kn;+U52GMnpgyOzFgKJbYoWS}LD{0A&Z6xO~Trn{7i~wTs4iEf5Z3j~6 zKNLru-L7UE+KMC;g>0E+Hva;ZI4JE@d29}ycLD*==4FW>hELd(qe#pkvfg`bR{*^i zC&&C9&+e>J8AQ7UfNXt<)|`9Kv#CL|EG(g_AhFdTem{Ov+YayRUdSZC=LFepJ;c*7 z_T-27s0v*0seP+MO6~*dUEX*Cpa22a^DUsK{vld`&+k#oHXV938@5WEZuNuOHN;1& z-WFFN?fLK2R7N$lYz9cS`Y62gb#ol|d9Zi=Cbah~Z{+weV7;LO8KRt$}# zuw3P^E-OY&c8HqNa+=<lhOX&zUSB7NG`uZ^ z_Mv}x&8VD-Are`kp4mamUv?#RmvJ;p#VNCA7&cp-;r)dxr2uTUDnj_~$`w>Oe1TP1 zI>bJUVf*iWUN0|Sk;|)*oE)Bi60TW2R+l{tt$8C>EBmjdUaXZ?L47>7%9~Huwq&os z-DYztz~+h}Q$C8{c7xCM4<&r8Zc>rE^l1my*}Lu&`<7*!&G~&r&8gwGD>e$~;wxDt zd5O-&rtoo`C{dO&6}X?qTW0(8C0g6c7C_o%h52jttrJ{t3xRz2^9e0X2kr`N{LjZ4 z)6}2s2Mk%L-(hB6UV~Guf*JLS%WYIpIGxpDsnNE+(*xPiU1wo+4q+AW!fNk>-gUlt zWhs=6KLQD44{Cse%Gw{wvkyH20tyfaUC(`eZ{Ic>Ce~JmU2I(DAxUiAYxPjeXjyI? zvPJ?t_xnc5>;Q7vMPmyI^Zq~WyLuc6d|3n+zO@`S+$oSI&-Hdo2sx()@0k-_3?>VoJ@U!zoOnW*qrh>?YhtcB3q1 zwSEt31bZPC>l)(PH?Cg;|39R?c|6qX`#-MJd8d<*gh~jN3Q4kWl~9OEWuK`eWzC4e z7*nUkzNL`0Qc0GvGq$O0Bg7)I8?7{2#Qoj9G(U%%h{aUPGOdEKx3zLw{8 zUC-;j@A>mnaCqUMiJHq~&Vb9fe-G_i(20fqzBlN!APx-Q(`4Ryxdi_tiHwzRNtN+( zCp|gtS)O75B3K0B>U*xXWn&ujfAxF_SA;WfdjIM_T>u>MK5+9So#5!|G zRtIyl7zeSWUa#Sr4`^cTFE5;q!!gjG9fwO?61lD5Y5A>c}>Roz1ve8()hP<4|cyw(PZ$kWH&g(3!FL&ESiF^F}`vtS|m*clP`mWY7 z-e~w|TAC;Nz$o*(+VlNIr1qRe`K@rn6bFM`Uj1w5Hr$H)nfUPr!<$Aed--tPl5 z)N&A!F(Z^8;*VYjm=N9GxJ+X$&t0^W^%gq zm@Jp9Lf7POrBd47^u*wAg%?LxzN)^T+kco1)8HJ^V%G2v+2-RreH{uN=xDc!7I#fA zo>q6w;+psFHkzc7f<%p`Pu{Quz@U;c^Uh?}R!n*>XNow^_*g15eRDFJb$@w1U%1YI zhClPTj0fM;i`auB+Ntt4WVnZW20KmDXR*pXX<4tE zocB3g#X-2AbuMsGM3Qa~=f=)xZ+C}f{)78lE1I4`)+CcNfoOZ$M$VXxJ651N{eb_= zL4bMCr{+^|^7Lyjn8a5t#gXvDKRAvig=yN!v!R|rMTAV&%*$UWKFp>>qtz2oExF0-^_w5H|hpmC$^bqSjli5A6T2KlYSRcEwO``fDBVm8{Wj=L~Q44|xS zk^>>i`exm@hew9rR{bkb3Yem3SKsyO?TNfgt3JU|Q)w+d@YQJ6*0TdN$B#xEm%d`# zP8m@)LC$E7i(nPzNlC;zc!ttWF`i9s!C}KASi`oGVcIEKesUdmpl=PmJCr#`+#+S& zduIb@P0|_|?CkcwCR&?l*?kZwM^t(n!j(BVUu%;2IWy}KIekz7p}nZX$ixLqCr9&k zT!)4dcz>uh{CR+E>P^2pf9&25;Q7br=;H%Yl1I?Su)id?0Jt?HHb*`p2NT1+eWsBs zHg*3%MctGBv1gtmd7K7!bC>_Z@j9j+*FVJ=vHTL$IhoI$SX#XC_}L#=0EWG~Rp4b| zJ^VcX=N-UW!tJ);inPPZZyhU4%u|!!56$L)4&$8KY>s!rUE_i5RR}XT%}oo4N>&u$ zI0v=|{G8lQ(^Pn5?d=%de9J&iD98;GbQsmW7$SP8=9Y+)r?axa83FJLxQ4Ptilgs! ziGgmjVfj2bgjRMA29tRo&ytL)-GqXl|Iujb{c})`noE2kW&Qrsv9Wihn0Ku}`Q)BI z6M@na%3;5%Q<)5mO3$r;UKS4;XC)QjT>g~$w90G?L-_1NvSZepi)>Lp#zQj8(V*i< zFRlEhZG*`7>Fr-MetH%FD|yd;4{z(`zXQ590vQ!PB&XAE-6fQ(G*#Ud6e{zxwR1jx zKnO7rs!u5QGkR9B=Om&0wrRXX65Dn>$@n!XA42E;j;90mf14&1h!?{5Uf+_z)BcZ8 zu7-$oicN~RHrm$W_%bcTe=gy;#3c`sxT>IMT{do4ksEbCeHlq^@to^5rIla zCnhqVYGhR$3V(oVb%ge2u+KYwCL2}FaUD>1J&#~|UM<-C^Ji;85reb!9G)Z>4at|6 z3&%ow)P54d8e0yC64l;CEBCQw(S0wI3ZWP=9tXc4!E%tD8aToLRK!EFzm5N@e}vf+ z&{=GS4{!PNim8q9*B4(m@Sgebo^MUR?$y1Pa;4(osTjDZX*{{Eyh2u-IjXvQtbVK_ zfFBzd5=_aLe_NQzD1l|Jnj$KNUWWd9ZrpKPogxlw-|vRvoAzaktGVDc3)rr0>Pbht z7DU%CWE+dAuQAK*O|xB$U8j(Dtoeq%GJY5Qn7&dCkbp$84ckK&jM#UBfG*hKYM{0- z;44n`yUP5!^VQpbOrEYmg_RAvs)+|r!*ax%7PGk1mr2STYf}E2!QE5yHUJRFmo1Lwt6YdfBYk*E5NxR=}? z8o;`5#*wTI-#{pnMFF-+f~li&Rp$NdSS@MAQ_k@nM#beW%TQ!?BrP3#NH(*Qqb|Qn zCJxqN>uh_@_9`E4Y~)F&1S?t-(7vY_)$yd8GtWIobGuF(H?49j?l*oE`TL zfh)y+d`_6~dG_G72Xcj{RK}+Q!dE=2WW^c=lH^X`7_U8`d{?_f9qAt0J8vUce#u&t z9m#Zwx1c=!JXp<4d^|N{`^=)%LfsYi44FsLv)X8yAZ74dwGp47rdhAP2<_Da2}!$>sqfwxieaXu-S`YwA7`@>CMb2p^ES44jrFSj@t zUZ7#J(LFXc=A(N=68)olEclP&l|=d|&KNsRbrWoIrx4VgXET{`9)fAJoyvVp_yXHd zn2BS}uEfwZznf^s!_qdag(YP!(kYbA#HNu4=&^zXEwPQxax+LmoLp#HON==EYUaUH zj2`2L!BW2i18s(q72og6Fc$AtNiy}FIy*Bd7FRMcTqMKWe@fOTFHZ)b zDmpX!tK%;mpgA(DE)^)Xw|_0MR6QT;=-_o_Q9}44AYq6Xxy7bRp4iQL+|A}~Urh9o zJxII|y}$cV`R%>wUCIuN=2?{Bo?*Bc&CzGFc@*2fFyQ#@L(Z@xl9uueIm+y4?Ve?g z2C6Kajmnvxs*8PIZ+ivoO0`{+;+eyzo>bTV&!lefQ|f8oK|@`F<^Vl8z>6AhG1euJ z7>;}J0Ew9JGp78dBJI3WFk+A3W9;J{oEyXIXbme-TXD4!C(u{6Owit3^}?+r%1zBo z3dN1p?8+-)AD-?~W;lJ%B0LahUazh0mZkJuK2)}XJ6!PPoCLLkoeIE%iA6gtg7qdMxYGb*0?RZtOz-!%#6T^}$Ia$Kr^x3wy%dqLR z(m^XpXRML-)Z_4YIbUjXoGfEAdgh@-`UVdu`FX~T!`da%k%cS|K2L4>`?4vagKZPf zCiMI6uo(%gSAIm@2GIax?hPut*W&S=GeN%Ad{5&Q1so^GV*hTj6hMSmM}mdkBCu~= zc-YH(`0J?hhuuooe%?O_(vaD=LIUHx*X0hvH--4}=amYxo3FE5Gb_B0DGfry@ZsUjUwKS6>1LRraR9I{65D&P` zv|i^|hL}KaM__MT5kxpT{#-X6yG{X;nVt@VFuYY0}-FW}jRoX#X z`1hfX{DmXU!U^d8;F*8F9^@${%Un1)6qvBN;QF_i3NsiWa{xutk~os%s`r`>Ip|L! zP(>@NGq`hnEe+!60He9A0MbJXoKTVBUAO$iI>Aq0{wK~{P~}6wo56~*HP+zio`>Du z1~SVMqHtNm){y9A);-&Mh?Br7@+ji<6NGfK4Z(S@;KVw)$2=sP){e}9r*kTkHj@Jcn9N#9kJR)znHzfY6df~`WPhsTBQj^q-f66sG z?yb>36b6UCMEos`k)T-by;~h$bEXy12~Ow2>@30*NiHwjm&s~zEoHi!Rl{W_ZnO$D z8TTRI24y3nJt`Z@&v?38tyFLk5B)J<0lV#(lL+hSwSQKG)G}La)$}X~y(`x0JX1J3 zZmJyJ#6SJf?Q+feKfg@RXgm#9Sh?DV6u8?Hm%L&ihH|z`6sfmmh`F{U;uoAR#Fb8| z2FCf#)m%LO#LjzYzL`{;QGQK}3qER#9a>)ABM_sT>StnflWXu2p5)2a8WXGND93ARE0Nf)`zyK731Qv>kq?U4?eb- zNS^B7y$F<>WH%*oi`>eYT^j_kk7B+h@y}Vz+D{Gz)>4?EQ z{ft;uCIw=eeut-=$FbqbV+;+U-fU_&90%EMDCi3226C4x?=PS;+1_KA7w`HrJ;%e0 zWlaQ%GYVnDl5`}RjqUh;iJjF}n!(tDO{3_*{4XkMT*gO%q$Q>-%a1gZVuly0i6)UI zMy;um@Om{RlhaCx9$FwShs_1gzYSyvM?dVnuW0$7!K78 zY=JgKONhmAu5Qrrrnx&}8aP*`7Q&sxBf7czX8(S`pLoeeD?1aD4BK46BwtdufZy`` z?%i9fh8{t|`ja4$07(W}&N;x=iT%`CX?0`FT+U_Qzga`f8g&~++N zru~hBCXv&@$r=4VEoEr8=$l26H@jhJlxJ#|nG|-dar?wa`S$jS>fNv`;)VD99<$}v zDfQE)=(4*Raf>27Qj$Gd&C9VNWt)qVd$M}ROA?b?mQ~O?%)b==W_;*|c-fyB`$bw9 zo}Z7`&*g~d(wOzw;*8VSVw+QgR$MK$h9T0M7btU}=!SejflzM!rj4GFTa=DG4gi;~ ziZfemI`a_ka(rUuZV)stUaP*lO}-2KDi_Kp`OQPJ%Sln=dz~8aWi*Mc%l} ztE2|k%5eIloQF9rBL!Sx^K*R!%W?EgtHg*KevG^MS>4;+nrd9Wl$TR1xz6%zs)C|; ztuz(Z#;6PJy~?UAYN{z(zIjBn;thN94K9}aC97W-o%~tNy!1R|99CBhFc z7D@{zaCriy%YI6XrDTP1qPx7Rh`eHA_2a?ejS+7?*c=Yot$4rh%)P`;7#KC>3hEx?tdC7e*9V*9QhsYJfxb=#ju945_u}O5)YC->zYQ z_QBxT*dVX3rg?6)VhvSjWul(a^V*uhy!-0+nf@0_DQ1PlDe`Xh%eORLQTbVY+ZO^&dn2g3BX|N<_cepERW>$((O1Au!pDYU*-al+iqi#5 zmAtH`+N?o1$x8O%L&&vH96UAAI*#e4?_;&xk98nT;3hizxJ!~t(@;`KapYC* z*q;q^;4^m{{Cg(Ky_K|>SsUGm@TMB-Fr$~uRUTn2$BIV&feki+cP244`PrFc%#qhX#N#qC`uxTLqE$lj6>EagJl z0-!Li?@1ecGs^sA8y^%N7&{LSuWEDE+Qz?PZ^D#wyRjjAbSz$N%f9yJ1_q#l?y%&< z0=hJNvv2gDuYAW9?jM1wf*xVGJP#OCK&gw@Igy+Iv<75ONirUzW?T1v?Q!cQ~&+|COhHh?QoL zm&ftR^oKq6bDot?^tbDUZbOLGN1(2mGL1j1Di{UsHhZ!IVPca9T5bXexWIU&kgLJs zClpVOPEo;iMCeUi_%*#XoA6nEb!knWHti0ULRTC#&J{ zBaeGhhl>E^e2U?}3qgsfuJRWR4dm4-Il%ZshMH7z6J(*FvO2uqS7JaKugT9u-}MwH zYrU`Gwz56Ns3Z|PACfT>9|@w*-KCIM+t)lf1lQB2EX<2e6XVqH!u&$B*2MY(=9Har-RcWjn8AdpX?_BN+7}=95xX~ zgsbz^RKYa{IQRYQE$K1?{XLeG?Udxez>zbLVNj^3XUirJc1N&`s;C&u!Rsy_(MXs9 zh6|UP1=!J{tvKaOMd8Uua7WTaD4V^?7e9_bO~$CW_#Mwx=Pe0V&py0nf;F9)6Y+ta zU)Uu_W}wywjN!VlM@ommKc3Q;t9_uN*!9^TPo6`u-PuNUREII{LS6~Pd3`s`jKwcK zBI^*)7CHb9%5)|V&((~zN+To<{C-#vOG{12LP;W|B>NmebF^C!Vd76#wv(Ss zZRFg?(iwy_Rs$?2;;i!AI;G~G- zRZ`5X7I;5L%{t3eanL2Rirg=dE6{bo{XmcL0$_Sk`>C*uf{e{)vi^YL%It0go~D!8 z)Z624L-e2l#+{(L10kkSRGsX#Fw>9hKV6pf{R7k6?-X!8nn( z&T_t_z+Kz_BtImh(AyC3nh2EJQ~lv9_BlUCs6NFw*Tp;`%BAW8NP9Ny6Fn*d)#!NZ zFtx%_=|{`_M`{LoGD>%~p;)F2s(j9P?qb>-*N0>}>mXIMemlbTa|&`;vMCUq(9 zGPE2gapYOk7q>tElNEk2|NIcxaCvhC>qa3UJ0YBV-1ZD|qATTjGaz)5+9vjwX@R=9 z?D1Tat0+h4_FqN$PE&6{H}@Q%_MHGGH)}HuiaH$6)46ovs0h~gk|$UfZXu{!(;QJM z_Wa)Cb&m1!Wq;W=MEHH0?A%EL`@0S!9oJM3=fcI*9HLfeh%?*GSN#ICJ99u$y}Fh2 zXBr!F2&!!1L{P8dWNbJ-nCA_#cnq78)jinFM{uqLM%Xy?C5R!_SAd}b#=PoRH*u6Ag-AN0T!SXUOs z!(EmNGsVYzU))FK$yQr$PT4QAK%3qV?5_|)5Y14T(5q?}|H9F9I$i+f1A^mD{`zLw z>Kh)DNmZ7Rn8TleiIpb-+`yWMGacArfB*>NS;Gt4Ln7S_$^mLcadHGJ(w`h3O+w3o zb&2YG6Uy&`qodl8odeDPtF^c1&8c2-YSO5^Ydm=BF*&c@e0XF6LgB%0JUHHr7;(qd z-8P_7ICHZ&v+^$-SINfpjY@r;PXu<4IxtzFA|OmN4`^L`)NvhAY(9iGH3C%$ z+9|-A(jwGPw60h3_pe2eBV)uCE42QOV7izB2?(u+X?Q zO6};|RZp!03(T090(SiCDMwkVmdqt!Rx4^p--BWZK-F$9%=V*?*S$9uN}E8x7Y~^V zFA`w_awK3-C-~QW=i(J%j&WciAX;?#S73Q1seRPNu&VA*YNuhi?5Yv_-2&3O{0G=p zs6$Ev1_AgP=zQo;qd)ri@U;&WAb|(j3*fIrKmviSt55}tx@fa&_fePPdtA8iEDsOt z#+1=pB}sn)Q`22TWux{->_vbyP$~vsEPm_R=*q!%=d>JBK18pH8Upt7COa$hFTfA4 z8)2;}b~OZ|?@kiXAclly(WAiv0cDi|z{wo+RPc_De}m>F{lh!8xGej@U5I}LtXO^o z7Q)Zw-H7BqSR&X5bAfb&vga?HTw2!5gmO+AZdMZ^`?@1#-4KFch=2AfgB?3NEgg0i zU;x`C&J2*`#wpv@dVA*&pMu!B_$@eBEmf-muxUpWhz`~R?ZJ#(3zsUNA&-g&58Zaq zsp=S{ca#7Gbq zdgU4y)F2@FxnBsF2c#P_P~%q|10(4?p}}Kns~%5%5(L&LhDfN~iZhu=2yvz<3f&>< zXIy|VUTmuS0F`GC_c{Y@>wkQK#as>T=9U0M9#ZEL`Rp~dUOhXL3fvFOicL5L?Sp8A z7mMfWxqeN$Jna47srdl1`nb`W;cX4wvLHJq1=wm%aV7{Q%1$my1BbBntw^!e`FSSj zY{r>5*I%b8955Ra1gKxR2w5c0p2l^PdkVRAo;Y(j(fyogs!gAkry&3U_BQ(G?O;yN z15BZ9>#66C!^-HR%qJbE95lD!NEJLG?^D`K;BnI)+y8BlD(`XX=@BT8GN3lVg>qYz zN)wkOHQp*cQU@NwLOdp0jT7Td8V53BoW}m_6_%rbZ6%O>NkeA2ZX?-F1OLKD|q$?)r}(8YR^6*TUEzP<*KZB2;0^l>U#fUGs=NejK3NG!mia7 zMu8}XxPz(Uc5NJNNSD0H(>9|I)`{+PGZ1I`9vPt88&#(fyT8o$_Sl{l5iZnQ&5;R? zJ=wn@;d!+ioh(p-Fu-bn*HI8oRiUo+gERGDLqRBTVuIVS&>XY@0kl00F?UR9#tg?- z(E!36iXkl9sIT~YfW8ZmzM)Ys!B1C|GTXEe!CF4^XE&%NK`J$Bkk0l&?eQrW0=pr-^d+++ z0Ya8+U-BHTPjWL)*spTc;bsxYA}pRl|bt_zK{IIMH6 z6yHmPY^DW4vlkHcI@~z@48Ie(LJ0gw@{n6ssJByhcc16pSM7)8K)xo~b35=fS5PNh`TL130S%z3 zY{teL+9;9WXMtpW+}NvLqCa3glNAHv-6DiMVN($(N2Tjo<;H*)bZcpka%-k5R}C&t z)^ujecAPFQ&+-c|xe`PKt3V$nCR2(wPuK;!eXbs7vt;McSCdNysa(4TD+)_cTld)e;rogu zJwpDyyY9?v9?5v}T=Zp{^x|S{f$~hatifP#OR+?|=ScC;bVOWyU!3{3`lWe^O|%2V zj*i7-&294XyTG0es@q3XNiDXv1Y_xvAn22K=1E`AWt%H?iPTqJTCto6ODkJWIX2fa zn{&sd6kPmwgvC6U@ZezP^ptxGiMmu`oG_g+9G5AqgP}}ELb2i*$p^tL3bRQIIpkI@ zReKReoaXiH>pY*|e3;RlR2?nC*F#JSNF*86>>?%xIZN4(D@K|1Ib|=t2fMkg)6*2= zthv(Sz9Q5jm4dT=pQrE2U>qT4%M! zW)HP{4i&s?(Hro{pDAgh#Jux%t_MA|7vAeqBooL(hjbW@=lC4@D9d2WhDKAF#y}HM zmprGe`$h9Qvna1~`b5>o@@kU&HjZ(1>B!IHOwQ)K&(D-rT(6-0u5`;wYfEj?VU%Zb z(e_*U!dBcR#C)B;dX-Oi2wB3sGV;L=yU1rrQE!G18cvY#kDsu(8)`qbn|C2|daK=T z6wp#i`%v*x%BP()-p&)QFILGYB}P;?rArOurxH1PXj8FW_&LElqukq8vj>5HV_58a z@+5Shf#wy+f*Z$NF;&;Uu&=V>QLcf-6NY@H6RsHcn{TBCi}?3qtrv9|Lv$$tgjlhH zPZAGKE~8GSo%r#C&yYD6&EXE%p|`W_fPYv{TgL~l!y9HlE`Yrx$3+rMLS+r_-jSd0 zbGCPI7pzSX%o(2vRADRys?3oy@?HgBWqo8jy7$g8_Q_FUnQow%k`PB0-QoOK{xelU zT+PY>+u@^?D|9zGHbjLTq|sDz{gB!D*4&f~_Sm~L|IC4uXSHMZzqLI{Ndt%m@|wE@ zn+lQjs2yv-*#_kVW(TN#`L`N9v~NBQ7NAh1`C>9h+ z8&5GF*jg|m)Uz8rN-wEza=Z^987h!w*3}^T-sm$I3FUau+?**+r=28-?3V4Xi&HS? zf;L0NNKvyM|0}6Cd~?EPA`e3S+Zm@A*_-IhCw~l#{8+9yRf{2x{NJASI@&q<7_eg? zZv&85Z$o%QHpNPT%y%0CS+D`R^yr^b&>k`gaVn3#%?RVip80bRLEgO9n>qS+apMy< z1*9-qd#PF~(UKrDmNxsb?OF+xqHA5=d-9if+E!EK3@1Xb&An^hbR_P_^&bB%rO<)3 zAPa}m;C(U}_7M`a#}s0@HP`y;JN470<>M4PG0fZU;U+JYP z^wLMF@Q*-=MvAC2jnbk~%~=xf!g@R#6gA>eDW2me{e*ISZnl}B{${X5rA zLNIp?1lwzk{0KQQsFDBM>~zvN2ENXH1WqarW#ZYx4xrW?0mUn*SN@eX#X>G-(nvCR zOuj#qN#TQ3_)o3>!E#+y_IUK~yBE5&=0PwA)XVo%jO|adkIkx|0#hk}>nGPgd;9Ev zN>1iAcll1{ei3~F`WC_F{PrtZKMp_q;95XJl1};E;CoBq6Gl^Gf0R?{fq5 zTc2q+0Dd?=_+y3K$m-^YY=iZ)NmHUS1Q{nPSM!{C{8+D5h|Gdb=OhJRN<$1=&n0N0 zCE{~86(i={04cK{f-^UYw?}+%cQT(%R&?&FLh%-|=L_g_F{awXnAo1kj zMNx@YXEyJ*PA~^I-u@*-`C9~4u0*dtQflAyd?f3x36glp!)&%e)zrqOmA!B#PaU1U zY<6xIywSIG_44=56BgCCBTEV8PN;T1oPGfLW!7K5%?SeH2qBzV1I6CU?{Fx&kpgDT z_~}y|!UohMh;SSW?n&ioQ$z-nr|Wm%0j zY1UwP;=Q+wHbyAs!tx#ke8@oA?o^E;D((BIhsyXu>b!66tuR9Y;+qB4vQhhEiIp^x z$K*7;eHwO6HOe_Mxso~`uB?y!-&xxApRpL%U~I+Sc%1La3vrAgzn1baDQUQ#l6yMNgZTbR`cg&9 zh>o=v>wQksl2dM;Q(k(nn{E+l7lxAjkipLARi`&E+DRZIQIe6RI>i8$e{I)sdJ%Qy z92Hh_M1t8Z$pjYwS8hNa5NJ;{%PnRv_>ui?Z!6M{sdf~j*M9XBboF&P-$}WcaQgir zWZ&J5P02B(eUl!>S<1p8sboY@Q83PpIw3XmYT_yDz>w(pg=35;7U6KmZJ+WnFPS_( z-{q+kXEpUE^57wXKbTH_GH-fpZ(1ilA2%)bo6L7)&KUX zV_y=nL(eS^^|%h-xAK5hj|{RsJ>l`(UDJ^h4TIO!k}_g~Y*}O1UaznmX8hPh2~_{Z z8T`2A4HI5uv|(b$o<_~!(FH4j4RB)+I5WbayMI?d+1|M=6HGG3c%tn5^UKckT=d;#w$!OQ&>@H0N zFL-=DEQ++KJ7!Okl15p_WEg5q5-A5(I@RiZp7z48dAD*EKBi50)Lxr#Ef+1vOd{_3 z4HcY`6FKcvM0>D%dK$hkh-qFH<{BPc+LI(}Z9Kb#j;=jDyA&@dlcIu6nj=3+ye(pk zT0Xl!{85*inKq;2n(>BPPuAd5=dxZzp%5X!=HbvM?K)Am9v^FoX+gBC#6j|tt)lV1(OXig*}xk_~!6T_{R49=A*9oIhQNA?CVBFsG7TM~HN zaSNrs%ltUAtY8AWZ+Hiwtk)!#0N}Xq4CwfAV)d6k5-Fh%%=}Z%#v|M8B2hB?5#iyz zfeg&TsKJ)9_uI<;8O4UmlOMgNT7J8BDP0Co$SFV=1?97iq_PN?K(Xgy)p)Q zJu8S@bn&j=Y{8l2vb-Q0D{946F+rT1EwGVw14#-z_{IlN5B)rnb@-3E=H?#lWig%< zDWzv-FD+gjdX(vuumfL?42dCH4 zS6s6{>f3-fDk8-C>=x$}&tMQpT?HILQ*f+Og1MWvY34$VeY7kDCP{uw&#FWx-D%`(!uDtG?+E1x8{itq7Xs^&l3PcP2tno*ZE8>L zySs0p#dR(v58Z**1q;{Kr~0A1Mr!BGR4``5Ll;#2gUHe(=wCRm7_Y_Km!}zawtP6^ zk<=`(5cnedizS_ePp3V7m!PA|ct)2%B*#O?Z`W+>bX1Em6{aK@ z$r?jA1d@d{{=74Kx@=L(!uyLfLc6tM9|9Yfa#(^H!z-Lzsmo}eMh*??Q2nx0|M%k1 zTF^Ro0D;{ZOh9|8(!$8XIP$^~Zi8E}av2N5eoDelaDIf8z5DnHo9*C>F&Q%J2;6@ zj=2-fhU62zD8Y2G?A>z&h(XTVm=9{jtmOwsp_rRSC_j5hmggd5xPv`3Q7c*~*-Reb zgpjs!AesIgy2f%%Mt7jMN&)2Wj+PM1X@SYGGMP0t*Ef&*mp@70CLa-*D3MD;Pk6XVR%o$eoiFel5WVjF}uqw7|Ae((cGoHR_RuvrCFBsED<_{>cS zW>8O}Q!p;Mxgl4V!4$+5U0XiVGZ#EuSv^f&TC$n-1(>h`5}31Vw!nP=!5fKkDUaEO z!`@gC#F>#9H>?`^AjHJ_8a>rm78=KMiTUGzd-p8^GrGO*QK=t~lJ+C;6aaC+3o6iz z9FLCKTlN1HT~cJ}7eIpivLTL06yqTQts2StJV%F?N0LSmn^gX@ZY&&X*RCPKrqA!2 z_;JJpDFk-$c>uW{Gbh1p1oohn8cfz@)W?}VgbJWF6+xwh>v3?veMJkiCgb;(;e|~U zyB@!0-(s(%_+)%KINii>+<`;Y{kc9t{s;xg1CmTVCf$fy@y%@?WTkPuLPYoJX=MBK zBLW&N0kyE#0KEC{fXR7{NLGWl1oM4zAfbH8UJgOYAfT&F7t*GYU4`)DVn>o_!?cO_ zG_FXN+Gz$y<2sXk;rmTh)5cQ-c=+l7bt921hdK91)%eB!P&NkMw}R!zHFK!JO7* zgfe;*8~!6>A-R8*arY!8m>OVaHoyfZ8iC!xLdbFh|1lqcqvogA;i!S+nMhO^fjywd zX#6t`^4ZC8x$pniWA7x^pkXycM@6FYScQc0QTrjO(~*|XqbXbG(hT0$gh0uf|rqO`NPXx|wDoGTE;(^~w2;PLV)RS0je zDC1q|an1hC(AJ$bm;cs*%KPRr)C4Wpq%;{wM48ePI+opq*5Jp*IB~9e9lMmzq|DLp z6F)8)1S;m@@YA+Xudj(VatZhJ*17YSP$@}K@1BO|kd57Dx{F1!u0{;J#Ag>gVOvvS zg(9aJ^+DwLnK5Pi%G!>lhf)ab=OFUVHXJfb9S_DvLkRo?p&WInI+NEqlll!0=8S3u z@m>$}Xi$@qtm~ROunZ~Fz3EU2daQ%#sy~rSGCVQ8P8$wi!snyK#H!l$X*xv7A7aeg zYb1)kGcf5oQ9Y!bdGNyL(~MTT0CLI=b=VSt{hVnxNrq?4N3@VD_5wdkMjP+ix`Jn# z2Pvb84q7k%+`A^wt7f7>^Bu{AR|@aX0BE8SWlX7l!vsy?*PZBme&W)1&#gRH@?48F zf&G9`(wF~$9l%^kl*!WCuFsbXybxwc)gs5JSsm(|vsG{IomKnGoO?|ko9JSCWi;%K z$wF7yoqg9K2+e2J={`y6@$i&LVofG?;+|hA!2pJeeh4AQdJdZ*u!mbM%2p=qntQk7 zYG2h}a{&k;mt?9}gqn%>nf#{A+*2-MzU$X3I3~-r6#`OW0pCo*3ZYz(VnWs0xz)8j z*sB%kS{*epq3c<^h_<38!A&AjUBvt>0$N}ZDOoY8V^KE$5wdZ67gV^rfs!Bhok5#k zujSez$%`BrA-^K+)ymLUh4so36|~emuleTzmFgFEKU_s~hW(BXPai%LKa^bGB!7=v zadM_7KB3HLJ79v9x)JhjB0tWa-S2qcD$%Py)$=+_&$2gFiR08SVE%A^ z<>4uf&5REF_E!?(5B+k4zS;%ES0= zKP!5A>)}z|NR*Q=RcmqYX^i&ui9lnG=?7MmpG+8g#uc1ZrY3Z^f&@}X9RZ(R)(R!# z`?0##7+;OlaM2Vyek_4~gNM>dK+iW`EhgSY0+)v?_f5B|Pk!Y}+_}d~^UsW=U-GfQoU12QORWTh*{&D%H$iB5*;r#Gr6;mCbZ!S; z=r}OIVDbd%IASF$c~2E`Ib{+)xD$PTQS3vKQGK(fj3_j5ty@VTh7RenQPf>QBF z={_bAX-m7mgRKtZ+%Wzn5Bj;Z)eiyK|~4BY2T67LCHUmC46ZL z%exDZ7Dm&AW=tM=gg@oQk;MG>(=p*q!n#k=yjY(+^4#>Fzw%1%y3>ECQO2>K{Wj&o zTk_ORSM~DVgGUj}^0BICecZ2}i$_S${+1 zVpm~6UE~t0^37I!S2&YFVCw<(RZZz!U?W19b>G@$*~FjvibWmNeeYH zeuF}4larK?`Oh?ozWJ#;%SjEriFGgCOy(XfLX@f@Z33{RK2YwLGUjHJyCSMBS}zI` zU5#`v4Lun@BUpf{-BH!JmA$%1>EQIDi)60~_Z>yrQ`ePw7&qL-c5XD^zvjg5dipHz zTPeMZC1c;{Cd+0)l*KnY;7gaPgt4c|ejf9)?PrUX|JpwtNv#`s?`&_cDfpt%(3h+jwt%bW~8iQEI6B z&5-H(*d%55#Fm`U2VXxG3jgm(Z$P5sAy1dnV}0MMB;k}mWi(1IOS3)j!2_8^)_9M< zoNvT#$lKVZ3JZ>VQg{!eC;cxj^Z6QgPW`l*=36;%wessHjcb8Omr2ytJV7zUs?UQf$QpW* z0idwBl}%nXbDGTh_b^1N~uRTd|P?*_7p@ z7pX~NMFezLB&sK5d3WtM`l6|YZx1DG{;gR3Kwc$|6(ttvHIg#e$!?aG-OuZz%Ur6X9@?u z-5OU;ny9IqIP12cM?2_*mvrK^TqEK?oJxss-;pD>6;CM_oE+fH^jCzRk-4$u2XPF%`GIB|^aNwBfWZ@f9yci~0-A#i*HXp7{G^mM%6Q8gM zH;-VgNmJu7mz|1QhKvfU$Hs5QXqNh=W?EgzB`?^${>+xZ8{4t|;JD+rHnXd;fuQ`k zTo2O&hkDy|eg!;^jF^`5C3hyFt`o?|?-la>Vi!2*_9yoyX@h8Pp;sN7TE7jaU+1|4 zoTNUs`B$}gZ+0I-E=*k+&;WHKB@#%E7ozLlnYqK#HWKAV#^nT%O^iu=;H>rRwzcsc z^#S{k{HfR-FiOb@g1C(*)Ypw%07mXJx%TtnWGQeOdQ|*Z-o(+->e$cwb6WC7l13+5CYl-$f#i*eB#SmQ#dQtzGh&Fmjf|-}uWAPsmHEbf) zQi91kKcv6L9C0|>E4@q7gi~R;AVsGI{dY_uuu=SXiKZTY7xo;KuKRmVQvEQI>Kx~} z)-XOh8lnWjAJ?1gRcFXB&OtI-FM;klg9?Z&1b_eXn;EV4GSz=qhsotzq7uw%5acmU-=7% zxjNvta{|e>x1kmCu3I7Ov&47{SpVuW^F!A^0xrgsehv zo#TvOdh~Un{xoCAmLKO27Juc;I){A;NK$LP0CLQ>-?eW*g_Vau3H62-&(>S>p_&>A z=BV96LU|1&N&od?0g?g*(Qjh>KMiI4Y0Z!X^MCc5BU!4Fzj-?Q1~d+1>a&L|#Sg5; zTx6YSk|0qofjZic_Xj+4-?u_@T>ddfE@%boMGo*Wm?@2rTY26Fy7B+UDZ4!f zW5g@~AzI-g!30u2VYnU)0r04nT!&fFP*}M1yQwPzy8#^#4x#mm zL4nD#a(|ce_>Iee6w_tkJiyo|SnH<&F?;_31iIbHhkm{gS(9W1d4B%-SExfS0W{D8xXF}k__QE;e3d5V-m&^8xvEQo$LdE*vYFvp15$&ZqN1Ogv zo{XDQeCIZBC@5aF@!^ojf}0oZ#NU03E#%Sk?9+y;u{m|Q@9a4O?T?r%%Qk@tS_GrJRjws6sY27bp%1Qxj=>O zM7qd;{s0z}DY%Ja6p(*cUX?m8Zs53;Qm^bYgfHOaU>Fvn8}&Hexx>a`xvK+wyjIm% zM1>m#kxh>Lh->wLd>!}yf9+jaRMW>ApNJYG{Pxm1& zIcLuNb7tl@-+c4?mNTE>V?*%v?(S7yqlp*;#(GeYR_6F-mJd#ps3g%_5d~J}uGQS6 zg8<<3*2-`N-X2p)n6>0QwI5to<#}DX)8FZCgO! z5jf$_*(}xbl4|bTr2UIl2=K6Zz@P42FXY+K&txK+bU(4$Pm20nnnFH`#3ib-uoX0YRkod9juZ}GRfJ$4*w2V00!+0fh#*7YDFFZwpAQ-vva$Gk|6h?@u zGf@fvN(uY=-GqH;t9?W?u)y|HlaM3&KCyNSx+`Bj%MA1%92k8ik1UL68HeRR8$0V@2s+(inL%$SjYP5Nq(= zy!14nwBCE&LA#RANk`@n#fW0Sxu%_AP7T5`7%`V^*KGQ=V*CQ9VPkB#s_yD+qA$d3 z{%wS|Fq*tK71fBoI|w7y%gE_p8VsFGRF~=?NDPqAehd}Dsuki2k$OQ zG5lmJHM}i%qz;wTh{A#Hs}`v$4i`@l>t~>wM%T>2;cMs5`eVJHzov-D{OkEbT~wi0Y1?-8`U7EkQRP{drdMU0PB9^*Uf*%sZdhznR6)S31>j$2^9Ulaz@}hjrjY zA=~=LxIuFx(pfZ&8gpc*Dvr*Irl2SyJ5H>}ju&TU$ZO03<*u3!*)ylo#~=SzgFWUa3=5~u>uA%gA#eOepRw|_(yVe=RH!X0>za9b+w~s>H9^Df*%_9nT18P_ zb?K}CFWQr4p~ohs0tbCaG*p-JKCC*Ht-1-1W##jo5#%wOSZ)!O-?kOz1QhrQ59tDm zjsE57+wLurB6kOQ|82r3KWB8-M6X7p=|9m#cAfI_AM&ThuJ#1WbX9Sc-zAVMO%GTo zE~4ut@sa82Lyq>B=x_*1z!rv*^D2U2BUz>Y`4fAl$MZd<2M-~n(hjlGS#8u>{4g6cXUam$d$M%APDDwh;kAjsTt5u-zk$IBw3MAZ#8bN#+= z^5~;PjNprTX;#S3tbUH{KA+l9gPK{uV%cN{r^NlldD55C0cH=ii%fDl z6F0VdgW%fN(rI31uPO}%3S4YeECnz6+i)~1Yl=aT^}9ol!n!O8)v+++kdT{bL*tx$5x7jFv zh41@su_c<5tASzqjZL(Iwv zdnNE1slz8y%Q0LJvRYH!vQK?=-E$c*$=_ zdbAxm|e|+~7tZ9u{^n z(F^seV`gCu6?!#|r6_uir$PFLW&%%$c$Yqh3T!^g#Rbb}3~OM13*TG8Mg=2)ORUU( zvZpG{xBgE&Y+zcka1(Mi zGNy-j5REY&5*Dullo)+OHeN_TjJk?=)ViEMgi(@3>e8IY=-SAUaQG0w|Pesb8;zb+5(Q zB+-B;eK@Nz<;+B^<^%mUwsH5=6%8cffSV{}#jCrG9sA@RLvJl1EyN8cJHt1;Z~@`J zD+*~EgOFw%G0c7M#eVlovHct61)zKFvLOfizjt0XXP^$>wM^Mz=ebqOW)f^ZSdI(9 z*57k?V6*blve^d7s+W3D2#OlsB@ont^d1HEk$I29|F3dbSd8JHTAC#8XQueen2neZ z8~4y;*)0r!y7d7TH4-0zP$Qv60wSQ+3?Icnjf5Hr^?CRx18OAxCnU7x+W$B@LaqOF P>EB0O-CfGQ#$Ea^K4%N< literal 0 HcmV?d00001 diff --git a/public/img/blobstream/Celestia_Blobstream_X2b.png b/public/img/blobstream/Celestia_Blobstream_X2b.png new file mode 100644 index 0000000000000000000000000000000000000000..651457bb2c8227577c2ae6c09adbe4e3442400e1 GIT binary patch literal 286171 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

gybGsn{R(=~FsJnj*6lC&gc0B4dg_n}7U~ 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