diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d8400e5c2..985fcf6c99 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -608,6 +608,8 @@ jobs: --name river_postgres_container steps: + - uses: taiki-e/install-action@just + - name: Cancel previous runs if: github.event_name != 'schedule' uses: styfle/cancel-workflow-action@0.12.1 @@ -682,11 +684,8 @@ jobs: run: ./scripts/register-ca.sh working-directory: core - - name: Build MLS libs - run: ./scripts/build-mls.sh - - name: Run node tests - run: CGO_LDFLAGS="./libmls_lib.a -ldl" go test -race -timeout 24m -v -parallel 1 -count 1 -p 8 ./... + run: just test-all -race -timeout 24m -parallel 1 -count 1 -p 8 working-directory: core XChain_Integration: diff --git a/contracts/deployments/gamma/base/addresses/mainnetDelegationFacet.json b/contracts/deployments/gamma/base/addresses/mainnetDelegationFacet.json index 76cc761e2b..6b17f83515 100644 --- a/contracts/deployments/gamma/base/addresses/mainnetDelegationFacet.json +++ b/contracts/deployments/gamma/base/addresses/mainnetDelegationFacet.json @@ -1,3 +1,3 @@ { - "address": "0x1A01452AdE93E9907Baf0817c9835e89616975BF" + "address": "0xa9DdAFf98EF46850a7e75376D456c0EF45ae5C9a" } \ No newline at end of file diff --git a/contracts/deployments/gamma/river/addresses/streamRegistryFacet.json b/contracts/deployments/gamma/river/addresses/streamRegistryFacet.json index 2e3684fa24..c8eff505cd 100644 --- a/contracts/deployments/gamma/river/addresses/streamRegistryFacet.json +++ b/contracts/deployments/gamma/river/addresses/streamRegistryFacet.json @@ -1,3 +1,3 @@ { - "address": "0x2186e9D5d8b1177b07AD06CeA14f695F8fb0d0b1" + "address": "0x4Dd0B63cB55A988BDc28e3a39Bc42E7E34e9C4eA" } \ No newline at end of file diff --git a/contracts/deployments/omega/base/addresses/mainnetDelegationFacet.json b/contracts/deployments/omega/base/addresses/mainnetDelegationFacet.json index 3b581b7477..a6d0fe0c0d 100644 --- a/contracts/deployments/omega/base/addresses/mainnetDelegationFacet.json +++ b/contracts/deployments/omega/base/addresses/mainnetDelegationFacet.json @@ -1,3 +1,3 @@ { - "address": "0xabB6A0f9Bd6Bc985456Bf49821dD16192E141B27" + "address": "0xb2A948Ea103882c527Dc27a4f0581E5FCCCDC645" } \ No newline at end of file diff --git a/contracts/deployments/omega/river/addresses/streamRegistryFacet.json b/contracts/deployments/omega/river/addresses/streamRegistryFacet.json index a7d86bc125..202c922bcf 100644 --- a/contracts/deployments/omega/river/addresses/streamRegistryFacet.json +++ b/contracts/deployments/omega/river/addresses/streamRegistryFacet.json @@ -1,3 +1,3 @@ { - "address": "0x7B809Fe671efef51BaAaDf6F0A8C9FD84ce5b608" + "address": "0x3466893bDedb3c158F91D2efEe6cD927Cd765e03" } \ No newline at end of file diff --git a/contracts/makefile b/contracts/makefile index 29b973633c..554d703362 100644 --- a/contracts/makefile +++ b/contracts/makefile @@ -68,13 +68,15 @@ deploy-any :; @echo "Running $(contract) on remote network" @SAVE_DEPLOYMENTS=1 $(if $(context),DEPLOYMENT_CONTEXT=$(context)) \ forge script scripts/deployments/${type}/${contract}.s.sol:${contract} \ - --ffi --rpc-url ${rpc} --private-key ${private_key} --broadcast --verify + --ffi --rpc-url ${rpc} $(if $(private_key),--private-key ${private_key},$(if $(account),--account ${account})) \ + --broadcast --verify deploy-any-blockscout :; @echo "Running $(contract) on remote network" @SAVE_DEPLOYMENTS=1 $(if $(context),DEPLOYMENT_CONTEXT=$(context)) \ forge script scripts/deployments/${type}/${contract}.s.sol:${contract} \ - --ffi --rpc-url ${rpc} --private-key ${private_key} --broadcast --verify --verifier=blockscout --verifier-url=${verifier} + --ffi --rpc-url ${rpc} $(if $(private_key),--private-key ${private_key},$(if $(account),--account ${account})) \ + --broadcast --verify --verifier=blockscout --verifier-url=${verifier} deploy-any-explicit :; @echo "Running $(contract) on remote network" @@ -205,7 +207,7 @@ deploy-ledger-base-sepolia :; @$(MAKE) resume-any-ledger rpc=base_sepolia hd_path=${HD_PATH} sender=${SENDER_ADDRESS} verifier=${BASESCAN_SEPOLIA_URL} etherscan=${BASESCAN_API_KEY} deploy-base-sepolia :; - @$(MAKE) deploy-any-blockscout rpc=base_sepolia private_key=${TESTNET_PRIVATE_KEY} verifier=${BLOCKSCOUT_SEPOLIA_URL} + @$(MAKE) deploy-any-blockscout rpc=base_sepolia private_key=${TESTNET_PRIVATE_KEY} verifier=${BLOCKSCOUT_SEPOLIA_URL} etherscan=${BLOCKSCOUT_SEPOLIA_API_KEY} @$(MAKE) resume-any rpc=base_sepolia private_key=${TESTNET_PRIVATE_KEY} verifier=${BASESCAN_SEPOLIA_URL} etherscan=${BASESCAN_API_KEY} interact-base-sepolia :; @@ -293,7 +295,7 @@ deploy-alpha-sepolia :; @$(MAKE) deploy-any context=alpha rpc=sepolia private_key=${TESTNET_PRIVATE_KEY} deploy-alpha-base-sepolia :; - @$(MAKE) deploy-any-blockscout context=alpha rpc=base_sepolia private_key=${TESTNET_PRIVATE_KEY} verifier=${BLOCKSCOUT_SEPOLIA_URL} + @$(MAKE) deploy-any-blockscout context=alpha rpc=base_sepolia private_key=${TESTNET_PRIVATE_KEY} verifier=${BLOCKSCOUT_SEPOLIA_URL} etherscan=${BLOCKSCOUT_SEPOLIA_API_KEY} @$(MAKE) resume-any rpc=base_sepolia private_key=${TESTNET_PRIVATE_KEY} verifier=${BASESCAN_SEPOLIA_URL} etherscan=${BASESCAN_API_KEY} interact-alpha-base-sepolia :; diff --git a/contracts/scripts/deployments/facets/DeployNodeRegistry.s.sol b/contracts/scripts/deployments/facets/DeployNodeRegistry.s.sol index 54a66f4226..ca5f127373 100644 --- a/contracts/scripts/deployments/facets/DeployNodeRegistry.s.sol +++ b/contracts/scripts/deployments/facets/DeployNodeRegistry.s.sol @@ -15,6 +15,7 @@ import {NodeRegistry} from "contracts/src/river/registry/facets/node/NodeRegistr contract DeployNodeRegistry is FacetHelper, Deployer { constructor() { + addSelector(NodeRegistry.isNode.selector); addSelector(NodeRegistry.registerNode.selector); addSelector(NodeRegistry.removeNode.selector); addSelector(NodeRegistry.updateNodeStatus.selector); diff --git a/contracts/scripts/deployments/facets/DeployStreamRegistry.s.sol b/contracts/scripts/deployments/facets/DeployStreamRegistry.s.sol index 1623f60918..9cc99a34fb 100644 --- a/contracts/scripts/deployments/facets/DeployStreamRegistry.s.sol +++ b/contracts/scripts/deployments/facets/DeployStreamRegistry.s.sol @@ -25,12 +25,6 @@ contract DeployStreamRegistry is FacetHelper, Deployer { addSelector(StreamRegistry.getPaginatedStreams.selector); // only interested for stream on a single node addSelector(StreamRegistry.isStream.selector); // returns if stream exists addSelector(StreamRegistry.getStreamCountOnNode.selector); - - // addSelector(StreamRegistry.getStreams.selector); - // addSelector(StreamRegistry.getStreamByIndex.selector); - // addSelector(StreamRegistry.getAllStreamIds.selector); - // addSelector(StreamRegistry.getAllStreams.selector); - // addSelector(StreamRegistry.getStreamsOnNode.selector); } function versionName() public pure override returns (string memory) { diff --git a/contracts/src/river/registry/facets/node/INodeRegistry.sol b/contracts/src/river/registry/facets/node/INodeRegistry.sol index a83d304b63..3c5611d2ad 100644 --- a/contracts/src/river/registry/facets/node/INodeRegistry.sol +++ b/contracts/src/river/registry/facets/node/INodeRegistry.sol @@ -25,6 +25,8 @@ interface INodeRegistry is INodeRegistryBase { // ============================================================= // Nodes // ============================================================= + + function isNode(address nodeAddress) external view returns (bool); function registerNode( address nodeAddress, string memory url, diff --git a/contracts/src/river/registry/facets/node/NodeRegistry.sol b/contracts/src/river/registry/facets/node/NodeRegistry.sol index 56aaae6a47..79ef427f25 100644 --- a/contracts/src/river/registry/facets/node/NodeRegistry.sol +++ b/contracts/src/river/registry/facets/node/NodeRegistry.sol @@ -15,6 +15,10 @@ import {RegistryModifiers} from "contracts/src/river/registry/libraries/Registry contract NodeRegistry is INodeRegistry, RegistryModifiers { using EnumerableSet for EnumerableSet.AddressSet; + function isNode(address nodeAddress) public view returns (bool) { + return ds.nodeByAddress[nodeAddress].nodeAddress != address(0); + } + function registerNode( address nodeAddress, string memory url, diff --git a/contracts/src/river/registry/facets/stream/IStreamRegistry.sol b/contracts/src/river/registry/facets/stream/IStreamRegistry.sol index 2a3363e7a7..35f638f1f6 100644 --- a/contracts/src/river/registry/facets/stream/IStreamRegistry.sol +++ b/contracts/src/river/registry/facets/stream/IStreamRegistry.sol @@ -7,8 +7,7 @@ import {Stream, StreamWithId, SetMiniblock} from "contracts/src/river/registry/l // libraries // contracts - -interface IStreamRegistry { +interface IStreamRegistryBase { // ============================================================= // Events // ============================================================= @@ -38,13 +37,28 @@ interface IStreamRegistry { address nodeAddress, bool isAdded ); +} +interface IStreamRegistry is IStreamRegistryBase { // ============================================================= // Streams // ============================================================= + /** + * @notice Check if a stream exists in the registry + * @param streamId The ID of the stream to check + * @return bool True if the stream exists, false otherwise + */ function isStream(bytes32 streamId) external view returns (bool); + /** + * @notice Allocate a new stream in the registry + * @param streamId The ID of the stream to allocate + * @param nodes The list of nodes to place the stream on + * @param genesisMiniblockHash The hash of the genesis miniblock + * @param genesisMiniblock The genesis miniblock data + * @dev Only callable by registered nodes + */ function allocateStream( bytes32 streamId, address[] memory nodes, @@ -52,32 +66,91 @@ interface IStreamRegistry { bytes memory genesisMiniblock ) external; + /** + * @notice Get a stream from the registry + * @param streamId The ID of the stream to get + * @return Stream The stream data + */ function getStream(bytes32 streamId) external view returns (Stream memory); - /// @return stream, genesisMiniblockHash, genesisMiniblock - function getStreamWithGenesis( - bytes32 streamId - ) external view returns (Stream memory, bytes32, bytes memory); - + /** + * @notice Set the last miniblock for multiple streams in a batch operation + * @param miniblocks Array of SetMiniblock structs containing stream IDs and their last miniblock information + * @dev Only callable by registered nodes + * @dev This function allows updating multiple streams' last miniblock data in a single transaction + */ function setStreamLastMiniblockBatch( SetMiniblock[] calldata miniblocks ) external; + /** + * @notice Place a stream on a specific node + * @param streamId The ID of the stream to place + * @param nodeAddress The address of the node to place the stream on + */ function placeStreamOnNode(bytes32 streamId, address nodeAddress) external; + /** + * @notice Remove a stream from a specific node + * @param streamId The ID of the stream to remove + * @param nodeAddress The address of the node to remove the stream from + */ function removeStreamFromNode(bytes32 streamId, address nodeAddress) external; + /** + * @notice Get the total number of streams in the registry + * @return uint256 The total number of streams + */ function getStreamCount() external view returns (uint256); + /** + * @notice Get the number of streams placed on a specific node + * @param nodeAddress The address of the node to check + * @return uint256 The number of streams on the node + */ function getStreamCountOnNode( address nodeAddress ) external view returns (uint256); /** - * @dev Recommended range is 5000 streams, returns true if on the last page. + * @notice Get a paginated list of streams from the registry + * @dev Recommended range is 5000 streams to avoid gas limits + * @param start The starting index for pagination + * @param stop The ending index for pagination + * @return StreamWithId[] Array of streams with their IDs in the requested range + * @return bool True if this is the last page of results */ function getPaginatedStreams( uint256 start, uint256 stop ) external view returns (StreamWithId[] memory, bool); + + /** + * @notice Get a stream and its genesis information from the registry + * @param streamId The ID of the stream to get + * @return Stream The stream data + * @return bytes32 The genesis miniblock hash + * @return bytes The genesis miniblock data + */ + function getStreamWithGenesis( + bytes32 streamId + ) external view returns (Stream memory, bytes32, bytes memory); + + /** + * @notice Update the last miniblock information for a stream + * @dev Only callable by registered nodes + * @param streamId The ID of the stream to update + * @param prevMiniblockHash The hash of the previous miniblock (currently unused) + * @param lastMiniblockHash The hash of the new last miniblock + * @param lastMiniblockNum The number of the new last miniblock + * @param isSealed Whether to mark the stream as sealed + * @custom:deprecated Deprecated in favor of setStreamLastMiniblockBatch + */ + function setStreamLastMiniblock( + bytes32 streamId, + bytes32 prevMiniblockHash, + bytes32 lastMiniblockHash, + uint64 lastMiniblockNum, + bool isSealed + ) external; } diff --git a/contracts/src/river/registry/facets/stream/StreamRegistry.sol b/contracts/src/river/registry/facets/stream/StreamRegistry.sol index db73b3866d..1f935e390e 100644 --- a/contracts/src/river/registry/facets/stream/StreamRegistry.sol +++ b/contracts/src/river/registry/facets/stream/StreamRegistry.sol @@ -20,6 +20,7 @@ contract StreamRegistry is IStreamRegistry, RegistryModifiers { using EnumerableSet for EnumerableSet.Bytes32Set; using EnumerableSet for EnumerableSet.AddressSet; + /// @inheritdoc IStreamRegistry function allocateStream( bytes32 streamId, address[] memory nodes, @@ -59,28 +60,17 @@ contract StreamRegistry is IStreamRegistry, RegistryModifiers { ); } + /// @inheritdoc IStreamRegistry function getStream(bytes32 streamId) external view returns (Stream memory) { if (!ds.streams.contains(streamId)) revert(RiverRegistryErrors.NOT_FOUND); return ds.streamById[streamId]; } + /// @inheritdoc IStreamRegistry function isStream(bytes32 streamId) external view returns (bool) { return ds.streams.contains(streamId); } - /// @return stream, genesisMiniblockHash, genesisMiniblock - function getStreamWithGenesis( - bytes32 streamId - ) external view returns (Stream memory, bytes32, bytes memory) { - if (!ds.streams.contains(streamId)) revert(RiverRegistryErrors.NOT_FOUND); - - return ( - ds.streamById[streamId], - ds.genesisMiniblockHashByStreamId[streamId], - ds.genesisMiniblockByStreamId[streamId] - ); - } - function setStreamLastMiniblockBatch( SetMiniblock[] calldata miniblocks ) external onlyNode(msg.sender) { @@ -155,51 +145,70 @@ contract StreamRegistry is IStreamRegistry, RegistryModifiers { } } - function placeStreamOnNode( + /// @inheritdoc IStreamRegistry + function setStreamLastMiniblock( bytes32 streamId, - address nodeAddress - ) external onlyStream(streamId) onlyNode(msg.sender) { + bytes32, // prevMiniblockHash + bytes32 lastMiniblockHash, + uint64 lastMiniblockNum, + bool isSealed + ) external onlyNode(msg.sender) { + // Validate that the streamId is in the registry + if (!ds.streams.contains(streamId)) { + revert(RiverRegistryErrors.NOT_FOUND); + } + Stream storage stream = ds.streamById[streamId]; - // validate that the node is not already on the stream - uint256 nodeCount = stream.nodes.length; + // Check if the stream is already sealed using bitwise AND + if ((stream.flags & StreamFlags.SEALED) != 0) { + revert(RiverRegistryErrors.STREAM_SEALED); + } - for (uint256 i = 0; i < nodeCount; ++i) { - if (stream.nodes[i] == nodeAddress) - revert(RiverRegistryErrors.ALREADY_EXISTS); + // Ensure that the lastMiniblockNum is newer than the current head. + if (stream.lastMiniblockNum >= lastMiniblockNum) { + revert(RiverRegistryErrors.BAD_ARG); } - stream.nodes.push(nodeAddress); + // Delete genesis miniblock + delete ds.genesisMiniblockByStreamId[streamId]; - emit StreamPlacementUpdated(streamId, nodeAddress, true); - } + // Update the stream information + stream.lastMiniblockHash = lastMiniblockHash; + stream.lastMiniblockNum = lastMiniblockNum; - function removeStreamFromNode( - bytes32 streamId, - address nodeAddress - ) external onlyStream(streamId) onlyNode(msg.sender) { - Stream storage stream = ds.streamById[streamId]; + // Set the sealed flag if requested + if (isSealed) { + stream.flags |= StreamFlags.SEALED; + } - bool found = false; - uint256 nodeCount = stream.nodes.length; + emit StreamLastMiniblockUpdated( + streamId, + lastMiniblockHash, + lastMiniblockNum, + isSealed + ); + } - for (uint256 i = 0; i < nodeCount; ++i) { - if (stream.nodes[i] == nodeAddress) { - stream.nodes[i] = stream.nodes[nodeCount - 1]; - stream.nodes.pop(); - found = true; - break; - } - } - if (!found) revert(RiverRegistryErrors.NODE_NOT_FOUND); + /// @inheritdoc IStreamRegistry + function getStreamWithGenesis( + bytes32 streamId + ) external view returns (Stream memory, bytes32, bytes memory) { + if (!ds.streams.contains(streamId)) revert(RiverRegistryErrors.NOT_FOUND); - emit StreamPlacementUpdated(streamId, nodeAddress, false); + return ( + ds.streamById[streamId], + ds.genesisMiniblockHashByStreamId[streamId], + ds.genesisMiniblockByStreamId[streamId] + ); } + /// @inheritdoc IStreamRegistry function getStreamCount() external view returns (uint256) { return ds.streams.length(); } + /// @inheritdoc IStreamRegistry function getStreamCountOnNode( address nodeAddress ) external view returns (uint256) { @@ -219,6 +228,7 @@ contract StreamRegistry is IStreamRegistry, RegistryModifiers { return count; } + /// @inheritdoc IStreamRegistry function getPaginatedStreams( uint256 start, uint256 stop @@ -238,4 +248,48 @@ contract StreamRegistry is IStreamRegistry, RegistryModifiers { return (streams, stop >= streamCount); } + + /// @inheritdoc IStreamRegistry + function placeStreamOnNode( + bytes32 streamId, + address nodeAddress + ) external onlyStream(streamId) onlyNode(msg.sender) { + Stream storage stream = ds.streamById[streamId]; + + // validate that the node is not already on the stream + uint256 nodeCount = stream.nodes.length; + + for (uint256 i = 0; i < nodeCount; ++i) { + if (stream.nodes[i] == nodeAddress) + revert(RiverRegistryErrors.ALREADY_EXISTS); + } + + stream.nodes.push(nodeAddress); + + emit StreamPlacementUpdated(streamId, nodeAddress, true); + } + + /// @inheritdoc IStreamRegistry + function removeStreamFromNode( + bytes32 streamId, + address nodeAddress + ) external onlyStream(streamId) onlyNode(msg.sender) { + Stream storage stream = ds.streamById[streamId]; + + bool found = false; + uint256 nodeCount = stream.nodes.length; + + for (uint256 i = 0; i < nodeCount; ++i) { + if (stream.nodes[i] == nodeAddress) { + stream.nodes[i] = stream.nodes[nodeCount - 1]; + stream.nodes.pop(); + found = true; + break; + } + } + + if (!found) revert(RiverRegistryErrors.NODE_NOT_FOUND); + + emit StreamPlacementUpdated(streamId, nodeAddress, false); + } } diff --git a/contracts/test/crosschain/EntitlementGated.t.sol b/contracts/test/crosschain/EntitlementGated.t.sol index 5b71373215..bb1e4c07b9 100644 --- a/contracts/test/crosschain/EntitlementGated.t.sol +++ b/contracts/test/crosschain/EntitlementGated.t.sol @@ -147,9 +147,8 @@ contract EntitlementGatedTest is uint256[] memory roleIds = new uint256[](1); roleIds[0] = 0; - address[] memory nodes = entitlementChecker.getRandomNodes(5); - - for (uint256 i; i < nodes.length; ++i) { + uint256 nodeCount = nodes.length; + for (uint256 i; i < nodeCount; ++i) { vm.assume(node != nodes[i]); } diff --git a/contracts/test/fork/ForkMainnetDelegation.t.sol b/contracts/test/fork/ForkMainnetDelegation.t.sol deleted file mode 100644 index a36bd810cc..0000000000 --- a/contracts/test/fork/ForkMainnetDelegation.t.sol +++ /dev/null @@ -1,97 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; - -// utils -import {TestUtils} from "contracts/test/utils/TestUtils.sol"; - -//interfaces -import {IERC173} from "@river-build/diamond/src/facets/ownable/IERC173.sol"; -import {INodeOperator} from "contracts/src/base/registry/facets/operator/INodeOperator.sol"; -import {IMainnetDelegationBase} from "contracts/src/tokens/river/base/delegation/IMainnetDelegation.sol"; - -//libraries -import {NodeOperatorStatus} from "contracts/src/base/registry/facets/operator/NodeOperatorStorage.sol"; - -//contracts -import {MockMessenger} from "contracts/test/mocks/MockMessenger.sol"; -import {MainnetDelegation} from "contracts/src/tokens/river/base/delegation/MainnetDelegation.sol"; - -// Base -contract ForkMainnetDelegationTest is TestUtils, IMainnetDelegationBase { - address baseRegistry = 0x7c0422b31401C936172C897802CF0373B35B7698; - - MainnetDelegation internal mainnetDelegation; - - function setUp() external onlyForked { - mainnetDelegation = MainnetDelegation(baseRegistry); - } - - function test_removeDelegators() external onlyForked { - address getMessenger = mainnetDelegation.getMessenger(); - address getProxyDelegation = mainnetDelegation.getProxyDelegation(); - - MockMessenger mockMessenger = new MockMessenger(); - vm.etch(getMessenger, address(mockMessenger).code); - MockMessenger(getMessenger).setXDomainMessageSender(getProxyDelegation); - - address delegatorAddress = 0x204f1aA5B666d0eAc07228D3065a461e92AC399c; - - Delegation memory delegator = mainnetDelegation.getDelegationByDelegator( - delegatorAddress - ); - - assertEq(delegator.delegator, delegatorAddress); - - vm.prank(address(getMessenger)); - (bool success, ) = baseRegistry.call{gas: 200_000}( - // solhint-disable-next-line max-line-length - hex"012ad9da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000204f1aa5b666d0eac07228d3065a461e92ac399c0000000000000000000000003541f646d321cacbc0ff4a7cccb583e8b6e413da" - ); - - assertTrue(success); - - delegator = mainnetDelegation.getDelegationByDelegator(delegatorAddress); - - assertEq(delegator.operator, address(0)); - assertEq(delegator.quantity, 0); - assertEq(delegator.delegationTime, 0); - assertEq(delegator.delegator, address(0)); - } - - // block number 23849000 - address[4] internal standbyOperators = [ - 0x5093702683eDe45b52E1D5388306B77b1D27DFD0, - 0xa4742402D6E314a069CeB1c3C2C4eFb2982d7D33, - 0xA2f50A7Ed89666a805c4d96B35eaE43cB54Bc396, - 0x6C170403278651190494381181FC4358bB9b7B57 - ]; - - function test_sendDelegators() external onlyForked { - address owner = IERC173(baseRegistry).owner(); - vm.startPrank(owner); - for (uint256 i; i < standbyOperators.length; ++i) { - INodeOperator(baseRegistry).setOperatorStatus( - standbyOperators[i], - NodeOperatorStatus.Approved - ); - INodeOperator(baseRegistry).setOperatorStatus( - standbyOperators[i], - NodeOperatorStatus.Active - ); - } - vm.stopPrank(); - - address getMessenger = mainnetDelegation.getMessenger(); - vm.etch(getMessenger, type(MockMessenger).runtimeCode); - MockMessenger(getMessenger).setXDomainMessageSender( - mainnetDelegation.getProxyDelegation() - ); - - vm.prank(address(getMessenger)); - (bool success, ) = baseRegistry.call{gas: 20_000_000}( - // solhint-disable-next-line max-line-length - hex"f59832ed000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001640000000000000000000000000000000000000000000000000000000000000003900000000000000000000000097511657558e83b984ae32db30a27769dd155f20000000000000000000000000eb59ff9ff1384ec05f3dfbee403d6640635d19bb000000000000000000000000a8a2b42d64790482162147b0e47d57c11f41976e000000000000000000000000ec0452cae6c43c7af2ed165a44f18f1ad75388b80000000000000000000000006dd3cbc4bef3687c321636da2ff0874441031592000000000000000000000000a2da06c2f57527e559cddaa72f70763c068830d600000000000000000000000022b539777d9ca69397253950bdbff169e8194a02000000000000000000000000d5626dfeb1c92b95e7ba0ee1ecdf84184f5fa1e4000000000000000000000000214014ecff310f1ea7b2022820ac2857a765ffc800000000000000000000000090ef8ff07e7b8af29333a1d7c18bed949e197e060000000000000000000000003e5d4e5d2d8b44ee7f31346d8563139f5a1ebd91000000000000000000000000c675651841fcef07bc3285f716e11e14a4768aa100000000000000000000000058028aeafc61c069679c54b93b9a67a80f3848550000000000000000000000001fd51331a4e25e61fe15da65e7593ffb7860452c000000000000000000000000ce76bf32b0c50be0778f3064633ad84049222a880000000000000000000000006b56acfe20a06581ebef63a2fe35aa7e07645cf700000000000000000000000098dee8f33aba4de5dfce17816aa954a8a69eb0a2000000000000000000000000688a0549054bff40f94ec948d796581efdaab242000000000000000000000000ee7d8817b738beadfa27c0b7d1126e66ff6102d1000000000000000000000000df59b2f07918467a6a33d2306f9a7330dc2ad8e2000000000000000000000000fce4f00703351a3cc5cde9b450484f35bd5dfc350000000000000000000000006ef83a61c8d055eef7a553700c09b69b42aba1a30000000000000000000000002a290ba65c577124f5e7c0371d2daf664adc188f0000000000000000000000003923eed2daddb345e5bb43df360abb43ca2a155a00000000000000000000000090cbc76ced620bc56620f6f8b566ad2d7b6a72d20000000000000000000000002ce1f797ce5f4cac64709418ec6f3267864d97f300000000000000000000000075736178c0625d9d6646db0947e119f01279e8a100000000000000000000000099cb290c46c867e1555e312119b89f9e464a7fac000000000000000000000000e1f7ee77cb2a32961c3b953d4c7057ad22012132000000000000000000000000b0df35ba079ac48189a5e430bdff4dc302a38bfb00000000000000000000000068a7f574324e542ffbe18067f310991e8725de3e000000000000000000000000f9d27d4d6d397d800eb8b03066d0edf3cf8cbbb5000000000000000000000000139fbb4c024ec2023704c9bb7a755cc5d2c7440f000000000000000000000000896b7dd9b5be5f87ba526b37cd363343f9c8bc54000000000000000000000000acd7f327227f13bb90acfd99866b5af52059238a000000000000000000000000990102be05ad14d7bef9a616db9e529644f290fc0000000000000000000000008ebeadd9a70f44fecf90c567ddf4dc826a0e43e4000000000000000000000000df9eb5698d2927db0c221e57c67c6d65a33eda170000000000000000000000003f96d0314f1c865df2284116c243da6338f3349b0000000000000000000000009bd98be7ea3d711481b6001f71fda72e5be4727d0000000000000000000000004ed7c673158cf5872629336fd49107057706ba73000000000000000000000000af0083342f6df4a78e7b7c77916f19d51b66862a0000000000000000000000006af02db0c90db8f853cd649a34a894e65f5705b3000000000000000000000000b0f01287c8e84b43f9f9e3176e4505536e95eace0000000000000000000000006f3c412aae3f94c1dad1d73f039c2ec09082bf9b0000000000000000000000009bf1798ac65980bd889fb32cb535be6efb91ea96000000000000000000000000bb85b109f2e2b78ab0749d8c521d51646e8bd086000000000000000000000000f80bd83c6490af4c88e7b6473bceed3cf47a47cd000000000000000000000000fa3b7255758e863a6f0d4331225461d53d5d4dbf00000000000000000000000010ad9a3e4bcb34858f5cdb28d0ed7740c3a657f60000000000000000000000000113de6506ef86717b0d960b4c053db2cb36cc8c0000000000000000000000002ab66c157814dae9d9bc0ad53c7aa396ac0f63c70000000000000000000000002b9d74ffa4c9673e05b73e56a13b62698af57f1600000000000000000000000077963f69ff71798677f17b3c1d0eff4dffb202be000000000000000000000000c08f66b5ad46040047a255a69e8ad0d160fba1080000000000000000000000004cd5407fb9dc3627a12b0238fddd6751b8c74ad2000000000000000000000000ca0f1272e917d5d4aa41af0af3ab0c18ae0d2662000000000000000000000000000000000000000000000000000000000000003900000000000000000000000097511657558e83b984ae32db30a27769dd155f20000000000000000000000000eb59ff9ff1384ec05f3dfbee403d6640635d19bb0000000000000000000000005093702683ede45b52e1d5388306b77b1d27dfd00000000000000000000000005093702683ede45b52e1d5388306b77b1d27dfd0000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc396000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc396000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc396000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc396000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc396000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc396000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc396000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc39600000000000000000000000009285f179a9ba06ceba12decd1755ac6942a8cf400000000000000000000000009285f179a9ba06ceba12decd1755ac6942a8cf400000000000000000000000075736178c0625d9d6646db0947e119f01279e8a100000000000000000000000099cb290c46c867e1555e312119b89f9e464a7fac000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc396000000000000000000000000a4742402d6e314a069ceb1c3c2c4efb2982d7d33000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc396000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc396000000000000000000000000a2f50a7ed89666a805c4d96b35eae43cb54bc39600000000000000000000000009285f179a9ba06ceba12decd1755ac6942a8cf400000000000000000000000009285f179a9ba06ceba12decd1755ac6942a8cf400000000000000000000000009285f179a9ba06ceba12decd1755ac6942a8cf4000000000000000000000000bb6ade9f54743e1e5f5a05373d6cf26513d3f424000000000000000000000000bb6ade9f54743e1e5f5a05373d6cf26513d3f424000000000000000000000000bb6ade9f54743e1e5f5a05373d6cf26513d3f424000000000000000000000000bb6ade9f54743e1e5f5a05373d6cf26513d3f424000000000000000000000000245c79838294922ea5dbb86778cf262cfc2e2ab0000000000000000000000000245c79838294922ea5dbb86778cf262cfc2e2ab0000000000000000000000000245c79838294922ea5dbb86778cf262cfc2e2ab0000000000000000000000000245c79838294922ea5dbb86778cf262cfc2e2ab0000000000000000000000000f9e7aafc114990b42b5d9a5fb002465c9ea41c8c000000000000000000000000f9e7aafc114990b42b5d9a5fb002465c9ea41c8c000000000000000000000000f9e7aafc114990b42b5d9a5fb002465c9ea41c8c000000000000000000000000f9e7aafc114990b42b5d9a5fb002465c9ea41c8c000000000000000000000000f9e7aafc114990b42b5d9a5fb002465c9ea41c8c000000000000000000000000de42f8fa9b9f856a8d0c3e92e25905bd8bc44545000000000000000000000000de42f8fa9b9f856a8d0c3e92e25905bd8bc44545000000000000000000000000de42f8fa9b9f856a8d0c3e92e25905bd8bc44545000000000000000000000000de42f8fa9b9f856a8d0c3e92e25905bd8bc445450000000000000000000000006c170403278651190494381181fc4358bb9b7b570000000000000000000000006c170403278651190494381181fc4358bb9b7b570000000000000000000000006c170403278651190494381181fc4358bb9b7b570000000000000000000000006c170403278651190494381181fc4358bb9b7b5700000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a28c8d49957f757dc9eb3df461f0c416f97a2b000000000000000000000000006314664483fb84462b91e8fafc59942fc53e729e000000000000000000000000f0d0bd97ee80a97cb2fd2a9e070e0b93913e8c7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da712479c7a8437267d599b48bb2beb59e8e7e19000000000000000000000000f18a08f66881b419c60149eb040615aea00c089f00000000000000000000000075736178c0625d9d6646db0947e119f01279e8a100000000000000000000000099cb290c46c867e1555e312119b89f9e464a7fac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000007dd6d501ca498070f6a0a4868f9c1fb631b2e27b0000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000001bc16d674ec8000000000000000000000000000000000000000000000010f50b47f01fbb0be4000000000000000000000000000000000000000000000014839abf82f75273640000000000000000000000000000000000000000000000146a3196da3945bfc80000000000000000000000000000000000000000000000148e3140e6e7f7eea4000000000000000000000000000000000000000000000014c321c7da9b3356e400000000000000000000000000000000000000000000001450c852700dd1bd640000000000000000000000000000000000000000000000157502537d83297b48000000000000000000000000000000000000000000000014c321c7da9b3356e40000000000000000000000000000000000000000000000146e997c1b065c2920000000000000000000000000000000000000000000000014a35e43aec942e5240000000000000000000000000000000000000000000000147f5e8bc163dd0ee40000000000000000000000000000000000000000000000148e3140e6e7f7eea4000000000000000000000000000000000000000000000014ae6130a615741da4000000000000000000000000000000000000000000000014a35e43aec942e524000000000000000000000000000000000000000000000015662f9077485af42400000000000000000000000000000000000000000000001463d73b57256201a40000000000000000000000000000000000000000000000149d03f60c6c12ce6400000000000000000000000000000000000000000000001498c7c24ad89d69e40000000000000000000000000000000000000000000000144eaa388f44170b24000000000000000000000000000000000000000000000014ed7bcd6a5dc943e4000000000000000000000000000000000000000000000000b4d5ce7449070c0800000000000000000000000000000000000000000000002d9d96f3cdca3fb4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147f5e7de0ad29678000000000000000000000000000000000000000000000001472a9f07ca97ce1640000000000000000000000000000000000000000000000145940b9f334bc8664000000000000000000000000000000000000000000000014839abf82f75273640000000000000000000000000000000000000000000000147904303e4ff950c00000000000000000000000000000000000000000000000295be96e64066972000000000000000000000000000000000000000000000000295be96e640669720000000000000000000000000000000000000000000000000dc94dd416e9b45dcc0000000000000000000000000000000000000000000000295be96e64066972000000000000000000000000000000000000000000000000295be96e64066972000000000000000000000000000000000000000000000000295be96e640669720000000000000000000000000000000000000000000000001e312cf6fc37e174800000000000000000000000000000000000000000000000295be96e640669720000000000000000000000000000000000000000000000001f04ef12cb04cf15800000000000000000000000000000000000000000000000295be96e640669720000000000000000000000000000000000000000000000001e312cf6fc37e1748000000000000000000000000000000000000000000000002888275295397bd10000000000000000000000000000000000000000000000002888275295397bd10000000000000000000000000000000000000000000000002888275295397bd100000000000000000000000000000000000000000000000014adf4b7320334b900000000000000000000000000000000000000000000000001bca47d1dc43b8fb400000000000000000000000000000000000000000000002888275295397bd1000000000000000000000000000000000000000000000000295be96e64066972000000000000000000000000000000000000000000000000295be96e640669720000000000000000000000000000000000000000000000001e312cf6fc37e1748000000000000000000000000000000000000000000000001e312cf6fc37e1748000000000000000000000000000000000000000000000001e312cf6fc37e174800000000000000000000000000000000000000000000000295be96e64066972000000000000000000000000000000000000000000000000295be96e64066972000000" - ); - assertTrue(success, "sendDelegators failed"); - } -} diff --git a/contracts/test/fork/ForkProxyBatchDelegation.t.sol b/contracts/test/fork/ForkProxyBatchDelegation.t.sol index 9b26bbfe34..7378801223 100644 --- a/contracts/test/fork/ForkProxyBatchDelegation.t.sol +++ b/contracts/test/fork/ForkProxyBatchDelegation.t.sol @@ -3,10 +3,10 @@ pragma solidity ^0.8.19; // utils import {Vm} from "forge-std/Vm.sol"; -import {console} from "forge-std/console.sol"; import {TestUtils} from "contracts/test/utils/TestUtils.sol"; //interfaces +import {IERC173} from "@river-build/diamond/src/facets/ownable/IERC173.sol"; import {IMainnetDelegation} from "contracts/src/tokens/river/base/delegation/IMainnetDelegation.sol"; import {IRewardsDistribution} from "contracts/src/base/registry/facets/distribution/v2/IRewardsDistribution.sol"; @@ -33,7 +33,7 @@ contract ForkProxyBatchDelegationTest is TestUtils { ProxyBatchDelegation internal proxyBatchDelegation; function setUp() external onlyForked { - vm.createSelectFork("mainnet", 21438000); + vm.createSelectFork("mainnet", 21596238); proxyBatchDelegation = new ProxyBatchDelegation( RIVER, @@ -43,45 +43,51 @@ contract ForkProxyBatchDelegationTest is TestUtils { ); } - // function test_sendDelegators() external onlyForked { - // uint32 minGasLimit = 15_000_000; - // vm.recordLogs(); - // vm.prank(_randomAddress()); - // proxyBatchDelegation.sendDelegators(minGasLimit, true); - // - // Vm.Log[] memory logs = vm.getRecordedLogs(); - // bytes memory message; - // for (uint256 i; i < logs.length; ++i) { - // if ( - // logs[i].topics.length > 0 && logs[i].topics[0] == SENT_MESSAGE_TOPIC - // ) { - // (, message, , ) = abi.decode( - // logs[i].data, - // (address, bytes, uint256, uint256) - // ); - // break; - // } - // } - // assertGt(message.length, 0, "message not found"); - // - // // switch to the base fork - // vm.createSelectFork("base", 23925711); - // - // address getMessenger = IMainnetDelegation(BASE_REGISTRY).getMessenger(); - // vm.etch(getMessenger, type(MockMessenger).runtimeCode); - // MockMessenger(getMessenger).setXDomainMessageSender( - // IMainnetDelegation(BASE_REGISTRY).getProxyDelegation() - // ); - // - // vm.prank(address(getMessenger)); - // (bool success, ) = BASE_REGISTRY.call{gas: minGasLimit}(message); - // assertTrue(success, "sendDelegators failed"); - // assertGt( - // IRewardsDistribution(BASE_REGISTRY) - // .getDepositsByDepositor(BASE_REGISTRY) - // .length, - // 0, - // "mainnet delegation failed" - // ); - // } + function test_relayDelegationDigest() external onlyForked { + uint32 minGasLimit = 50_000; + vm.recordLogs(); + vm.prank(_randomAddress()); + proxyBatchDelegation.relayDelegationDigest(minGasLimit); + + bytes memory encodedMsgs = proxyBatchDelegation.getEncodedMsgs(); + + Vm.Log[] memory logs = vm.getRecordedLogs(); + bytes memory message; + for (uint256 i; i < logs.length; ++i) { + if ( + logs[i].topics.length > 0 && logs[i].topics[0] == SENT_MESSAGE_TOPIC + ) { + (, message, , ) = abi.decode( + logs[i].data, + (address, bytes, uint256, uint256) + ); + break; + } + } + assertGt(message.length, 0, "message not found"); + + // switch to the base fork + vm.createSelectFork("base", 24877033); + + address getMessenger = IMainnetDelegation(BASE_REGISTRY).getMessenger(); + vm.etch(getMessenger, type(MockMessenger).runtimeCode); + MockMessenger(getMessenger).setXDomainMessageSender( + IMainnetDelegation(BASE_REGISTRY).getProxyDelegation() + ); + + vm.prank(address(getMessenger)); + (bool success, ) = BASE_REGISTRY.call{gas: minGasLimit}(message); + assertTrue(success, "setDelegationDigest failed"); + + vm.prank(IERC173(BASE_REGISTRY).owner()); + IMainnetDelegation(BASE_REGISTRY).relayDelegations(encodedMsgs); + + assertGt( + IRewardsDistribution(BASE_REGISTRY) + .getDepositsByDepositor(BASE_REGISTRY) + .length, + 0, + "mainnet delegation failed" + ); + } } diff --git a/contracts/test/river/registry/RiverRegistryBaseSetup.t.sol b/contracts/test/river/registry/RiverRegistryBaseSetup.t.sol index b9b2f70de2..9382e94973 100644 --- a/contracts/test/river/registry/RiverRegistryBaseSetup.t.sol +++ b/contracts/test/river/registry/RiverRegistryBaseSetup.t.sol @@ -28,6 +28,17 @@ contract RiverRegistryBaseSetup is TestUtils { IOperatorRegistry internal operatorRegistry; IRiverConfig internal riverConfig; + struct TestNode { + address node; + string url; + } + + struct TestStream { + bytes32 streamId; + bytes32 genesisMiniblockHash; + bytes genesisMiniblock; + } + function setUp() public virtual { deployer = getDeployer(); diamond = deployRiverRegistry.deploy(deployer); @@ -43,7 +54,7 @@ contract RiverRegistryBaseSetup is TestUtils { vm.assume(operatorRegistry.isOperator(nodeOperator) == false); vm.prank(deployer); - vm.expectEmit(); + vm.expectEmit(address(operatorRegistry)); emit IOperatorRegistry.OperatorAdded(nodeOperator); operatorRegistry.approveOperator(nodeOperator); _; @@ -68,4 +79,38 @@ contract RiverRegistryBaseSetup is TestUtils { nodeRegistry.registerNode(node, url, NodeStatus.NotInitialized); _; } + + modifier givenNodesAreRegistered( + address nodeOperator, + TestNode[] memory nodes + ) { + vm.assume(nodes.length > 0 && nodes.length <= 100); + + uint256 nodesLength = nodes.length; + for (uint256 i; i < nodesLength; ++i) { + vm.assume(nodeRegistry.isNode(nodes[i].node) == false); + _registerNode(nodeOperator, nodes[i].node, nodes[i].url); + } + + _; + } + + function _registerNode( + address nodeOperator, + address node, + string memory url + ) internal { + vm.assume(node != address(0)); + vm.assume(nodeOperator != address(0)); + + vm.prank(nodeOperator); + vm.expectEmit(address(nodeRegistry)); + emit INodeRegistryBase.NodeAdded( + node, + nodeOperator, + url, + NodeStatus.NotInitialized + ); + nodeRegistry.registerNode(node, url, NodeStatus.NotInitialized); + } } diff --git a/contracts/test/river/registry/stream/StreamRegistry.t.sol b/contracts/test/river/registry/stream/StreamRegistry.t.sol index 39a1e2d2d5..ef9cf4eefc 100644 --- a/contracts/test/river/registry/stream/StreamRegistry.t.sol +++ b/contracts/test/river/registry/stream/StreamRegistry.t.sol @@ -6,273 +6,159 @@ import {IOwnableBase} from "@river-build/diamond/src/facets/ownable/IERC173.sol" // libraries import {Stream, StreamWithId, SetMiniblock} from "contracts/src/river/registry/libraries/RegistryStorage.sol"; import {RiverRegistryErrors} from "contracts/src/river/registry/libraries/RegistryErrors.sol"; - +import {IStreamRegistryBase} from "contracts/src/river/registry/facets/stream/IStreamRegistry.sol"; // contracts // deployments import {RiverRegistryBaseSetup} from "contracts/test/river/registry/RiverRegistryBaseSetup.t.sol"; -contract StreamRegistryTest is RiverRegistryBaseSetup, IOwnableBase { - string url1 = "https://node1.com"; - string url2 = "https://node2.com"; - address node1 = _randomAddress(); - address node2 = _randomAddress(); - - // ============================================================= - // allocateStream - // ============================================================= - - function test_streamCount( - address nodeOperator +contract StreamRegistryTest is + RiverRegistryBaseSetup, + IOwnableBase, + IStreamRegistryBase +{ + /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ + /* allocateStream */ + /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ + function test_fuzz_allocateStream( + address nodeOperator, + TestNode[] memory nodes, + TestStream memory testStream ) external givenNodeOperatorIsApproved(nodeOperator) - givenNodeIsRegistered(nodeOperator, node1, url1) - givenNodeIsRegistered(nodeOperator, node2, url2) + givenNodesAreRegistered(nodeOperator, nodes) { - address[] memory nodes = new address[](1); - nodes[0] = node1; - bytes memory genesisMiniblock = abi.encodePacked("genesisMiniblock"); - bytes32 streamIdOne = 0x0000000000000000000000000000000000000000000000000000000000000001; - bytes32 streamIdTwo = 0x0000000000000000000000000000000000000000000000000000000000000002; - bytes32 genesisMiniblockHash = 0; + vm.assume(nodes.length > 0 && nodes.length <= 100); - assertEq(streamRegistry.getStreamCount(), 0); + address[] memory nodeAddresses = new address[](nodes.length); + uint256 nodesLength = nodes.length; + for (uint256 i; i < nodesLength; ++i) { + nodeAddresses[i] = nodes[i].node; + } - vm.prank(node1); + vm.prank(nodes[0].node); + vm.expectEmit(address(streamRegistry)); + emit StreamAllocated( + testStream.streamId, + nodeAddresses, + testStream.genesisMiniblockHash, + testStream.genesisMiniblock + ); streamRegistry.allocateStream( - streamIdOne, - nodes, - genesisMiniblockHash, - genesisMiniblock + testStream.streamId, + nodeAddresses, + testStream.genesisMiniblockHash, + testStream.genesisMiniblock ); assertEq(streamRegistry.getStreamCount(), 1); + assertEq(streamRegistry.getStreamCountOnNode(nodes[0].node), 1); + assertTrue(streamRegistry.isStream(testStream.streamId)); - nodes[0] = node2; - - vm.prank(node2); - streamRegistry.allocateStream( - streamIdTwo, - nodes, - genesisMiniblockHash, - genesisMiniblock - ); - - assertEq(streamRegistry.getStreamCount(), 2); + Stream memory stream = streamRegistry.getStream(testStream.streamId); + assertEq(stream.lastMiniblockHash, testStream.genesisMiniblockHash); + assertEq(stream.nodes.length, nodesLength); + assertContains(stream.nodes, nodes[0].node); } - function test_getStreams( - address nodeOperator + function test_revertWhen_allocateStream_streamIdAlreadyExists( + address nodeOperator, + TestNode memory node, + TestStream memory testStream ) external givenNodeOperatorIsApproved(nodeOperator) - givenNodeIsRegistered(nodeOperator, node1, url1) - givenNodeIsRegistered(nodeOperator, node2, url2) + givenNodeIsRegistered(nodeOperator, node.node, node.url) { address[] memory nodes = new address[](1); - nodes[0] = node1; - bytes memory genesisMiniblock = abi.encodePacked("genesisMiniblock"); - bytes32 streamIdOne = 0x0000000000000000000000000000000000000000000000000000000000000001; - bytes32 genesisMiniblockHash = 0; - - assertEq(streamRegistry.getStreamCount(), 0); + nodes[0] = node.node; - vm.prank(node1); + vm.prank(node.node); streamRegistry.allocateStream( - streamIdOne, + testStream.streamId, nodes, - genesisMiniblockHash, - genesisMiniblock + testStream.genesisMiniblockHash, + testStream.genesisMiniblock ); - assertEq(streamRegistry.getStreamCount(), 1); - - nodes[0] = node2; - bytes32 streamIdTwo = 0x0000000000000000000000000000000000000000000000000000000000000002; - - vm.prank(node2); + vm.prank(node.node); + vm.expectRevert(bytes(RiverRegistryErrors.ALREADY_EXISTS)); streamRegistry.allocateStream( - streamIdTwo, + testStream.streamId, nodes, - genesisMiniblockHash, - genesisMiniblock + testStream.genesisMiniblockHash, + testStream.genesisMiniblock ); - - bytes32 streamIdThree = 0x0000000000000000000000000000000000000000000000000000000000000003; - - bytes32[] memory dynamicStreamIds = new bytes32[]( - [streamIdOne, streamIdTwo, streamIdThree].length - ); - for ( - uint256 i = 0; - i < [streamIdOne, streamIdTwo, streamIdThree].length; - i++ - ) { - dynamicStreamIds[i] = [streamIdOne, streamIdTwo, streamIdThree][i]; - } - assertEq(streamRegistry.getStreamCount(), 2); } - function allocateStream( - address node, - bytes32 streamId, - uint256 expectedCount - ) private { + /// @notice This test is to ensure that the node who is calling the allocateStream function is registered. + function test_revertWhen_allocateStream_nodeNotRegistered( + address nodeOperator, + TestNode memory node, + TestStream memory testStream + ) external givenNodeOperatorIsApproved(nodeOperator) { address[] memory nodes = new address[](1); - nodes[0] = node; - bytes memory genesisMiniblock = abi.encodePacked("genesisMiniblock"); - bytes32 genesisMiniblockHash = 0; - vm.prank(node); + nodes[0] = node.node; + + vm.prank(node.node); + vm.expectRevert(bytes(RiverRegistryErrors.NODE_NOT_FOUND)); streamRegistry.allocateStream( - streamId, + testStream.streamId, nodes, - genesisMiniblockHash, - genesisMiniblock + testStream.genesisMiniblockHash, + testStream.genesisMiniblock ); - assertEq(streamRegistry.getStreamCount(), expectedCount); - } - - function assertStreamsEqual( - StreamWithId[] memory result, - bytes32[] memory expectedIds - ) private pure { - assertEq(result.length, expectedIds.length); - for (uint256 i = 0; i < result.length; i++) { - assertEq(result[i].id, expectedIds[i]); - } - } - - function test_getPaginatedStreams( - address nodeOperator - ) - external - givenNodeOperatorIsApproved(nodeOperator) - givenNodeIsRegistered(nodeOperator, node1, url1) - givenNodeIsRegistered(nodeOperator, node2, url2) - { - assertEq(streamRegistry.getStreamCount(), 0); - - // Allocate 4 streams. - allocateStream( - node1, - 0x0000000000000000000000000000000000000000000000000000000000000001, - 1 - ); - - allocateStream( - node2, - 0x0000000000000000000000000000000000000000000000000000000000000002, - 2 - ); - - allocateStream( - node1, - 0x0000000000000000000000000000000000000000000000000000000000000003, - 3 - ); - - allocateStream( - node2, - 0x0000000000000000000000000000000000000000000000000000000000000004, - 4 - ); - - StreamWithId[] memory streams; - bool lastPage; - - // Fetch a single stream. - (streams, lastPage) = streamRegistry.getPaginatedStreams(0, 1); - bytes32[] memory expectedIds = new bytes32[](1); - expectedIds[ - 0 - ] = 0x0000000000000000000000000000000000000000000000000000000000000001; - assertStreamsEqual(streams, expectedIds); - assertEq(lastPage, false); - - // Fetch the rest of thte streams. - (streams, lastPage) = streamRegistry.getPaginatedStreams(1, 4); - expectedIds = new bytes32[](3); - expectedIds[ - 0 - ] = 0x0000000000000000000000000000000000000000000000000000000000000002; - expectedIds[ - 1 - ] = 0x0000000000000000000000000000000000000000000000000000000000000003; - expectedIds[ - 2 - ] = 0x0000000000000000000000000000000000000000000000000000000000000004; - assertStreamsEqual(streams, expectedIds); - assertEq(lastPage, true); - - // Fetch past the end of the set of streams and expect an appropriately sized return value. - (streams, lastPage) = streamRegistry.getPaginatedStreams(2, 6); - expectedIds = new bytes32[](2); - expectedIds[ - 0 - ] = 0x0000000000000000000000000000000000000000000000000000000000000003; - expectedIds[ - 1 - ] = 0x0000000000000000000000000000000000000000000000000000000000000004; - assertStreamsEqual(streams, expectedIds); - assertEq(lastPage, true); - - // Invalid fetch params (start >= stop) should revert. - vm.expectRevert(bytes(RiverRegistryErrors.BAD_ARG)); - streamRegistry.getPaginatedStreams(1, 1); } - function test_streamCountOnNode( + /// @notice This test is to ensure that the nodes being passed in are registered before allocating a stream. + function test_revertWhen_allocateStream_nodesNotRegistered( address nodeOperator, - address node + address randomNode, + TestNode memory node, + TestStream memory testStream ) external givenNodeOperatorIsApproved(nodeOperator) - givenNodeIsRegistered(nodeOperator, node, url1) + givenNodeIsRegistered(nodeOperator, node.node, node.url) { - address[] memory nodes = new address[](1); - nodes[0] = node; - bytes memory genesisMiniblock = abi.encodePacked("genesisMiniblock"); - bytes32 streamIdOne = 0x0000000000000000000000000000000000000000000000000000000000000001; - bytes32 streamIdTwo = 0x0000000000000000000000000000000000000000000000000000000000000002; - bytes32 genesisMiniblockHash = 0; - - vm.prank(node); - streamRegistry.allocateStream( - streamIdOne, - nodes, - genesisMiniblockHash, - genesisMiniblock - ); + address[] memory nodes = new address[](2); + nodes[0] = node.node; + nodes[1] = randomNode; - vm.prank(node); + vm.prank(node.node); + vm.expectRevert(bytes(RiverRegistryErrors.NODE_NOT_FOUND)); streamRegistry.allocateStream( - streamIdTwo, + testStream.streamId, nodes, - genesisMiniblockHash, - genesisMiniblock + testStream.genesisMiniblockHash, + testStream.genesisMiniblock ); } + /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ + /* setStreamLastMiniblockBatch */ + /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ function test_setStreamLastMiniblockBatch( address nodeOperator, bytes32 genesisMiniblockHash, bytes memory genesisMiniblock, - SetMiniblock[] memory miniblocks + SetMiniblock[] memory miniblocks, + TestNode memory node ) external givenNodeOperatorIsApproved(nodeOperator) - givenNodeIsRegistered(nodeOperator, node1, url1) + givenNodeIsRegistered(nodeOperator, node.node, node.url) { vm.assume(miniblocks.length < 500); vm.assume(miniblocks.length > 0); address[] memory nodes = new address[](1); - nodes[0] = node1; + nodes[0] = node.node; for (uint256 i = 0; i < miniblocks.length; i++) { vm.assume(streamRegistry.isStream(miniblocks[i].streamId) == false); - vm.prank(node1); + vm.prank(node.node); streamRegistry.allocateStream( miniblocks[i].streamId, nodes, @@ -281,7 +167,97 @@ contract StreamRegistryTest is RiverRegistryBaseSetup, IOwnableBase { ); } - vm.prank(node1); + vm.prank(node.node); + streamRegistry.setStreamLastMiniblockBatch(miniblocks); + + for (uint256 i = 0; i < miniblocks.length; i++) { + assertEq( + streamRegistry.getStream(miniblocks[i].streamId).lastMiniblockHash, + miniblocks[i].lastMiniblockHash + ); + } + + (StreamWithId[] memory streams, bool isLastPage) = streamRegistry + .getPaginatedStreams(0, miniblocks.length); + assertEq(streams.length, miniblocks.length); + assertTrue(isLastPage); + } + + function test_revertWhen_setStreamLastMiniblockBatch_noMiniblocks( + address nodeOperator, + TestNode memory node + ) + external + givenNodeOperatorIsApproved(nodeOperator) + givenNodeIsRegistered(nodeOperator, node.node, node.url) + { + SetMiniblock[] memory miniblocks = new SetMiniblock[](0); + + vm.prank(node.node); + vm.expectRevert(bytes(RiverRegistryErrors.BAD_ARG)); + streamRegistry.setStreamLastMiniblockBatch(miniblocks); + } + + function test_revertWhen_setStreamLastMiniblockBatch_streamNotFound( + address nodeOperator, + SetMiniblock memory miniblock, + TestNode memory node + ) + external + givenNodeOperatorIsApproved(nodeOperator) + givenNodeIsRegistered(nodeOperator, node.node, node.url) + { + SetMiniblock[] memory miniblocks = new SetMiniblock[](1); + miniblocks[0] = miniblock; + + vm.prank(node.node); + vm.expectEmit(address(streamRegistry)); + emit StreamLastMiniblockUpdateFailed( + miniblock.streamId, + miniblock.lastMiniblockHash, + miniblock.lastMiniblockNum, + RiverRegistryErrors.NOT_FOUND + ); + streamRegistry.setStreamLastMiniblockBatch(miniblocks); + } + + function test_revertWhen_setStreamLastMiniblockBatch_streamSealed( + address nodeOperator, + TestNode memory node, + TestStream memory testStream, + SetMiniblock memory miniblock + ) + external + givenNodeOperatorIsApproved(nodeOperator) + givenNodeIsRegistered(nodeOperator, node.node, node.url) + { + address[] memory nodes = new address[](1); + nodes[0] = node.node; + + vm.prank(node.node); + streamRegistry.allocateStream( + testStream.streamId, + nodes, + testStream.genesisMiniblockHash, + testStream.genesisMiniblock + ); + + SetMiniblock[] memory miniblocks = new SetMiniblock[](1); + miniblock.isSealed = true; + miniblock.streamId = testStream.streamId; + miniblocks[0] = miniblock; + + vm.prank(node.node); + streamRegistry.setStreamLastMiniblockBatch(miniblocks); + + vm.prank(node.node); + vm.expectEmit(address(streamRegistry)); + emit StreamLastMiniblockUpdateFailed( + miniblock.streamId, + miniblock.lastMiniblockHash, + miniblock.lastMiniblockNum, + RiverRegistryErrors.STREAM_SEALED + ); streamRegistry.setStreamLastMiniblockBatch(miniblocks); } } diff --git a/core/Dockerfile b/core/Dockerfile index 5cd6089807..7603279676 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -22,7 +22,7 @@ RUN cp -f ../../target/release/libmls* /build # Build river_node WORKDIR /build -RUN CGO_LDFLAGS="./libmls_lib.a -ldl" \ +RUN CGO_LDFLAGS="-L/build" \ go build \ -trimpath \ -o /bin/river_node \ diff --git a/core/README.md b/core/README.md index 6123b0cc43..8ebb2952ec 100644 --- a/core/README.md +++ b/core/README.md @@ -5,7 +5,7 @@ Local [CA](#setting-up-local-ca-for-tls) needs to be provisioned. To list all available commands: - just RUN_ENV=multi + just There are two local environments available: @@ -34,12 +34,18 @@ Just start with existing config and binary: just RUN_ENV=multi start -There are `run` version of commands that wait for Ctrl-C and stop nodes on exit: +Restart after rebuilding with current changes: - just RUN_ENV=multi config-and-run - just RUN_ENV=multi config-run-tail - just RUN_ENV=multi run - just RUN_ENV=multi run-and-tail + just RUN_ENV=multi restart + +# Building and running go tests + +MLS lib needs to be built for some tests to run, there are just commands that build and configure lib and then run go tests: + + just test ./... # Run go test + just test-all # Run all go tests from module root + just t # Run all tests from current dir + just build-mls # Rebuild mls without running tests # Installing just diff --git a/core/cmd/registry_cmd.go b/core/cmd/registry_cmd.go index 4a35c9315f..8f0d6e9daa 100644 --- a/core/cmd/registry_cmd.go +++ b/core/cmd/registry_cmd.go @@ -130,10 +130,10 @@ func validateStream( fmt.Printf(" Miniblocks: %d\n", len(stream.Miniblocks)) var lastBlock *MiniblockRef for _, mb := range stream.Miniblocks { - info, err := events.NewMiniblockInfoFromProto(mb, events.NewMiniblockInfoFromProtoOpts{ - ExpectedBlockNumber: -1, - DontParseEvents: true, - }) + info, err := events.NewMiniblockInfoFromProto( + mb, + events.NewParsedMiniblockInfoOpts().WithDoNotParseEvents(true), + ) if err != nil { return err } diff --git a/core/cmd/stream_cmd.go b/core/cmd/stream_cmd.go index 1188561295..a86bc4bc76 100644 --- a/core/cmd/stream_cmd.go +++ b/core/cmd/stream_cmd.go @@ -100,9 +100,8 @@ func runStreamGetEventCmd(cmd *cobra.Command, args []string) error { // Parse header info, err := events.NewMiniblockInfoFromProto( miniblock, - events.NewMiniblockInfoFromProtoOpts{ - ExpectedBlockNumber: from + int64(n), - }, + events.NewParsedMiniblockInfoOpts(). + WithExpectedBlockNumber(from+int64(n)), ) if err != nil { return err @@ -203,9 +202,7 @@ func runStreamGetMiniblockCmd(cmd *cobra.Command, args []string) error { // Parse header info, err := events.NewMiniblockInfoFromProto( miniblock, - events.NewMiniblockInfoFromProtoOpts{ - ExpectedBlockNumber: from + int64(n), - }, + events.NewParsedMiniblockInfoOpts().WithExpectedBlockNumber(from+int64(n)), ) if err != nil { return err diff --git a/core/config/config.go b/core/config/config.go index 651f72b94b..3bce49432b 100644 --- a/core/config/config.go +++ b/core/config/config.go @@ -79,6 +79,7 @@ func GetDefaultConfig() *Config { SingleCallTimeout: 30 * time.Second, // geth internal timeout is 30 seconds ProgressReportInterval: 10 * time.Second, }, + EnableMls: false, } } @@ -149,6 +150,9 @@ type Config struct { // Disable base chain contract usage. DisableBaseChain bool + + // Enable MemberPayload_Mls. + EnableMls bool // Chains provides a map of chain IDs to their provider URLs as // a comma-serparated list of chainID:URL pairs. diff --git a/core/contracts/river/deploy/mock_river_registry.go b/core/contracts/river/deploy/mock_river_registry.go index 8c9e983fb5..c2a1f2db91 100644 --- a/core/contracts/river/deploy/mock_river_registry.go +++ b/core/contracts/river/deploy/mock_river_registry.go @@ -70,8 +70,8 @@ type StreamWithId struct { // MockRiverRegistryMetaData contains all meta data concerning the MockRiverRegistry contract. var MockRiverRegistryMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"approvedOperators\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"__OperatorRegistry_init\",\"inputs\":[{\"name\":\"initialOperators\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"__RiverConfig_init\",\"inputs\":[{\"name\":\"configManagers\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"allocateStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"genesisMiniblock\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"approveConfigurationManager\",\"inputs\":[{\"name\":\"manager\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"approveOperator\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"configurationExists\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"deleteConfiguration\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"deleteConfigurationOnBlock\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockNumber\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getAllConfiguration\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structSetting[]\",\"components\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockNumber\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getAllNodeAddresses\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getAllNodes\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structNode[]\",\"components\":[{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getAllOperators\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getConfiguration\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structSetting[]\",\"components\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockNumber\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structNode\",\"components\":[{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNodeCount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getPaginatedStreams\",\"inputs\":[{\"name\":\"start\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"stop\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structStreamWithId[]\",\"components\":[{\"name\":\"id\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"stream\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]}]},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamCount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamCountOnNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamWithGenesis\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]},{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isConfigurationManager\",\"inputs\":[{\"name\":\"manager\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isOperator\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"placeStreamOnNode\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"registerNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeConfigurationManager\",\"inputs\":[{\"name\":\"manager\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeOperator\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeStreamFromNode\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setConfiguration\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockNumber\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setStreamLastMiniblockBatch\",\"inputs\":[{\"name\":\"miniblocks\",\"type\":\"tuple[]\",\"internalType\":\"structSetMiniblock[]\",\"components\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"prevMiniBlockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"isSealed\",\"type\":\"bool\",\"internalType\":\"bool\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateNodeStatus\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateNodeUrl\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"ConfigurationChanged\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"block\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"value\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"deleted\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ConfigurationManagerAdded\",\"inputs\":[{\"name\":\"manager\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ConfigurationManagerRemoved\",\"inputs\":[{\"name\":\"manager\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"InterfaceAdded\",\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\",\"indexed\":true,\"internalType\":\"bytes4\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"InterfaceRemoved\",\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\",\"indexed\":true,\"internalType\":\"bytes4\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeAdded\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"status\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumNodeStatus\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeRemoved\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeStatusUpdated\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumNodeStatus\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeUrlUpdated\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OperatorAdded\",\"inputs\":[{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OperatorRemoved\",\"inputs\":[{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamAllocated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"indexed\":false,\"internalType\":\"address[]\"},{\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"genesisMiniblock\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamLastMiniblockUpdateFailed\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"reason\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamLastMiniblockUpdated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"isSealed\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamPlacementUpdated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"isAdded\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"Initializable_InInitializingState\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Initializable_NotInInitializingState\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Introspection_AlreadySupported\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Introspection_NotSupported\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Ownable__NotOwner\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"Ownable__ZeroAddress\",\"inputs\":[]}]", - Bin: "0x60806040523480156200001157600080fd5b50604051620047b2380380620047b28339810160408190526200003491620004a6565b6200003e620000c1565b620000493362000169565b60005b8151811015620000b957620000838282815181106200006f576200006f62000578565b60200260200101516200023760201b60201c565b620000b08282815181106200009c576200009c62000578565b60200260200101516200031c60201b60201c565b6001016200004c565b5050620005df565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200010e576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156200016657805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b60006200019d7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b90506001600160a01b038216620001c757604051634e3ef82560e01b815260040160405180910390fd5b817f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae30080546001600160a01b0319166001600160a01b03928316179055604051838216918316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116620002865760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b60405180910390fd5b62000293600882620003e9565b15620002d757604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b620002e460088262000410565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b038116620003625760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6200036f600d8262000410565b620003b257604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b600062000407836001600160a01b03841660008181526001830160205260408120546200046a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200040a565b5060006200040a565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620004a157600080fd5b919050565b60006020808385031215620004ba57600080fd5b82516001600160401b0380821115620004d257600080fd5b818501915085601f830112620004e757600080fd5b815181811115620004fc57620004fc62000473565b8060051b604051601f19603f8301168101818110858211171562000524576200052462000473565b6040529182528482019250838101850191888311156200054357600080fd5b938501935b828510156200056c576200055c8562000489565b8452938501939285019262000548565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020808352835180602085015260005b81811015620005be57858101830151858201604001528201620005a0565b506000604082860101526040601f19601f8301168501019250505092915050565b6141c380620005ef6000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063a1174e7d1161011a578063c8fe3a01116100ad578063d911c6321161007c578063d911c63214610464578063ee885b121461046c578063eecc66f41461047f578063fc207c0114610492578063ff3a14ab146104a557600080fd5b8063c8fe3a0114610408578063ca78c41a1461041d578063d0c27c4f1461043e578063d4bd44a01461045157600080fd5b8063ba428b1a116100e9578063ba428b1a146103c7578063c0f22084146103da578063c179b85f146103e2578063c87d1324146103f557600080fd5b8063a1174e7d14610379578063ac8a584a1461038e578063b2b99ec9146103a1578063b7f227ee146103b457600080fd5b80636b883c39116101925780639283ae3a116101615780639283ae3a146103205780639d209048146103335780639ee86d3814610353578063a09449a61461036657600080fd5b80636b883c39146102c45780636d70f7ae146102d75780637e4465e7146102fa578063813049ec1461030d57600080fd5b806331374511116101ce578063313745111461026657806339bf397e146102795780633c2544d11461028f578063581f8b9b146102b157600080fd5b8063035759e114610200578063081814db146102155780631290abe814610233578063242cae9f14610253575b600080fd5b61021361020e366004613442565b6104b8565b005b61021d61062c565b60405161022a91906134ab565b60405180910390f35b610246610241366004613442565b610897565b60405161022a91906135c6565b6102136102613660046135f5565b6109b9565b610213610274366004613610565b610a00565b610281610a91565b60405190815260200161022a565b6102a261029d366004613442565b610aa2565b60405161022a93929190613684565b6102136102bf3660046136c8565b610c73565b6102136102d23660046137b0565b610e13565b6102ea6102e53660046135f5565b61107a565b604051901515815260200161022a565b610213610308366004613893565b61108d565b61021361031b3660046135f5565b611285565b61021d61032e366004613442565b611380565b6103466103413660046135f5565b6114e3565b60405161022a919061396c565b61021361036136600461397f565b611664565b6102136103743660046139b9565b611822565b610381611af1565b60405161022a9190613a3f565b61021361039c3660046135f5565b611cc5565b6102136103af3660046135f5565b611e28565b6102136103c2366004613aa3565b611ff1565b6102136103d5366004613610565b612240565b6102816122cc565b6102136103f03660046135f5565b6122d7565b6102816104033660046135f5565b61231b565b6104106123c9565b60405161022a9190613b0b565b61043061042b366004613b1e565b6123d5565b60405161022a929190613b40565b6102ea61044c366004613442565b6125c5565b6102ea61045f3660046135f5565b6125d1565b6104106125de565b61021361047a36600461397f565b6125ea565b61021361048d366004613bbf565b612833565b6102ea6104a0366004613442565b6129fe565b6102136104b3366004613c1c565b612a0b565b336104c4600d82612d2b565b6105075760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60405180910390fd5b81610513600a82612d50565b61054e5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000838152600c6020526040902054156105c1576000838152600c6020526040902080548061057f5761057f613c91565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906105b860028301826132ed565b5050905561054e565b6000838152600c602052604081206105d891613327565b6105e3600a84612d68565b50604080518481526001600160401b03602082015260808183018190526000908201526001606082015290516000805160206141a38339815191529181900360a00190a1505050565b606060008061063b600a612d74565b905060005b8181101561067c576000610655600a83612d7e565b6000818152600c60205260409020549091506106719085613cbd565b935050600101610640565b506000826001600160401b03811115610697576106976136fb565b6040519080825280602002602001820160405280156106e457816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816106b55790505b50905060006106f3600a612d74565b90506000805b8281101561088c57600061070e600a83612d7e565b6000818152600c6020908152604080832080548251818502810185019093528083529495509293909291849084015b8282101561082157600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161079090613cd0565b80601f01602080910402602001604051908101604052809291908181526020018280546107bc90613cd0565b80156108095780601f106107de57610100808354040283529160200191610809565b820191906000526020600020905b8154815290600101906020018083116107ec57829003601f168201915b5050505050815250508152602001906001019061073d565b50505050905060005b815181101561087e5781818151811061084557610845613d04565b602002602001015187868061085990613d1a565b97508151811061086b5761086b613d04565b602090810291909101015260010161082a565b5050508060010190506106f9565b509195945050505050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906108cb9083612d50565b6109065760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109a957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161098b575b5050505050815250509050919050565b6109c1612d8a565b6001600160a01b0316336001600160a01b0316146109f4576040516365f4906560e01b81523360048201526024016104fe565b6109fd81612db8565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610a4a57604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610a8c57610a84838383818110610a6a57610a6a613d04565b9050602002016020810190610a7f91906135f5565b612e8a565b600101610a4d565b505050565b6000610a9d6005612d74565b905090565b6040805160a081018252600080825260208201819052918101829052606080820183905260808201819052909190610ada8285612d50565b610b155760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b90910416606082015294820180548451818702810187019095528085529296959194919387936080860193919291830182828015610bcf57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610bb1575b5050505050815250509250808054610be690613cd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1290613cd0565b8015610c5f5780601f10610c3457610100808354040283529160200191610c5f565b820191906000526020600020905b815481529060010190602001808311610c4257829003601f168201915b505050505090509250925092509193909250565b6001600160a01b03808316600090815260076020526040902060020154839116610cd357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b33610cdf600882612d2b565b610d195760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0380851660009081526007602052604090206003015485913391168114610d775760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03861660009081526007602052604090208054610d9e9060ff1687612f4f565b80548690829060ff19166001836005811115610dbc57610dbc6138e0565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090610e02908990613d33565b60405180910390a250505050505050565b336000818152600760205260409020600201546001600160a01b0316610e6f57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b610e7a600086612d50565b15610ebb57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b835160005b81811015610f4057610ef8868281518110610edd57610edd613d04565b60200260200101516000600501612d2b90919063ffffffff16565b610f3857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600101610ec0565b506040805160a081018252858152600060208201819052918101829052606081018290526080810187905290610f7690886130e2565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff1990991691909416179690961795909516179093556080840151805185949361100693908501920190613348565b50505060008781526003602052604090206110218582613da6565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb90611069908990899089908990613e5f565b60405180910390a150505050505050565b6000611087600883612d2b565b92915050565b33611099600882612d2b565b6110d35760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0380841660009081526007602052604090206002015484911661113357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03808516600090815260076020526040902060030154859133911681146111915760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03861660009081526007602090815260409182902091516111bb91889101613e9b565b60405160208183030381529060405280519060200120816001016040516020016111e59190613eb7565b60405160208183030381529060405280519060200120036112355760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600181016112438782613da6565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac90610e02908990613c7e565b61128d612d8a565b6001600160a01b0316336001600160a01b0316146112c0576040516365f4906560e01b81523360048201526024016104fe565b6001600160a01b0381166113035760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b61130e600d826130ee565b6113495760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6040516001600160a01b038216907ff9889c857e5356066b564327caa757c325ecbc001b2b47d72edf8cf9aedb1be590600090a250565b60608161138e600a82612d50565b6113c95760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000838152600c6020908152604080832080548251818502810185019093528083529193909284015b828210156114d657600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161144590613cd0565b80601f016020809104026020016040519081016040528092919081815260200182805461147190613cd0565b80156114be5780601f10611493576101008083540402835291602001916114be565b820191906000526020600020905b8154815290600101906020018083116114a157829003601f168201915b505050505081525050815260200190600101906113f2565b5050505091505b50919050565b61150e6040805160808101909152806000815260606020820181905260006040830181905291015290565b611519600583612d2b565b61155957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff166005811115611594576115946138e0565b60058111156115a5576115a56138e0565b81526020016001820180546115b990613cd0565b80601f01602080910402602001604051908101604052809291908181526020018280546115e590613cd0565b80156116325780601f1061160757610100808354040283529160200191611632565b820191906000526020600020905b81548152906001019060200180831161161557829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b81611670600082612d50565b6116ab5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b336000818152600760205260409020600201546001600160a01b031661170757604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600084815260026020819052604082209081015490915b818110156117a357856001600160a01b031683600201828154811061174557611745613d04565b6000918252602090912001546001600160a01b03160361179b57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60010161171e565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060015b60405180910390a1505050505050565b3361182e600d82612d2b565b6118685760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b67fffffffffffffffe196001600160401b038516016118b65760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60008290036118f45760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6118ff600a86612d50565b6119105761190e600a866130e2565b505b6000858152600c6020526040812054905b818110156119f7576000878152600c6020526040902080546001600160401b03881691908390811061195557611955613d04565b60009182526020909120600160039092020101546001600160401b0316036119ef576000878152600c602052604090208054869186918490811061199b5761199b613d04565b906000526020600020906003020160020191826119b9929190613f2d565b506000805160206141a38339815191528787878760006040516119e0959493929190613fe6565b60405180910390a15050611aea565b600101611921565b506000600c0160008781526020019081526020016000206040518060600160405280888152602001876001600160401b0316815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160039092020190815590830151938101805467ffffffffffffffff19166001600160401b03909516949094179093555060408101519091906002820190611ac19082613da6565b5050506000805160206141a3833981519152868686866000604051611812959493929190613fe6565b5050505050565b60606000611aff6005612d74565b6001600160401b03811115611b1657611b166136fb565b604051908082528060200260200182016040528015611b7257816020015b611b5f6040805160808101909152806000815260606020820181905260006040830181905291015290565b815260200190600190039081611b345790505b50905060005b611b826005612d74565b8110156114dd5760076000611b98600584612d7e565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff166005811115611bd457611bd46138e0565b6005811115611be557611be56138e0565b8152602001600182018054611bf990613cd0565b80601f0160208091040260200160405190810160405280929190818152602001828054611c2590613cd0565b8015611c725780601f10611c4757610100808354040283529160200191611c72565b820191906000526020600020905b815481529060010190602001808311611c5557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110611cb257611cb2613d04565b6020908102919091010152600101611b78565b611ccd612d8a565b6001600160a01b0316336001600160a01b031614611d00576040516365f4906560e01b81523360048201526024016104fe565b611d0b600882612d2b565b611d4f57604080518082018252601281527113d41154905513d497d393d517d193d5539160721b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60005b611d5c6005612d74565b811015611de4576001600160a01b03821660076000611d7c600585612d7e565b6001600160a01b0390811682526020820192909252604001600020600301541603611ddc57604080518082018252600d81526c4f55545f4f465f424f554e445360981b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600101611d52565b50611df06008826130ee565b506040516001600160a01b038216907f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d90600090a250565b6001600160a01b0380821660009081526007602052604090206003015482913391168114611e865760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0383811660009081526007602052604090206002015416611ee457604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60056001600160a01b03841660009081526007602052604090205460ff166005811115611f1357611f136138e0565b14611f5c5760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b611f676005846130ee565b506001600160a01b0383166000908152600760205260408120805460ff1916815590611f9660018301826132ed565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b33611ffd600d82612d2b565b6120375760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000805b6000858152600c60205260409020548110156121b8576000858152600c6020526040902080546001600160401b03861691908390811061207d5761207d613d04565b60009182526020909120600160039092020101546001600160401b0316036121b0576000858152600c6020526040902080546120bb90600190614036565b815481106120cb576120cb613d04565b90600052602060002090600302016000600c016000878152602001908152602001600020828154811061210057612100613d04565b600091825260209091208254600390920201908155600180830154908201805467ffffffffffffffff19166001600160401b0390921691909117905560028082019061214e90840182614049565b5050506000858152600c6020526040902080548061216e5761216e613c91565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906121a760028301826132ed565b50509055600191505b60010161203b565b50806121f55760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b604080518581526001600160401b038516602082015260808183018190526000908201526001606082015290516000805160206141a38339815191529181900360a00190a150505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661228a57604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610a8c576122c48383838181106122aa576122aa613d04565b90506020020160208101906122bf91906135f5565b612db8565b60010161228d565b6000610a9d81612d74565b6122df612d8a565b6001600160a01b0316336001600160a01b031614612312576040516365f4906560e01b81523360048201526024016104fe565b6109fd81612e8a565b6000808061232881612d74565b905060005b818110156123c05760006123418183612d7e565b60008181526002602052604081209192505b60028201548110156123b257876001600160a01b031682600201828154811061237e5761237e613d04565b6000918252602090912001546001600160a01b0316036123aa57856123a281613d1a565b9650506123b2565b600101612353565b50505080600101905061232d565b50909392505050565b6060610a9d6005613103565b606060008284106124155760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600061242081612d74565b905060008185116124315784612433565b815b9050600086821161244557600061244f565b61244f8783614036565b90506000816001600160401b0381111561246b5761246b6136fb565b6040519080825280602002602001820160405280156124a457816020015b6124916133ad565b8152602001906001900390816124895790505b50905060005b828110156125b45760006124c96124c1838c613cbd565b600090612d7e565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b909104166060820152918101805486518186028101860190975280875296975093958387019592949193608086019392919083018282801561258257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612564575b5050505050815250508152508383815181106125a0576125a0613d04565b6020908102919091010152506001016124aa565b509450505083101590509250929050565b60006110878183612d50565b6000611087600d83612d2b565b6060610a9d6008613103565b816125f6600082612d50565b6126315760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b336000818152600760205260409020600201546001600160a01b031661268d57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000848152600260208190526040822090810154909190815b818110156127a857866001600160a01b03168460020182815481106126cd576126cd613d04565b6000918252602090912001546001600160a01b0316036127a057600284016126f6600184614036565b8154811061270657612706613d04565b6000918252602090912001546002850180546001600160a01b03909216918390811061273457612734613d04565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508360020180548061277557612775613c91565b600082815260209020810160001990810180546001600160a01b0319169055019055600192506127a8565b6001016126a6565b50816127ea57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f90606001611069565b3361283f600882612d2b565b6128795760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0384811660009081526007602052604090206002015416156128d857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600060405180608001604052808460058111156128f7576128f76138e0565b8152602081018690526001600160a01b0387166040820152336060909101529050612923600586613110565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff1916600183600581111561295e5761295e6138e0565b0217905550602082015160018201906129779082613da6565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff906129ef9088908890614115565b60405180910390a35050505050565b6000611087600a83612d50565b336000818152600760205260409020600201546001600160a01b0316612a6757604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b816000819003612aa65760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60005b81811015611aea5736858583818110612ac457612ac4613d04565b60a002919091019150612adb905060008235612d50565b612b53577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135612b176080850160608601614137565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051612b459493929190614152565b60405180910390a150612d23565b80356000908152600260205260409020600180820154600160801b90041615612bef577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135612bae6080860160608701614137565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051612be09493929190614152565b60405180910390a15050612d23565b60018101546001600160401b0316600003612c1d5781356000908152600360205260408120612c1d916132ed565b60408201358155612c346080830160608401614137565b60018201805467ffffffffffffffff19166001600160401b0392909216919091179055612c6760a0830160808401614180565b15612c9f576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b82356040840135612cd76080860160608701614137565b612ce760a0870160808801614180565b604051612d18949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101612aa9565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b60008181526001830160205260408120541515612d49565b6000612d498383613125565b6000611087825490565b6000612d498383613218565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b6001600160a01b038116612dfb5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612e06600882612d2b565b15612e4757604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612e52600882613110565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b038116612ecd5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612ed8600d82613110565b612f1857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b6000826005811115612f6357612f636138e0565b1480612fb757506001826005811115612f7e57612f7e6138e0565b148015612fb757506003816005811115612f9a57612f9a6138e0565b1480612fb757506004816005811115612fb557612fb56138e0565b145b8061300a57506002826005811115612fd157612fd16138e0565b14801561300a57506003816005811115612fed57612fed6138e0565b148061300a57506004816005811115613008576130086138e0565b145b8061305d57506004826005811115613024576130246138e0565b14801561305d57506003816005811115613040576130406138e0565b148061305d5750600581600581111561305b5761305b6138e0565b145b8061309557506003826005811115613077576130776138e0565b14801561309557506005816005811115613093576130936138e0565b145b1561309e575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000612d498383613242565b6000612d49836001600160a01b038416613125565b60606000612d4983613291565b6000612d49836001600160a01b038416613242565b6000818152600183016020526040812054801561320e576000613149600183614036565b855490915060009061315d90600190614036565b90508082146131c257600086600001828154811061317d5761317d613d04565b90600052602060002001549050808760000184815481106131a0576131a0613d04565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806131d3576131d3613c91565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611087565b6000915050611087565b600082600001828154811061322f5761322f613d04565b9060005260206000200154905092915050565b600081815260018301602052604081205461328957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611087565b506000611087565b6060816000018054806020026020016040519081016040528092919081815260200182805480156132e157602002820191906000526020600020905b8154815260200190600101908083116132cd575b50505050509050919050565b5080546132f990613cd0565b6000825580601f10613309575050565b601f0160209004906000526020600020908101906109fd91906133f7565b50805460008255600302906000526020600020908101906109fd919061340c565b82805482825590600052602060002090810192821561339d579160200282015b8281111561339d57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613368565b506133a99291506133f7565b5090565b6040805180820190915260008152602081016133f26040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5b808211156133a957600081556001016133f8565b808211156133a957600080825560018201805467ffffffffffffffff1916905561343960028301826132ed565b5060030161340c565b60006020828403121561345457600080fd5b5035919050565b60005b8381101561347657818101518382015260200161345e565b50506000910152565b6000815180845261349781602086016020860161345b565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561352757888303603f19018552815180518452878101516001600160401b03168885015286015160608785018190526135138186018361347f565b9689019694505050908601906001016134d4565b509098975050505050505050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156135bb5784516001600160a01b03168252938301936001929092019190830190613592565b509695505050505050565b602081526000612d496020830184613535565b80356001600160a01b03811681146135f057600080fd5b919050565b60006020828403121561360757600080fd5b612d49826135d9565b6000806020838503121561362357600080fd5b82356001600160401b038082111561363a57600080fd5b818501915085601f83011261364e57600080fd5b81358181111561365d57600080fd5b8660208260051b850101111561367257600080fd5b60209290920196919550909350505050565b6060815260006136976060830186613535565b84602084015282810360408401526136af818561347f565b9695505050505050565b8035600681106135f057600080fd5b600080604083850312156136db57600080fd5b6136e4836135d9565b91506136f2602084016136b9565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613739576137396136fb565b604052919050565b600082601f83011261375257600080fd5b81356001600160401b0381111561376b5761376b6136fb565b61377e601f8201601f1916602001613711565b81815284602083860101111561379357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156137c657600080fd5b843593506020808601356001600160401b03808211156137e557600080fd5b818801915088601f8301126137f957600080fd5b81358181111561380b5761380b6136fb565b8060051b61381a858201613711565b918252838101850191858101908c84111561383457600080fd5b948601945b838610156138595761384a866135d9565b82529486019490860190613839565b985050505060408801359450606088013592508083111561387957600080fd5b505061388787828801613741565b91505092959194509250565b600080604083850312156138a657600080fd5b6138af836135d9565b915060208301356001600160401b038111156138ca57600080fd5b6138d685828601613741565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b6006811061391457634e487b7160e01b600052602160045260246000fd5b9052565b6139238282516138f6565b600060208201516080602085015261393e608085018261347f565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000612d496020830184613918565b6000806040838503121561399257600080fd5b823591506136f2602084016135d9565b80356001600160401b03811681146135f057600080fd5b600080600080606085870312156139cf57600080fd5b843593506139df602086016139a2565b925060408501356001600160401b03808211156139fb57600080fd5b818701915087601f830112613a0f57600080fd5b813581811115613a1e57600080fd5b886020828501011115613a3057600080fd5b95989497505060200194505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015613a9657603f19888603018452613a84858351613918565b94509285019290850190600101613a68565b5092979650505050505050565b60008060408385031215613ab657600080fd5b823591506136f2602084016139a2565b60008151808452602080850194506020840160005b83811015613b005781516001600160a01b031687529582019590820190600101613adb565b509495945050505050565b602081526000612d496020830184613ac6565b60008060408385031215613b3157600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b83811015613ba957888603605f19018552815180518752830151838701889052613b9688880182613535565b9650509382019390820190600101613b6a565b5050961515959096019490945295945050505050565b600080600060608486031215613bd457600080fd5b613bdd846135d9565b925060208401356001600160401b03811115613bf857600080fd5b613c0486828701613741565b925050613c13604085016136b9565b90509250925092565b60008060208385031215613c2f57600080fd5b82356001600160401b0380821115613c4657600080fd5b818501915085601f830112613c5a57600080fd5b813581811115613c6957600080fd5b86602060a08302850101111561367257600080fd5b602081526000612d49602083018461347f565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561108757611087613ca7565b600181811c90821680613ce457607f821691505b6020821081036114dd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201613d2c57613d2c613ca7565b5060010190565b6020810161108782846138f6565b601f821115610a8c576000816000526020600020601f850160051c81016020861015613d6a5750805b601f850160051c820191505b81811015613d8957828155600101613d76565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115613dbf57613dbf6136fb565b613dd381613dcd8454613cd0565b84613d41565b602080601f831160018114613e025760008415613df05750858301515b613dfa8582613d91565b865550613d89565b600085815260208120601f198616915b82811015613e3157888601518255948401946001909101908401613e12565b5085821015613e4f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b848152608060208201526000613e786080830186613ac6565b8460408401528281036060840152613e90818561347f565b979650505050505050565b60008251613ead81846020870161345b565b9190910192915050565b6000808354613ec581613cd0565b60018281168015613edd5760018114613ef257613f21565b60ff1984168752821515830287019450613f21565b8760005260208060002060005b85811015613f185781548a820152908401908201613eff565b50505082870194505b50929695505050505050565b6001600160401b03831115613f4457613f446136fb565b613f5883613f528354613cd0565b83613d41565b6000601f841160018114613f865760008515613f745750838201355b613f7e8682613d91565b845550611aea565b600083815260209020601f19861690835b82811015613fb75786850135825560209485019460019092019101613f97565b5086821015613fd45760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8581526001600160401b038516602082015260806040820152826080820152828460a0830137600081840160a0908101919091529115156060820152601f909201601f1916909101019392505050565b8181038181111561108757611087613ca7565b818103614054575050565b61405e8254613cd0565b6001600160401b03811115614075576140756136fb565b61408381613dcd8454613cd0565b6000601f8211600181146140b1576000831561409f5750848201545b6140a98482613d91565b855550611aea565b600085815260209020601f19841690600086815260209020845b838110156140eb57828601548255600195860195909101906020016140cb565b5085831015613e4f5793015460001960f8600387901b161c19169092555050600190811b01905550565b604081526000614128604083018561347f565b9050612d4960208301846138f6565b60006020828403121561414957600080fd5b612d49826139a2565b8481528360208201526001600160401b03831660408201526080606082015260006136af608083018461347f565b60006020828403121561419257600080fd5b81358015158114612d4957600080fdfec01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98", + ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"approvedOperators\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"__OperatorRegistry_init\",\"inputs\":[{\"name\":\"initialOperators\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"__RiverConfig_init\",\"inputs\":[{\"name\":\"configManagers\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"allocateStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"genesisMiniblock\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"approveConfigurationManager\",\"inputs\":[{\"name\":\"manager\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"approveOperator\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"configurationExists\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"deleteConfiguration\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"deleteConfigurationOnBlock\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockNumber\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getAllConfiguration\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structSetting[]\",\"components\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockNumber\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getAllNodeAddresses\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getAllNodes\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structNode[]\",\"components\":[{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getAllOperators\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getConfiguration\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structSetting[]\",\"components\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockNumber\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structNode\",\"components\":[{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNodeCount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getPaginatedStreams\",\"inputs\":[{\"name\":\"start\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"stop\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structStreamWithId[]\",\"components\":[{\"name\":\"id\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"stream\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]}]},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamCount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamCountOnNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamWithGenesis\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]},{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isConfigurationManager\",\"inputs\":[{\"name\":\"manager\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isOperator\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"placeStreamOnNode\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"registerNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeConfigurationManager\",\"inputs\":[{\"name\":\"manager\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeOperator\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeStreamFromNode\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setConfiguration\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockNumber\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setStreamLastMiniblock\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"isSealed\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setStreamLastMiniblockBatch\",\"inputs\":[{\"name\":\"miniblocks\",\"type\":\"tuple[]\",\"internalType\":\"structSetMiniblock[]\",\"components\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"prevMiniBlockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"isSealed\",\"type\":\"bool\",\"internalType\":\"bool\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateNodeStatus\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateNodeUrl\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"ConfigurationChanged\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"block\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"value\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"deleted\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ConfigurationManagerAdded\",\"inputs\":[{\"name\":\"manager\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ConfigurationManagerRemoved\",\"inputs\":[{\"name\":\"manager\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"InterfaceAdded\",\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\",\"indexed\":true,\"internalType\":\"bytes4\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"InterfaceRemoved\",\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\",\"indexed\":true,\"internalType\":\"bytes4\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeAdded\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"status\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumNodeStatus\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeRemoved\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeStatusUpdated\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumNodeStatus\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeUrlUpdated\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OperatorAdded\",\"inputs\":[{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OperatorRemoved\",\"inputs\":[{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamAllocated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"indexed\":false,\"internalType\":\"address[]\"},{\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"genesisMiniblock\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamLastMiniblockUpdateFailed\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"reason\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamLastMiniblockUpdated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"isSealed\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamPlacementUpdated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"isAdded\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"Initializable_InInitializingState\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Initializable_NotInInitializingState\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Introspection_AlreadySupported\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Introspection_NotSupported\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Ownable__NotOwner\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"Ownable__ZeroAddress\",\"inputs\":[]}]", + Bin: "0x60806040523480156200001157600080fd5b5060405162004a6d38038062004a6d8339810160408190526200003491620004a6565b6200003e620000c1565b620000493362000169565b60005b8151811015620000b957620000838282815181106200006f576200006f62000578565b60200260200101516200023760201b60201c565b620000b08282815181106200009c576200009c62000578565b60200260200101516200031c60201b60201c565b6001016200004c565b5050620005df565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200010e576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156200016657805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b60006200019d7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b90506001600160a01b038216620001c757604051634e3ef82560e01b815260040160405180910390fd5b817f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae30080546001600160a01b0319166001600160a01b03928316179055604051838216918316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116620002865760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b60405180910390fd5b62000293600882620003e9565b15620002d757604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b620002e460088262000410565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b038116620003625760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6200036f600d8262000410565b620003b257604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b600062000407836001600160a01b03841660008181526001830160205260408120546200046a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200040a565b5060006200040a565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620004a157600080fd5b919050565b60006020808385031215620004ba57600080fd5b82516001600160401b0380821115620004d257600080fd5b818501915085601f830112620004e757600080fd5b815181811115620004fc57620004fc62000473565b8060051b604051601f19603f8301168101818110858211171562000524576200052462000473565b6040529182528482019250838101850191888311156200054357600080fd5b938501935b828510156200056c576200055c8562000489565b8452938501939285019262000548565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020808352835180602085015260005b81811015620005be57858101830151858201604001528201620005a0565b506000604082860101526040601f19601f8301168501019250505092915050565b61447e80620005ef6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c8063a1174e7d11610125578063ca78c41a116100ad578063d911c6321161007c578063d911c632146104ba578063ee885b12146104c2578063eecc66f4146104d5578063fc207c01146104e8578063ff3a14ab146104fb57600080fd5b8063ca78c41a14610460578063d0c27c4f14610481578063d4bd44a014610494578063d7a3158a146104a757600080fd5b8063ba428b1a116100f4578063ba428b1a1461040a578063c0f220841461041d578063c179b85f14610425578063c87d132414610438578063c8fe3a011461044b57600080fd5b8063a1174e7d146103bc578063ac8a584a146103d1578063b2b99ec9146103e4578063b7f227ee146103f757600080fd5b8063581f8b9b116101a8578063813049ec11610177578063813049ec146103505780639283ae3a146103635780639d209048146103765780639ee86d3814610396578063a09449a6146103a957600080fd5b8063581f8b9b146103045780636b883c39146103175780636d70f7ae1461032a5780637e4465e71461033d57600080fd5b8063242cae9f116101e4578063242cae9f146102a657806331374511146102b957806339bf397e146102cc5780633c2544d1146102e257600080fd5b80630175015214610216578063035759e11461025c578063081814db146102715780631290abe814610286575b600080fd5b6102476102243660046136c0565b6001600160a01b0390811660009081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b61026f61026a3660046136db565b61050e565b005b610279610682565b6040516102539190613744565b6102996102943660046136db565b6108ed565b604051610253919061385f565b61026f6102b43660046136c0565b610a0f565b61026f6102c7366004613872565b610a56565b6102d4610ae7565b604051908152602001610253565b6102f56102f03660046136db565b610af8565b604051610253939291906138e6565b61026f61031236600461392a565b610cc9565b61026f610325366004613a12565b610e69565b6102476103383660046136c0565b6110d0565b61026f61034b366004613af5565b6110e3565b61026f61035e3660046136c0565b6112db565b6102796103713660046136db565b6113d6565b6103896103843660046136c0565b611539565b6040516102539190613bce565b61026f6103a4366004613be1565b6116ba565b61026f6103b7366004613c1b565b611878565b6103c4611b47565b6040516102539190613ca1565b61026f6103df3660046136c0565b611d1b565b61026f6103f23660046136c0565b611e7e565b61026f610405366004613d05565b612047565b61026f610418366004613872565b612296565b6102d4612322565b61026f6104333660046136c0565b61232d565b6102d46104463660046136c0565b612371565b61045361241f565b6040516102539190613d6d565b61047361046e366004613d80565b61242b565b604051610253929190613da2565b61024761048f3660046136db565b61261b565b6102476104a23660046136c0565b612627565b61026f6104b5366004613e31565b612634565b610453612840565b61026f6104d0366004613be1565b61284c565b61026f6104e3366004613e81565b612a95565b6102476104f63660046136db565b612c60565b61026f610509366004613ede565b612c6d565b3361051a600d82612f8d565b61055d5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b60405180910390fd5b81610569600a82612fb2565b6105a45760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000838152600c602052604090205415610617576000838152600c602052604090208054806105d5576105d5613f53565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff191690559061060e600283018261354f565b505090556105a4565b6000838152600c6020526040812061062e91613589565b610639600a84612fca565b50604080518481526001600160401b036020820152608081830181905260009082015260016060820152905160008051602061445e8339815191529181900360a00190a1505050565b6060600080610691600a612fd6565b905060005b818110156106d25760006106ab600a83612fe0565b6000818152600c60205260409020549091506106c79085613f7f565b935050600101610696565b506000826001600160401b038111156106ed576106ed61395d565b60405190808252806020026020018201604052801561073a57816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161070b5790505b5090506000610749600a612fd6565b90506000805b828110156108e2576000610764600a83612fe0565b6000818152600c6020908152604080832080548251818502810185019093528083529495509293909291849084015b8282101561087757600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b031693830193909352600283018054929392918401916107e690613f92565b80601f016020809104026020016040519081016040528092919081815260200182805461081290613f92565b801561085f5780601f106108345761010080835404028352916020019161085f565b820191906000526020600020905b81548152906001019060200180831161084257829003601f168201915b50505050508152505081526020019060010190610793565b50505050905060005b81518110156108d45781818151811061089b5761089b613fc6565b60200260200101518786806108af90613fdc565b9750815181106108c1576108c1613fc6565b6020908102919091010152600101610880565b50505080600101905061074f565b509195945050505050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906109219083612fb2565b61095c5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109ff57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109e1575b5050505050815250509050919050565b610a17612fec565b6001600160a01b0316336001600160a01b031614610a4a576040516365f4906560e01b8152336004820152602401610554565b610a538161301a565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610aa057604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610ae257610ada838383818110610ac057610ac0613fc6565b9050602002016020810190610ad591906136c0565b6130ec565b600101610aa3565b505050565b6000610af36005612fd6565b905090565b6040805160a081018252600080825260208201819052918101829052606080820183905260808201819052909190610b308285612fb2565b610b6b5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b90910416606082015294820180548451818702810187019095528085529296959194919387936080860193919291830182828015610c2557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c07575b5050505050815250509250808054610c3c90613f92565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6890613f92565b8015610cb55780601f10610c8a57610100808354040283529160200191610cb5565b820191906000526020600020905b815481529060010190602001808311610c9857829003601f168201915b505050505090509250925092509193909250565b6001600160a01b03808316600090815260076020526040902060020154839116610d2957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b33610d35600882612f8d565b610d6f5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0380851660009081526007602052604090206003015485913391168114610dcd5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03861660009081526007602052604090208054610df49060ff16876131b1565b80548690829060ff19166001836005811115610e1257610e12613b42565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090610e58908990613ff5565b60405180910390a250505050505050565b336000818152600760205260409020600201546001600160a01b0316610ec557604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b610ed0600086612fb2565b15610f1157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b835160005b81811015610f9657610f4e868281518110610f3357610f33613fc6565b60200260200101516000600501612f8d90919063ffffffff16565b610f8e57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b600101610f16565b506040805160a081018252858152600060208201819052918101829052606081018290526080810187905290610fcc9088613344565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff1990991691909416179690961795909516179093556080840151805185949361105c939085019201906135aa565b50505060008781526003602052604090206110778582614068565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb906110bf908990899089908990614121565b60405180910390a150505050505050565b60006110dd600883612f8d565b92915050565b336110ef600882612f8d565b6111295760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0380841660009081526007602052604090206002015484911661118957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03808516600090815260076020526040902060030154859133911681146111e75760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03861660009081526007602090815260409182902091516112119188910161415d565b604051602081830303815290604052805190602001208160010160405160200161123b9190614179565b604051602081830303815290604052805190602001200361128b5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600181016112998782614068565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac90610e58908990613f40565b6112e3612fec565b6001600160a01b0316336001600160a01b031614611316576040516365f4906560e01b8152336004820152602401610554565b6001600160a01b0381166113595760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b611364600d82613350565b61139f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6040516001600160a01b038216907ff9889c857e5356066b564327caa757c325ecbc001b2b47d72edf8cf9aedb1be590600090a250565b6060816113e4600a82612fb2565b61141f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000838152600c6020908152604080832080548251818502810185019093528083529193909284015b8282101561152c57600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161149b90613f92565b80601f01602080910402602001604051908101604052809291908181526020018280546114c790613f92565b80156115145780601f106114e957610100808354040283529160200191611514565b820191906000526020600020905b8154815290600101906020018083116114f757829003601f168201915b50505050508152505081526020019060010190611448565b5050505091505b50919050565b6115646040805160808101909152806000815260606020820181905260006040830181905291015290565b61156f600583612f8d565b6115af57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff1660058111156115ea576115ea613b42565b60058111156115fb576115fb613b42565b815260200160018201805461160f90613f92565b80601f016020809104026020016040519081016040528092919081815260200182805461163b90613f92565b80156116885780601f1061165d57610100808354040283529160200191611688565b820191906000526020600020905b81548152906001019060200180831161166b57829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b816116c6600082612fb2565b6117015760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b336000818152600760205260409020600201546001600160a01b031661175d57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b600084815260026020819052604082209081015490915b818110156117f957856001600160a01b031683600201828154811061179b5761179b613fc6565b6000918252602090912001546001600160a01b0316036117f157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b600101611774565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060015b60405180910390a1505050505050565b33611884600d82612f8d565b6118be5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b67fffffffffffffffe196001600160401b0385160161190c5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600082900361194a5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b611955600a86612fb2565b61196657611964600a86613344565b505b6000858152600c6020526040812054905b81811015611a4d576000878152600c6020526040902080546001600160401b0388169190839081106119ab576119ab613fc6565b60009182526020909120600160039092020101546001600160401b031603611a45576000878152600c60205260409020805486918691849081106119f1576119f1613fc6565b90600052602060002090600302016002019182611a0f9291906141ef565b5060008051602061445e833981519152878787876000604051611a369594939291906142a8565b60405180910390a15050611b40565b600101611977565b506000600c0160008781526020019081526020016000206040518060600160405280888152602001876001600160401b0316815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160039092020190815590830151938101805467ffffffffffffffff19166001600160401b03909516949094179093555060408101519091906002820190611b179082614068565b50505060008051602061445e8339815191528686868660006040516118689594939291906142a8565b5050505050565b60606000611b556005612fd6565b6001600160401b03811115611b6c57611b6c61395d565b604051908082528060200260200182016040528015611bc857816020015b611bb56040805160808101909152806000815260606020820181905260006040830181905291015290565b815260200190600190039081611b8a5790505b50905060005b611bd86005612fd6565b8110156115335760076000611bee600584612fe0565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff166005811115611c2a57611c2a613b42565b6005811115611c3b57611c3b613b42565b8152602001600182018054611c4f90613f92565b80601f0160208091040260200160405190810160405280929190818152602001828054611c7b90613f92565b8015611cc85780601f10611c9d57610100808354040283529160200191611cc8565b820191906000526020600020905b815481529060010190602001808311611cab57829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110611d0857611d08613fc6565b6020908102919091010152600101611bce565b611d23612fec565b6001600160a01b0316336001600160a01b031614611d56576040516365f4906560e01b8152336004820152602401610554565b611d61600882612f8d565b611da557604080518082018252601281527113d41154905513d497d393d517d193d5539160721b6020820152905162461bcd60e51b81526105549190600401613f40565b60005b611db26005612fd6565b811015611e3a576001600160a01b03821660076000611dd2600585612fe0565b6001600160a01b0390811682526020820192909252604001600020600301541603611e3257604080518082018252600d81526c4f55545f4f465f424f554e445360981b6020820152905162461bcd60e51b81526105549190600401613f40565b600101611da8565b50611e46600882613350565b506040516001600160a01b038216907f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d90600090a250565b6001600160a01b0380821660009081526007602052604090206003015482913391168114611edc5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0383811660009081526007602052604090206002015416611f3a57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b60056001600160a01b03841660009081526007602052604090205460ff166005811115611f6957611f69613b42565b14611fb25760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526105549190600401613f40565b611fbd600584613350565b506001600160a01b0383166000908152600760205260408120805460ff1916815590611fec600183018261354f565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b33612053600d82612f8d565b61208d5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6000805b6000858152600c602052604090205481101561220e576000858152600c6020526040902080546001600160401b0386169190839081106120d3576120d3613fc6565b60009182526020909120600160039092020101546001600160401b031603612206576000858152600c602052604090208054612111906001906142f8565b8154811061212157612121613fc6565b90600052602060002090600302016000600c016000878152602001908152602001600020828154811061215657612156613fc6565b600091825260209091208254600390920201908155600180830154908201805467ffffffffffffffff19166001600160401b039092169190911790556002808201906121a49084018261430b565b5050506000858152600c602052604090208054806121c4576121c4613f53565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906121fd600283018261354f565b50509055600191505b600101612091565b508061224b5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b604080518581526001600160401b0385166020820152608081830181905260009082015260016060820152905160008051602061445e8339815191529181900360a00190a150505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166122e057604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610ae25761231a83838381811061230057612300613fc6565b905060200201602081019061231591906136c0565b61301a565b6001016122e3565b6000610af381612fd6565b612335612fec565b6001600160a01b0316336001600160a01b031614612368576040516365f4906560e01b8152336004820152602401610554565b610a53816130ec565b6000808061237e81612fd6565b905060005b818110156124165760006123978183612fe0565b60008181526002602052604081209192505b600282015481101561240857876001600160a01b03168260020182815481106123d4576123d4613fc6565b6000918252602090912001546001600160a01b03160361240057856123f881613fdc565b965050612408565b6001016123a9565b505050806001019050612383565b50909392505050565b6060610af36005613365565b6060600082841061246b5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600061247681612fd6565b905060008185116124875784612489565b815b9050600086821161249b5760006124a5565b6124a587836142f8565b90506000816001600160401b038111156124c1576124c161395d565b6040519080825280602002602001820160405280156124fa57816020015b6124e761360f565b8152602001906001900390816124df5790505b50905060005b8281101561260a57600061251f612517838c613f7f565b600090612fe0565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b90910416606082015291810180548651818602810186019097528087529697509395838701959294919360808601939291908301828280156125d857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116125ba575b5050505050815250508152508383815181106125f6576125f6613fc6565b602090810291909101015250600101612500565b509450505083101590509250929050565b60006110dd8183612fb2565b60006110dd600d83612f8d565b336000818152600760205260409020600201546001600160a01b031661269057604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b61269b600087612fb2565b6126d65760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000868152600260205260409020600180820154600160801b9004161561273257604080518082018252600d81526c14d51491505357d4d150531151609a1b6020820152905162461bcd60e51b81526105549190600401613f40565b60018101546001600160401b0380861691161061277e5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b60008781526003602052604081206127959161354f565b84815560018101805467ffffffffffffffff19166001600160401b03861617905582156127ef576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b60408051888152602081018790526001600160401b0386169181019190915283151560608201527fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b906080016110bf565b6060610af36008613365565b81612858600082612fb2565b6128935760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b336000818152600760205260409020600201546001600160a01b03166128ef57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6000848152600260208190526040822090810154909190815b81811015612a0a57866001600160a01b031684600201828154811061292f5761292f613fc6565b6000918252602090912001546001600160a01b031603612a0257600284016129586001846142f8565b8154811061296857612968613fc6565b6000918252602090912001546002850180546001600160a01b03909216918390811061299657612996613fc6565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550836002018054806129d7576129d7613f53565b600082815260209020810160001990810180546001600160a01b031916905501905560019250612a0a565b600101612908565b5081612a4c57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060016110bf565b33612aa1600882612f8d565b612adb5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b038481166000908152600760205260409020600201541615612b3a57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b60006040518060800160405280846005811115612b5957612b59613b42565b8152602081018690526001600160a01b0387166040820152336060909101529050612b85600586613372565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff19166001836005811115612bc057612bc0613b42565b021790555060208201516001820190612bd99082614068565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90612c5190889088906143d7565b60405180910390a35050505050565b60006110dd600a83612fb2565b336000818152600760205260409020600201546001600160a01b0316612cc957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b816000819003612d085760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b60005b81811015611b405736858583818110612d2657612d26613fc6565b60a002919091019150612d3d905060008235612fb2565b612db5577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135612d7960808501606086016143f9565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051612da79493929190614414565b60405180910390a150612f85565b80356000908152600260205260409020600180820154600160801b90041615612e51577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135612e1060808601606087016143f9565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051612e429493929190614414565b60405180910390a15050612f85565b60018101546001600160401b0316600003612e7f5781356000908152600360205260408120612e7f9161354f565b60408201358155612e9660808301606084016143f9565b60018201805467ffffffffffffffff19166001600160401b0392909216919091179055612ec960a0830160808401614442565b15612f01576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b82356040840135612f3960808601606087016143f9565b612f4960a0870160808801614442565b604051612f7a949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101612d0b565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b60008181526001830160205260408120541515612fab565b6000612fab8383613387565b60006110dd825490565b6000612fab838361347a565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b6001600160a01b03811661305d5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b613068600882612f8d565b156130a957604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b6130b4600882613372565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b03811661312f5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b61313a600d82613372565b61317a57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b60008260058111156131c5576131c5613b42565b1480613219575060018260058111156131e0576131e0613b42565b148015613219575060038160058111156131fc576131fc613b42565b14806132195750600481600581111561321757613217613b42565b145b8061326c5750600282600581111561323357613233613b42565b14801561326c5750600381600581111561324f5761324f613b42565b148061326c5750600481600581111561326a5761326a613b42565b145b806132bf5750600482600581111561328657613286613b42565b1480156132bf575060038160058111156132a2576132a2613b42565b14806132bf575060058160058111156132bd576132bd613b42565b145b806132f7575060038260058111156132d9576132d9613b42565b1480156132f7575060058160058111156132f5576132f5613b42565b145b15613300575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526105549190600401613f40565b6000612fab83836134a4565b6000612fab836001600160a01b038416613387565b60606000612fab836134f3565b6000612fab836001600160a01b0384166134a4565b600081815260018301602052604081205480156134705760006133ab6001836142f8565b85549091506000906133bf906001906142f8565b90508082146134245760008660000182815481106133df576133df613fc6565b906000526020600020015490508087600001848154811061340257613402613fc6565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061343557613435613f53565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506110dd565b60009150506110dd565b600082600001828154811061349157613491613fc6565b9060005260206000200154905092915050565b60008181526001830160205260408120546134eb575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556110dd565b5060006110dd565b60608160000180548060200260200160405190810160405280929190818152602001828054801561354357602002820191906000526020600020905b81548152602001906001019080831161352f575b50505050509050919050565b50805461355b90613f92565b6000825580601f1061356b575050565b601f016020900490600052602060002090810190610a539190613659565b5080546000825560030290600052602060002090810190610a53919061366e565b8280548282559060005260206000209081019282156135ff579160200282015b828111156135ff57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906135ca565b5061360b929150613659565b5090565b6040805180820190915260008152602081016136546040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5b8082111561360b576000815560010161365a565b8082111561360b57600080825560018201805467ffffffffffffffff1916905561369b600283018261354f565b5060030161366e565b80356001600160a01b03811681146136bb57600080fd5b919050565b6000602082840312156136d257600080fd5b612fab826136a4565b6000602082840312156136ed57600080fd5b5035919050565b60005b8381101561370f5781810151838201526020016136f7565b50506000910152565b600081518084526137308160208601602086016136f4565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156137c057888303603f19018552815180518452878101516001600160401b03168885015286015160608785018190526137ac81860183613718565b96890196945050509086019060010161376d565b509098975050505050505050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156138545784516001600160a01b0316825293830193600192909201919083019061382b565b509695505050505050565b602081526000612fab60208301846137ce565b6000806020838503121561388557600080fd5b82356001600160401b038082111561389c57600080fd5b818501915085601f8301126138b057600080fd5b8135818111156138bf57600080fd5b8660208260051b85010111156138d457600080fd5b60209290920196919550909350505050565b6060815260006138f960608301866137ce565b84602084015282810360408401526139118185613718565b9695505050505050565b8035600681106136bb57600080fd5b6000806040838503121561393d57600080fd5b613946836136a4565b91506139546020840161391b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561399b5761399b61395d565b604052919050565b600082601f8301126139b457600080fd5b81356001600160401b038111156139cd576139cd61395d565b6139e0601f8201601f1916602001613973565b8181528460208386010111156139f557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215613a2857600080fd5b843593506020808601356001600160401b0380821115613a4757600080fd5b818801915088601f830112613a5b57600080fd5b813581811115613a6d57613a6d61395d565b8060051b613a7c858201613973565b918252838101850191858101908c841115613a9657600080fd5b948601945b83861015613abb57613aac866136a4565b82529486019490860190613a9b565b9850505050604088013594506060880135925080831115613adb57600080fd5b5050613ae9878288016139a3565b91505092959194509250565b60008060408385031215613b0857600080fd5b613b11836136a4565b915060208301356001600160401b03811115613b2c57600080fd5b613b38858286016139a3565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b60068110613b7657634e487b7160e01b600052602160045260246000fd5b9052565b613b85828251613b58565b6000602082015160806020850152613ba06080850182613718565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000612fab6020830184613b7a565b60008060408385031215613bf457600080fd5b82359150613954602084016136a4565b80356001600160401b03811681146136bb57600080fd5b60008060008060608587031215613c3157600080fd5b84359350613c4160208601613c04565b925060408501356001600160401b0380821115613c5d57600080fd5b818701915087601f830112613c7157600080fd5b813581811115613c8057600080fd5b886020828501011115613c9257600080fd5b95989497505060200194505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015613cf857603f19888603018452613ce6858351613b7a565b94509285019290850190600101613cca565b5092979650505050505050565b60008060408385031215613d1857600080fd5b8235915061395460208401613c04565b60008151808452602080850194506020840160005b83811015613d625781516001600160a01b031687529582019590820190600101613d3d565b509495945050505050565b602081526000612fab6020830184613d28565b60008060408385031215613d9357600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b83811015613e0b57888603605f19018552815180518752830151838701889052613df8888801826137ce565b9650509382019390820190600101613dcc565b5050961515959096019490945295945050505050565b803580151581146136bb57600080fd5b600080600080600060a08688031215613e4957600080fd5b853594506020860135935060408601359250613e6760608701613c04565b9150613e7560808701613e21565b90509295509295909350565b600080600060608486031215613e9657600080fd5b613e9f846136a4565b925060208401356001600160401b03811115613eba57600080fd5b613ec6868287016139a3565b925050613ed56040850161391b565b90509250925092565b60008060208385031215613ef157600080fd5b82356001600160401b0380821115613f0857600080fd5b818501915085601f830112613f1c57600080fd5b813581811115613f2b57600080fd5b86602060a0830285010111156138d457600080fd5b602081526000612fab6020830184613718565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156110dd576110dd613f69565b600181811c90821680613fa657607f821691505b60208210810361153357634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201613fee57613fee613f69565b5060010190565b602081016110dd8284613b58565b601f821115610ae2576000816000526020600020601f850160051c8101602086101561402c5750805b601f850160051c820191505b8181101561404b57828155600101614038565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156140815761408161395d565b6140958161408f8454613f92565b84614003565b602080601f8311600181146140c457600084156140b25750858301515b6140bc8582614053565b86555061404b565b600085815260208120601f198616915b828110156140f3578886015182559484019460019091019084016140d4565b50858210156141115787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b84815260806020820152600061413a6080830186613d28565b84604084015282810360608401526141528185613718565b979650505050505050565b6000825161416f8184602087016136f4565b9190910192915050565b600080835461418781613f92565b6001828116801561419f57600181146141b4576141e3565b60ff19841687528215158302870194506141e3565b8760005260208060002060005b858110156141da5781548a8201529084019082016141c1565b50505082870194505b50929695505050505050565b6001600160401b038311156142065761420661395d565b61421a836142148354613f92565b83614003565b6000601f84116001811461424857600085156142365750838201355b6142408682614053565b845550611b40565b600083815260209020601f19861690835b828110156142795786850135825560209485019460019092019101614259565b50868210156142965760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8581526001600160401b038516602082015260806040820152826080820152828460a0830137600081840160a0908101919091529115156060820152601f909201601f1916909101019392505050565b818103818111156110dd576110dd613f69565b818103614316575050565b6143208254613f92565b6001600160401b038111156143375761433761395d565b6143458161408f8454613f92565b6000601f82116001811461437357600083156143615750848201545b61436b8482614053565b855550611b40565b600085815260209020601f19841690600086815260209020845b838110156143ad578286015482556001958601959091019060200161438d565b50858310156141115793015460001960f8600387901b161c19169092555050600190811b01905550565b6040815260006143ea6040830185613718565b9050612fab6020830184613b58565b60006020828403121561440b57600080fd5b612fab82613c04565b8481528360208201526001600160401b03831660408201526080606082015260006139116080830184613718565b60006020828403121561445457600080fd5b612fab82613e2156fec01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98", } // MockRiverRegistryABI is the input ABI used to generate the binding from. @@ -678,6 +678,37 @@ func (_MockRiverRegistry *MockRiverRegistryCallerSession) IsConfigurationManager return _MockRiverRegistry.Contract.IsConfigurationManager(&_MockRiverRegistry.CallOpts, manager) } +// IsNode is a free data retrieval call binding the contract method 0x01750152. +// +// Solidity: function isNode(address nodeAddress) view returns(bool) +func (_MockRiverRegistry *MockRiverRegistryCaller) IsNode(opts *bind.CallOpts, nodeAddress common.Address) (bool, error) { + var out []interface{} + err := _MockRiverRegistry.contract.Call(opts, &out, "isNode", nodeAddress) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// IsNode is a free data retrieval call binding the contract method 0x01750152. +// +// Solidity: function isNode(address nodeAddress) view returns(bool) +func (_MockRiverRegistry *MockRiverRegistrySession) IsNode(nodeAddress common.Address) (bool, error) { + return _MockRiverRegistry.Contract.IsNode(&_MockRiverRegistry.CallOpts, nodeAddress) +} + +// IsNode is a free data retrieval call binding the contract method 0x01750152. +// +// Solidity: function isNode(address nodeAddress) view returns(bool) +func (_MockRiverRegistry *MockRiverRegistryCallerSession) IsNode(nodeAddress common.Address) (bool, error) { + return _MockRiverRegistry.Contract.IsNode(&_MockRiverRegistry.CallOpts, nodeAddress) +} + // IsOperator is a free data retrieval call binding the contract method 0x6d70f7ae. // // Solidity: function isOperator(address operator) view returns(bool) @@ -1034,6 +1065,27 @@ func (_MockRiverRegistry *MockRiverRegistryTransactorSession) SetConfiguration(k return _MockRiverRegistry.Contract.SetConfiguration(&_MockRiverRegistry.TransactOpts, key, blockNumber, value) } +// SetStreamLastMiniblock is a paid mutator transaction binding the contract method 0xd7a3158a. +// +// Solidity: function setStreamLastMiniblock(bytes32 streamId, bytes32 , bytes32 lastMiniblockHash, uint64 lastMiniblockNum, bool isSealed) returns() +func (_MockRiverRegistry *MockRiverRegistryTransactor) SetStreamLastMiniblock(opts *bind.TransactOpts, streamId [32]byte, arg1 [32]byte, lastMiniblockHash [32]byte, lastMiniblockNum uint64, isSealed bool) (*types.Transaction, error) { + return _MockRiverRegistry.contract.Transact(opts, "setStreamLastMiniblock", streamId, arg1, lastMiniblockHash, lastMiniblockNum, isSealed) +} + +// SetStreamLastMiniblock is a paid mutator transaction binding the contract method 0xd7a3158a. +// +// Solidity: function setStreamLastMiniblock(bytes32 streamId, bytes32 , bytes32 lastMiniblockHash, uint64 lastMiniblockNum, bool isSealed) returns() +func (_MockRiverRegistry *MockRiverRegistrySession) SetStreamLastMiniblock(streamId [32]byte, arg1 [32]byte, lastMiniblockHash [32]byte, lastMiniblockNum uint64, isSealed bool) (*types.Transaction, error) { + return _MockRiverRegistry.Contract.SetStreamLastMiniblock(&_MockRiverRegistry.TransactOpts, streamId, arg1, lastMiniblockHash, lastMiniblockNum, isSealed) +} + +// SetStreamLastMiniblock is a paid mutator transaction binding the contract method 0xd7a3158a. +// +// Solidity: function setStreamLastMiniblock(bytes32 streamId, bytes32 , bytes32 lastMiniblockHash, uint64 lastMiniblockNum, bool isSealed) returns() +func (_MockRiverRegistry *MockRiverRegistryTransactorSession) SetStreamLastMiniblock(streamId [32]byte, arg1 [32]byte, lastMiniblockHash [32]byte, lastMiniblockNum uint64, isSealed bool) (*types.Transaction, error) { + return _MockRiverRegistry.Contract.SetStreamLastMiniblock(&_MockRiverRegistry.TransactOpts, streamId, arg1, lastMiniblockHash, lastMiniblockNum, isSealed) +} + // SetStreamLastMiniblockBatch is a paid mutator transaction binding the contract method 0xff3a14ab. // // Solidity: function setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[] miniblocks) returns() diff --git a/core/contracts/river/node_registry_v1.go b/core/contracts/river/node_registry_v1.go index f0ac9935ae..87307513c0 100644 --- a/core/contracts/river/node_registry_v1.go +++ b/core/contracts/river/node_registry_v1.go @@ -39,7 +39,7 @@ type Node struct { // NodeRegistryV1MetaData contains all meta data concerning the NodeRegistryV1 contract. var NodeRegistryV1MetaData = &bind.MetaData{ - ABI: "[{\"type\":\"function\",\"name\":\"getAllNodeAddresses\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getAllNodes\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structNode[]\",\"components\":[{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structNode\",\"components\":[{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNodeCount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"registerNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateNodeStatus\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateNodeUrl\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"NodeAdded\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"status\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumNodeStatus\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeRemoved\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeStatusUpdated\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumNodeStatus\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeUrlUpdated\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false}]", + ABI: "[{\"type\":\"function\",\"name\":\"getAllNodeAddresses\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getAllNodes\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structNode[]\",\"components\":[{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structNode\",\"components\":[{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNodeCount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"registerNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateNodeStatus\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumNodeStatus\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateNodeUrl\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"NodeAdded\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"status\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumNodeStatus\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeRemoved\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeStatusUpdated\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumNodeStatus\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeUrlUpdated\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"url\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false}]", } // NodeRegistryV1ABI is the input ABI used to generate the binding from. @@ -312,6 +312,37 @@ func (_NodeRegistryV1 *NodeRegistryV1CallerSession) GetNodeCount() (*big.Int, er return _NodeRegistryV1.Contract.GetNodeCount(&_NodeRegistryV1.CallOpts) } +// IsNode is a free data retrieval call binding the contract method 0x01750152. +// +// Solidity: function isNode(address nodeAddress) view returns(bool) +func (_NodeRegistryV1 *NodeRegistryV1Caller) IsNode(opts *bind.CallOpts, nodeAddress common.Address) (bool, error) { + var out []interface{} + err := _NodeRegistryV1.contract.Call(opts, &out, "isNode", nodeAddress) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// IsNode is a free data retrieval call binding the contract method 0x01750152. +// +// Solidity: function isNode(address nodeAddress) view returns(bool) +func (_NodeRegistryV1 *NodeRegistryV1Session) IsNode(nodeAddress common.Address) (bool, error) { + return _NodeRegistryV1.Contract.IsNode(&_NodeRegistryV1.CallOpts, nodeAddress) +} + +// IsNode is a free data retrieval call binding the contract method 0x01750152. +// +// Solidity: function isNode(address nodeAddress) view returns(bool) +func (_NodeRegistryV1 *NodeRegistryV1CallerSession) IsNode(nodeAddress common.Address) (bool, error) { + return _NodeRegistryV1.Contract.IsNode(&_NodeRegistryV1.CallOpts, nodeAddress) +} + // RegisterNode is a paid mutator transaction binding the contract method 0xeecc66f4. // // Solidity: function registerNode(address nodeAddress, string url, uint8 status) returns() diff --git a/core/contracts/river/stream_registry_v1.go b/core/contracts/river/stream_registry_v1.go index 607b5d5933..af0ef2ce27 100644 --- a/core/contracts/river/stream_registry_v1.go +++ b/core/contracts/river/stream_registry_v1.go @@ -55,7 +55,7 @@ type StreamWithId struct { // StreamRegistryV1MetaData contains all meta data concerning the StreamRegistryV1 contract. var StreamRegistryV1MetaData = &bind.MetaData{ - ABI: "[{\"type\":\"function\",\"name\":\"allocateStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"genesisMiniblock\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getPaginatedStreams\",\"inputs\":[{\"name\":\"start\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"stop\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structStreamWithId[]\",\"components\":[{\"name\":\"id\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"stream\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]}]},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamCount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamCountOnNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamWithGenesis\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]},{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"placeStreamOnNode\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeStreamFromNode\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setStreamLastMiniblockBatch\",\"inputs\":[{\"name\":\"miniblocks\",\"type\":\"tuple[]\",\"internalType\":\"structSetMiniblock[]\",\"components\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"prevMiniBlockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"isSealed\",\"type\":\"bool\",\"internalType\":\"bool\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"StreamAllocated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"indexed\":false,\"internalType\":\"address[]\"},{\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"genesisMiniblock\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamLastMiniblockUpdateFailed\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"reason\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamLastMiniblockUpdated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"isSealed\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamPlacementUpdated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"isAdded\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false}]", + ABI: "[{\"type\":\"function\",\"name\":\"allocateStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"genesisMiniblock\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getPaginatedStreams\",\"inputs\":[{\"name\":\"start\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"stop\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structStreamWithId[]\",\"components\":[{\"name\":\"id\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"stream\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]}]},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamCount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamCountOnNode\",\"inputs\":[{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStreamWithGenesis\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structStream\",\"components\":[{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"reserved0\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"flags\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]},{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isStream\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"placeStreamOnNode\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"removeStreamFromNode\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setStreamLastMiniblock\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"prevMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"isSealed\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setStreamLastMiniblockBatch\",\"inputs\":[{\"name\":\"miniblocks\",\"type\":\"tuple[]\",\"internalType\":\"structSetMiniblock[]\",\"components\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"prevMiniBlockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"isSealed\",\"type\":\"bool\",\"internalType\":\"bool\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"StreamAllocated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"nodes\",\"type\":\"address[]\",\"indexed\":false,\"internalType\":\"address[]\"},{\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"genesisMiniblock\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamLastMiniblockUpdateFailed\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"reason\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamLastMiniblockUpdated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"lastMiniblockNum\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"isSealed\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StreamPlacementUpdated\",\"inputs\":[{\"name\":\"streamId\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"nodeAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"isAdded\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false}]", } // StreamRegistryV1ABI is the input ABI used to generate the binding from. @@ -456,6 +456,27 @@ func (_StreamRegistryV1 *StreamRegistryV1TransactorSession) RemoveStreamFromNode return _StreamRegistryV1.Contract.RemoveStreamFromNode(&_StreamRegistryV1.TransactOpts, streamId, nodeAddress) } +// SetStreamLastMiniblock is a paid mutator transaction binding the contract method 0xd7a3158a. +// +// Solidity: function setStreamLastMiniblock(bytes32 streamId, bytes32 prevMiniblockHash, bytes32 lastMiniblockHash, uint64 lastMiniblockNum, bool isSealed) returns() +func (_StreamRegistryV1 *StreamRegistryV1Transactor) SetStreamLastMiniblock(opts *bind.TransactOpts, streamId [32]byte, prevMiniblockHash [32]byte, lastMiniblockHash [32]byte, lastMiniblockNum uint64, isSealed bool) (*types.Transaction, error) { + return _StreamRegistryV1.contract.Transact(opts, "setStreamLastMiniblock", streamId, prevMiniblockHash, lastMiniblockHash, lastMiniblockNum, isSealed) +} + +// SetStreamLastMiniblock is a paid mutator transaction binding the contract method 0xd7a3158a. +// +// Solidity: function setStreamLastMiniblock(bytes32 streamId, bytes32 prevMiniblockHash, bytes32 lastMiniblockHash, uint64 lastMiniblockNum, bool isSealed) returns() +func (_StreamRegistryV1 *StreamRegistryV1Session) SetStreamLastMiniblock(streamId [32]byte, prevMiniblockHash [32]byte, lastMiniblockHash [32]byte, lastMiniblockNum uint64, isSealed bool) (*types.Transaction, error) { + return _StreamRegistryV1.Contract.SetStreamLastMiniblock(&_StreamRegistryV1.TransactOpts, streamId, prevMiniblockHash, lastMiniblockHash, lastMiniblockNum, isSealed) +} + +// SetStreamLastMiniblock is a paid mutator transaction binding the contract method 0xd7a3158a. +// +// Solidity: function setStreamLastMiniblock(bytes32 streamId, bytes32 prevMiniblockHash, bytes32 lastMiniblockHash, uint64 lastMiniblockNum, bool isSealed) returns() +func (_StreamRegistryV1 *StreamRegistryV1TransactorSession) SetStreamLastMiniblock(streamId [32]byte, prevMiniblockHash [32]byte, lastMiniblockHash [32]byte, lastMiniblockNum uint64, isSealed bool) (*types.Transaction, error) { + return _StreamRegistryV1.Contract.SetStreamLastMiniblock(&_StreamRegistryV1.TransactOpts, streamId, prevMiniblockHash, lastMiniblockHash, lastMiniblockNum, isSealed) +} + // SetStreamLastMiniblockBatch is a paid mutator transaction binding the contract method 0xff3a14ab. // // Solidity: function setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[] miniblocks) returns() diff --git a/core/env/local/multi/config.yaml b/core/env/local/multi/config.yaml index b558978fec..28ce1c9c3e 100644 --- a/core/env/local/multi/config.yaml +++ b/core/env/local/multi/config.yaml @@ -1 +1,2 @@ disableBaseChain: false +enableMls: true diff --git a/core/env/local/multi_ne/config.yaml b/core/env/local/multi_ne/config.yaml index 00172e65fe..973dca3402 100644 --- a/core/env/local/multi_ne/config.yaml +++ b/core/env/local/multi_ne/config.yaml @@ -1 +1,2 @@ disableBaseChain: true +enableMls: true diff --git a/core/justfile b/core/justfile index b509453a2d..35f18d0d19 100644 --- a/core/justfile +++ b/core/justfile @@ -1,7 +1,7 @@ set shell := ["bash", "-eu", "-o", "pipefail", "-c"] set export -RUN_ENV := env_var("RUN_ENV") +RUN_ENV := env_var_or_default("RUN_ENV", "none") ENV_PATH_BASE := './env/local' ENV_PATH := ENV_PATH_BASE / RUN_ENV ENV_FILE := ENV_PATH / "env.env" @@ -20,12 +20,18 @@ LOCAL_PRIVATE_KEY := `source ../contracts/.env.localhost && echo "${LOCAL_PRIVAT JUST_BASH_OPTS := env_var_or_default("JUST_BASH_OPTS", "") BASH_OPTS := '-euo pipefail ' + JUST_BASH_OPTS -default: - @just --list +# NOTE: first command also runs when just is called without arguments help: @just --list +_require_run_env: + #!/usr/bin/env -S bash {{BASH_OPTS}} + if [ "${RUN_ENV}" == "none" ]; then + echo "RUN_ENV is not set, must be one of: multi, multi_ne" + exit 1 + fi + print-env: @echo "RUN_ENV=${RUN_ENV}" @echo "ENV_PATH_BASE=${ENV_PATH_BASE}" @@ -41,7 +47,7 @@ print-env: @echo "LOCAL_PRIVATE_KEY=${LOCAL_PRIVATE_KEY}" @echo "BASE_EXECUTION_CLIENT=${BASE_EXECUTION_CLIENT}" -clean: +clean: _require_run_env @rm -rf ${RUN_BASE} _anvil-start $NAME $PORT $CHAIN_ID: @@ -110,7 +116,7 @@ storage-clean: cd ./scripts docker compose --project-name river down --volumes --rmi all -deploy-contracts: anvils +deploy-contracts: _require_run_env anvils #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} echo "Deploying contracts" @@ -122,7 +128,7 @@ deploy-contracts: anvils echo "RIVER_REGISTRYCONTRACT_ADDRESS=$(jq -r '.address' ${CONTRACTS_DIR}/river/addresses/riverRegistry.json)" >> ${RUN_BASE}/contracts.env echo "RIVER_TEST_CONTRACT_ADDRESS=$(jq -r '.address' ${CONTRACTS_DIR}/base/addresses/entitlementGatedExample.json)" >> ${RUN_BASE}/contracts.env -_config-instance $INSTANCE_NUM $INSTANCE_DIR: +_config-instance $INSTANCE_NUM $INSTANCE_DIR: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} mkdir -p ${INSTANCE_DIR}/{config,logs,wallet,certs} @@ -140,14 +146,14 @@ _config-instance $INSTANCE_NUM $INSTANCE_DIR: cast rpc -r ${RPC_RIVER} anvil_setBalance $(cat "${INSTANCE_DIR}/wallet/node_address") 0xfffffffffffffffffffffffffffffffffffffffffffffffffff -config-instances: (_loop-instances "_config-instance") +config-instances: _require_run_env (_loop-instances "_config-instance") -_remove-instance $INSTANCE_NUM $INSTANCE_DIR: +_remove-instance $INSTANCE_NUM $INSTANCE_DIR: _require_run_env @rm -rf ${INSTANCE_DIR} -remove-instances: (_loop-instances "_remove-instance") +remove-instances: _require_run_env (_loop-instances "_remove-instance") -just-config-base-chain: +just-config-base-chain: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} if [ "${DISABLE_BASE_CHAIN}" != "true" ]; then @@ -167,11 +173,11 @@ just-config-base-chain: 2 > /dev/null fi -config-base-chain: deploy-contracts just-config-base-chain +config-base-chain: _require_run_env deploy-contracts just-config-base-chain # Run build node binary for environment [positional-arguments] -run-bin *args: +run-bin *args: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} cd ${RUN_BASE} @@ -184,7 +190,7 @@ run-bin *args: # Run node from source with go run (for debugging) [positional-arguments] -run-go *args: +run-go *args: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} cd ${RUN_BASE} @@ -197,7 +203,7 @@ run-go *args: # Run node from source with go run with config for instance N [positional-arguments] -_run-go-inst $INSTANCE_NUM $INSTANCE_DIR *args: +_run-go-inst $INSTANCE_NUM $INSTANCE_DIR *args: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} cd ${INSTANCE_DIR} @@ -212,7 +218,7 @@ _run-go-inst $INSTANCE_NUM $INSTANCE_DIR *args: # Run node from source with go run with config for instance N [positional-arguments] -run-go-inst $INSTANCE_NUM *args: +run-go-inst $INSTANCE_NUM *args: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} INSTANCE_NAME=$(printf "%02d" ${INSTANCE_NUM}) INSTANCE_DIR="${INSTANCE_BASE}/${INSTANCE_NAME}" @@ -221,20 +227,20 @@ run-go-inst $INSTANCE_NUM *args: # Run node from source with go run with for each instance [positional-arguments] -run-go-all *args: +run-go-all *args: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} just _loop-instances-seq-args _run-go-inst "$@" -just-config-river-chain: +just-config-river-chain: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} PRIVATE_KEY=${LOCAL_PRIVATE_KEY} \ just run-bin \ on-chain-config set-csv ../../${ENV_PATH}/on_chain.csv -config-river-chain: deploy-contracts config-root build just-config-river-chain +config-river-chain: _require_run_env deploy-contracts config-root build just-config-river-chain -config-root: +config-root: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} mkdir -p ${RUN_BASE} @@ -242,7 +248,7 @@ config-root: cp ${ENV_PATH_BASE}/common/run.sh ${RUN_BASE}/run.sh cp ${ENV_PATH}/config.yaml ${RUN_BASE}/config.yaml -_register-node-base $INSTANCE_NUM $INSTANCE_DIR: +_register-node-base $INSTANCE_NUM $INSTANCE_DIR: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} if [ "${DISABLE_BASE_CHAIN}" != "true" ]; then @@ -256,11 +262,11 @@ _register-node-base $INSTANCE_NUM $INSTANCE_DIR: $NODE_ADDRESS > /dev/null fi -just-register-nodes-base: (_loop-instances-seq "_register-node-base") +just-register-nodes-base: _require_run_env (_loop-instances-seq "_register-node-base") -register-nodes-base: config-base-chain config-instances just-register-nodes-base +register-nodes-base: _require_run_env config-base-chain config-instances just-register-nodes-base -_register-node-river $INSTANCE_NUM $INSTANCE_DIR: +_register-node-river $INSTANCE_NUM $INSTANCE_DIR: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} source ${RUN_BASE}/contracts.env @@ -275,37 +281,39 @@ _register-node-river $INSTANCE_NUM $INSTANCE_DIR: https://localhost:${RIVER_PORT} \ 2 > /dev/null -just-register-nodes-river: (_loop-instances-seq "_register-node-river") +just-register-nodes-river: _require_run_env (_loop-instances-seq "_register-node-river") -register-nodes-river: config-river-chain config-instances just-register-nodes-river +register-nodes-river: _require_run_env config-river-chain config-instances just-register-nodes-river -config: config-root register-nodes-base register-nodes-river storage-start +config: _require_run_env config-root register-nodes-base register-nodes-river storage-start -_build-mls: +_build-mls $OUTPUT_DIR: #!/usr/bin/env -S bash {{BASH_OPTS}} - OUTPUT=${RUN_BASE}/bin - echo "Building MLS ${OUTPUT}" - mkdir -p ${RUN_BASE}/bin + echo "Building MLS ${OUTPUT_DIR}" + mkdir -p ${OUTPUT_DIR} cargo build --release --manifest-path ./mls/mls-tools/crates/mlslib/Cargo.toml - cp ./mls/mls-tools/target/release/libmls* ${OUTPUT} + cp ./mls/mls-tools/target/release/libmls* ${OUTPUT_DIR} -_build-node: +# Build MLS library for running go tests +build-mls: (_build-mls "./run_files/mls") + +_build-node: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} OUTPUT=${RUN_BASE}/bin/river_node echo "Building node binary ${OUTPUT}" mkdir -p ${RUN_BASE}/bin - export CGO_LDFLAGS="${RUN_BASE}/bin/libmls_lib.a -ldl" + CGO_LDFLAGS="-L${RUN_BASE}/bin" \ go build \ -o ${OUTPUT} \ -race \ -ldflags="-X github.com/river-build/river/core/river_node/version.branch=$(git rev-parse --abbrev-ref HEAD) -X github.com/river-build/river/core/river_node/version.commit=$(git describe --tags --always --dirty)" \ ./river_node/main.go -build: _build-mls _build-node +build: _require_run_env (_build-mls RUN_BASE / "bin") _build-node -_run-node $INSTANCE_NUM $INSTANCE_DIR: +_run-node $INSTANCE_NUM $INSTANCE_DIR: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} RUN_ARGS=${RUN_ARGS:-} @@ -322,7 +330,7 @@ _run-node $INSTANCE_NUM $INSTANCE_DIR: ${RUN_ARGS} \ > ./logs/tty.stdout.log 2> ./logs/tty.stderr.log & -_stop-node $INSTANCE_NUM $INSTANCE_DIR: +_stop-node $INSTANCE_NUM $INSTANCE_DIR: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} if [ ! -f "${INSTANCE_DIR}/config/config.env" ]; then @@ -332,9 +340,9 @@ _stop-node $INSTANCE_NUM $INSTANCE_DIR: ../scripts/kill-on-port.sh ${RIVER_PORT} instance_${INSTANCE_NUM} # Stop all nodes -stop: (_loop-instances "_stop-node") +stop: _require_run_env (_loop-instances "_stop-node") -_wait-node $INSTANCE_NUM $INSTANCE_DIR: +_wait-node $INSTANCE_NUM $INSTANCE_DIR: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} source ${INSTANCE_DIR}/config/config.env @@ -347,7 +355,7 @@ _wait-ctrl-c: bash -c 'trap "exit 0" INT TERM; while true; do sleep 1; done' # Tail logs from all instances starting with 500 last lines -tail-logs: +tail-logs: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} shopt -s nullglob @@ -363,7 +371,7 @@ tail-logs-short: tail -n 10 -F ${LOGS[@]} # Tail new logs from all instances -tail-logs-new: +tail-logs-new: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} shopt -s nullglob @@ -371,7 +379,7 @@ tail-logs-new: tail -n 0 -F ${LOGS[@]} # Print last 10 lines from each instance log -print-logs: +print-logs: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} shopt -s nullglob @@ -379,7 +387,7 @@ print-logs: tail -n 10 ${LOGS[@]} # Tail stderr from all instances -tail-stderr: +tail-stderr: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} shopt -s nullglob @@ -387,7 +395,7 @@ tail-stderr: tail -n 500 -F ${LOGS[@]} # Print stderr from all instances -print-stderr: +print-stderr: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} shopt -s nullglob @@ -395,7 +403,7 @@ print-stderr: tail -n 10000 ${LOGS[@]} # Exits with error if any instance has non-empty stderr -check-stderr: +check-stderr: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} shopt -s nullglob @@ -407,34 +415,34 @@ check-stderr: exit 1 fi -_start-all: (_loop-instances "_run-node") +_start-all: _require_run_env (_loop-instances "_run-node") -_wait-all: (_loop-instances "_wait-node") +_wait-all: _require_run_env (_loop-instances "_wait-node") # Config, build, and start nodes in background. Alias: cbs -config-and-start: stop config build start +config-and-start: _require_run_env stop config build start alias cbs := config-and-start # Start nodes in background, config and build should be run before -start: _start-all _wait-all +start: _require_run_env _start-all _wait-all # Config, build, and run nodes in foreground, CTRL-C to exit -config-and-run: stop config build run +config-and-run: _require_run_env stop config build run # Config, build, and run nodes in foreground tailing logs -config-run-tail: stop config build run-and-tail +config-run-tail: _require_run_env stop config build run-and-tail # Run nodes in foreground, config and build should be run before, CTRL-C to exit -run: _start-all _wait-all _wait-ctrl-c stop +run: _require_run_env _start-all _wait-all _wait-ctrl-c stop # Start nodes in foreground tailing logs, config and build should be run before -run-and-tail: _start-all _wait-all tail-logs stop +run-and-tail: _require_run_env _start-all _wait-all tail-logs stop # Stop, build, and start nodes in background -restart: stop build start +restart: _require_run_env stop build start -_loop-instances-seq $CMD: +_loop-instances-seq $CMD: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} for ((i=0; i<${NUM_INSTANCES}; i++)); do @@ -445,7 +453,7 @@ _loop-instances-seq $CMD: done [positional-arguments] -_loop-instances-seq-args $CMD *args: +_loop-instances-seq-args $CMD *args: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} shift source ${ENV_FILE} @@ -457,7 +465,7 @@ _loop-instances-seq-args $CMD *args: done # Loop instances without stopping on error, return 0 if all succeeded, 1 if any failed -_loop-instances-seq-nostop $CMD: +_loop-instances-seq-nostop $CMD: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} EXIT_CODE=0 @@ -469,7 +477,7 @@ _loop-instances-seq-nostop $CMD: done exit ${EXIT_CODE} -_loop-instances-parallel $CMD: +_loop-instances-parallel $CMD: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} seq 0 $((${NUM_INSTANCES}-1)) | parallel -j0 --line-buffer \ @@ -485,7 +493,7 @@ _loop-instances-parallel $CMD: # just _loop-instances-seq "${CMD}" # fi -_loop-instances CMD: (_loop-instances-seq CMD) +_loop-instances CMD: _require_run_env (_loop-instances-seq CMD) _ping-anvil $URL $NAME: #!/usr/bin/env -S bash {{BASH_OPTS}} @@ -498,7 +506,7 @@ ping-anvil-river: (_ping-anvil RPC_RIVER "river") ping-anvils: ping-anvil-base ping-anvil-river -_ping-instance-tcp $INSTANCE_NUM $INSTANCE_DIR: +_ping-instance-tcp $INSTANCE_NUM $INSTANCE_DIR: _require_run_env #!/usr/bin/env -S bash {{BASH_OPTS}} source ${ENV_FILE} source ${INSTANCE_DIR}/config/config.env @@ -507,7 +515,7 @@ _ping-instance-tcp $INSTANCE_NUM $INSTANCE_DIR: exit 1 fi -ping-instances-tcp: (_loop-instances-seq-nostop "_ping-instance-tcp") +ping-instances-tcp: _require_run_env (_loop-instances-seq-nostop "_ping-instance-tcp") # Invoke cast with -r for river chain. [positional-arguments] @@ -524,3 +532,18 @@ cast-base *args: METHOD=$1 shift cast ${METHOD} -r ${RPC_BASE} "$@" + +_test-from-dir $DIR *args: build-mls + #!/usr/bin/env -S bash {{BASH_OPTS}} + cd $DIR + echo "Running go test from $(git rev-parse --show-prefix)" + CGO_LDFLAGS="-L{{justfile_directory()}}/run_files/mls" go test {{args}} + +# Run go tests from current directory +test *args: (_test-from-dir invocation_directory() args) + +# Run all go tests from module root +test-all *args: (_test-from-dir justfile_directory() "-v" args "./...") + +# Run all go tests from current directory +t *args: (_test-from-dir invocation_directory() "-v" args "./...") diff --git a/core/node/events/miniblock.go b/core/node/events/miniblock.go index e8d349caba..aa98faf25f 100644 --- a/core/node/events/miniblock.go +++ b/core/node/events/miniblock.go @@ -1,6 +1,10 @@ package events import ( + "bytes" + "encoding/hex" + "time" + "github.com/ethereum/go-ethereum/common" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/emptypb" @@ -162,7 +166,7 @@ func (b *MiniblockInfo) forEachEvent( return true, nil } -func NewMiniblockInfoFromBytes(bytes []byte, expectedBlockNumber int64) (*MiniblockInfo, error) { +func NewMiniblockFromBytesWithOpts(bytes []byte, opts *ParsedMiniblockInfoOpts) (*MiniblockInfo, error) { var pb Miniblock err := proto.Unmarshal(bytes, &pb) if err != nil { @@ -171,10 +175,10 @@ func NewMiniblockInfoFromBytes(bytes []byte, expectedBlockNumber int64) (*Minibl Func("NewMiniblockInfoFromBytes") } - return NewMiniblockInfoFromProto(&pb, NewMiniblockInfoFromProtoOpts{ExpectedBlockNumber: expectedBlockNumber}) + return NewMiniblockInfoFromProto(&pb, opts) } -func NewMiniblockInfoFromBytesWithOpts(bytes []byte, opts NewMiniblockInfoFromProtoOpts) (*MiniblockInfo, error) { +func NewMiniblockInfoFromBytes(bytes []byte, expectedBlockNumber int64) (*MiniblockInfo, error) { var pb Miniblock err := proto.Unmarshal(bytes, &pb) if err != nil { @@ -183,44 +187,223 @@ func NewMiniblockInfoFromBytesWithOpts(bytes []byte, opts NewMiniblockInfoFromPr Func("NewMiniblockInfoFromBytes") } + opts := NewParsedMiniblockInfoOpts() + if expectedBlockNumber > -1 { + opts = opts.WithExpectedBlockNumber(expectedBlockNumber) + } return NewMiniblockInfoFromProto(&pb, opts) } -type NewMiniblockInfoFromProtoOpts struct { - ExpectedBlockNumber int64 - DontParseEvents bool +func NewMiniblockInfoFromBytesWithOpts(bytes []byte, opts *ParsedMiniblockInfoOpts) (*MiniblockInfo, error) { + var pb Miniblock + err := proto.Unmarshal(bytes, &pb) + if err != nil { + return nil, AsRiverError(err, Err_INVALID_ARGUMENT). + Message("Failed to decode miniblock from bytes"). + Func("NewMiniblockInfoFromBytesWithOpts") + } + + return NewMiniblockInfoFromProto(&pb, opts) +} + +type ParsedMiniblockInfoOpts struct { + // Do not access the following directly, instead use has/getter/setter. + expectedBlockNumber *int64 + expectedPrevMiniblockHash *common.Hash + expectedEventNumOffset *int64 + expectedMinimumTimestampExclusive *time.Time + expectedPrevSnapshotMiniblockNum *int64 + dontParseEvents bool +} + +func NewParsedMiniblockInfoOpts() *ParsedMiniblockInfoOpts { + return &ParsedMiniblockInfoOpts{} +} + +func (p *ParsedMiniblockInfoOpts) HasExpectedBlockNumber() bool { + return p.expectedBlockNumber != nil +} + +// Do not use this get method without checking the associated has method. +func (p *ParsedMiniblockInfoOpts) GetExpectedBlockNumber() int64 { + return *p.expectedBlockNumber +} + +func (p *ParsedMiniblockInfoOpts) WithExpectedBlockNumber(expectedBlockNumber int64) *ParsedMiniblockInfoOpts { + p.expectedBlockNumber = &expectedBlockNumber + return p +} + +func (p *ParsedMiniblockInfoOpts) HasExpectedPrevMiniblockHash() bool { + return p.expectedPrevMiniblockHash != nil +} + +// Do not use this get method without checking the associated has method. +func (p *ParsedMiniblockInfoOpts) GetExpectedPrevMiniblockHash() common.Hash { + return *p.expectedPrevMiniblockHash +} + +func (p *ParsedMiniblockInfoOpts) WithExpectedPrevMiniblockHash(hash common.Hash) *ParsedMiniblockInfoOpts { + p.expectedPrevMiniblockHash = &hash + return p +} + +func (p *ParsedMiniblockInfoOpts) HasExpectedEventNumOffset() bool { + return p.expectedEventNumOffset != nil +} + +// Do not use this get method without checking the associated has method. +func (p *ParsedMiniblockInfoOpts) GetExpectedEventNumOffset() int64 { + return *p.expectedEventNumOffset +} + +func (p *ParsedMiniblockInfoOpts) WithExpectedEventNumOffset(offset int64) *ParsedMiniblockInfoOpts { + p.expectedEventNumOffset = &offset + return p +} + +func (p *ParsedMiniblockInfoOpts) HasExpectedMinimumTimestampExclusive() bool { + return p.expectedMinimumTimestampExclusive != nil } -func NewMiniblockInfoFromProto(pb *Miniblock, opts NewMiniblockInfoFromProtoOpts) (*MiniblockInfo, error) { +// Do not use this get method without checking the associated has method. +func (p *ParsedMiniblockInfoOpts) GetExpectedMinimumTimestampExclusive() time.Time { + return *p.expectedMinimumTimestampExclusive +} + +func (p *ParsedMiniblockInfoOpts) WithExpectedMinimumTimestampExclusive(timestamp time.Time) *ParsedMiniblockInfoOpts { + p.expectedMinimumTimestampExclusive = ×tamp + return p +} + +func (p *ParsedMiniblockInfoOpts) HasExpectedPrevSnapshotMiniblockNum() bool { + return p.expectedPrevSnapshotMiniblockNum != nil +} + +// Do not use this get method without checking the associated has method. +func (p *ParsedMiniblockInfoOpts) GetExpectedPrevSnapshotMiniblockNum() int64 { + return *p.expectedPrevSnapshotMiniblockNum +} + +func (p *ParsedMiniblockInfoOpts) WithExpectedPrevSnapshotMiniblockNum(blockNum int64) *ParsedMiniblockInfoOpts { + p.expectedPrevSnapshotMiniblockNum = &blockNum + return p +} + +func (p *ParsedMiniblockInfoOpts) WithDoNotParseEvents(doNotParse bool) *ParsedMiniblockInfoOpts { + p.dontParseEvents = doNotParse + return p +} + +func (p *ParsedMiniblockInfoOpts) DoNotParseEvents() bool { + return p.dontParseEvents +} + +// NewMiniblockInfoFromProto initializes a MiniblockInfo from a proto, applying validation based +// on whatever is set in the opts. If an empty opts is passed in, the method will still perform +// some minimal validation if the requested miniblock is block 0. +func NewMiniblockInfoFromProto(pb *Miniblock, opts *ParsedMiniblockInfoOpts) (*MiniblockInfo, error) { headerEvent, err := ParseEvent(pb.Header) if err != nil { - return nil, err + return nil, AsRiverError( + err, + Err_BAD_EVENT, + ).Message("Error parsing header event"). + Func("NewMiniblockInfoFromProto") } blockHeader := headerEvent.Event.GetMiniblockHeader() if blockHeader == nil { - return nil, RiverError(Err_BAD_EVENT, "header event must be a block header") + return nil, RiverError(Err_BAD_EVENT, "Header event must be a block header").Func("NewMiniblockInfoFromProto") + } + + if opts.HasExpectedBlockNumber() && blockHeader.MiniblockNum != opts.GetExpectedBlockNumber() { + return nil, RiverError(Err_BAD_BLOCK_NUMBER, "block number does not equal expected"). + Func("NewMiniblockInfoFromProto"). + Tag("expected", opts.GetExpectedBlockNumber()). + Tag("actual", blockHeader.MiniblockNum) } - if opts.ExpectedBlockNumber >= 0 && blockHeader.MiniblockNum != int64(opts.ExpectedBlockNumber) { + + // Validate the number of events matches event hashes + // We will validate that the hashes match if the events are parsed. + if len(blockHeader.EventHashes) != len(pb.Events) { return nil, RiverError( - Err_BAD_EVENT, - "block number mismatch", - "expected", - opts.ExpectedBlockNumber, - "actual", - blockHeader.MiniblockNum, - ) + Err_BAD_BLOCK, + "Length of events in block does not match length of event hashes in header", + ).Func("NewMiniblockInfoFromProto"). + Tag("eventHashesLength", len(blockHeader.EventHashes)). + Tag("eventsLength", len(pb.Events)) } var events []*ParsedEvent - if !opts.DontParseEvents { + if !opts.DoNotParseEvents() { events, err = ParseEvents(pb.Events) if err != nil { - return nil, err + return nil, AsRiverError(err, Err_BAD_EVENT_HASH).Func("NewMiniblockInfoFromProto") } + + // Validate event hashes match the hashes stored in the header. + for i, event := range events { + if event.Hash != common.Hash(blockHeader.EventHashes[i]) { + return nil, RiverError( + Err_BAD_BLOCK, + "Block event hash did not match hash in header", + ).Func("NewMiniblockInfoFromProto"). + Tag("eventIndex", i). + Tag("blockEventHash", event.Hash). + Tag("headerEventHash", blockHeader.EventHashes[i]) + } + } + } + + if opts.HasExpectedPrevMiniblockHash() { + expectedHash := opts.GetExpectedPrevMiniblockHash() + // In the case of block 0, the last miniblock hash should be unset on the block, + // meaning a byte array of 0 length, but the opts signify the unset value with a zero + // common.Hash value. Otherwise, we expect the bytes to match. + if !bytes.Equal(expectedHash[:], blockHeader.PrevMiniblockHash) && + (expectedHash != common.Hash{} || len(blockHeader.PrevMiniblockHash) != 0) { + return nil, RiverError( + Err_BAD_BLOCK, + "Last miniblock hash does not equal expected", + ).Func("NewMiniblockInfoFromProto"). + Tag("expectedLastMiniblockHash", opts.GetExpectedPrevMiniblockHash()). + Tag("prevMiniblockHash", hex.EncodeToString(blockHeader.PrevMiniblockHash)) + } + } + + if opts.HasExpectedEventNumOffset() && + opts.GetExpectedEventNumOffset() != blockHeader.EventNumOffset { + return nil, RiverError( + Err_BAD_BLOCK, + "Miniblock header eventNumOffset does not equal expected", + ).Func("NewMiniblockInfoFromProto"). + Tag("expectedEventNumOffset", opts.GetExpectedEventNumOffset()). + Tag("eventNumOffset", blockHeader.EventNumOffset) } - // TODO: add header validation, num of events, prev block hash, block num, etc + if opts.HasExpectedMinimumTimestampExclusive() && + !blockHeader.Timestamp.AsTime().After(opts.GetExpectedMinimumTimestampExclusive()) { + return nil, RiverError( + Err_BAD_BLOCK, + "Expected header timestamp to occur after minimum time", + ).Func("NewMiniblockInfoFromProto"). + Tag("headerTimestamp", blockHeader.Timestamp.AsTime()). + Tag("minimumTimeExclusive", opts.GetExpectedMinimumTimestampExclusive()) + } + + if opts.HasExpectedPrevSnapshotMiniblockNum() && + blockHeader.GetPrevSnapshotMiniblockNum() != opts.GetExpectedPrevSnapshotMiniblockNum() { + return nil, RiverError( + Err_BAD_BLOCK, + "Previous snapshot miniblock num did not match expected", + ).Func("NewMiniblockInfoFromProto"). + Tag("expectedPrevSnapshotMiniblockNum", opts.GetExpectedPrevSnapshotMiniblockNum()). + Tag("prevSnapshotMiniblockNum", blockHeader.PrevSnapshotMiniblockNum) + } + + // TODO: snapshot validation if requested + // (How to think about versioning?) return &MiniblockInfo{ Ref: &MiniblockRef{ @@ -233,17 +416,17 @@ func NewMiniblockInfoFromProto(pb *Miniblock, opts NewMiniblockInfoFromProtoOpts }, nil } -func NewMiniblocksInfoFromProtos(pbs []*Miniblock, opts NewMiniblockInfoFromProtoOpts) ([]*MiniblockInfo, error) { +func NewMiniblocksInfoFromProtos(pbs []*Miniblock, opts *ParsedMiniblockInfoOpts) ([]*MiniblockInfo, error) { var err error mbs := make([]*MiniblockInfo, len(pbs)) for i, pb := range pbs { o := opts - if o.ExpectedBlockNumber >= 0 { - o.ExpectedBlockNumber += int64(i) - } mbs[i], err = NewMiniblockInfoFromProto(pb, o) + if o.HasExpectedBlockNumber() { + o.WithExpectedBlockNumber(o.GetExpectedBlockNumber() + 1) + } if err != nil { - return nil, err + return nil, AsRiverError(err, Err_BAD_BLOCK).Func("NewMiniblockInfoFromProtos").Tag("ithBlock", i) } } return mbs, nil diff --git a/core/node/events/miniblock_producer.go b/core/node/events/miniblock_producer.go index 5d9ff49206..0c2c4bc92e 100644 --- a/core/node/events/miniblock_producer.go +++ b/core/node/events/miniblock_producer.go @@ -456,7 +456,7 @@ func mbProduceCandidate( return nil, replicated, RiverError(Err_INTERNAL, "mbProduceCandidate: stream is not local") } - mbInfo, err := mbProduceCandiate_Make(ctx, params, view, forceSnapshot, remoteNodes) + mbInfo, err := mbProduceCandidate_Make(ctx, params, view, forceSnapshot, remoteNodes) if err != nil { return nil, replicated, err } @@ -464,7 +464,7 @@ func mbProduceCandidate( return nil, replicated, nil } - err = mbProduceCandiate_Save(ctx, params, stream.streamId, mbInfo, remoteNodes) + err = mbProduceCandidate_Save(ctx, params, stream.streamId, mbInfo, remoteNodes) if err != nil { return nil, replicated, err } @@ -472,7 +472,7 @@ func mbProduceCandidate( return mbInfo, replicated, nil } -func mbProduceCandiate_Make( +func mbProduceCandidate_Make( ctx context.Context, params *StreamCacheParams, view *streamViewImpl, @@ -543,14 +543,14 @@ func mbProduceCandiate_Make( return mbInfo, nil } -func mbProduceCandiate_Save( +func mbProduceCandidate_Save( ctx context.Context, params *StreamCacheParams, streamId StreamId, mbInfo *MiniblockInfo, remoteNodes []common.Address, ) error { - qp := NewQuorumPool("method", "mbProduceCandiate_Save", "streamId", streamId, "miniblock", mbInfo.Ref) + qp := NewQuorumPool("method", "mbProduceCandidate_Save", "streamId", streamId, "miniblock", mbInfo.Ref) qp.GoLocal(ctx, func(ctx context.Context) error { miniblockBytes, err := mbInfo.ToBytes() diff --git a/core/node/events/notifications_stream_tracker.go b/core/node/events/notifications_stream_tracker.go index 63df16e1cd..aa3cfa6718 100644 --- a/core/node/events/notifications_stream_tracker.go +++ b/core/node/events/notifications_stream_tracker.go @@ -5,6 +5,7 @@ import ( mapset "github.com/deckarep/golang-set/v2" "github.com/ethereum/go-ethereum/common" + "github.com/river-build/river/core/node/crypto" . "github.com/river-build/river/core/node/protocol" "github.com/river-build/river/core/node/shared" @@ -90,7 +91,7 @@ func (ts *TrackedNotificationStreamView) ApplyBlock( miniblock *Miniblock, cfg *crypto.OnChainSettings, ) error { - mb, err := NewMiniblockInfoFromProto(miniblock, NewMiniblockInfoFromProtoOpts{ExpectedBlockNumber: -1}) + mb, err := NewMiniblockInfoFromProto(miniblock, NewParsedMiniblockInfoOpts()) if err != nil { return err } diff --git a/core/node/events/parsed_event.go b/core/node/events/parsed_event.go index 0037abd1fc..026d7f9648 100644 --- a/core/node/events/parsed_event.go +++ b/core/node/events/parsed_event.go @@ -132,7 +132,9 @@ func ParseEvents(events []*Envelope) ([]*ParsedEvent, error) { for i, event := range events { parsedEvent, err := ParseEvent(event) if err != nil { - return nil, err + return nil, AsRiverError(err, Err_BAD_EVENT). + Tag("CorruptEventIndex", i). + Func("ParseEvents") } parsedEvents[i] = parsedEvent } diff --git a/core/node/events/stream.go b/core/node/events/stream.go index 0322d2f26b..557b81d9ac 100644 --- a/core/node/events/stream.go +++ b/core/node/events/stream.go @@ -946,7 +946,7 @@ func (s *streamImpl) getStatus() *streamImplStatus { func (s *streamImpl) SaveMiniblockCandidate(ctx context.Context, mb *Miniblock) error { mbInfo, err := NewMiniblockInfoFromProto( mb, - NewMiniblockInfoFromProtoOpts{ExpectedBlockNumber: -1}, + NewParsedMiniblockInfoOpts(), ) if err != nil { return err diff --git a/core/node/events/stream_sync_task.go b/core/node/events/stream_sync_task.go index 9b19411252..c4fd7d8e06 100644 --- a/core/node/events/stream_sync_task.go +++ b/core/node/events/stream_sync_task.go @@ -115,9 +115,10 @@ func (s *streamCacheImpl) syncStreamFromSinglePeer( mbs := make([]*MiniblockInfo, len(mbProtos)) for i, mbProto := range mbProtos { - mb, err := NewMiniblockInfoFromProto(mbProto, NewMiniblockInfoFromProtoOpts{ - ExpectedBlockNumber: currentFromInclusive + int64(i), - }) + mb, err := NewMiniblockInfoFromProto( + mbProto, + NewParsedMiniblockInfoOpts().WithExpectedBlockNumber(currentFromInclusive+int64(i)), + ) if err != nil { return currentFromInclusive, err } diff --git a/core/node/events/stream_test.go b/core/node/events/stream_test.go index ae0e8a717f..3ea8de24b0 100644 --- a/core/node/events/stream_test.go +++ b/core/node/events/stream_test.go @@ -34,7 +34,7 @@ func MakeGenesisMiniblockForSpaceStream( mbInfo, err := NewMiniblockInfoFromProto( mb, - NewMiniblockInfoFromProtoOpts{ExpectedBlockNumber: 0, DontParseEvents: true}, + NewParsedMiniblockInfoOpts().WithExpectedBlockNumber(0).WithDoNotParseEvents(true), ) require.NoError(t, err) return mbInfo @@ -58,7 +58,7 @@ func MakeGenesisMiniblockForUserSettingsStream( mbInfo, err := NewMiniblockInfoFromProto( mb, - NewMiniblockInfoFromProtoOpts{ExpectedBlockNumber: 0, DontParseEvents: true}, + NewParsedMiniblockInfoOpts().WithExpectedBlockNumber(0).WithDoNotParseEvents(true), ) require.NoError(t, err) @@ -249,7 +249,7 @@ func TestCandidatePromotionCandidateInPlace(t *testing.T) { addEventToStream(t, ctx, tt.instances[0].params, stream, "2", view.LastBlock().Ref) remotes, _ := stream.GetRemotesAndIsLocal() - proposal, err := mbProduceCandiate_Make( + proposal, err := mbProduceCandidate_Make( ctx, tt.instances[0].params, getView(t, ctx, stream), @@ -302,7 +302,7 @@ func TestCandidatePromotionCandidateIsDelayed(t *testing.T) { view = getView(t, ctx, stream) require.Equal(2, view.minipool.size()) - proposal1, err := mbProduceCandiate_Make(ctx, params, view, false, remotes) + proposal1, err := mbProduceCandidate_Make(ctx, params, view, false, remotes) require.NoError(err) require.NotNil(proposal1) require.Len(proposal1.Events(), 2) @@ -330,7 +330,7 @@ func TestCandidatePromotionCandidateIsDelayed(t *testing.T) { view1 := getView(t, ctx, stream) view1 = addEventToView(t, params, view1, fmt.Sprintf("%d", i+3), view1.LastBlock().Ref) - proposal2, err := mbProduceCandiate_Make(ctx, params, view1, false, remotes) + proposal2, err := mbProduceCandidate_Make(ctx, params, view1, false, remotes) require.NoError(err) require.NotNil(proposal2) require.Equal(int64(i*3+2), proposal2.headerEvent.Event.GetMiniblockHeader().MiniblockNum) @@ -342,7 +342,7 @@ func TestCandidatePromotionCandidateIsDelayed(t *testing.T) { view2 = addEventToView(t, params, view2, "4", view2.LastBlock().Ref) view2 = addEventToView(t, params, view2, "5", view2.LastBlock().Ref) - proposal3, err := mbProduceCandiate_Make(ctx, params, view2, false, remotes) + proposal3, err := mbProduceCandidate_Make(ctx, params, view2, false, remotes) require.NoError(err) require.NotNil(proposal3) require.Equal(int64(i*3+3), proposal3.headerEvent.Event.GetMiniblockHeader().MiniblockNum) @@ -354,7 +354,7 @@ func TestCandidatePromotionCandidateIsDelayed(t *testing.T) { view3 = addEventToView(t, params, view3, "6", view3.LastBlock().Ref) view3 = addEventToView(t, params, view3, "7", view3.LastBlock().Ref) - proposal4, err := mbProduceCandiate_Make(ctx, params, view3, false, remotes) + proposal4, err := mbProduceCandidate_Make(ctx, params, view3, false, remotes) require.NoError(err) require.NotNil(proposal4) require.Equal(int64(i*3+4), proposal4.headerEvent.Event.GetMiniblockHeader().MiniblockNum) diff --git a/core/node/events/stream_view.go b/core/node/events/stream_view.go index da05b472a0..5982e256a1 100644 --- a/core/node/events/stream_view.go +++ b/core/node/events/stream_view.go @@ -139,13 +139,18 @@ func MakeRemoteStreamView(ctx context.Context, stream *StreamAndCookie) (*stream } miniblocks := make([]*MiniblockInfo, len(stream.Miniblocks)) - // +1 below will make it -1 for the first iteration so block number is not enforced. - lastMiniblockNumber := int64(-2) + lastMiniblockNumber := int64(-1) snapshotIndex := 0 for i, binMiniblock := range stream.Miniblocks { + opts := NewParsedMiniblockInfoOpts() + // Ignore block number of first block, but enforce afterwards + if i > 0 { + opts = opts.WithExpectedBlockNumber(lastMiniblockNumber + 1) + } + miniblock, err := NewMiniblockInfoFromProto( binMiniblock, - NewMiniblockInfoFromProtoOpts{ExpectedBlockNumber: lastMiniblockNumber + 1}, + opts, ) if err != nil { return nil, err @@ -331,7 +336,10 @@ func (r *streamViewImpl) makeMiniblockHeader( "event", e.ShortDebugStr(), ) } - updateMlsSnapshotRequest(mlsSnapshotRequest, e) // is it wrong that we're calling this for events in the minipool? + updateMlsSnapshotRequest( + mlsSnapshotRequest, + e, + ) // is it wrong that we're calling this for events in the minipool? } // only attempt to snapshot the MLS state if MLS has been initialized for this stream. @@ -863,4 +871,4 @@ func updateMlsSnapshotRequest(mlsSnapshotRequest *mls_tools.SnapshotExternalGrou default: break } -} \ No newline at end of file +} diff --git a/core/node/mls_service/mls_service.go b/core/node/mls_service/mls_service.go index 3254b27f51..97ef8610a0 100644 --- a/core/node/mls_service/mls_service.go +++ b/core/node/mls_service/mls_service.go @@ -1,6 +1,7 @@ package mls_service /* +#cgo LDFLAGS: -lmls_lib #include #include diff --git a/core/node/rpc/add_event.go b/core/node/rpc/add_event.go index cc624f04d2..0267dd7d0d 100644 --- a/core/node/rpc/add_event.go +++ b/core/node/rpc/add_event.go @@ -66,6 +66,7 @@ func (s *Service) addParsedEvent( canAddEvent, verifications, sideEffects, err := rules.CanAddEvent( ctx, + *s.config, s.chainConfig, s.nodeRegistry.GetValidNodeAddresses(), time.Now(), diff --git a/core/node/rpc/archiver.go b/core/node/rpc/archiver.go index cb8c8da37b..e73b2ad5f6 100644 --- a/core/node/rpc/archiver.go +++ b/core/node/rpc/archiver.go @@ -383,10 +383,9 @@ func (a *Archiver) ArchiveStream(ctx context.Context, stream *ArchiveStream) err // Parse header info, err := events.NewMiniblockInfoFromProto( mb, - events.NewMiniblockInfoFromProtoOpts{ - ExpectedBlockNumber: int64(i) + mbsInDb, - DontParseEvents: true, - }, + events.NewParsedMiniblockInfoOpts(). + WithExpectedBlockNumber(int64(i)+mbsInDb). + WithDoNotParseEvents(true), ) if err != nil { return err diff --git a/core/node/rpc/archiver_test.go b/core/node/rpc/archiver_test.go index 8242c6285e..0aeb2ef4c2 100644 --- a/core/node/rpc/archiver_test.go +++ b/core/node/rpc/archiver_test.go @@ -182,10 +182,9 @@ func compareStreamMiniblocks( for i, mb := range miniblocks { info, err := events.NewMiniblockInfoFromBytesWithOpts( mb, - events.NewMiniblockInfoFromProtoOpts{ - ExpectedBlockNumber: int64(i), - DontParseEvents: true, - }, + events.NewParsedMiniblockInfoOpts(). + WithExpectedBlockNumber(int64(i)). + WithDoNotParseEvents(true), ) if err != nil { return err diff --git a/core/node/rpc/scrub_test.go b/core/node/rpc/membership_scrub_test.go similarity index 99% rename from core/node/rpc/scrub_test.go rename to core/node/rpc/membership_scrub_test.go index d20500fd1d..8e8e8ebef5 100644 --- a/core/node/rpc/scrub_test.go +++ b/core/node/rpc/membership_scrub_test.go @@ -239,7 +239,7 @@ func TestScrubStreamTaskProcessor(t *testing.T) { }, scrubberMaker: func(ctx context.Context, s *Service) events.Scrubber { eventAdder = NewObservingEventAdder(s) - return scrub.NewStreamScrubTasksProcessor( + return scrub.NewStreamMembershipScrubTasksProcessor( s.serverCtx, s.cache, eventAdder, diff --git a/core/node/rpc/miniblock_scrub_test.go b/core/node/rpc/miniblock_scrub_test.go new file mode 100644 index 0000000000..1fd2d4f6df --- /dev/null +++ b/core/node/rpc/miniblock_scrub_test.go @@ -0,0 +1,581 @@ +package rpc + +import ( + "context" + "testing" + "time" + + "connectrpc.com/connect" + "github.com/ethereum/go-ethereum/common" + "github.com/stretchr/testify/require" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" + + "github.com/river-build/river/core/node/crypto" + "github.com/river-build/river/core/node/events" + "github.com/river-build/river/core/node/protocol" + "github.com/river-build/river/core/node/protocol/protocolconnect" + "github.com/river-build/river/core/node/scrub" + . "github.com/river-build/river/core/node/shared" + "github.com/river-build/river/core/node/storage" + "github.com/river-build/river/core/node/testutils" +) + +func addMessageToChannel( + ctx context.Context, + client protocolconnect.StreamServiceClient, + wallet *crypto.Wallet, + text string, + channelId StreamId, + channelHash *MiniblockRef, + require *require.Assertions, +) { + message, err := events.MakeEnvelopeWithPayload( + wallet, + events.Make_ChannelPayload_Message(text), + channelHash, + ) + require.NoError(err) + + _, err = client.AddEvent( + ctx, + connect.NewRequest( + &protocol.AddEventRequest{ + StreamId: channelId[:], + Event: message, + }, + ), + ) + require.NoError(err) +} + +func TestMiniblockScrubber(t *testing.T) { + tester := newServiceTester(t, serviceTesterOpts{numNodes: 1, start: true}) + reports := make(chan *scrub.MiniblockScrubReport) + client := tester.testClient(0) + + ctx := tester.ctx + require := tester.require + + scrubber := scrub.NewMiniblockScrubber( + tester.nodes[0].service.Storage(), + 1, + reports, + ) + defer close(reports) + defer scrubber.Close() + + wallet, _ := crypto.NewWallet(ctx) + + resuser, _, err := createUser(ctx, wallet, client, nil) + require.NoError(err) + require.NotNil(resuser) + userStreamId, err := StreamIdFromBytes(resuser.StreamId) + require.NoError(err) + + // Miniblock scrub of user stream succeeds and report matches latest state of + // the stream. + require.NoError(scrubber.ScheduleStreamMiniblocksScrub(ctx, userStreamId, 0)) + report := <-reports + require.Equal(userStreamId, report.StreamId) + require.NoError(report.ScrubError) + require.Equal(resuser.MinipoolGen-1, report.LatestBlockScrubbed) + require.Equal(int64(-1), report.FirstCorruptBlock) + + _, _, err = createUserMetadataStream(ctx, wallet, client, nil) + require.NoError(err) + + spaceId := testutils.FakeStreamId(STREAM_SPACE_BIN) + space, _, err := createSpace(ctx, wallet, client, spaceId, nil) + require.NoError(err) + require.NotNil(space) + + channelId := testutils.FakeStreamId(STREAM_CHANNEL_BIN) + channel, channelHash, err := createChannel( + ctx, + wallet, + client, + spaceId, + channelId, + &protocol.StreamSettings{DisableMiniblockCreation: true}, // manually control miniblock creation + ) + require.NoError(err) + require.NotNil(channel) + b0ref, err := makeMiniblock(ctx, client, channelId, false, -1) + require.NoError(err) + require.Equal(int64(0), b0ref.Num) + + wallet2, _ := crypto.NewWallet(ctx) + createUserAndAddToChannel(require, ctx, client, wallet2, spaceId, channelId) + addMessageToChannel(ctx, client, wallet, "hi!", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet2, "hello!", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet, "hey how are you?", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet2, "another message", channelId, channelHash, require) + + b1ref, err := makeMiniblock(ctx, client, channelId, true, 0) + require.NoError(err) + require.Equal(int64(1), b1ref.Num) + + addMessageToChannel(ctx, client, wallet, "hi!", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet2, "hello!", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet, "hey how are you?", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet2, "another message", channelId, channelHash, require) + + b2ref, err := makeMiniblock(ctx, client, channelId, false, 0) + require.NoError(err) + require.Equal(int64(2), b2ref.Num) + + // Miniblock scrub of channel + require.NoError(scrubber.ScheduleStreamMiniblocksScrub(ctx, channelId, 0)) + report = <-reports + + require.Equal(channelId, report.StreamId) + require.NoError(report.ScrubError) + require.Equal(int64(2), report.LatestBlockScrubbed) + require.Equal(int64(-1), report.FirstCorruptBlock) + + // Starting at any miniblock number should produce the same report. + require.NoError(scrubber.ScheduleStreamMiniblocksScrub(ctx, channelId, 1)) + report = <-reports + + require.Equal(channelId, report.StreamId) + require.NoError(report.ScrubError) + require.Equal(int64(2), report.LatestBlockScrubbed) + require.Equal(int64(-1), report.FirstCorruptBlock) + + require.NoError(scrubber.ScheduleStreamMiniblocksScrub(ctx, channelId, 2)) + report = <-reports + + require.Equal(channelId, report.StreamId) + require.NoError(report.ScrubError) + require.Equal(int64(2), report.LatestBlockScrubbed) + require.Equal(int64(-1), report.FirstCorruptBlock) + + // Reading with a start block past the stream length produces an error + require.ErrorContains( + scrubber.ScheduleStreamMiniblocksScrub(ctx, channelId, 3), + "Miniblock has not caught up to fromBlockNum", + ) +} + +func createMultiblockChannelStream( + ctx context.Context, + require *require.Assertions, + client protocolconnect.StreamServiceClient, + store storage.StreamStorage, +) ( + streamId StreamId, + mb1 *events.MiniblockInfo, + blocks [][]byte, +) { + wallet, _ := crypto.NewWallet(ctx) + + resuser, _, err := createUser(ctx, wallet, client, nil) + require.NoError(err) + require.NotNil(resuser) + _, err = StreamIdFromBytes(resuser.StreamId) + require.NoError(err) + + _, _, err = createUserMetadataStream(ctx, wallet, client, nil) + require.NoError(err) + + spaceId := testutils.FakeStreamId(STREAM_SPACE_BIN) + space, _, err := createSpace(ctx, wallet, client, spaceId, nil) + require.NoError(err) + require.NotNil(space) + + channelId := testutils.FakeStreamId(STREAM_CHANNEL_BIN) + channel, channelHash, err := createChannel( + ctx, + wallet, + client, + spaceId, + channelId, + &protocol.StreamSettings{DisableMiniblockCreation: true}, // manually control miniblock creation + ) + require.NoError(err) + require.NotNil(channel) + b0ref, err := makeMiniblock(ctx, client, channelId, false, -1) + require.NoError(err) + require.Equal(int64(0), b0ref.Num) + + wallet2, _ := crypto.NewWallet(ctx) + createUserAndAddToChannel(require, ctx, client, wallet2, spaceId, channelId) + addMessageToChannel(ctx, client, wallet, "hi!", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet2, "hello!", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet, "hey how are you?", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet2, "another message", channelId, channelHash, require) + + b1ref, err := makeMiniblock(ctx, client, channelId, true, 0) + require.NoError(err) + require.Equal(int64(1), b1ref.Num) + + addMessageToChannel(ctx, client, wallet, "hi!", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet2, "hello!", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet, "hey how are you?", channelId, channelHash, require) + addMessageToChannel(ctx, client, wallet2, "another message", channelId, channelHash, require) + + b2ref, err := makeMiniblock(ctx, client, channelId, false, 0) + require.NoError(err) + require.Equal(int64(2), b2ref.Num) + + blocks, err = store.ReadMiniblocks(ctx, channelId, 0, 3) + require.NoError(err) + require.Len(blocks, 3) + + require.NoError(store.(*storage.PostgresStreamStore).DeleteStream(ctx, channelId)) + + mb1, err = events.NewMiniblockInfoFromBytes(blocks[1], 1) + require.NoError(err) + require.NotNil(mb1) + + return channelId, mb1, blocks +} + +func writeStreamBackToStore( + ctx context.Context, + require *require.Assertions, + client protocolconnect.StreamServiceClient, + store storage.StreamStorage, + streamId StreamId, + mb1 *events.MiniblockInfo, + blocks [][]byte, +) { + mb2, err := events.NewMiniblockInfoFromBytes(blocks[2], 2) + require.NoError(err) + require.NotNil(mb2) + + // Re-write the stream with corrupt block 1 + require.NoError(store.CreateStreamStorage(ctx, streamId, blocks[0])) + require.NoError( + store.WriteMiniblocks( + ctx, + streamId, + []*storage.WriteMiniblockData{ + { + Number: 1, + Hash: mb1.Ref.Hash, + Snapshot: mb1.IsSnapshot(), + Data: blocks[1], + }, + { + Number: 2, + Hash: mb2.Ref.Hash, + Snapshot: mb2.IsSnapshot(), + Data: blocks[2], + }, + }, + 3, + [][]byte{}, + 1, + 0, + ), + ) +} + +func invalidateBlockHeaderEventLength(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte { + // Pop a couple of events from block 1 to invalidate the event hashes in the + // header. + var pb protocol.Miniblock + err := proto.Unmarshal(block, &pb) + require.NoError(err) + pb.Events = pb.Events[0 : len(pb.Events)-2] + block, err = proto.Marshal(&pb) + require.NoError(err) + return block +} + +func invalidateEventHash(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte { + var pb protocol.Miniblock + err := proto.Unmarshal(block, &pb) + require.NoError(err) + // Corrupt the event hash + pb.Events[0].Hash[0] = 'a' + pb.Events[0].Hash[1] = 'a' + pb.Events[0].Hash[2] = 'a' + block, err = proto.Marshal(&pb) + require.NoError(err) + return block +} + +func invalidateBlockHeaderType(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte { + var pb protocol.Miniblock + err := proto.Unmarshal(block, &pb) + require.NoError(err) + + // Header event wrong type + pb.Header = pb.Events[0] + + block, err = proto.Marshal(&pb) + require.NoError(err) + return block +} + +func invalidateMiniblockUnparsable(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte { + return []byte("invalid_miniblock") +} + +func invalidateBlockNumber(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte { + var pb protocol.Miniblock + err := proto.Unmarshal(block, &pb) + require.NoError(err) + + headerEvent, err := events.ParseEvent(pb.Header) + require.NoError(err) + blockHeader := headerEvent.Event.GetMiniblockHeader() + + // Wrong block number + blockHeader.MiniblockNum = 2 + + // Re-sign and re-hash header event + mb0Ref := MiniblockRef{ + Hash: common.Hash(blockHeader.PrevMiniblockHash), + Num: 0, + } + modStreamEvent, err := events.MakeStreamEvent( + wallet, + &protocol.StreamEvent_MiniblockHeader{MiniblockHeader: blockHeader}, + &mb0Ref, + ) + require.NoError(err) + modHeaderEvent, err := events.MakeEnvelopeWithEvent(wallet, modStreamEvent) + require.NoError(err) + pb.Header = modHeaderEvent + + // Return updated bytes + block, err = proto.Marshal(&pb) + require.NoError(err) + return block +} + +func mismatchEventHash(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte { + var pb protocol.Miniblock + err := proto.Unmarshal(block, &pb) + require.NoError(err) + + // Block events now does not match header events + pb.Events[0] = pb.Events[1] + + block, err = proto.Marshal(&pb) + require.NoError(err) + return block +} + +func invalidatePrevMiniblockHash(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte { + var pb protocol.Miniblock + err := proto.Unmarshal(block, &pb) + require.NoError(err) + + headerEvent, err := events.ParseEvent(pb.Header) + require.NoError(err) + blockHeader := headerEvent.Event.GetMiniblockHeader() + + // Wrong previous miniblock hash + blockHeader.PrevMiniblockHash = []byte("1234567890abcdef1234567890abcdef") + + // Re-sign and re-hash header event + mb0Ref := MiniblockRef{ + Hash: common.Hash(blockHeader.PrevMiniblockHash), + Num: 0, + } + modStreamEvent, err := events.MakeStreamEvent( + wallet, + &protocol.StreamEvent_MiniblockHeader{MiniblockHeader: blockHeader}, + &mb0Ref, + ) + require.NoError(err) + modHeaderEvent, err := events.MakeEnvelopeWithEvent(wallet, modStreamEvent) + require.NoError(err) + pb.Header = modHeaderEvent + + // Return updated bytes + block, err = proto.Marshal(&pb) + require.NoError(err) + return block +} + +func invalidateEventNumOffset(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte { + var pb protocol.Miniblock + err := proto.Unmarshal(block, &pb) + require.NoError(err) + + headerEvent, err := events.ParseEvent(pb.Header) + require.NoError(err) + blockHeader := headerEvent.Event.GetMiniblockHeader() + + // Wrong event num offset + blockHeader.EventNumOffset = 11 + + // Re-sign and re-hash header event + mb0Ref := MiniblockRef{ + Hash: common.Hash(blockHeader.PrevMiniblockHash), + Num: 0, + } + modStreamEvent, err := events.MakeStreamEvent( + wallet, + &protocol.StreamEvent_MiniblockHeader{MiniblockHeader: blockHeader}, + &mb0Ref, + ) + require.NoError(err) + modHeaderEvent, err := events.MakeEnvelopeWithEvent(wallet, modStreamEvent) + require.NoError(err) + pb.Header = modHeaderEvent + + // Return updated bytes + block, err = proto.Marshal(&pb) + require.NoError(err) + return block +} + +func invalidateBlockTimestamp(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte { + var pb protocol.Miniblock + err := proto.Unmarshal(block, &pb) + require.NoError(err) + + headerEvent, err := events.ParseEvent(pb.Header) + require.NoError(err) + blockHeader := headerEvent.Event.GetMiniblockHeader() + + // Bad timestamp (from yesterday) + badTimestamp := time.Now().AddDate(0, 0, -1).Unix() + blockHeader.Timestamp = ×tamppb.Timestamp{ + Seconds: badTimestamp, + Nanos: 0, + } + + // Re-sign and re-hash header event + mb0Ref := MiniblockRef{ + Hash: common.Hash(blockHeader.PrevMiniblockHash), + Num: 0, + } + modStreamEvent, err := events.MakeStreamEvent( + wallet, + &protocol.StreamEvent_MiniblockHeader{MiniblockHeader: blockHeader}, + &mb0Ref, + ) + require.NoError(err) + modHeaderEvent, err := events.MakeEnvelopeWithEvent(wallet, modStreamEvent) + require.NoError(err) + pb.Header = modHeaderEvent + + // Return updated bytes + block, err = proto.Marshal(&pb) + require.NoError(err) + return block +} + +func invalidatePrevSnapshotBlockNum(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte { + var pb protocol.Miniblock + err := proto.Unmarshal(block, &pb) + require.NoError(err) + + headerEvent, err := events.ParseEvent(pb.Header) + require.NoError(err) + blockHeader := headerEvent.Event.GetMiniblockHeader() + + // Invalid + blockHeader.PrevSnapshotMiniblockNum = 11 + + // Re-sign and re-hash header event + mb0Ref := MiniblockRef{ + Hash: common.Hash(blockHeader.PrevMiniblockHash), + Num: 0, + } + modStreamEvent, err := events.MakeStreamEvent( + wallet, + &protocol.StreamEvent_MiniblockHeader{MiniblockHeader: blockHeader}, + &mb0Ref, + ) + require.NoError(err) + modHeaderEvent, err := events.MakeEnvelopeWithEvent(wallet, modStreamEvent) + require.NoError(err) + pb.Header = modHeaderEvent + + // Return updated bytes + block, err = proto.Marshal(&pb) + require.NoError(err) + return block +} + +func TestMiniblockScrubber_CorruptBlocks(t *testing.T) { + tests := map[string]struct { + corruptBlock func(require *require.Assertions, wallet *crypto.Wallet, block []byte) []byte + expectedErr string + }{ + "Bad header event length": { + corruptBlock: invalidateBlockHeaderEventLength, + expectedErr: "(38:BAD_BLOCK) Length of events in block does not match length of event hashes in header", + }, + "Invalid event hash in block": { + corruptBlock: invalidateEventHash, + expectedErr: "(35:BAD_EVENT_HASH) Bad hash provided", + }, + "Invalid header event type": { + corruptBlock: invalidateBlockHeaderType, + expectedErr: "(26:BAD_EVENT) Header event must be a block header", + }, + "Unparsable miniblock": { + corruptBlock: invalidateMiniblockUnparsable, + expectedErr: "(3:INVALID_ARGUMENT) Failed to decode miniblock from bytes", + }, + "Invalid block number": { + corruptBlock: invalidateBlockNumber, + expectedErr: "(40:BAD_BLOCK_NUMBER) block number does not equal expected", + }, + "Mismatched event hash": { + corruptBlock: mismatchEventHash, + expectedErr: "(38:BAD_BLOCK) Block event hash did not match hash in header", + }, + "Invalid previous miniblock hash": { + corruptBlock: invalidatePrevMiniblockHash, + expectedErr: "(38:BAD_BLOCK) Last miniblock hash does not equal expected", + }, + "Invalid eventNumOffset": { + corruptBlock: invalidateEventNumOffset, + expectedErr: "(38:BAD_BLOCK) Miniblock header eventNumOffset does not equal expected", + }, + "Invalid block timestamp": { + corruptBlock: invalidateBlockTimestamp, + expectedErr: "(38:BAD_BLOCK) Expected header timestamp to occur after minimum time", + }, + "Bad previous snapshot miniblock number": { + corruptBlock: invalidatePrevSnapshotBlockNum, + expectedErr: "(38:BAD_BLOCK) Previous snapshot miniblock num did not match expected", + }, + } + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + tester := newServiceTester(t, serviceTesterOpts{numNodes: 1, start: true}) + reports := make(chan *scrub.MiniblockScrubReport) + client := tester.testClient(0) + + ctx := tester.ctx + require := tester.require + store := tester.nodes[0].service.storage + + scrubber := scrub.NewMiniblockScrubber( + tester.nodes[0].service.Storage(), + 1, + reports, + ) + defer close(reports) + defer scrubber.Close() + + channelId, mb1, blocks := createMultiblockChannelStream(ctx, require, client, store) + + // Corrupt block 1 + blocks[1] = tc.corruptBlock(require, tester.nodes[0].service.wallet, blocks[1]) + + writeStreamBackToStore(ctx, require, client, store, channelId, mb1, blocks) + + // Start at block 0. We will evaluate block 1 as corrupt and report it as so. + require.NoError(scrubber.ScheduleStreamMiniblocksScrub(ctx, channelId, 0)) + report := <-reports + + require.Equal(channelId, report.StreamId) + require.ErrorContains(report.ScrubError, tc.expectedErr) + require.Equal(int64(0), report.LatestBlockScrubbed) + require.Equal(int64(1), report.FirstCorruptBlock) + }) + } +} diff --git a/core/node/rpc/server.go b/core/node/rpc/server.go index 30540f740d..ba174bf102 100644 --- a/core/node/rpc/server.go +++ b/core/node/rpc/server.go @@ -666,7 +666,7 @@ func (s *Service) initCacheAndSync(opts *ServerStartOpts) error { if opts != nil && opts.ScrubberMaker != nil { cacheParams.Scrubber = opts.ScrubberMaker(s.serverCtx, s) } else { - cacheParams.Scrubber = scrub.NewStreamScrubTasksProcessor( + cacheParams.Scrubber = scrub.NewStreamMembershipScrubTasksProcessor( s.serverCtx, s.cache, s, diff --git a/core/node/rpc/tester_test.go b/core/node/rpc/tester_test.go index 4374cfa1b9..01c16a75ec 100644 --- a/core/node/rpc/tester_test.go +++ b/core/node/rpc/tester_test.go @@ -885,9 +885,10 @@ func (tc *testClient) getMiniblocks(streamId StreamId, fromInclusive, toExclusiv ToExclusive: toExclusive, })) tc.require.NoError(err) - mbs, err := NewMiniblocksInfoFromProtos(resp.Msg.Miniblocks, NewMiniblockInfoFromProtoOpts{ - ExpectedBlockNumber: fromInclusive, - }) + mbs, err := NewMiniblocksInfoFromProtos( + resp.Msg.Miniblocks, + NewParsedMiniblockInfoOpts().WithExpectedBlockNumber(fromInclusive), + ) tc.require.NoError(err) return mbs } diff --git a/core/node/rules/can_add_event.go b/core/node/rules/can_add_event.go index e24cb1778f..0646496938 100644 --- a/core/node/rules/can_add_event.go +++ b/core/node/rules/can_add_event.go @@ -10,6 +10,7 @@ import ( "google.golang.org/protobuf/proto" + "github.com/river-build/river/core/config" "github.com/river-build/river/core/node/crypto" "github.com/river-build/river/core/node/mls_service" "github.com/river-build/river/core/node/mls_service/mls_tools" @@ -30,7 +31,8 @@ import ( type aeParams struct { ctx context.Context - cfg crypto.OnChainConfiguration + config config.Config + chainConfig crypto.OnChainConfiguration mediaMaxChunkSize int streamMembershipLimit int validNodeAddresses []common.Address @@ -168,6 +170,7 @@ type aeHideUserJoinLeaveEventsWrapperRules struct { */ func CanAddEvent( ctx context.Context, + config config.Config, chainConfig crypto.OnChainConfiguration, validNodeAddresses []common.Address, currentTime time.Time, @@ -205,7 +208,8 @@ func CanAddEvent( ru := &aeParams{ ctx: ctx, - cfg: chainConfig, + config: config, + chainConfig: chainConfig, mediaMaxChunkSize: int(settings.MediaMaxChunkSize), streamMembershipLimit: int(settings.MembershipLimits.ForType(streamView.StreamId().Type())), validNodeAddresses: validNodeAddresses, @@ -594,6 +598,10 @@ func (params *aeParams) canAddMemberPayload(payload *StreamEvent_MemberPayload) check(ru.validMemberBlockchainTransaction_IsUnique). check(ru.validMemberBlockchainTransaction_ReceiptMetadata) case *MemberPayload_Mls_: + if !params.config.EnableMls { + return aeBuilder(). + fail(RiverError(Err_INVALID_ARGUMENT, "mls disabled globally")) + } return params.canAddMlsPayload(content.Mls) case *MemberPayload_EncryptionAlgorithm_: diff --git a/core/node/scrub/miniblock_scrub_task.go b/core/node/scrub/miniblock_scrub_task.go new file mode 100644 index 0000000000..24c5e668da --- /dev/null +++ b/core/node/scrub/miniblock_scrub_task.go @@ -0,0 +1,257 @@ +package scrub + +import ( + "context" + "fmt" + + "github.com/ethereum/go-ethereum/common" + "github.com/gammazero/workerpool" + + "github.com/river-build/river/core/node/base" + "github.com/river-build/river/core/node/events" + "github.com/river-build/river/core/node/protocol" + "github.com/river-build/river/core/node/shared" + "github.com/river-build/river/core/node/storage" +) + +type MiniblockScrubber interface { + ScheduleStreamMiniblocksScrub( + ctx context.Context, + streamId shared.StreamId, + fromBlockNum int64, + ) error + Close() +} + +type miniblockScrubTaskProcessorImpl struct { + store storage.StreamStorage + workerPool workerpool.WorkerPool + reports chan *MiniblockScrubReport +} + +var _ MiniblockScrubber = (*miniblockScrubTaskProcessorImpl)(nil) + +type MiniblockScrubReport struct { + StreamId shared.StreamId + LatestBlockScrubbed int64 // -1 if no blocks scrubbed + FirstCorruptBlock int64 // -1 if no blocks corrupt + ScrubError error +} + +func newErrorReport(streamId shared.StreamId, scrubErr error, errorBlock int64) *MiniblockScrubReport { + return &MiniblockScrubReport{ + StreamId: streamId, + LatestBlockScrubbed: errorBlock - 1, + FirstCorruptBlock: -1, + ScrubError: scrubErr, + } +} + +func newCorruptStreamReport(streamId shared.StreamId, scrubErr error, errorBlock int64) *MiniblockScrubReport { + return &MiniblockScrubReport{ + StreamId: streamId, + LatestBlockScrubbed: errorBlock - 1, + FirstCorruptBlock: errorBlock, + ScrubError: scrubErr, + } +} + +func newSuccessReport(streamId shared.StreamId, latestBlockScrubbed int64) *MiniblockScrubReport { + return &MiniblockScrubReport{ + StreamId: streamId, + LatestBlockScrubbed: latestBlockScrubbed, + FirstCorruptBlock: -1, + } +} + +func NewMiniblockScrubber( + store storage.StreamStorage, + numWorkers int, + reports chan *MiniblockScrubReport, +) MiniblockScrubber { + if numWorkers <= 0 { + numWorkers = 100 + } + return &miniblockScrubTaskProcessorImpl{ + store: store, + reports: reports, + workerPool: *workerpool.New(numWorkers), + } +} + +// Close releases all miniblockScrubTaskProcessorImpl resources. It blocks until +// all go routines are stopped. +func (m *miniblockScrubTaskProcessorImpl) Close() { + done := make(chan bool) + + go func() { + m.workerPool.Stop() + close(done) + }() + + // Drain the reports queue so that the workerpool close is unblocked. (After + // the task processor is closed, we do not expect the remaining reports + // to be valuable to the consumer.) + for { + select { + case <-m.reports: + continue + case <-done: + return + } + } +} + +var maxBlocksPerScan = 100 + +func optsFromPrevMiniblock(prevMb *events.MiniblockInfo) *events.ParsedMiniblockInfoOpts { + expectedPrevSnapshotNum := prevMb.Header().PrevSnapshotMiniblockNum + if prevMb.Header().Snapshot != nil { + expectedPrevSnapshotNum = prevMb.Header().MiniblockNum + } + + return events.NewParsedMiniblockInfoOpts(). + WithExpectedBlockNumber(prevMb.Header().MiniblockNum + 1). + WithExpectedPrevMiniblockHash(prevMb.Ref.Hash). + WithExpectedEventNumOffset(prevMb.Header().EventNumOffset + int64(len(prevMb.Events())+1)). + WithExpectedMinimumTimestampExclusive(prevMb.Header().Timestamp.AsTime()). + WithExpectedPrevSnapshotMiniblockNum(expectedPrevSnapshotNum) +} + +func (m *miniblockScrubTaskProcessorImpl) scrubMiniblocks( + ctx context.Context, + streamId shared.StreamId, + fromBlockNumInclusive int64, +) *MiniblockScrubReport { + blockNum := fromBlockNumInclusive + latest, err := m.store.GetLastMiniblockNumber(ctx, streamId) + if err != nil { + return newErrorReport( + streamId, + base.AsRiverError(err, protocol.Err_DB_OPERATION_FAILURE). + Message("Unable to get last miniblock number for stream"). + Tag("streamId", streamId). + Tag("fromBlockNum", fromBlockNumInclusive), + blockNum, + ) + } + + // Initialize miniblock options based on previous miniblock state + // If the miniblock is block 0, an empty options is fine. + opts := events.NewParsedMiniblockInfoOpts() + if blockNum > 0 { + prevBlock, err := m.store.ReadMiniblocks(ctx, streamId, blockNum-1, blockNum) + if err != nil || len(prevBlock) < 1 { + if len(prevBlock) < 1 { + err = fmt.Errorf("previous miniblock was not available") + } + + return newErrorReport( + streamId, + base.AsRiverError(err, protocol.Err_DB_OPERATION_FAILURE). + Message("Unable to read previous miniblock for stream"). + Tag("streamId", streamId). + Tag("fromBlockNum", fromBlockNumInclusive). + Tag("prevBlock", blockNum-1), + blockNum, + ) + } + + prevMb, err := events.NewMiniblockInfoFromBytes(prevBlock[0], blockNum-1) + if err != nil { + // Don't return a corruption error here because the previous block is outside + // of the range we were given to check. + return newErrorReport( + streamId, + base.AsRiverError(err, protocol.Err_BAD_BLOCK). + Message("Unable to parse previous miniblock for stream"). + Tag("streamId", streamId). + Tag("fromBlockNum", fromBlockNumInclusive). + Tag("prevBlock", blockNum-1), + blockNum, + ) + } + + opts = optsFromPrevMiniblock(prevMb) + } else { + opts = opts. + WithExpectedBlockNumber(0). + WithExpectedEventNumOffset(0). + WithExpectedPrevMiniblockHash(common.Hash{}). + WithExpectedPrevSnapshotMiniblockNum(0) + } + + for blockNum <= latest { + toExclusive := min(blockNum+int64(maxBlocksPerScan), latest+1) + blocks, err := m.store.ReadMiniblocks(ctx, streamId, blockNum, toExclusive) + if err != nil { + return newErrorReport( + streamId, + base.AsRiverError(err, protocol.Err_DB_OPERATION_FAILURE). + Message("Unable to read miniblocks for stream"). + Tag("streamId", streamId). + Tag("fromInclusive", blockNum). + Tag("toExclusive", blockNum+int64(maxBlocksPerScan)), + blockNum, + ) + } + + if len(blocks) == 0 { + return newErrorReport( + streamId, + base.RiverError( + protocol.Err_DB_OPERATION_FAILURE, + "Unable to read latest miniblocks"). + Tag("lastAvailableBlockNum", blockNum-1). + Tag("latestBlockNum", latest), + blockNum, + ) + } + + for offset, block := range blocks { + mbInfo, err := events.NewMiniblockInfoFromBytesWithOpts(block, opts) + if err != nil { + err = base.AsRiverError(err, protocol.Err_DB_OPERATION_FAILURE). + Message("Failed to validate miniblock"). + Tag("streamId", streamId). + Tag("miniblockNum", blockNum+int64(offset)) + return newCorruptStreamReport(streamId, err, blockNum+int64(offset)) + } + opts = optsFromPrevMiniblock(mbInfo) + } + blockNum = blockNum + int64(len(blocks)) + } + + return newSuccessReport(streamId, latest) +} + +func (m *miniblockScrubTaskProcessorImpl) ScheduleStreamMiniblocksScrub( + ctx context.Context, + streamId shared.StreamId, + fromBlockNum int64, +) error { + latest, err := m.store.GetLastMiniblockNumber(ctx, streamId) + if err != nil { + return base.AsRiverError(err, protocol.Err_DB_OPERATION_FAILURE). + Func("ScheduleStreamMiniblockScrub"). + Message("Unable to fetch latest miniblock number of stream"). + Tag("streamId", streamId). + Tag("fromBlockNum", fromBlockNum) + } + + if latest < fromBlockNum { + return base.RiverError(protocol.Err_MINIBLOCK_TOO_NEW, "Miniblock has not caught up to fromBlockNum"). + Func("ScheduleStreamMiniblockScrub"). + Tag("streamId", streamId). + Tag("fromBlockNum", fromBlockNum). + Tag("latest", latest) + } + + m.workerPool.Submit( + func() { + m.reports <- m.scrubMiniblocks(ctx, streamId, fromBlockNum) + }, + ) + + return nil +} diff --git a/core/node/scrub/stream_scrub_task.go b/core/node/scrub/stream_membership_scrub_task.go similarity index 85% rename from core/node/scrub/stream_scrub_task.go rename to core/node/scrub/stream_membership_scrub_task.go index aeeb712c17..9afafc0314 100644 --- a/core/node/scrub/stream_scrub_task.go +++ b/core/node/scrub/stream_membership_scrub_task.go @@ -24,7 +24,7 @@ type EventAdder interface { AddEventPayload(ctx context.Context, streamId StreamId, payload IsStreamEvent_Payload) error } -type streamScrubTaskProcessorImpl struct { +type streamMembershipScrubTaskProcessorImpl struct { ctx context.Context pendingTasks *xsync.MapOf[StreamId, bool] workerPool *workerpool.WorkerPool @@ -41,9 +41,9 @@ type streamScrubTaskProcessorImpl struct { scrubQueueLength prometheus.GaugeFunc } -var _ events.Scrubber = (*streamScrubTaskProcessorImpl)(nil) +var _ events.Scrubber = (*streamMembershipScrubTaskProcessorImpl)(nil) -func NewStreamScrubTasksProcessor( +func NewStreamMembershipScrubTasksProcessor( ctx context.Context, cache events.StreamCache, eventAdder EventAdder, @@ -51,8 +51,8 @@ func NewStreamScrubTasksProcessor( cfg *config.Config, metrics infra.MetricsFactory, tracer trace.Tracer, -) *streamScrubTaskProcessorImpl { - proc := &streamScrubTaskProcessorImpl{ +) *streamMembershipScrubTaskProcessorImpl { + proc := &streamMembershipScrubTaskProcessorImpl{ ctx: ctx, cache: cache, pendingTasks: xsync.NewMapOf[StreamId, bool](), @@ -97,10 +97,10 @@ func NewStreamScrubTasksProcessor( return proc } -// processMember checks the individual member for entitlement and attempts to boot them if +// processMemberImpl checks the individual member for entitlement and attempts to boot them if // they no longer meet entitlement requirements. This method returns an error for the sake // of annotating the telemetry span, but in practice it is not used by the caller. -func (tp *streamScrubTaskProcessorImpl) processMemberImpl( +func (tp *streamMembershipScrubTaskProcessorImpl) processMemberImpl( ctx context.Context, channelId StreamId, member string, @@ -154,7 +154,7 @@ func (tp *streamScrubTaskProcessorImpl) processMemberImpl( spaceId, ) - err = tp.eventAdder.AddEventPayload( + if err = tp.eventAdder.AddEventPayload( ctx, userStreamId, events.Make_UserPayload_Membership( @@ -163,18 +163,19 @@ func (tp *streamScrubTaskProcessorImpl) processMemberImpl( &member, spaceId[:], ), - ) - if err != nil { + ); err != nil { return err } + // If userBoots diverges from entitlementLosses, we know that some users did lose their + // entitlements but the server was unable to boot them. tp.userBoots.Inc() } return nil } -func (tp *streamScrubTaskProcessorImpl) processMember( +func (tp *streamMembershipScrubTaskProcessorImpl) processMembership( ctx context.Context, channelId StreamId, member string, @@ -207,7 +208,7 @@ func (tp *streamScrubTaskProcessorImpl) processMember( } } -func (tp *streamScrubTaskProcessorImpl) processTask(streamID StreamId) { +func (tp *streamMembershipScrubTaskProcessorImpl) processStream(streamID StreamId) { ctx := tp.ctx var span trace.Span @@ -219,7 +220,7 @@ func (tp *streamScrubTaskProcessorImpl) processTask(streamID StreamId) { defer span.End() } - err := tp.processTaskImpl(ctx, streamID) + err := tp.processStreamImpl(ctx, streamID) if err != nil { dlog.FromCtx(ctx).Warn("Failed to scrub stream", "streamId", streamID, "error", err) } @@ -236,7 +237,7 @@ func (tp *streamScrubTaskProcessorImpl) processTask(streamID StreamId) { tp.streamsScrubbed.Inc() } -func (tp *streamScrubTaskProcessorImpl) processTaskImpl( +func (tp *streamMembershipScrubTaskProcessorImpl) processStreamImpl( ctx context.Context, streamId StreamId, ) error { @@ -268,16 +269,16 @@ func (tp *streamScrubTaskProcessorImpl) processTaskImpl( } for member := range members.Iter() { - tp.processMember(ctx, streamId, member) + tp.processMembership(ctx, streamId, member) } return nil } -func (tp *streamScrubTaskProcessorImpl) Scrub(channelId StreamId) bool { +func (tp *streamMembershipScrubTaskProcessorImpl) Scrub(channelId StreamId) bool { _, wasScheduled := tp.pendingTasks.LoadOrCompute(channelId, func() bool { tp.workerPool.Submit(func() { - tp.processTask(channelId) + tp.processStream(channelId) tp.pendingTasks.Delete(channelId) }) return true diff --git a/packages/generated/dev/abis/Architect.json b/packages/generated/dev/abis/Architect.json index d86c39af11..f8317a7614 100644 --- a/packages/generated/dev/abis/Architect.json +++ b/packages/generated/dev/abis/Architect.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"__Architect_init","inputs":[{"name":"ownerImplementation","type":"address","internalType":"contract ISpaceOwner"},{"name":"userEntitlementImplementation","type":"address","internalType":"contract IUserEntitlement"},{"name":"ruleEntitlementImplementation","type":"address","internalType":"contract IRuleEntitlementV2"},{"name":"legacyRuleEntitlement","type":"address","internalType":"contract IRuleEntitlement"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getProxyInitializer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceProxyInitializer"}],"stateMutability":"view"},{"type":"function","name":"getSpaceArchitectImplementations","inputs":[],"outputs":[{"name":"spaceToken","type":"address","internalType":"contract ISpaceOwner"},{"name":"userEntitlementImplementation","type":"address","internalType":"contract IUserEntitlement"},{"name":"ruleEntitlementImplementation","type":"address","internalType":"contract IRuleEntitlementV2"},{"name":"legacyRuleEntitlement","type":"address","internalType":"contract IRuleEntitlement"}],"stateMutability":"view"},{"type":"function","name":"getSpaceByTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTokenIdBySpace","inputs":[{"name":"space","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setProxyInitializer","inputs":[{"name":"proxyInitializer","type":"address","internalType":"contract ISpaceProxyInitializer"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceArchitectImplementations","inputs":[{"name":"spaceToken","type":"address","internalType":"contract ISpaceOwner"},{"name":"userEntitlementImplementation","type":"address","internalType":"contract IUserEntitlement"},{"name":"ruleEntitlementImplementation","type":"address","internalType":"contract IRuleEntitlementV2"},{"name":"legacyRuleEntitlement","type":"address","internalType":"contract IRuleEntitlement"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Architect__ProxyInitializerSet","inputs":[{"name":"proxyInitializer","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PermissionsAddedToChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PermissionsRemovedFromChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PermissionsUpdatedForChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PricingModuleAdded","inputs":[{"name":"module","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PricingModuleRemoved","inputs":[{"name":"module","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PricingModuleUpdated","inputs":[{"name":"module","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleCreated","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleRemoved","inputs":[{"name":"remover","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleUpdated","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SpaceCreated","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"space","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"Architect__InvalidAddress","inputs":[]},{"type":"error","name":"Architect__InvalidNetworkId","inputs":[]},{"type":"error","name":"Architect__InvalidPricingModule","inputs":[]},{"type":"error","name":"Architect__InvalidStringLength","inputs":[]},{"type":"error","name":"Architect__NotContract","inputs":[]},{"type":"error","name":"Factory__FailedDeployment","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"InvalidPricingModule","inputs":[{"name":"module","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]},{"type":"error","name":"Pausable__NotPaused","inputs":[]},{"type":"error","name":"Pausable__Paused","inputs":[]},{"type":"error","name":"Reentrancy","inputs":[]},{"type":"error","name":"Roles__EntitlementAlreadyExists","inputs":[]},{"type":"error","name":"Roles__EntitlementDoesNotExist","inputs":[]},{"type":"error","name":"Roles__InvalidEntitlementAddress","inputs":[]},{"type":"error","name":"Roles__InvalidPermission","inputs":[]},{"type":"error","name":"Roles__PermissionAlreadyExists","inputs":[]},{"type":"error","name":"Roles__PermissionDoesNotExist","inputs":[]},{"type":"error","name":"Roles__RoleDoesNotExist","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001961001e565b6100c4565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff161561006a576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156100c157805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b610649806100d36000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636bd837f41161005b5780636bd837f414610102578063c0bc67961461010a578063cd7242b81461012b578063e6907c9d1461013e57600080fd5b80631a424b6614610082578063545efb2d14610097578063673f0dd5146100d7575b600080fd5b6100956100903660046105b0565b610151565b005b61009f6101ad565b604080516001600160a01b03958616815293851660208501529184169183019190915290911660608201526080015b60405180910390f35b6100ea6100e536600461060c565b610265565b6040516001600160a01b0390911681526020016100ce565b6100ea6102a3565b61011d610118366004610625565b6102db565b6040519081526020016100ce565b6100956101393660046105b0565b610318565b61009561014c366004610625565b610369565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661019b57604051630ef4733760e31b815260040160405180910390fd5b6101a7848484846103c1565b50505050565b6000806000806102577f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d01547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d02547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d05546001600160a01b03938416949284169391821692911690565b935093509350935090919293565b60008181527f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f000260205260408120546001600160a01b03165b92915050565b60006102d67f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d06546001600160a01b031690565b905090565b6001600160a01b03811660009081527f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f0001602052604081205461029d565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b0316331461019b576040516365f4906560e01b81523360048201526024015b60405180910390fd5b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031633146103b5576040516365f4906560e01b8152336004820152602401610360565b6103be8161050e565b50565b836001600160a01b03163b6000036103ec576040516302f3d00b60e01b815260040160405180910390fd5b826001600160a01b03163b600003610417576040516302f3d00b60e01b815260040160405180910390fd5b816001600160a01b03163b600003610442576040516302f3d00b60e01b815260040160405180910390fd5b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0080546001600160a01b03199081166001600160a01b03968716179091557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0180548216948616949094179093557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0280548416928516929092179091557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0580549092169216919091179055565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0680546001600160a01b0319166001600160a01b0383169081179091556040517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0091907f50d234a64b07fd5931eedf717c2eca7f76ef13920a1330cc774176dbf9c66b3e90600090a25050565b6001600160a01b03811681146103be57600080fd5b600080600080608085870312156105c657600080fd5b84356105d18161059b565b935060208501356105e18161059b565b925060408501356105f18161059b565b915060608501356106018161059b565b939692955090935050565b60006020828403121561061e57600080fd5b5035919050565b60006020828403121561063757600080fd5b81356106428161059b565b939250505056","sourceMap":"1002:2487:166:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;1002:2487:166;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;1002:2487:166;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80636bd837f41161005b5780636bd837f414610102578063c0bc67961461010a578063cd7242b81461012b578063e6907c9d1461013e57600080fd5b80631a424b6614610082578063545efb2d14610097578063673f0dd5146100d7575b600080fd5b6100956100903660046105b0565b610151565b005b61009f6101ad565b604080516001600160a01b03958616815293851660208501529184169183019190915290911660608201526080015b60405180910390f35b6100ea6100e536600461060c565b610265565b6040516001600160a01b0390911681526020016100ce565b6100ea6102a3565b61011d610118366004610625565b6102db565b6040519081526020016100ce565b6100956101393660046105b0565b610318565b61009561014c366004610625565b610369565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661019b57604051630ef4733760e31b815260040160405180910390fd5b6101a7848484846103c1565b50505050565b6000806000806102577f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d01547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d02547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d05546001600160a01b03938416949284169391821692911690565b935093509350935090919293565b60008181527f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f000260205260408120546001600160a01b03165b92915050565b60006102d67f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d06546001600160a01b031690565b905090565b6001600160a01b03811660009081527f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f0001602052604081205461029d565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b0316331461019b576040516365f4906560e01b81523360048201526024015b60405180910390fd5b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031633146103b5576040516365f4906560e01b8152336004820152602401610360565b6103be8161050e565b50565b836001600160a01b03163b6000036103ec576040516302f3d00b60e01b815260040160405180910390fd5b826001600160a01b03163b600003610417576040516302f3d00b60e01b815260040160405180910390fd5b816001600160a01b03163b600003610442576040516302f3d00b60e01b815260040160405180910390fd5b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0080546001600160a01b03199081166001600160a01b03968716179091557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0180548216948616949094179093557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0280548416928516929092179091557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0580549092169216919091179055565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0680546001600160a01b0319166001600160a01b0383169081179091556040517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0091907f50d234a64b07fd5931eedf717c2eca7f76ef13920a1330cc774176dbf9c66b3e90600090a25050565b6001600160a01b03811681146103be57600080fd5b600080600080608085870312156105c657600080fd5b84356105d18161059b565b935060208501356105e18161059b565b925060408501356105f18161059b565b915060608501356106018161059b565b939692955090935050565b60006020828403121561061e57600080fd5b5035919050565b60006020828403121561063757600080fd5b81356106428161059b565b939250505056","sourceMap":"1002:2487:166:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1117:409;;;;;;:::i;:::-;;:::i;:::-;;2649:312;;;:::i;:::-;;;;-1:-1:-1;;;;;1380:15:654;;;1362:34;;1432:15;;;1427:2;1412:18;;1405:43;1484:15;;;1464:18;;;1457:43;;;;1536:15;;;1531:2;1516:18;;1509:43;1311:3;1296:19;2649:312:166;;;;;;;;1732:121;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1912:32:654;;;1894:51;;1882:2;1867:18;1732:121:166;1748:203:654;3176:132:166;;;:::i;1886:117::-;;;;;;:::i;:::-;;:::i;:::-;;;2607:25:654;;;2595:2;2580:18;1886:117:166;2461:177:654;2216:400:166;;;;;;:::i;:::-;;:::i;3341:146::-;;;;;;:::i;:::-;;:::i;1117:409::-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;1366:155:166::1;1393:19;1420:29;1457;1494:21;1366:19;:155::i;:::-;1117:409:::0;;;;:::o;2649:312::-;2735:22;2765:46;2819:48;2875:38;2935:21;961:66:170;8121:13:167;8142:18;;8168;;8194:24;;-1:-1:-1;;;;;8121:13:167;;;;8142:18;;;;8168;;;;8194:24;;;7761:468;2935:21:166;2928:28;;;;;;;;2649:312;;;;:::o;1732:121::-;1799:7;3145:49:167;;;:40;:49;;;;;;-1:-1:-1;;;;;3145:49:167;1821:27:166;1814:34;1732:121;-1:-1:-1;;1732:121:166:o;3176:132::-;3242:22;3281;8520:47:167;;-1:-1:-1;;;;;8520:47:167;;8414:158;3281:22:166;3274:29;;3176:132;:::o;1886:117::-;-1:-1:-1;;;;;2999:47:167;;1951:7:166;2999:47:167;;;:40;:47;;;;;;1973:25:166;2911:140:167;2216:400:166;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;1894:51:654;1867:18;;318:29:564;;;;;;;;3341:146:166;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;1894:51:654;1867:18;;318:29:564;1748:203:654;275:79:564;3444:38:166::1;3465:16;3444:20;:38::i;:::-;3341:146:::0;:::o;7052:705:167:-;7262:10;-1:-1:-1;;;;;7254:31:167;;7289:1;7254:36;7250:73;;7299:24;;-1:-1:-1;;;7299:24:167;;;;;;;;;;;7250:73;7341:15;-1:-1:-1;;;;;7333:36:167;;7373:1;7333:41;7329:84;;7389:24;;-1:-1:-1;;;7389:24:167;;;;;;;;;;;7329:84;7431:15;-1:-1:-1;;;;;7423:36:167;;7463:1;7423:41;7419:84;;7479:24;;-1:-1:-1;;;7479:24:167;;;;;;;;;;;7419:84;961:66:170;7588:26:167;;-1:-1:-1;;;;;;7588:26:167;;;-1:-1:-1;;;;;7588:26:167;;;;;;;7620:18;:36;;;;;;;;;;;;;;7662:18;:36;;;;;;;;;;;;;;7704:24;:48;;;;;;;;;;;;;7052:705::o;8576:284::-;8748:19;:38;;-1:-1:-1;;;;;;8748:38:167;-1:-1:-1;;;;;8748:38:167;;;;;;;;8798:57;;961:66:170;;8748:38:167;8798:57;;-1:-1:-1;;8798:57:167;8664:196;8576:284;:::o;14:144:654:-;-1:-1:-1;;;;;102:31:654;;92:42;;82:70;;148:1;145;138:12;163:824;350:6;358;366;374;427:3;415:9;406:7;402:23;398:33;395:53;;;444:1;441;434:12;395:53;483:9;470:23;502:44;540:5;502:44;:::i;:::-;565:5;-1:-1:-1;622:2:654;607:18;;594:32;635:46;594:32;635:46;:::i;:::-;700:7;-1:-1:-1;759:2:654;744:18;;731:32;772:46;731:32;772:46;:::i;:::-;837:7;-1:-1:-1;896:2:654;881:18;;868:32;909:46;868:32;909:46;:::i;:::-;163:824;;;;-1:-1:-1;163:824:654;;-1:-1:-1;;163:824:654:o;1563:180::-;1622:6;1675:2;1663:9;1654:7;1650:23;1646:32;1643:52;;;1691:1;1688;1681:12;1643:52;-1:-1:-1;1714:23:654;;1563:180;-1:-1:-1;1563:180:654:o;2196:260::-;2255:6;2308:2;2296:9;2287:7;2283:23;2279:32;2276:52;;;2324:1;2321;2314:12;2276:52;2363:9;2350:23;2382:44;2420:5;2382:44;:::i;:::-;2445:5;2196:260;-1:-1:-1;;;2196:260:654:o","linkReferences":{}},"methodIdentifiers":{"__Architect_init(address,address,address,address)":"1a424b66","getProxyInitializer()":"6bd837f4","getSpaceArchitectImplementations()":"545efb2d","getSpaceByTokenId(uint256)":"673f0dd5","getTokenIdBySpace(address)":"c0bc6796","setProxyInitializer(address)":"e6907c9d","setSpaceArchitectImplementations(address,address,address,address)":"cd7242b8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Architect__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__InvalidNetworkId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__InvalidPricingModule\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__InvalidStringLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__NotContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Factory__FailedDeployment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"InvalidPricingModule\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__NotPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__Paused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Reentrancy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__EntitlementAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__EntitlementDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__InvalidEntitlementAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__InvalidPermission\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__PermissionAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__PermissionDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__RoleDoesNotExist\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proxyInitializer\",\"type\":\"address\"}],\"name\":\"Architect__ProxyInitializerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsAddedToChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsRemovedFromChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsUpdatedForChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"PricingModuleAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"PricingModuleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"PricingModuleUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"remover\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"SpaceCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract ISpaceOwner\",\"name\":\"ownerImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IUserEntitlement\",\"name\":\"userEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlementV2\",\"name\":\"ruleEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlement\",\"name\":\"legacyRuleEntitlement\",\"type\":\"address\"}],\"name\":\"__Architect_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProxyInitializer\",\"outputs\":[{\"internalType\":\"contract ISpaceProxyInitializer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSpaceArchitectImplementations\",\"outputs\":[{\"internalType\":\"contract ISpaceOwner\",\"name\":\"spaceToken\",\"type\":\"address\"},{\"internalType\":\"contract IUserEntitlement\",\"name\":\"userEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlementV2\",\"name\":\"ruleEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlement\",\"name\":\"legacyRuleEntitlement\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getSpaceByTokenId\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"getTokenIdBySpace\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISpaceProxyInitializer\",\"name\":\"proxyInitializer\",\"type\":\"address\"}],\"name\":\"setProxyInitializer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISpaceOwner\",\"name\":\"spaceToken\",\"type\":\"address\"},{\"internalType\":\"contract IUserEntitlement\",\"name\":\"userEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlementV2\",\"name\":\"ruleEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlement\",\"name\":\"legacyRuleEntitlement\",\"type\":\"address\"}],\"name\":\"setSpaceArchitectImplementations\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Reentrancy()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"},\"PermissionsAddedToChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"PermissionsRemovedFromChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"PermissionsUpdatedForChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"RoleCreated(address,uint256)\":{\"params\":{\"creator\":\"Address of the role creator\",\"roleId\":\"Unique identifier of the created role\"}},\"RoleRemoved(address,uint256)\":{\"params\":{\"remover\":\"Address of the role remover\",\"roleId\":\"Unique identifier of the removed role\"}},\"RoleUpdated(address,uint256)\":{\"params\":{\"roleId\":\"Unique identifier of the updated role\",\"updater\":\"Address of the role updater\"}}},\"kind\":\"dev\",\"methods\":{\"getProxyInitializer()\":{\"returns\":{\"_0\":\"The address of the current ISpaceProxyInitializer contract\"}},\"setProxyInitializer(address)\":{\"details\":\"This function should only be callable by the contract owner or authorized roles\",\"params\":{\"proxyInitializer\":\"The address of the new ISpaceProxyInitializer contract to be set\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"Roles__EntitlementAlreadyExists()\":[{\"notice\":\"Error thrown when an entitlement already exists\"}],\"Roles__EntitlementDoesNotExist()\":[{\"notice\":\"Error thrown when an entitlement does not exist\"}],\"Roles__InvalidEntitlementAddress()\":[{\"notice\":\"Error thrown when an invalid entitlement address is provided\"}],\"Roles__InvalidPermission()\":[{\"notice\":\"Error thrown when an invalid permission is provided\"}],\"Roles__PermissionAlreadyExists()\":[{\"notice\":\"Error thrown when a permission already exists\"}],\"Roles__PermissionDoesNotExist()\":[{\"notice\":\"Error thrown when a permission does not exist\"}],\"Roles__RoleDoesNotExist()\":[{\"notice\":\"Error thrown when a role does not exist\"}]},\"events\":{\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"},\"PermissionsAddedToChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are added to a channel role\"},\"PermissionsRemovedFromChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are removed from a channel role\"},\"PermissionsUpdatedForChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are updated for a channel role\"},\"RoleCreated(address,uint256)\":{\"notice\":\"Emitted when a new role is created\"},\"RoleRemoved(address,uint256)\":{\"notice\":\"Emitted when a role is removed\"},\"RoleUpdated(address,uint256)\":{\"notice\":\"Emitted when a role is updated\"}},\"kind\":\"user\",\"methods\":{\"getProxyInitializer()\":{\"notice\":\"Retrieves the current proxy initializer\"},\"setProxyInitializer(address)\":{\"notice\":\"Sets a new proxy initializer\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/factory/facets/architect/Architect.sol\":\"Architect\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol\":{\"keccak256\":\"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d\",\"dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh\"]},\"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol\":{\"keccak256\":\"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615\",\"dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol\":{\"keccak256\":\"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba\",\"dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol\":{\"keccak256\":\"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04\",\"dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey\"]},\"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol\":{\"keccak256\":\"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d\",\"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz\"]},\"contracts/src/factory/facets/architect/Architect.sol\":{\"keccak256\":\"0xc4700b4645f4ed25a0ec537f82aabf2e8d53791af9245f87ae48943f61ec1f92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b89ecb4a9008f9486b2cf5668ad8690902d006851d30c540c43bbe05d3dfa122\",\"dweb:/ipfs/QmR9bUyLoF5rACLAcyZiXzwT5ibxoxgyi79YBNLd9m66wo\"]},\"contracts/src/factory/facets/architect/ArchitectBase.sol\":{\"keccak256\":\"0xd48f324bb9a2c5131582c2d9a12f4f69871c14ec28189d2312c88ba3ad773d10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://407e6053a10460f048840f7e57c2665aa9d3d13b858024ae021af8e877ec6546\",\"dweb:/ipfs/QmfMtBAhByM6mhesHDCi7CC1sBxevA1T35YHa8SzYHq7xs\"]},\"contracts/src/factory/facets/architect/ArchitectStorage.sol\":{\"keccak256\":\"0xc62e53da3472373306030cd9bb5621f895b5ebbab23ab5d03311c237fe3fb19c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bc61d6591c8c621fa635c988cdf10716037a0cbaed5fac650ed77af6c7d8561\",\"dweb:/ipfs/QmVwXUiJppdHAU5STPsZjFFGqFNosjyxP5R2NJQSp3yTsd\"]},\"contracts/src/factory/facets/architect/IArchitect.sol\":{\"keccak256\":\"0x5d790cabaad08df5dda57b8055dbf21ed103bd10ad0e4d684a0e690f9c240a24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ff954eb61db93e8b7b58d542f73d75b2e9ee856896a07d436bbc8101b4e9aea\",\"dweb:/ipfs/QmdgzSC3JooGsWA6BTgyXQU7YA6byFFLuVkyZqs7mEgRCm\"]},\"contracts/src/factory/facets/architect/ImplementationStorage.sol\":{\"keccak256\":\"0x439caf29eb65f4b17dac2976e530112d6a8c35242bc39861796b631d6c1aee94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dabd06aceeb34fe9b5931d0468bd35d80ec6900f35b1bb375187ad84e917d66\",\"dweb:/ipfs/QmdqduCPXcmmTEme4YjNbNz48uB1nQkARRusai8BnEXJ4f\"]},\"contracts/src/factory/facets/architect/pricing/IPricingModules.sol\":{\"keccak256\":\"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786\",\"dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm\"]},\"contracts/src/factory/facets/architect/pricing/PricingModulesBase.sol\":{\"keccak256\":\"0x5853efe27bcebe135c4925110690ea9e8d6de1d69789f5f7c5511fb41f124488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7c48c477ddfb70e519fee1e53fc9f368f343dd8be5b981a16a0b84ac4017686\",\"dweb:/ipfs/QmZQsD8F9maUG5MECF7rYrwPM448bRQxohzow7TpTzCe1o\"]},\"contracts/src/factory/facets/architect/pricing/PricingModulesStorage.sol\":{\"keccak256\":\"0x88ecfde80e4a4efc905356f55462300868a8d181fca835b0f18d55e85481c2d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60e4e031c4aca8c85e225960db2faa03783d6b0632e2151dae32302652b90834\",\"dweb:/ipfs/Qmee4HJEx982dgTX6pYYnZUDPUgPHW55ZYZT1FZdShs69T\"]},\"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol\":{\"keccak256\":\"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86\",\"dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT\"]},\"contracts/src/factory/facets/registry/IImplementationRegistry.sol\":{\"keccak256\":\"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c\",\"dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA\"]},\"contracts/src/factory/facets/wallet-link/IWalletLink.sol\":{\"keccak256\":\"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d\",\"dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC\"]},\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol\":{\"keccak256\":\"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4\",\"dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2\"]},\"contracts/src/spaces/entitlements/user/IUserEntitlement.sol\":{\"keccak256\":\"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a\",\"dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx\"]},\"contracts/src/spaces/facets/Permissions.sol\":{\"keccak256\":\"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634\",\"dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x\"]},\"contracts/src/spaces/facets/channels/IChannel.sol\":{\"keccak256\":\"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9\",\"dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA\"]},\"contracts/src/spaces/facets/entitlements/IEntitlementsManager.sol\":{\"keccak256\":\"0x3a706517df398a51e19fac4a3c1987886605b8a8fdff319dbe8acc8efb786d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ba8da65886f17602bad12eac53f57079321b88030d77be1437d5a77b51b7763\",\"dweb:/ipfs/QmZWdoM6Drtd9XaPJ8UxBQLSSrqBPViE5UvukDw3i7rah3\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol\":{\"keccak256\":\"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df\",\"dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol\":{\"keccak256\":\"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3\",\"dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo\"]},\"contracts/src/spaces/facets/gated/IEntitlementGated.sol\":{\"keccak256\":\"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec\",\"dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT\"]},\"contracts/src/spaces/facets/membership/IMembership.sol\":{\"keccak256\":\"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6\",\"dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84\"]},\"contracts/src/spaces/facets/membership/MembershipBase.sol\":{\"keccak256\":\"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2\",\"dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC\"]},\"contracts/src/spaces/facets/membership/MembershipStorage.sol\":{\"keccak256\":\"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd\",\"dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa\"]},\"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol\":{\"keccak256\":\"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc\",\"dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF\"]},\"contracts/src/spaces/facets/owner/ISpaceOwner.sol\":{\"keccak256\":\"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a\",\"dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw\"]},\"contracts/src/spaces/facets/prepay/IPrepay.sol\":{\"keccak256\":\"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15\",\"dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT\"]},\"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol\":{\"keccak256\":\"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769\",\"dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW\"]},\"contracts/src/spaces/facets/proxy/SpaceProxy.sol\":{\"keccak256\":\"0xb256760835f86cf32d8a751cfab2ffe98e6494a537b17c24050a84ed8db0b55d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ee71adbe1d4a118975cca2bd23be460261f8264131260cf8e7c60a2a6ffae88\",\"dweb:/ipfs/QmXtzdxnSayBQ3kMLzGUeWzymd2pkxXSkjJzEv2oDUm8iR\"]},\"contracts/src/spaces/facets/proxy/SpaceProxyInitializer.sol\":{\"keccak256\":\"0x3682360f3370ec23af23befa812da3c7cd4ca1ab49b05c5df41df727c04051b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://864b46283502de65c86518358539cd77a1950c3a28690a440072ebabd936a3e3\",\"dweb:/ipfs/QmWUmKgCqmEZaGadCan9hwv9SUJou23xRfvcpuZVR6xLXp\"]},\"contracts/src/spaces/facets/roles/IRoles.sol\":{\"keccak256\":\"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed\",\"dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3\"]},\"contracts/src/utils/Factory.sol\":{\"keccak256\":\"0xb85beb5f8320a8a1e860690391d9b34187570c6f22e586b662fcf131f8b24e4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9bfdf5d51b2d9e4c0b74248281fbcc0bd62201421f05539f3fa4673ae909e5c\",\"dweb:/ipfs/Qmd6JNfs3sRcQxdKS9sfvNsRyLtJU5farA1YvaFULxugF4\"]},\"contracts/src/utils/StringSet.sol\":{\"keccak256\":\"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605\",\"dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu\"]},\"contracts/src/utils/Validator.sol\":{\"keccak256\":\"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3\",\"dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG\"]},\"contracts/src/utils/interfaces/IWETH.sol\":{\"keccak256\":\"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5\",\"dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6\"]},\"contracts/src/utils/libraries/BasisPoints.sol\":{\"keccak256\":\"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e\",\"dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L\"]},\"contracts/src/utils/libraries/CurrencyTransfer.sol\":{\"keccak256\":\"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4\",\"dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr\"]},\"contracts/src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7\",\"dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d\",\"dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875\",\"dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e\",\"dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol\":{\"keccak256\":\"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37\",\"dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol\":{\"keccak256\":\"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711\",\"dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol\":{\"keccak256\":\"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf\",\"dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F\"]},\"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol\":{\"keccak256\":\"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684\",\"dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol\":{\"keccak256\":\"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3\",\"dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol\":{\"keccak256\":\"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd\",\"dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj\"]},\"node_modules/@river-build/diamond/src/proxy/IProxy.sol\":{\"keccak256\":\"0x94506109e5e47fafba65c94f2d74d0c7860e5911fe90fbe3b49817afda3b2145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://969f73c692e96091ef4565e5e7f9d4114ce6d51a619a75f9b1a0703f737e4ceb\",\"dweb:/ipfs/QmbohRzHyVrD36w3b7UdM1jqpPMViSx3DVCHWuXTLkG3bM\"]},\"node_modules/@river-build/diamond/src/proxy/Proxy.sol\":{\"keccak256\":\"0xf11318c1057be9219cf41aa182fcd8c46117c72fea16532f367114058566dbb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce3efbcd31c8a3291500d27933639546f8930afac361536a61f64dc40d117c0\",\"dweb:/ipfs/QmTo2D6WtcvFXAz435CR1JcSygLSSRBeiGzM4FeAgRQdT8\"]},\"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol\":{\"keccak256\":\"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1\",\"dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV\"]},\"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyBase.sol\":{\"keccak256\":\"0x41a4f9d9c94365f9c3838651a538c1b7d957443b56148a10b384583b9cdadc7f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a15904e21dae93676687c5b916ea280b39e9d6e8f30a1ce33e87bb40ea572c5b\",\"dweb:/ipfs/QmUYMT9SSFZgNE66sASzTAnYvLBwhHJB6YZXQCVXJ6vPTx\"]},\"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyStorage.sol\":{\"keccak256\":\"0x2f09ac0009d994e8095003f5a95512b28d008613571861cb0ede96a6af532b1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2160d94085d44c9cae45b051f680a82c865a856e3c7f1ac50c6b6c31243b206\",\"dweb:/ipfs/QmXUzx5RKLmAFKgT1aygcpBmrWS5RzhEZT6fsS8YqdG68J\"]},\"node_modules/@river-build/diamond/src/proxy/manager/IProxyManager.sol\":{\"keccak256\":\"0x827c2e8f933570abed41ccf0dccbf82f9b4a1997fcc773c29bf1234d2c9b6f5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1c3d26d9b1dec8a864f453f151914f2bcf30cbb31c1a3602ac9e8b24f16e47e\",\"dweb:/ipfs/QmUsSGM7mHZZtECoZRTJnZACHymx7jLdpxYsuCNAK8sTxN\"]},\"node_modules/solady/src/utils/LibClone.sol\":{\"keccak256\":\"0x61a00bcf300f7af3850f63de1a6f400629f03652a1f3efa49a17bf6c2272b1df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4c5fc1f3d017372d200803e54167e357402fbacfa40fa7a2c3003c9a5e867ce\",\"dweb:/ipfs/QmTGDqd9wrQH5vCzB9GU9QKwMc955tK89AvfEa9iKJGESw\"]},\"node_modules/solady/src/utils/Multicallable.sol\":{\"keccak256\":\"0xe57db2fda09f92a4b3e68fe6445aac609b868ede70d522a41070167eb7c13e2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://347e573a14849774e062f81a0c24c0ee2359bf06d6954e4b4566ff91e383ca38\",\"dweb:/ipfs/QmYRm2fXSQJtznShtafRTQNqj2hznFKTpuzvfdmbBHfEkj\"]},\"node_modules/solady/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98\",\"dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi\"]},\"node_modules/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c\",\"dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"Architect__InvalidAddress"},{"inputs":[],"type":"error","name":"Architect__InvalidNetworkId"},{"inputs":[],"type":"error","name":"Architect__InvalidPricingModule"},{"inputs":[],"type":"error","name":"Architect__InvalidStringLength"},{"inputs":[],"type":"error","name":"Architect__NotContract"},{"inputs":[],"type":"error","name":"Factory__FailedDeployment"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"type":"error","name":"InvalidPricingModule"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[],"type":"error","name":"Pausable__NotPaused"},{"inputs":[],"type":"error","name":"Pausable__Paused"},{"inputs":[],"type":"error","name":"Reentrancy"},{"inputs":[],"type":"error","name":"Roles__EntitlementAlreadyExists"},{"inputs":[],"type":"error","name":"Roles__EntitlementDoesNotExist"},{"inputs":[],"type":"error","name":"Roles__InvalidEntitlementAddress"},{"inputs":[],"type":"error","name":"Roles__InvalidPermission"},{"inputs":[],"type":"error","name":"Roles__PermissionAlreadyExists"},{"inputs":[],"type":"error","name":"Roles__PermissionDoesNotExist"},{"inputs":[],"type":"error","name":"Roles__RoleDoesNotExist"},{"inputs":[{"internalType":"address","name":"proxyInitializer","type":"address","indexed":true}],"type":"event","name":"Architect__ProxyInitializerSet","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsAddedToChannelRole","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsRemovedFromChannelRole","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsUpdatedForChannelRole","anonymous":false},{"inputs":[{"internalType":"address","name":"module","type":"address","indexed":true}],"type":"event","name":"PricingModuleAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"module","type":"address","indexed":true}],"type":"event","name":"PricingModuleRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"module","type":"address","indexed":true}],"type":"event","name":"PricingModuleUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"remover","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"space","type":"address","indexed":true}],"type":"event","name":"SpaceCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[{"internalType":"contract ISpaceOwner","name":"ownerImplementation","type":"address"},{"internalType":"contract IUserEntitlement","name":"userEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlementV2","name":"ruleEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlement","name":"legacyRuleEntitlement","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"__Architect_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"getProxyInitializer","outputs":[{"internalType":"contract ISpaceProxyInitializer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSpaceArchitectImplementations","outputs":[{"internalType":"contract ISpaceOwner","name":"spaceToken","type":"address"},{"internalType":"contract IUserEntitlement","name":"userEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlementV2","name":"ruleEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlement","name":"legacyRuleEntitlement","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSpaceByTokenId","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"space","type":"address"}],"stateMutability":"view","type":"function","name":"getTokenIdBySpace","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"contract ISpaceProxyInitializer","name":"proxyInitializer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setProxyInitializer"},{"inputs":[{"internalType":"contract ISpaceOwner","name":"spaceToken","type":"address"},{"internalType":"contract IUserEntitlement","name":"userEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlementV2","name":"ruleEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlement","name":"legacyRuleEntitlement","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceArchitectImplementations"}],"devdoc":{"kind":"dev","methods":{"getProxyInitializer()":{"returns":{"_0":"The address of the current ISpaceProxyInitializer contract"}},"setProxyInitializer(address)":{"details":"This function should only be callable by the contract owner or authorized roles","params":{"proxyInitializer":"The address of the new ISpaceProxyInitializer contract to be set"}}},"version":1},"userdoc":{"kind":"user","methods":{"getProxyInitializer()":{"notice":"Retrieves the current proxy initializer"},"setProxyInitializer(address)":{"notice":"Sets a new proxy initializer"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/factory/facets/architect/Architect.sol":"Architect"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol":{"keccak256":"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204","urls":["bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d","dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol":{"keccak256":"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224","urls":["bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615","dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol":{"keccak256":"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62","urls":["bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba","dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol":{"keccak256":"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4","urls":["bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04","dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol":{"keccak256":"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782","urls":["bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d","dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"],"license":"MIT"},"contracts/src/factory/facets/architect/Architect.sol":{"keccak256":"0xc4700b4645f4ed25a0ec537f82aabf2e8d53791af9245f87ae48943f61ec1f92","urls":["bzz-raw://b89ecb4a9008f9486b2cf5668ad8690902d006851d30c540c43bbe05d3dfa122","dweb:/ipfs/QmR9bUyLoF5rACLAcyZiXzwT5ibxoxgyi79YBNLd9m66wo"],"license":"MIT"},"contracts/src/factory/facets/architect/ArchitectBase.sol":{"keccak256":"0xd48f324bb9a2c5131582c2d9a12f4f69871c14ec28189d2312c88ba3ad773d10","urls":["bzz-raw://407e6053a10460f048840f7e57c2665aa9d3d13b858024ae021af8e877ec6546","dweb:/ipfs/QmfMtBAhByM6mhesHDCi7CC1sBxevA1T35YHa8SzYHq7xs"],"license":"MIT"},"contracts/src/factory/facets/architect/ArchitectStorage.sol":{"keccak256":"0xc62e53da3472373306030cd9bb5621f895b5ebbab23ab5d03311c237fe3fb19c","urls":["bzz-raw://1bc61d6591c8c621fa635c988cdf10716037a0cbaed5fac650ed77af6c7d8561","dweb:/ipfs/QmVwXUiJppdHAU5STPsZjFFGqFNosjyxP5R2NJQSp3yTsd"],"license":"MIT"},"contracts/src/factory/facets/architect/IArchitect.sol":{"keccak256":"0x5d790cabaad08df5dda57b8055dbf21ed103bd10ad0e4d684a0e690f9c240a24","urls":["bzz-raw://8ff954eb61db93e8b7b58d542f73d75b2e9ee856896a07d436bbc8101b4e9aea","dweb:/ipfs/QmdgzSC3JooGsWA6BTgyXQU7YA6byFFLuVkyZqs7mEgRCm"],"license":"MIT"},"contracts/src/factory/facets/architect/ImplementationStorage.sol":{"keccak256":"0x439caf29eb65f4b17dac2976e530112d6a8c35242bc39861796b631d6c1aee94","urls":["bzz-raw://9dabd06aceeb34fe9b5931d0468bd35d80ec6900f35b1bb375187ad84e917d66","dweb:/ipfs/QmdqduCPXcmmTEme4YjNbNz48uB1nQkARRusai8BnEXJ4f"],"license":"MIT"},"contracts/src/factory/facets/architect/pricing/IPricingModules.sol":{"keccak256":"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171","urls":["bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786","dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm"],"license":"MIT"},"contracts/src/factory/facets/architect/pricing/PricingModulesBase.sol":{"keccak256":"0x5853efe27bcebe135c4925110690ea9e8d6de1d69789f5f7c5511fb41f124488","urls":["bzz-raw://c7c48c477ddfb70e519fee1e53fc9f368f343dd8be5b981a16a0b84ac4017686","dweb:/ipfs/QmZQsD8F9maUG5MECF7rYrwPM448bRQxohzow7TpTzCe1o"],"license":"MIT"},"contracts/src/factory/facets/architect/pricing/PricingModulesStorage.sol":{"keccak256":"0x88ecfde80e4a4efc905356f55462300868a8d181fca835b0f18d55e85481c2d3","urls":["bzz-raw://60e4e031c4aca8c85e225960db2faa03783d6b0632e2151dae32302652b90834","dweb:/ipfs/Qmee4HJEx982dgTX6pYYnZUDPUgPHW55ZYZT1FZdShs69T"],"license":"MIT"},"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol":{"keccak256":"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6","urls":["bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86","dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT"],"license":"MIT"},"contracts/src/factory/facets/registry/IImplementationRegistry.sol":{"keccak256":"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7","urls":["bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c","dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA"],"license":"MIT"},"contracts/src/factory/facets/wallet-link/IWalletLink.sol":{"keccak256":"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c","urls":["bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d","dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC"],"license":"MIT"},"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol":{"keccak256":"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b","urls":["bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4","dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2"],"license":"MIT"},"contracts/src/spaces/entitlements/user/IUserEntitlement.sol":{"keccak256":"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9","urls":["bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a","dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx"],"license":"MIT"},"contracts/src/spaces/facets/Permissions.sol":{"keccak256":"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e","urls":["bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634","dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x"],"license":"MIT"},"contracts/src/spaces/facets/channels/IChannel.sol":{"keccak256":"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e","urls":["bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9","dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA"],"license":"MIT"},"contracts/src/spaces/facets/entitlements/IEntitlementsManager.sol":{"keccak256":"0x3a706517df398a51e19fac4a3c1987886605b8a8fdff319dbe8acc8efb786d30","urls":["bzz-raw://7ba8da65886f17602bad12eac53f57079321b88030d77be1437d5a77b51b7763","dweb:/ipfs/QmZWdoM6Drtd9XaPJ8UxBQLSSrqBPViE5UvukDw3i7rah3"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol":{"keccak256":"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045","urls":["bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df","dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol":{"keccak256":"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84","urls":["bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3","dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo"],"license":"MIT"},"contracts/src/spaces/facets/gated/IEntitlementGated.sol":{"keccak256":"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74","urls":["bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec","dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT"],"license":"MIT"},"contracts/src/spaces/facets/membership/IMembership.sol":{"keccak256":"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b","urls":["bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6","dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipBase.sol":{"keccak256":"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8","urls":["bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2","dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipStorage.sol":{"keccak256":"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972","urls":["bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd","dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa"],"license":"MIT"},"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol":{"keccak256":"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4","urls":["bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc","dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF"],"license":"MIT"},"contracts/src/spaces/facets/owner/ISpaceOwner.sol":{"keccak256":"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4","urls":["bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a","dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw"],"license":"MIT"},"contracts/src/spaces/facets/prepay/IPrepay.sol":{"keccak256":"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa","urls":["bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15","dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT"],"license":"MIT"},"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol":{"keccak256":"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207","urls":["bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769","dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW"],"license":"MIT"},"contracts/src/spaces/facets/proxy/SpaceProxy.sol":{"keccak256":"0xb256760835f86cf32d8a751cfab2ffe98e6494a537b17c24050a84ed8db0b55d","urls":["bzz-raw://3ee71adbe1d4a118975cca2bd23be460261f8264131260cf8e7c60a2a6ffae88","dweb:/ipfs/QmXtzdxnSayBQ3kMLzGUeWzymd2pkxXSkjJzEv2oDUm8iR"],"license":"MIT"},"contracts/src/spaces/facets/proxy/SpaceProxyInitializer.sol":{"keccak256":"0x3682360f3370ec23af23befa812da3c7cd4ca1ab49b05c5df41df727c04051b3","urls":["bzz-raw://864b46283502de65c86518358539cd77a1950c3a28690a440072ebabd936a3e3","dweb:/ipfs/QmWUmKgCqmEZaGadCan9hwv9SUJou23xRfvcpuZVR6xLXp"],"license":"MIT"},"contracts/src/spaces/facets/roles/IRoles.sol":{"keccak256":"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65","urls":["bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed","dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3"],"license":"MIT"},"contracts/src/utils/Factory.sol":{"keccak256":"0xb85beb5f8320a8a1e860690391d9b34187570c6f22e586b662fcf131f8b24e4c","urls":["bzz-raw://e9bfdf5d51b2d9e4c0b74248281fbcc0bd62201421f05539f3fa4673ae909e5c","dweb:/ipfs/Qmd6JNfs3sRcQxdKS9sfvNsRyLtJU5farA1YvaFULxugF4"],"license":"MIT"},"contracts/src/utils/StringSet.sol":{"keccak256":"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6","urls":["bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605","dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu"],"license":"MIT"},"contracts/src/utils/Validator.sol":{"keccak256":"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f","urls":["bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3","dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG"],"license":"MIT"},"contracts/src/utils/interfaces/IWETH.sol":{"keccak256":"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0","urls":["bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5","dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6"],"license":"MIT"},"contracts/src/utils/libraries/BasisPoints.sol":{"keccak256":"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b","urls":["bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e","dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L"],"license":"MIT"},"contracts/src/utils/libraries/CurrencyTransfer.sol":{"keccak256":"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083","urls":["bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4","dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr"],"license":"MIT"},"contracts/src/utils/libraries/CustomRevert.sol":{"keccak256":"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059","urls":["bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7","dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a","urls":["bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d","dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2","urls":["bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875","dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd","urls":["bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e","dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol":{"keccak256":"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397","urls":["bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37","dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol":{"keccak256":"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83","urls":["bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711","dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol":{"keccak256":"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479","urls":["bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf","dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol":{"keccak256":"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1","urls":["bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684","dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol":{"keccak256":"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0","urls":["bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3","dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol":{"keccak256":"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f","urls":["bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd","dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/IProxy.sol":{"keccak256":"0x94506109e5e47fafba65c94f2d74d0c7860e5911fe90fbe3b49817afda3b2145","urls":["bzz-raw://969f73c692e96091ef4565e5e7f9d4114ce6d51a619a75f9b1a0703f737e4ceb","dweb:/ipfs/QmbohRzHyVrD36w3b7UdM1jqpPMViSx3DVCHWuXTLkG3bM"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/Proxy.sol":{"keccak256":"0xf11318c1057be9219cf41aa182fcd8c46117c72fea16532f367114058566dbb6","urls":["bzz-raw://1ce3efbcd31c8a3291500d27933639546f8930afac361536a61f64dc40d117c0","dweb:/ipfs/QmTo2D6WtcvFXAz435CR1JcSygLSSRBeiGzM4FeAgRQdT8"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol":{"keccak256":"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01","urls":["bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1","dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyBase.sol":{"keccak256":"0x41a4f9d9c94365f9c3838651a538c1b7d957443b56148a10b384583b9cdadc7f","urls":["bzz-raw://a15904e21dae93676687c5b916ea280b39e9d6e8f30a1ce33e87bb40ea572c5b","dweb:/ipfs/QmUYMT9SSFZgNE66sASzTAnYvLBwhHJB6YZXQCVXJ6vPTx"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyStorage.sol":{"keccak256":"0x2f09ac0009d994e8095003f5a95512b28d008613571861cb0ede96a6af532b1b","urls":["bzz-raw://d2160d94085d44c9cae45b051f680a82c865a856e3c7f1ac50c6b6c31243b206","dweb:/ipfs/QmXUzx5RKLmAFKgT1aygcpBmrWS5RzhEZT6fsS8YqdG68J"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/manager/IProxyManager.sol":{"keccak256":"0x827c2e8f933570abed41ccf0dccbf82f9b4a1997fcc773c29bf1234d2c9b6f5b","urls":["bzz-raw://a1c3d26d9b1dec8a864f453f151914f2bcf30cbb31c1a3602ac9e8b24f16e47e","dweb:/ipfs/QmUsSGM7mHZZtECoZRTJnZACHymx7jLdpxYsuCNAK8sTxN"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x61a00bcf300f7af3850f63de1a6f400629f03652a1f3efa49a17bf6c2272b1df","urls":["bzz-raw://b4c5fc1f3d017372d200803e54167e357402fbacfa40fa7a2c3003c9a5e867ce","dweb:/ipfs/QmTGDqd9wrQH5vCzB9GU9QKwMc955tK89AvfEa9iKJGESw"],"license":"MIT"},"node_modules/solady/src/utils/Multicallable.sol":{"keccak256":"0xe57db2fda09f92a4b3e68fe6445aac609b868ede70d522a41070167eb7c13e2e","urls":["bzz-raw://347e573a14849774e062f81a0c24c0ee2359bf06d6954e4b4566ff91e383ca38","dweb:/ipfs/QmYRm2fXSQJtznShtafRTQNqj2hznFKTpuzvfdmbBHfEkj"],"license":"MIT"},"node_modules/solady/src/utils/ReentrancyGuard.sol":{"keccak256":"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8","urls":["bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98","dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi"],"license":"MIT"},"node_modules/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210","urls":["bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c","dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR"],"license":"MIT"}},"version":1},"id":166} \ No newline at end of file +{"abi":[{"type":"function","name":"__Architect_init","inputs":[{"name":"ownerImplementation","type":"address","internalType":"contract ISpaceOwner"},{"name":"userEntitlementImplementation","type":"address","internalType":"contract IUserEntitlement"},{"name":"ruleEntitlementImplementation","type":"address","internalType":"contract IRuleEntitlementV2"},{"name":"legacyRuleEntitlement","type":"address","internalType":"contract IRuleEntitlement"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getProxyInitializer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceProxyInitializer"}],"stateMutability":"view"},{"type":"function","name":"getSpaceArchitectImplementations","inputs":[],"outputs":[{"name":"spaceToken","type":"address","internalType":"contract ISpaceOwner"},{"name":"userEntitlementImplementation","type":"address","internalType":"contract IUserEntitlement"},{"name":"ruleEntitlementImplementation","type":"address","internalType":"contract IRuleEntitlementV2"},{"name":"legacyRuleEntitlement","type":"address","internalType":"contract IRuleEntitlement"}],"stateMutability":"view"},{"type":"function","name":"getSpaceByTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTokenIdBySpace","inputs":[{"name":"space","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setProxyInitializer","inputs":[{"name":"proxyInitializer","type":"address","internalType":"contract ISpaceProxyInitializer"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceArchitectImplementations","inputs":[{"name":"spaceToken","type":"address","internalType":"contract ISpaceOwner"},{"name":"userEntitlementImplementation","type":"address","internalType":"contract IUserEntitlement"},{"name":"ruleEntitlementImplementation","type":"address","internalType":"contract IRuleEntitlementV2"},{"name":"legacyRuleEntitlement","type":"address","internalType":"contract IRuleEntitlement"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Architect__ProxyInitializerSet","inputs":[{"name":"proxyInitializer","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PermissionsAddedToChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PermissionsRemovedFromChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PermissionsUpdatedForChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PricingModuleAdded","inputs":[{"name":"module","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PricingModuleRemoved","inputs":[{"name":"module","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PricingModuleUpdated","inputs":[{"name":"module","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleCreated","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleRemoved","inputs":[{"name":"remover","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleUpdated","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SpaceCreated","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"space","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"Architect__InvalidAddress","inputs":[]},{"type":"error","name":"Architect__InvalidNetworkId","inputs":[]},{"type":"error","name":"Architect__InvalidPricingModule","inputs":[]},{"type":"error","name":"Architect__InvalidStringLength","inputs":[]},{"type":"error","name":"Architect__NotContract","inputs":[]},{"type":"error","name":"Factory__FailedDeployment","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"InvalidPricingModule","inputs":[{"name":"module","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]},{"type":"error","name":"Pausable__NotPaused","inputs":[]},{"type":"error","name":"Pausable__Paused","inputs":[]},{"type":"error","name":"Reentrancy","inputs":[]},{"type":"error","name":"Roles__EntitlementAlreadyExists","inputs":[]},{"type":"error","name":"Roles__EntitlementDoesNotExist","inputs":[]},{"type":"error","name":"Roles__InvalidEntitlementAddress","inputs":[]},{"type":"error","name":"Roles__InvalidPermission","inputs":[]},{"type":"error","name":"Roles__PermissionAlreadyExists","inputs":[]},{"type":"error","name":"Roles__PermissionDoesNotExist","inputs":[]},{"type":"error","name":"Roles__RoleDoesNotExist","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001961001e565b6100c4565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff161561006a576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156100c157805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b610649806100d36000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636bd837f41161005b5780636bd837f414610102578063c0bc67961461010a578063cd7242b81461012b578063e6907c9d1461013e57600080fd5b80631a424b6614610082578063545efb2d14610097578063673f0dd5146100d7575b600080fd5b6100956100903660046105b0565b610151565b005b61009f6101ad565b604080516001600160a01b03958616815293851660208501529184169183019190915290911660608201526080015b60405180910390f35b6100ea6100e536600461060c565b610265565b6040516001600160a01b0390911681526020016100ce565b6100ea6102a3565b61011d610118366004610625565b6102db565b6040519081526020016100ce565b6100956101393660046105b0565b610318565b61009561014c366004610625565b610369565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661019b57604051630ef4733760e31b815260040160405180910390fd5b6101a7848484846103c1565b50505050565b6000806000806102577f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d01547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d02547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d05546001600160a01b03938416949284169391821692911690565b935093509350935090919293565b60008181527f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f000260205260408120546001600160a01b03165b92915050565b60006102d67f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d06546001600160a01b031690565b905090565b6001600160a01b03811660009081527f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f0001602052604081205461029d565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b0316331461019b576040516365f4906560e01b81523360048201526024015b60405180910390fd5b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031633146103b5576040516365f4906560e01b8152336004820152602401610360565b6103be8161050e565b50565b836001600160a01b03163b6000036103ec576040516302f3d00b60e01b815260040160405180910390fd5b826001600160a01b03163b600003610417576040516302f3d00b60e01b815260040160405180910390fd5b816001600160a01b03163b600003610442576040516302f3d00b60e01b815260040160405180910390fd5b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0080546001600160a01b03199081166001600160a01b03968716179091557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0180548216948616949094179093557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0280548416928516929092179091557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0580549092169216919091179055565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0680546001600160a01b0319166001600160a01b0383169081179091556040517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0091907f50d234a64b07fd5931eedf717c2eca7f76ef13920a1330cc774176dbf9c66b3e90600090a25050565b6001600160a01b03811681146103be57600080fd5b600080600080608085870312156105c657600080fd5b84356105d18161059b565b935060208501356105e18161059b565b925060408501356105f18161059b565b915060608501356106018161059b565b939692955090935050565b60006020828403121561061e57600080fd5b5035919050565b60006020828403121561063757600080fd5b81356106428161059b565b939250505056","sourceMap":"1002:2487:166:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;1002:2487:166;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;1002:2487:166;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80636bd837f41161005b5780636bd837f414610102578063c0bc67961461010a578063cd7242b81461012b578063e6907c9d1461013e57600080fd5b80631a424b6614610082578063545efb2d14610097578063673f0dd5146100d7575b600080fd5b6100956100903660046105b0565b610151565b005b61009f6101ad565b604080516001600160a01b03958616815293851660208501529184169183019190915290911660608201526080015b60405180910390f35b6100ea6100e536600461060c565b610265565b6040516001600160a01b0390911681526020016100ce565b6100ea6102a3565b61011d610118366004610625565b6102db565b6040519081526020016100ce565b6100956101393660046105b0565b610318565b61009561014c366004610625565b610369565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661019b57604051630ef4733760e31b815260040160405180910390fd5b6101a7848484846103c1565b50505050565b6000806000806102577f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d01547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d02547f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d05546001600160a01b03938416949284169391821692911690565b935093509350935090919293565b60008181527f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f000260205260408120546001600160a01b03165b92915050565b60006102d67f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d06546001600160a01b031690565b905090565b6001600160a01b03811660009081527f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f0001602052604081205461029d565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b0316331461019b576040516365f4906560e01b81523360048201526024015b60405180910390fd5b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031633146103b5576040516365f4906560e01b8152336004820152602401610360565b6103be8161050e565b50565b836001600160a01b03163b6000036103ec576040516302f3d00b60e01b815260040160405180910390fd5b826001600160a01b03163b600003610417576040516302f3d00b60e01b815260040160405180910390fd5b816001600160a01b03163b600003610442576040516302f3d00b60e01b815260040160405180910390fd5b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0080546001600160a01b03199081166001600160a01b03968716179091557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0180548216948616949094179093557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0280548416928516929092179091557f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0580549092169216919091179055565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0680546001600160a01b0319166001600160a01b0383169081179091556040517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0091907f50d234a64b07fd5931eedf717c2eca7f76ef13920a1330cc774176dbf9c66b3e90600090a25050565b6001600160a01b03811681146103be57600080fd5b600080600080608085870312156105c657600080fd5b84356105d18161059b565b935060208501356105e18161059b565b925060408501356105f18161059b565b915060608501356106018161059b565b939692955090935050565b60006020828403121561061e57600080fd5b5035919050565b60006020828403121561063757600080fd5b81356106428161059b565b939250505056","sourceMap":"1002:2487:166:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1117:409;;;;;;:::i;:::-;;:::i;:::-;;2649:312;;;:::i;:::-;;;;-1:-1:-1;;;;;1380:15:654;;;1362:34;;1432:15;;;1427:2;1412:18;;1405:43;1484:15;;;1464:18;;;1457:43;;;;1536:15;;;1531:2;1516:18;;1509:43;1311:3;1296:19;2649:312:166;;;;;;;;1732:121;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1912:32:654;;;1894:51;;1882:2;1867:18;1732:121:166;1748:203:654;3176:132:166;;;:::i;1886:117::-;;;;;;:::i;:::-;;:::i;:::-;;;2607:25:654;;;2595:2;2580:18;1886:117:166;2461:177:654;2216:400:166;;;;;;:::i;:::-;;:::i;3341:146::-;;;;;;:::i;:::-;;:::i;1117:409::-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;1366:155:166::1;1393:19;1420:29;1457;1494:21;1366:19;:155::i;:::-;1117:409:::0;;;;:::o;2649:312::-;2735:22;2765:46;2819:48;2875:38;2935:21;961:66:170;8121:13:167;8142:18;;8168;;8194:24;;-1:-1:-1;;;;;8121:13:167;;;;8142:18;;;;8168;;;;8194:24;;;7761:468;2935:21:166;2928:28;;;;;;;;2649:312;;;;:::o;1732:121::-;1799:7;3145:49:167;;;:40;:49;;;;;;-1:-1:-1;;;;;3145:49:167;1821:27:166;1814:34;1732:121;-1:-1:-1;;1732:121:166:o;3176:132::-;3242:22;3281;8520:47:167;;-1:-1:-1;;;;;8520:47:167;;8414:158;3281:22:166;3274:29;;3176:132;:::o;1886:117::-;-1:-1:-1;;;;;2999:47:167;;1951:7:166;2999:47:167;;;:40;:47;;;;;;1973:25:166;2911:140:167;2216:400:166;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;1894:51:654;1867:18;;318:29:564;;;;;;;;3341:146:166;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;1894:51:654;1867:18;;318:29:564;1748:203:654;275:79:564;3444:38:166::1;3465:16;3444:20;:38::i;:::-;3341:146:::0;:::o;7052:705:167:-;7262:10;-1:-1:-1;;;;;7254:31:167;;7289:1;7254:36;7250:73;;7299:24;;-1:-1:-1;;;7299:24:167;;;;;;;;;;;7250:73;7341:15;-1:-1:-1;;;;;7333:36:167;;7373:1;7333:41;7329:84;;7389:24;;-1:-1:-1;;;7389:24:167;;;;;;;;;;;7329:84;7431:15;-1:-1:-1;;;;;7423:36:167;;7463:1;7423:41;7419:84;;7479:24;;-1:-1:-1;;;7479:24:167;;;;;;;;;;;7419:84;961:66:170;7588:26:167;;-1:-1:-1;;;;;;7588:26:167;;;-1:-1:-1;;;;;7588:26:167;;;;;;;7620:18;:36;;;;;;;;;;;;;;7662:18;:36;;;;;;;;;;;;;;7704:24;:48;;;;;;;;;;;;;7052:705::o;8576:284::-;8748:19;:38;;-1:-1:-1;;;;;;8748:38:167;-1:-1:-1;;;;;8748:38:167;;;;;;;;8798:57;;961:66:170;;8748:38:167;8798:57;;-1:-1:-1;;8798:57:167;8664:196;8576:284;:::o;14:144:654:-;-1:-1:-1;;;;;102:31:654;;92:42;;82:70;;148:1;145;138:12;163:824;350:6;358;366;374;427:3;415:9;406:7;402:23;398:33;395:53;;;444:1;441;434:12;395:53;483:9;470:23;502:44;540:5;502:44;:::i;:::-;565:5;-1:-1:-1;622:2:654;607:18;;594:32;635:46;594:32;635:46;:::i;:::-;700:7;-1:-1:-1;759:2:654;744:18;;731:32;772:46;731:32;772:46;:::i;:::-;837:7;-1:-1:-1;896:2:654;881:18;;868:32;909:46;868:32;909:46;:::i;:::-;163:824;;;;-1:-1:-1;163:824:654;;-1:-1:-1;;163:824:654:o;1563:180::-;1622:6;1675:2;1663:9;1654:7;1650:23;1646:32;1643:52;;;1691:1;1688;1681:12;1643:52;-1:-1:-1;1714:23:654;;1563:180;-1:-1:-1;1563:180:654:o;2196:260::-;2255:6;2308:2;2296:9;2287:7;2283:23;2279:32;2276:52;;;2324:1;2321;2314:12;2276:52;2363:9;2350:23;2382:44;2420:5;2382:44;:::i;:::-;2445:5;2196:260;-1:-1:-1;;;2196:260:654:o","linkReferences":{}},"methodIdentifiers":{"__Architect_init(address,address,address,address)":"1a424b66","getProxyInitializer()":"6bd837f4","getSpaceArchitectImplementations()":"545efb2d","getSpaceByTokenId(uint256)":"673f0dd5","getTokenIdBySpace(address)":"c0bc6796","setProxyInitializer(address)":"e6907c9d","setSpaceArchitectImplementations(address,address,address,address)":"cd7242b8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Architect__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__InvalidNetworkId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__InvalidPricingModule\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__InvalidStringLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__NotContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Factory__FailedDeployment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"InvalidPricingModule\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__NotPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__Paused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Reentrancy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__EntitlementAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__EntitlementDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__InvalidEntitlementAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__InvalidPermission\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__PermissionAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__PermissionDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__RoleDoesNotExist\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proxyInitializer\",\"type\":\"address\"}],\"name\":\"Architect__ProxyInitializerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsAddedToChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsRemovedFromChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsUpdatedForChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"PricingModuleAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"PricingModuleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"PricingModuleUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"remover\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"SpaceCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract ISpaceOwner\",\"name\":\"ownerImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IUserEntitlement\",\"name\":\"userEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlementV2\",\"name\":\"ruleEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlement\",\"name\":\"legacyRuleEntitlement\",\"type\":\"address\"}],\"name\":\"__Architect_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProxyInitializer\",\"outputs\":[{\"internalType\":\"contract ISpaceProxyInitializer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSpaceArchitectImplementations\",\"outputs\":[{\"internalType\":\"contract ISpaceOwner\",\"name\":\"spaceToken\",\"type\":\"address\"},{\"internalType\":\"contract IUserEntitlement\",\"name\":\"userEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlementV2\",\"name\":\"ruleEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlement\",\"name\":\"legacyRuleEntitlement\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getSpaceByTokenId\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"getTokenIdBySpace\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISpaceProxyInitializer\",\"name\":\"proxyInitializer\",\"type\":\"address\"}],\"name\":\"setProxyInitializer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISpaceOwner\",\"name\":\"spaceToken\",\"type\":\"address\"},{\"internalType\":\"contract IUserEntitlement\",\"name\":\"userEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlementV2\",\"name\":\"ruleEntitlementImplementation\",\"type\":\"address\"},{\"internalType\":\"contract IRuleEntitlement\",\"name\":\"legacyRuleEntitlement\",\"type\":\"address\"}],\"name\":\"setSpaceArchitectImplementations\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Reentrancy()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"},\"PermissionsAddedToChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"PermissionsRemovedFromChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"PermissionsUpdatedForChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"RoleCreated(address,uint256)\":{\"params\":{\"creator\":\"Address of the role creator\",\"roleId\":\"Unique identifier of the created role\"}},\"RoleRemoved(address,uint256)\":{\"params\":{\"remover\":\"Address of the role remover\",\"roleId\":\"Unique identifier of the removed role\"}},\"RoleUpdated(address,uint256)\":{\"params\":{\"roleId\":\"Unique identifier of the updated role\",\"updater\":\"Address of the role updater\"}}},\"kind\":\"dev\",\"methods\":{\"getProxyInitializer()\":{\"returns\":{\"_0\":\"The address of the current ISpaceProxyInitializer contract\"}},\"setProxyInitializer(address)\":{\"details\":\"This function should only be callable by the contract owner or authorized roles\",\"params\":{\"proxyInitializer\":\"The address of the new ISpaceProxyInitializer contract to be set\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"Roles__EntitlementAlreadyExists()\":[{\"notice\":\"Error thrown when an entitlement already exists\"}],\"Roles__EntitlementDoesNotExist()\":[{\"notice\":\"Error thrown when an entitlement does not exist\"}],\"Roles__InvalidEntitlementAddress()\":[{\"notice\":\"Error thrown when an invalid entitlement address is provided\"}],\"Roles__InvalidPermission()\":[{\"notice\":\"Error thrown when an invalid permission is provided\"}],\"Roles__PermissionAlreadyExists()\":[{\"notice\":\"Error thrown when a permission already exists\"}],\"Roles__PermissionDoesNotExist()\":[{\"notice\":\"Error thrown when a permission does not exist\"}],\"Roles__RoleDoesNotExist()\":[{\"notice\":\"Error thrown when a role does not exist\"}]},\"events\":{\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"},\"PermissionsAddedToChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are added to a channel role\"},\"PermissionsRemovedFromChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are removed from a channel role\"},\"PermissionsUpdatedForChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are updated for a channel role\"},\"RoleCreated(address,uint256)\":{\"notice\":\"Emitted when a new role is created\"},\"RoleRemoved(address,uint256)\":{\"notice\":\"Emitted when a role is removed\"},\"RoleUpdated(address,uint256)\":{\"notice\":\"Emitted when a role is updated\"}},\"kind\":\"user\",\"methods\":{\"getProxyInitializer()\":{\"notice\":\"Retrieves the current proxy initializer\"},\"setProxyInitializer(address)\":{\"notice\":\"Sets a new proxy initializer\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/factory/facets/architect/Architect.sol\":\"Architect\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol\":{\"keccak256\":\"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d\",\"dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh\"]},\"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol\":{\"keccak256\":\"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615\",\"dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol\":{\"keccak256\":\"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba\",\"dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol\":{\"keccak256\":\"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04\",\"dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey\"]},\"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol\":{\"keccak256\":\"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d\",\"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz\"]},\"contracts/src/factory/facets/architect/Architect.sol\":{\"keccak256\":\"0xc4700b4645f4ed25a0ec537f82aabf2e8d53791af9245f87ae48943f61ec1f92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b89ecb4a9008f9486b2cf5668ad8690902d006851d30c540c43bbe05d3dfa122\",\"dweb:/ipfs/QmR9bUyLoF5rACLAcyZiXzwT5ibxoxgyi79YBNLd9m66wo\"]},\"contracts/src/factory/facets/architect/ArchitectBase.sol\":{\"keccak256\":\"0xd48f324bb9a2c5131582c2d9a12f4f69871c14ec28189d2312c88ba3ad773d10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://407e6053a10460f048840f7e57c2665aa9d3d13b858024ae021af8e877ec6546\",\"dweb:/ipfs/QmfMtBAhByM6mhesHDCi7CC1sBxevA1T35YHa8SzYHq7xs\"]},\"contracts/src/factory/facets/architect/ArchitectStorage.sol\":{\"keccak256\":\"0xc62e53da3472373306030cd9bb5621f895b5ebbab23ab5d03311c237fe3fb19c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bc61d6591c8c621fa635c988cdf10716037a0cbaed5fac650ed77af6c7d8561\",\"dweb:/ipfs/QmVwXUiJppdHAU5STPsZjFFGqFNosjyxP5R2NJQSp3yTsd\"]},\"contracts/src/factory/facets/architect/IArchitect.sol\":{\"keccak256\":\"0x5d790cabaad08df5dda57b8055dbf21ed103bd10ad0e4d684a0e690f9c240a24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ff954eb61db93e8b7b58d542f73d75b2e9ee856896a07d436bbc8101b4e9aea\",\"dweb:/ipfs/QmdgzSC3JooGsWA6BTgyXQU7YA6byFFLuVkyZqs7mEgRCm\"]},\"contracts/src/factory/facets/architect/ImplementationStorage.sol\":{\"keccak256\":\"0x439caf29eb65f4b17dac2976e530112d6a8c35242bc39861796b631d6c1aee94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dabd06aceeb34fe9b5931d0468bd35d80ec6900f35b1bb375187ad84e917d66\",\"dweb:/ipfs/QmdqduCPXcmmTEme4YjNbNz48uB1nQkARRusai8BnEXJ4f\"]},\"contracts/src/factory/facets/architect/pricing/IPricingModules.sol\":{\"keccak256\":\"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786\",\"dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm\"]},\"contracts/src/factory/facets/architect/pricing/PricingModulesBase.sol\":{\"keccak256\":\"0x5853efe27bcebe135c4925110690ea9e8d6de1d69789f5f7c5511fb41f124488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7c48c477ddfb70e519fee1e53fc9f368f343dd8be5b981a16a0b84ac4017686\",\"dweb:/ipfs/QmZQsD8F9maUG5MECF7rYrwPM448bRQxohzow7TpTzCe1o\"]},\"contracts/src/factory/facets/architect/pricing/PricingModulesStorage.sol\":{\"keccak256\":\"0x88ecfde80e4a4efc905356f55462300868a8d181fca835b0f18d55e85481c2d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60e4e031c4aca8c85e225960db2faa03783d6b0632e2151dae32302652b90834\",\"dweb:/ipfs/Qmee4HJEx982dgTX6pYYnZUDPUgPHW55ZYZT1FZdShs69T\"]},\"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol\":{\"keccak256\":\"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86\",\"dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT\"]},\"contracts/src/factory/facets/registry/IImplementationRegistry.sol\":{\"keccak256\":\"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c\",\"dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA\"]},\"contracts/src/factory/facets/wallet-link/IWalletLink.sol\":{\"keccak256\":\"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d\",\"dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC\"]},\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol\":{\"keccak256\":\"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4\",\"dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2\"]},\"contracts/src/spaces/entitlements/user/IUserEntitlement.sol\":{\"keccak256\":\"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a\",\"dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx\"]},\"contracts/src/spaces/facets/Permissions.sol\":{\"keccak256\":\"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634\",\"dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x\"]},\"contracts/src/spaces/facets/channels/IChannel.sol\":{\"keccak256\":\"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9\",\"dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA\"]},\"contracts/src/spaces/facets/entitlements/IEntitlementsManager.sol\":{\"keccak256\":\"0x3a706517df398a51e19fac4a3c1987886605b8a8fdff319dbe8acc8efb786d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ba8da65886f17602bad12eac53f57079321b88030d77be1437d5a77b51b7763\",\"dweb:/ipfs/QmZWdoM6Drtd9XaPJ8UxBQLSSrqBPViE5UvukDw3i7rah3\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol\":{\"keccak256\":\"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df\",\"dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol\":{\"keccak256\":\"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3\",\"dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo\"]},\"contracts/src/spaces/facets/gated/IEntitlementGated.sol\":{\"keccak256\":\"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec\",\"dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT\"]},\"contracts/src/spaces/facets/membership/IMembership.sol\":{\"keccak256\":\"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6\",\"dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84\"]},\"contracts/src/spaces/facets/membership/MembershipBase.sol\":{\"keccak256\":\"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2\",\"dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC\"]},\"contracts/src/spaces/facets/membership/MembershipStorage.sol\":{\"keccak256\":\"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd\",\"dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa\"]},\"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol\":{\"keccak256\":\"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc\",\"dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF\"]},\"contracts/src/spaces/facets/owner/ISpaceOwner.sol\":{\"keccak256\":\"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a\",\"dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw\"]},\"contracts/src/spaces/facets/prepay/IPrepay.sol\":{\"keccak256\":\"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15\",\"dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT\"]},\"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol\":{\"keccak256\":\"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769\",\"dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW\"]},\"contracts/src/spaces/facets/proxy/SpaceProxy.sol\":{\"keccak256\":\"0xb256760835f86cf32d8a751cfab2ffe98e6494a537b17c24050a84ed8db0b55d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ee71adbe1d4a118975cca2bd23be460261f8264131260cf8e7c60a2a6ffae88\",\"dweb:/ipfs/QmXtzdxnSayBQ3kMLzGUeWzymd2pkxXSkjJzEv2oDUm8iR\"]},\"contracts/src/spaces/facets/proxy/SpaceProxyInitializer.sol\":{\"keccak256\":\"0x3682360f3370ec23af23befa812da3c7cd4ca1ab49b05c5df41df727c04051b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://864b46283502de65c86518358539cd77a1950c3a28690a440072ebabd936a3e3\",\"dweb:/ipfs/QmWUmKgCqmEZaGadCan9hwv9SUJou23xRfvcpuZVR6xLXp\"]},\"contracts/src/spaces/facets/roles/IRoles.sol\":{\"keccak256\":\"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed\",\"dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3\"]},\"contracts/src/utils/Factory.sol\":{\"keccak256\":\"0xb85beb5f8320a8a1e860690391d9b34187570c6f22e586b662fcf131f8b24e4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9bfdf5d51b2d9e4c0b74248281fbcc0bd62201421f05539f3fa4673ae909e5c\",\"dweb:/ipfs/Qmd6JNfs3sRcQxdKS9sfvNsRyLtJU5farA1YvaFULxugF4\"]},\"contracts/src/utils/StringSet.sol\":{\"keccak256\":\"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605\",\"dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu\"]},\"contracts/src/utils/Validator.sol\":{\"keccak256\":\"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3\",\"dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG\"]},\"contracts/src/utils/interfaces/IWETH.sol\":{\"keccak256\":\"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5\",\"dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6\"]},\"contracts/src/utils/libraries/BasisPoints.sol\":{\"keccak256\":\"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e\",\"dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L\"]},\"contracts/src/utils/libraries/CurrencyTransfer.sol\":{\"keccak256\":\"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4\",\"dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr\"]},\"contracts/src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7\",\"dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d\",\"dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875\",\"dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e\",\"dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol\":{\"keccak256\":\"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37\",\"dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol\":{\"keccak256\":\"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711\",\"dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol\":{\"keccak256\":\"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf\",\"dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F\"]},\"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol\":{\"keccak256\":\"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684\",\"dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol\":{\"keccak256\":\"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3\",\"dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol\":{\"keccak256\":\"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd\",\"dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj\"]},\"node_modules/@river-build/diamond/src/proxy/IProxy.sol\":{\"keccak256\":\"0x94506109e5e47fafba65c94f2d74d0c7860e5911fe90fbe3b49817afda3b2145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://969f73c692e96091ef4565e5e7f9d4114ce6d51a619a75f9b1a0703f737e4ceb\",\"dweb:/ipfs/QmbohRzHyVrD36w3b7UdM1jqpPMViSx3DVCHWuXTLkG3bM\"]},\"node_modules/@river-build/diamond/src/proxy/Proxy.sol\":{\"keccak256\":\"0xf11318c1057be9219cf41aa182fcd8c46117c72fea16532f367114058566dbb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce3efbcd31c8a3291500d27933639546f8930afac361536a61f64dc40d117c0\",\"dweb:/ipfs/QmTo2D6WtcvFXAz435CR1JcSygLSSRBeiGzM4FeAgRQdT8\"]},\"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol\":{\"keccak256\":\"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1\",\"dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV\"]},\"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyBase.sol\":{\"keccak256\":\"0x41a4f9d9c94365f9c3838651a538c1b7d957443b56148a10b384583b9cdadc7f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a15904e21dae93676687c5b916ea280b39e9d6e8f30a1ce33e87bb40ea572c5b\",\"dweb:/ipfs/QmUYMT9SSFZgNE66sASzTAnYvLBwhHJB6YZXQCVXJ6vPTx\"]},\"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyStorage.sol\":{\"keccak256\":\"0x2f09ac0009d994e8095003f5a95512b28d008613571861cb0ede96a6af532b1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2160d94085d44c9cae45b051f680a82c865a856e3c7f1ac50c6b6c31243b206\",\"dweb:/ipfs/QmXUzx5RKLmAFKgT1aygcpBmrWS5RzhEZT6fsS8YqdG68J\"]},\"node_modules/@river-build/diamond/src/proxy/manager/IProxyManager.sol\":{\"keccak256\":\"0x827c2e8f933570abed41ccf0dccbf82f9b4a1997fcc773c29bf1234d2c9b6f5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1c3d26d9b1dec8a864f453f151914f2bcf30cbb31c1a3602ac9e8b24f16e47e\",\"dweb:/ipfs/QmUsSGM7mHZZtECoZRTJnZACHymx7jLdpxYsuCNAK8sTxN\"]},\"node_modules/solady/src/utils/LibClone.sol\":{\"keccak256\":\"0x5e555c18e0fafec55f2198491f8ebf6e2e3d5684d9bc534cd099e3542409add0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77d1eb95e68f46139301a76e05b06193105e4d22776ad50c8fab23e2ae9ae621\",\"dweb:/ipfs/Qma5sC4LP8Mq5q2D8ZH9cenahbYBACbqyr8vo13V1HmUBZ\"]},\"node_modules/solady/src/utils/Multicallable.sol\":{\"keccak256\":\"0xe57db2fda09f92a4b3e68fe6445aac609b868ede70d522a41070167eb7c13e2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://347e573a14849774e062f81a0c24c0ee2359bf06d6954e4b4566ff91e383ca38\",\"dweb:/ipfs/QmYRm2fXSQJtznShtafRTQNqj2hznFKTpuzvfdmbBHfEkj\"]},\"node_modules/solady/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98\",\"dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi\"]},\"node_modules/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333\",\"dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"Architect__InvalidAddress"},{"inputs":[],"type":"error","name":"Architect__InvalidNetworkId"},{"inputs":[],"type":"error","name":"Architect__InvalidPricingModule"},{"inputs":[],"type":"error","name":"Architect__InvalidStringLength"},{"inputs":[],"type":"error","name":"Architect__NotContract"},{"inputs":[],"type":"error","name":"Factory__FailedDeployment"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"type":"error","name":"InvalidPricingModule"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[],"type":"error","name":"Pausable__NotPaused"},{"inputs":[],"type":"error","name":"Pausable__Paused"},{"inputs":[],"type":"error","name":"Reentrancy"},{"inputs":[],"type":"error","name":"Roles__EntitlementAlreadyExists"},{"inputs":[],"type":"error","name":"Roles__EntitlementDoesNotExist"},{"inputs":[],"type":"error","name":"Roles__InvalidEntitlementAddress"},{"inputs":[],"type":"error","name":"Roles__InvalidPermission"},{"inputs":[],"type":"error","name":"Roles__PermissionAlreadyExists"},{"inputs":[],"type":"error","name":"Roles__PermissionDoesNotExist"},{"inputs":[],"type":"error","name":"Roles__RoleDoesNotExist"},{"inputs":[{"internalType":"address","name":"proxyInitializer","type":"address","indexed":true}],"type":"event","name":"Architect__ProxyInitializerSet","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsAddedToChannelRole","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsRemovedFromChannelRole","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsUpdatedForChannelRole","anonymous":false},{"inputs":[{"internalType":"address","name":"module","type":"address","indexed":true}],"type":"event","name":"PricingModuleAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"module","type":"address","indexed":true}],"type":"event","name":"PricingModuleRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"module","type":"address","indexed":true}],"type":"event","name":"PricingModuleUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"remover","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"space","type":"address","indexed":true}],"type":"event","name":"SpaceCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[{"internalType":"contract ISpaceOwner","name":"ownerImplementation","type":"address"},{"internalType":"contract IUserEntitlement","name":"userEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlementV2","name":"ruleEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlement","name":"legacyRuleEntitlement","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"__Architect_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"getProxyInitializer","outputs":[{"internalType":"contract ISpaceProxyInitializer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSpaceArchitectImplementations","outputs":[{"internalType":"contract ISpaceOwner","name":"spaceToken","type":"address"},{"internalType":"contract IUserEntitlement","name":"userEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlementV2","name":"ruleEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlement","name":"legacyRuleEntitlement","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSpaceByTokenId","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"space","type":"address"}],"stateMutability":"view","type":"function","name":"getTokenIdBySpace","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"contract ISpaceProxyInitializer","name":"proxyInitializer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setProxyInitializer"},{"inputs":[{"internalType":"contract ISpaceOwner","name":"spaceToken","type":"address"},{"internalType":"contract IUserEntitlement","name":"userEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlementV2","name":"ruleEntitlementImplementation","type":"address"},{"internalType":"contract IRuleEntitlement","name":"legacyRuleEntitlement","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceArchitectImplementations"}],"devdoc":{"kind":"dev","methods":{"getProxyInitializer()":{"returns":{"_0":"The address of the current ISpaceProxyInitializer contract"}},"setProxyInitializer(address)":{"details":"This function should only be callable by the contract owner or authorized roles","params":{"proxyInitializer":"The address of the new ISpaceProxyInitializer contract to be set"}}},"version":1},"userdoc":{"kind":"user","methods":{"getProxyInitializer()":{"notice":"Retrieves the current proxy initializer"},"setProxyInitializer(address)":{"notice":"Sets a new proxy initializer"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/factory/facets/architect/Architect.sol":"Architect"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol":{"keccak256":"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204","urls":["bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d","dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol":{"keccak256":"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224","urls":["bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615","dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol":{"keccak256":"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62","urls":["bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba","dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol":{"keccak256":"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4","urls":["bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04","dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol":{"keccak256":"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782","urls":["bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d","dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"],"license":"MIT"},"contracts/src/factory/facets/architect/Architect.sol":{"keccak256":"0xc4700b4645f4ed25a0ec537f82aabf2e8d53791af9245f87ae48943f61ec1f92","urls":["bzz-raw://b89ecb4a9008f9486b2cf5668ad8690902d006851d30c540c43bbe05d3dfa122","dweb:/ipfs/QmR9bUyLoF5rACLAcyZiXzwT5ibxoxgyi79YBNLd9m66wo"],"license":"MIT"},"contracts/src/factory/facets/architect/ArchitectBase.sol":{"keccak256":"0xd48f324bb9a2c5131582c2d9a12f4f69871c14ec28189d2312c88ba3ad773d10","urls":["bzz-raw://407e6053a10460f048840f7e57c2665aa9d3d13b858024ae021af8e877ec6546","dweb:/ipfs/QmfMtBAhByM6mhesHDCi7CC1sBxevA1T35YHa8SzYHq7xs"],"license":"MIT"},"contracts/src/factory/facets/architect/ArchitectStorage.sol":{"keccak256":"0xc62e53da3472373306030cd9bb5621f895b5ebbab23ab5d03311c237fe3fb19c","urls":["bzz-raw://1bc61d6591c8c621fa635c988cdf10716037a0cbaed5fac650ed77af6c7d8561","dweb:/ipfs/QmVwXUiJppdHAU5STPsZjFFGqFNosjyxP5R2NJQSp3yTsd"],"license":"MIT"},"contracts/src/factory/facets/architect/IArchitect.sol":{"keccak256":"0x5d790cabaad08df5dda57b8055dbf21ed103bd10ad0e4d684a0e690f9c240a24","urls":["bzz-raw://8ff954eb61db93e8b7b58d542f73d75b2e9ee856896a07d436bbc8101b4e9aea","dweb:/ipfs/QmdgzSC3JooGsWA6BTgyXQU7YA6byFFLuVkyZqs7mEgRCm"],"license":"MIT"},"contracts/src/factory/facets/architect/ImplementationStorage.sol":{"keccak256":"0x439caf29eb65f4b17dac2976e530112d6a8c35242bc39861796b631d6c1aee94","urls":["bzz-raw://9dabd06aceeb34fe9b5931d0468bd35d80ec6900f35b1bb375187ad84e917d66","dweb:/ipfs/QmdqduCPXcmmTEme4YjNbNz48uB1nQkARRusai8BnEXJ4f"],"license":"MIT"},"contracts/src/factory/facets/architect/pricing/IPricingModules.sol":{"keccak256":"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171","urls":["bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786","dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm"],"license":"MIT"},"contracts/src/factory/facets/architect/pricing/PricingModulesBase.sol":{"keccak256":"0x5853efe27bcebe135c4925110690ea9e8d6de1d69789f5f7c5511fb41f124488","urls":["bzz-raw://c7c48c477ddfb70e519fee1e53fc9f368f343dd8be5b981a16a0b84ac4017686","dweb:/ipfs/QmZQsD8F9maUG5MECF7rYrwPM448bRQxohzow7TpTzCe1o"],"license":"MIT"},"contracts/src/factory/facets/architect/pricing/PricingModulesStorage.sol":{"keccak256":"0x88ecfde80e4a4efc905356f55462300868a8d181fca835b0f18d55e85481c2d3","urls":["bzz-raw://60e4e031c4aca8c85e225960db2faa03783d6b0632e2151dae32302652b90834","dweb:/ipfs/Qmee4HJEx982dgTX6pYYnZUDPUgPHW55ZYZT1FZdShs69T"],"license":"MIT"},"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol":{"keccak256":"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6","urls":["bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86","dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT"],"license":"MIT"},"contracts/src/factory/facets/registry/IImplementationRegistry.sol":{"keccak256":"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7","urls":["bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c","dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA"],"license":"MIT"},"contracts/src/factory/facets/wallet-link/IWalletLink.sol":{"keccak256":"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c","urls":["bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d","dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC"],"license":"MIT"},"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol":{"keccak256":"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b","urls":["bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4","dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2"],"license":"MIT"},"contracts/src/spaces/entitlements/user/IUserEntitlement.sol":{"keccak256":"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9","urls":["bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a","dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx"],"license":"MIT"},"contracts/src/spaces/facets/Permissions.sol":{"keccak256":"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e","urls":["bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634","dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x"],"license":"MIT"},"contracts/src/spaces/facets/channels/IChannel.sol":{"keccak256":"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e","urls":["bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9","dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA"],"license":"MIT"},"contracts/src/spaces/facets/entitlements/IEntitlementsManager.sol":{"keccak256":"0x3a706517df398a51e19fac4a3c1987886605b8a8fdff319dbe8acc8efb786d30","urls":["bzz-raw://7ba8da65886f17602bad12eac53f57079321b88030d77be1437d5a77b51b7763","dweb:/ipfs/QmZWdoM6Drtd9XaPJ8UxBQLSSrqBPViE5UvukDw3i7rah3"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol":{"keccak256":"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045","urls":["bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df","dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol":{"keccak256":"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84","urls":["bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3","dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo"],"license":"MIT"},"contracts/src/spaces/facets/gated/IEntitlementGated.sol":{"keccak256":"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74","urls":["bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec","dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT"],"license":"MIT"},"contracts/src/spaces/facets/membership/IMembership.sol":{"keccak256":"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b","urls":["bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6","dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipBase.sol":{"keccak256":"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8","urls":["bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2","dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipStorage.sol":{"keccak256":"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972","urls":["bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd","dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa"],"license":"MIT"},"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol":{"keccak256":"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4","urls":["bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc","dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF"],"license":"MIT"},"contracts/src/spaces/facets/owner/ISpaceOwner.sol":{"keccak256":"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4","urls":["bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a","dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw"],"license":"MIT"},"contracts/src/spaces/facets/prepay/IPrepay.sol":{"keccak256":"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa","urls":["bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15","dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT"],"license":"MIT"},"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol":{"keccak256":"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207","urls":["bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769","dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW"],"license":"MIT"},"contracts/src/spaces/facets/proxy/SpaceProxy.sol":{"keccak256":"0xb256760835f86cf32d8a751cfab2ffe98e6494a537b17c24050a84ed8db0b55d","urls":["bzz-raw://3ee71adbe1d4a118975cca2bd23be460261f8264131260cf8e7c60a2a6ffae88","dweb:/ipfs/QmXtzdxnSayBQ3kMLzGUeWzymd2pkxXSkjJzEv2oDUm8iR"],"license":"MIT"},"contracts/src/spaces/facets/proxy/SpaceProxyInitializer.sol":{"keccak256":"0x3682360f3370ec23af23befa812da3c7cd4ca1ab49b05c5df41df727c04051b3","urls":["bzz-raw://864b46283502de65c86518358539cd77a1950c3a28690a440072ebabd936a3e3","dweb:/ipfs/QmWUmKgCqmEZaGadCan9hwv9SUJou23xRfvcpuZVR6xLXp"],"license":"MIT"},"contracts/src/spaces/facets/roles/IRoles.sol":{"keccak256":"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65","urls":["bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed","dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3"],"license":"MIT"},"contracts/src/utils/Factory.sol":{"keccak256":"0xb85beb5f8320a8a1e860690391d9b34187570c6f22e586b662fcf131f8b24e4c","urls":["bzz-raw://e9bfdf5d51b2d9e4c0b74248281fbcc0bd62201421f05539f3fa4673ae909e5c","dweb:/ipfs/Qmd6JNfs3sRcQxdKS9sfvNsRyLtJU5farA1YvaFULxugF4"],"license":"MIT"},"contracts/src/utils/StringSet.sol":{"keccak256":"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6","urls":["bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605","dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu"],"license":"MIT"},"contracts/src/utils/Validator.sol":{"keccak256":"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f","urls":["bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3","dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG"],"license":"MIT"},"contracts/src/utils/interfaces/IWETH.sol":{"keccak256":"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0","urls":["bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5","dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6"],"license":"MIT"},"contracts/src/utils/libraries/BasisPoints.sol":{"keccak256":"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b","urls":["bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e","dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L"],"license":"MIT"},"contracts/src/utils/libraries/CurrencyTransfer.sol":{"keccak256":"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083","urls":["bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4","dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr"],"license":"MIT"},"contracts/src/utils/libraries/CustomRevert.sol":{"keccak256":"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059","urls":["bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7","dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a","urls":["bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d","dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2","urls":["bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875","dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd","urls":["bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e","dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol":{"keccak256":"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397","urls":["bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37","dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol":{"keccak256":"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83","urls":["bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711","dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol":{"keccak256":"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479","urls":["bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf","dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol":{"keccak256":"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1","urls":["bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684","dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol":{"keccak256":"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0","urls":["bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3","dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol":{"keccak256":"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f","urls":["bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd","dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/IProxy.sol":{"keccak256":"0x94506109e5e47fafba65c94f2d74d0c7860e5911fe90fbe3b49817afda3b2145","urls":["bzz-raw://969f73c692e96091ef4565e5e7f9d4114ce6d51a619a75f9b1a0703f737e4ceb","dweb:/ipfs/QmbohRzHyVrD36w3b7UdM1jqpPMViSx3DVCHWuXTLkG3bM"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/Proxy.sol":{"keccak256":"0xf11318c1057be9219cf41aa182fcd8c46117c72fea16532f367114058566dbb6","urls":["bzz-raw://1ce3efbcd31c8a3291500d27933639546f8930afac361536a61f64dc40d117c0","dweb:/ipfs/QmTo2D6WtcvFXAz435CR1JcSygLSSRBeiGzM4FeAgRQdT8"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol":{"keccak256":"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01","urls":["bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1","dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyBase.sol":{"keccak256":"0x41a4f9d9c94365f9c3838651a538c1b7d957443b56148a10b384583b9cdadc7f","urls":["bzz-raw://a15904e21dae93676687c5b916ea280b39e9d6e8f30a1ce33e87bb40ea572c5b","dweb:/ipfs/QmUYMT9SSFZgNE66sASzTAnYvLBwhHJB6YZXQCVXJ6vPTx"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyStorage.sol":{"keccak256":"0x2f09ac0009d994e8095003f5a95512b28d008613571861cb0ede96a6af532b1b","urls":["bzz-raw://d2160d94085d44c9cae45b051f680a82c865a856e3c7f1ac50c6b6c31243b206","dweb:/ipfs/QmXUzx5RKLmAFKgT1aygcpBmrWS5RzhEZT6fsS8YqdG68J"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/manager/IProxyManager.sol":{"keccak256":"0x827c2e8f933570abed41ccf0dccbf82f9b4a1997fcc773c29bf1234d2c9b6f5b","urls":["bzz-raw://a1c3d26d9b1dec8a864f453f151914f2bcf30cbb31c1a3602ac9e8b24f16e47e","dweb:/ipfs/QmUsSGM7mHZZtECoZRTJnZACHymx7jLdpxYsuCNAK8sTxN"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x5e555c18e0fafec55f2198491f8ebf6e2e3d5684d9bc534cd099e3542409add0","urls":["bzz-raw://77d1eb95e68f46139301a76e05b06193105e4d22776ad50c8fab23e2ae9ae621","dweb:/ipfs/Qma5sC4LP8Mq5q2D8ZH9cenahbYBACbqyr8vo13V1HmUBZ"],"license":"MIT"},"node_modules/solady/src/utils/Multicallable.sol":{"keccak256":"0xe57db2fda09f92a4b3e68fe6445aac609b868ede70d522a41070167eb7c13e2e","urls":["bzz-raw://347e573a14849774e062f81a0c24c0ee2359bf06d6954e4b4566ff91e383ca38","dweb:/ipfs/QmYRm2fXSQJtznShtafRTQNqj2hznFKTpuzvfdmbBHfEkj"],"license":"MIT"},"node_modules/solady/src/utils/ReentrancyGuard.sol":{"keccak256":"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8","urls":["bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98","dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi"],"license":"MIT"},"node_modules/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3","urls":["bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333","dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH"],"license":"MIT"}},"version":1},"id":166} \ No newline at end of file diff --git a/packages/generated/dev/abis/Architect.metadata.json b/packages/generated/dev/abis/Architect.metadata.json index 7a30189823..387885b4c3 100644 --- a/packages/generated/dev/abis/Architect.metadata.json +++ b/packages/generated/dev/abis/Architect.metadata.json @@ -1229,10 +1229,10 @@ "license": "MIT" }, "node_modules/solady/src/utils/LibClone.sol": { - "keccak256": "0x61a00bcf300f7af3850f63de1a6f400629f03652a1f3efa49a17bf6c2272b1df", + "keccak256": "0x5e555c18e0fafec55f2198491f8ebf6e2e3d5684d9bc534cd099e3542409add0", "urls": [ - "bzz-raw://b4c5fc1f3d017372d200803e54167e357402fbacfa40fa7a2c3003c9a5e867ce", - "dweb:/ipfs/QmTGDqd9wrQH5vCzB9GU9QKwMc955tK89AvfEa9iKJGESw" + "bzz-raw://77d1eb95e68f46139301a76e05b06193105e4d22776ad50c8fab23e2ae9ae621", + "dweb:/ipfs/Qma5sC4LP8Mq5q2D8ZH9cenahbYBACbqyr8vo13V1HmUBZ" ], "license": "MIT" }, @@ -1253,10 +1253,10 @@ "license": "MIT" }, "node_modules/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210", + "keccak256": "0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3", "urls": [ - "bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c", - "dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR" + "bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333", + "dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH" ], "license": "MIT" } diff --git a/packages/generated/dev/abis/DropFacet.json b/packages/generated/dev/abis/DropFacet.json index 7840cef43a..f916f5d61f 100644 --- a/packages/generated/dev/abis/DropFacet.json +++ b/packages/generated/dev/abis/DropFacet.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"__DropFacet_init","inputs":[{"name":"rewardsDistribution","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addClaimCondition","inputs":[{"name":"condition","type":"tuple","internalType":"struct IDropFacetBase.ClaimCondition","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimAndStake","inputs":[{"name":"claim","type":"tuple","internalType":"struct IDropFacetBase.Claim","components":[{"name":"conditionId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"},{"name":"quantity","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}]},{"name":"delegatee","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimWithPenalty","inputs":[{"name":"claim","type":"tuple","internalType":"struct IDropFacetBase.Claim","components":[{"name":"conditionId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"},{"name":"quantity","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}]},{"name":"expectedPenaltyBps","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getActiveClaimConditionId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getClaimConditionById","inputs":[{"name":"conditionId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"condition","type":"tuple","internalType":"struct IDropFacetBase.ClaimCondition","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getClaimConditions","inputs":[],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IDropFacetBase.ClaimCondition[]","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getDepositIdByWallet","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"conditionId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSupplyClaimedByWallet","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"conditionId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setClaimConditions","inputs":[{"name":"conditions","type":"tuple[]","internalType":"struct IDropFacetBase.ClaimCondition[]","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"DropFacet_ClaimConditionAdded","inputs":[{"name":"condition","type":"tuple","indexed":false,"internalType":"struct IDropFacetBase.ClaimCondition","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"DropFacet_ClaimConditionsUpdated","inputs":[{"name":"conditions","type":"tuple[]","indexed":false,"internalType":"struct IDropFacetBase.ClaimCondition[]","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"DropFacet_Claimed_And_Staked","inputs":[{"name":"conditionId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DropFacet_Claimed_WithPenalty","inputs":[{"name":"conditionId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"DropFacet__AlreadyClaimed","inputs":[]},{"type":"error","name":"DropFacet__CannotSetClaimConditions","inputs":[]},{"type":"error","name":"DropFacet__ClaimConditionsNotInAscendingOrder","inputs":[]},{"type":"error","name":"DropFacet__ClaimHasEnded","inputs":[]},{"type":"error","name":"DropFacet__ClaimHasNotStarted","inputs":[]},{"type":"error","name":"DropFacet__CurrencyNotSet","inputs":[]},{"type":"error","name":"DropFacet__ExceedsMaxClaimableSupply","inputs":[]},{"type":"error","name":"DropFacet__InsufficientBalance","inputs":[]},{"type":"error","name":"DropFacet__InvalidProof","inputs":[]},{"type":"error","name":"DropFacet__MerkleRootNotSet","inputs":[]},{"type":"error","name":"DropFacet__NoActiveClaimCondition","inputs":[]},{"type":"error","name":"DropFacet__QuantityMustBeGreaterThanZero","inputs":[]},{"type":"error","name":"DropFacet__RewardsDistributionNotSet","inputs":[]},{"type":"error","name":"DropFacet__UnexpectedPenaltyBps","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001961001e565b6100c4565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff161561006a576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156100c157805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b611936806100d36000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636f8934f4116100665780636f8934f4146101175780637a05557c146101ee578063a1550b2f14610201578063c68907de14610216578063c9ac93681461021e57600080fd5b80630f8fb14f146100a357806314c9fcbc146100c957806333d42dc6146100de57806364843393146100f157806368c74fa814610104575b600080fd5b6100b66100b136600461138a565b610231565b6040519081526020015b60405180910390f35b6100dc6100d7366004611439565b61040a565b005b6100b66100ec366004611454565b610470565b6100dc6100ff36600461147e565b6104b8565b6100b66101123660046114a2565b610526565b6101e16101253660046114f0565b6040805160008082526020808301828152838501838152606085018481526080860185815260a0870186815260c088018781529987527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab029095529487902060e0870190975286546001600160a01b0381168752600160a01b810464ffffffffff908116909452600160c81b8104909316909152600160f01b90910461ffff16905260018401549091526002830154905260039091015490915290565b6040516100c09190611566565b6100b66101fc366004611454565b610631565b610209610657565b6040516100c09190611574565b6100b6610675565b6100dc61022c3660046115c2565b61068e565b843560009081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab02602052604081206000805160206119168339815191529060006102af893561028760408c0160208d01611439565b600091825260018601602090815260408084206001600160a01b039093168452919052902090565b90506102bc82828b6106f9565b6102cb82828b60400135610868565b6102da83838b60400135610889565b82546000906001600160a01b031663e69f94956102fa60408d0135610900565b8b8d602001602081019061030e9190611439565b8e60200160208101906103219190611439565b8d8d8d6040518863ffffffff1660e01b81526004016103469796959493929190611637565b6020604051808303816000875af1158015610365573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038991906116a9565b6001830181905590506103a260408b0160208c01611439565b6001600160a01b0316336001600160a01b03168b600001357ff08f338c8905e343697a35fef11af2f611a36658016e0653521354c865373ea78d604001356040516103ef91815260200190565b60405180910390a45050506040909601359695505050505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661045457604051630ef4733760e31b815260040160405180910390fd5b610464638be41ea360e01b610919565b61046d816109f2565b50565b60006104ae82846000805160206119168339815191525b6000928352600101602090815260408084206001600160a01b039093168452919052902090565b5490505b92915050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610509576040516365f4906560e01b81523360048201526024015b60405180910390fd5b6000805160206119168339815191526105228183610a0a565b5050565b813560009081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab026020526040812060008051602061191683398151915290600061057c86356102876040890160208a01611439565b90506105898282886106f9565b610594828787610b47565b93506105a1828286610868565b81546105c7906001600160a01b0316306105c160408a0160208b01611439565b87610ba8565b6105d76040870160208801611439565b6001600160a01b0316336001600160a01b031687600001357f970af01ab25e63f8131277859b2c17e9a07c2eb257e6db87449000d91c0f84018760405161062091815260200190565b60405180910390a450505092915050565b600061064c8284600080516020611916833981519152610487565b600101549392505050565b6060610670600080516020611916833981519152610c00565b905090565b6000610670600080516020611916833981519152610d83565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031633146106da576040516365f4906560e01b8152336004820152602401610500565b6000805160206119168339815191526106f4818484610e55565b505050565b60038301546107125761071263f235dd0160e01b611055565b806040013560000361072e5761072e63df4e56a560e01b611055565b82546001600160a01b031661074d5761074d63388470d360e21b611055565b82600101548160400135846002015461076691906116d8565b111561077c5761077c632c2d39b560e21b611055565b8254600160a01b900464ffffffffff164210156107a3576107a36309672a1b60e31b611055565b8254600160c81b900464ffffffffff16158015906107d057508254600160c81b900464ffffffffff164210155b156107e5576107e563d87c5b1d60e01b611055565b8154156107fc576107fc637f76444f60e01b611055565b600061082b6108116040840160208501611439565b836040013560009182526020908152604082208252902090565b600385015490915061084e908261084560608601866116eb565b9092909161105f565b6108625761086263164bf28d60e21b611055565b50505050565b8083600201600082825461087c91906116d8565b9091555050815401905550565b8154835460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b3906044016020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610862919061173c565b6000600160601b821061091557610915611099565b5090565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166109a1576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff191660011790556109ba565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b61046d600080516020611916833981519152826110a7565b815465ffffffffffff600160a01b8204811691600160d01b9004166000610a31828461175e565b905065ffffffffffff821615610a9f5765ffffffffffff600019820116600090815260028601602090815260409182902091610a7291908701908701611799565b815464ffffffffff918216600160a01b90910490911610610a9d57610a9d631ec409a760e21b611055565b505b610ab9610aaf6020860186611439565b85608001356110e2565b65ffffffffffff811660009081526002860160205260409020610adc9085611161565b610ae782600161175e565b855465ffffffffffff91909116600160d01b026001600160d01b039091161785556040517fbbf6c4d40b4e256406c3a10649830a16f5e696278f3051db12c5ee0a9f571dee90610b3890869061182e565b60405180910390a15050505050565b825460009061ffff600160f01b90910481169083168114610b7157610b71621c159b60ea1b611055565b6040840135915061ffff811615610ba0576000610b9685604001358361ffff16611232565b6040860135039250505b509392505050565b816001600160a01b0316836001600160a01b0316031561086257306001600160a01b03841603610beb57610be66001600160a01b03851683836112ae565b610862565b6108626001600160a01b0385168484846112fe565b8054606090600160d01b900465ffffffffffff1667ffffffffffffffff811115610c2c57610c2c61183c565b604051908082528060200260200182016040528015610c9357816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c08201528252600019909201910181610c4a5790505b50905060005b8254600160d01b900465ffffffffffff16811015610d7d5782546002840190600090610cd5908490600160a01b900465ffffffffffff166116d8565b81526020808201929092526040908101600020815160e08101835281546001600160a01b0381168252600160a01b810464ffffffffff90811695830195909552600160c81b810490941692810192909252600160f01b90920461ffff16606082015260018201546080820152600282015460a082015260039091015460c08201528251839083908110610d6a57610d6a611852565b6020908102919091010152600101610c99565b50919050565b805460009065ffffffffffff600160a01b8204811691600160d01b900416808303610db857610db86311357c2560e21b611055565b65ffffffffffff6000198383010116805b8365ffffffffffff168110610e3c5760008181526002870160205260409020805464ffffffffff600160c81b8204811691600160a01b9004164210801590610e185750801580610e1857508042105b15610e295750909695505050505050565b505080610e3590611868565b9050610dc9565b50610e4d6311357c2560e21b611055565b505050919050565b825465ffffffffffff600160a01b8204811691600160d01b9004811690610e7c84846116d8565b1115610e9257610e9263ae4eeeb160e01b611055565b82600080805b8365ffffffffffff16811015610f8f5736888883818110610ebb57610ebb611852565b905060e002019050806020016020810190610ed69190611799565b64ffffffffff168465ffffffffffff1610610efb57610efb631ec409a760e21b611055565b65ffffffffffff8716820160009081526002808c016020526040909120908101546080830135811115610f3857610f3863ae4eeeb160e01b611055565b610f428284611161565b610f526040840160208501611799565b64ffffffffff169550610f696080840135866116d8565b9450610f81610f7b6020850185611439565b866110e2565b505050806001019050610e98565b50875465ffffffffffff808516600160d01b81026001600160d01b03909316929092178a55851611156110125765ffffffffffff83165b8465ffffffffffff168110156110105765ffffffffffff8616810160009081526002808b016020526040822082815560018082018490559181018390556003019190915501610fc6565b505b7f7609e28234a0fb3289eb48ac2b0315a8b49a296235f8c3b440f65db3ddc89568878760405161104392919061187f565b60405180910390a15050505050505050565b8060005260046000fd5b60008315611091578360051b8501855b803580851160051b9485526020948518526040600020930181811061106f5750505b501492915050565b6335278d126000526004601cfd5b6001600160a01b0381166110c5576110c5631c64498f60e31b611055565b81546001600160a01b0319166001600160a01b0391909116179055565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015611126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114a91906116a9565b811115610522576105226342e1bedf60e01b611055565b6111716040820160208301611799565b825464ffffffffff91909116600160a01b0264ffffffffff60a01b199091161782556111a36060820160408301611799565b825464ffffffffff91909116600160c81b0264ffffffffff60c81b199091161782556080810135600183015560c081013560038301556111e66020820182611439565b82546001600160a01b0319166001600160a01b039190911617825561121160808201606083016118c1565b825461ffff91909116600160f01b026001600160f01b039091161790915550565b60006127108211156112905760405162461bcd60e51b815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f30306044820152600360fc1b6064820152608401610500565b61271061129d83856118dc565b6112a791906118f3565b9392505050565b816014528060345263a9059cbb60601b60005260206000604460106000875af180600160005114166112f357803d853b1517106112f3576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af1806001600051141661134d57803d873b15171061134d57637939f4246000526004601cfd5b50600060605260405250505050565b600060808284031215610d7d57600080fd5b80356001600160a01b038116811461138557600080fd5b919050565b6000806000806000608086880312156113a257600080fd5b853567ffffffffffffffff808211156113ba57600080fd5b6113c689838a0161135c565b96506113d46020890161136e565b95506040880135945060608801359150808211156113f157600080fd5b818801915088601f83011261140557600080fd5b81358181111561141457600080fd5b89602082850101111561142657600080fd5b9699959850939650602001949392505050565b60006020828403121561144b57600080fd5b6112a78261136e565b6000806040838503121561146757600080fd5b6114708361136e565b946020939093013593505050565b600060e08284031215610d7d57600080fd5b803561ffff8116811461138557600080fd5b600080604083850312156114b557600080fd5b823567ffffffffffffffff8111156114cc57600080fd5b6114d88582860161135c565b9250506114e760208401611490565b90509250929050565b60006020828403121561150257600080fd5b5035919050565b60018060a01b038151168252602081015164ffffffffff8082166020850152806040840151166040850152505061ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b60e081016104b28284611509565b6020808252825182820181905260009190848201906040850190845b818110156115b6576115a3838551611509565b9284019260e09290920191600101611590565b50909695505050505050565b600080602083850312156115d557600080fd5b823567ffffffffffffffff808211156115ed57600080fd5b818501915085601f83011261160157600080fd5b81358181111561161057600080fd5b86602060e08302850101111561162557600080fd5b60209290920196919550909350505050565b6bffffffffffffffffffffffff881681526001600160a01b0387811660208301528681166040830152851660608201526080810184905260c060a0820181905281018290526000828460e0840137600060e0848401015260e0601f19601f850116830101905098975050505050505050565b6000602082840312156116bb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104b2576104b26116c2565b6000808335601e1984360301811261170257600080fd5b83018035915067ffffffffffffffff82111561171d57600080fd5b6020019150600581901b360382131561173557600080fd5b9250929050565b60006020828403121561174e57600080fd5b815180151581146112a757600080fd5b65ffffffffffff81811683821601908082111561177d5761177d6116c2565b5092915050565b803564ffffffffff8116811461138557600080fd5b6000602082840312156117ab57600080fd5b6112a782611784565b6001600160a01b036117c58261136e565b1682526117d460208201611784565b64ffffffffff8082166020850152806117ef60408501611784565b166040850152505061ffff61180660608301611490565b1660608301526080810135608083015260a081013560a083015260c081013560c08301525050565b60e081016104b282846117b4565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081611877576118776116c2565b506000190190565b6020808252810182905260008360408301825b858110156118b7576118a482846117b4565b60e0928301929190910190600101611892565b5095945050505050565b6000602082840312156118d357600080fd5b6112a782611490565b80820281158282048414176104b2576104b26116c2565b60008261191057634e487b7160e01b600052601260045260246000fd5b50049056feeda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00","sourceMap":"727:4272:112:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;727:4272:112;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;727:4272:112;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80636f8934f4116100665780636f8934f4146101175780637a05557c146101ee578063a1550b2f14610201578063c68907de14610216578063c9ac93681461021e57600080fd5b80630f8fb14f146100a357806314c9fcbc146100c957806333d42dc6146100de57806364843393146100f157806368c74fa814610104575b600080fd5b6100b66100b136600461138a565b610231565b6040519081526020015b60405180910390f35b6100dc6100d7366004611439565b61040a565b005b6100b66100ec366004611454565b610470565b6100dc6100ff36600461147e565b6104b8565b6100b66101123660046114a2565b610526565b6101e16101253660046114f0565b6040805160008082526020808301828152838501838152606085018481526080860185815260a0870186815260c088018781529987527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab029095529487902060e0870190975286546001600160a01b0381168752600160a01b810464ffffffffff908116909452600160c81b8104909316909152600160f01b90910461ffff16905260018401549091526002830154905260039091015490915290565b6040516100c09190611566565b6100b66101fc366004611454565b610631565b610209610657565b6040516100c09190611574565b6100b6610675565b6100dc61022c3660046115c2565b61068e565b843560009081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab02602052604081206000805160206119168339815191529060006102af893561028760408c0160208d01611439565b600091825260018601602090815260408084206001600160a01b039093168452919052902090565b90506102bc82828b6106f9565b6102cb82828b60400135610868565b6102da83838b60400135610889565b82546000906001600160a01b031663e69f94956102fa60408d0135610900565b8b8d602001602081019061030e9190611439565b8e60200160208101906103219190611439565b8d8d8d6040518863ffffffff1660e01b81526004016103469796959493929190611637565b6020604051808303816000875af1158015610365573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038991906116a9565b6001830181905590506103a260408b0160208c01611439565b6001600160a01b0316336001600160a01b03168b600001357ff08f338c8905e343697a35fef11af2f611a36658016e0653521354c865373ea78d604001356040516103ef91815260200190565b60405180910390a45050506040909601359695505050505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661045457604051630ef4733760e31b815260040160405180910390fd5b610464638be41ea360e01b610919565b61046d816109f2565b50565b60006104ae82846000805160206119168339815191525b6000928352600101602090815260408084206001600160a01b039093168452919052902090565b5490505b92915050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610509576040516365f4906560e01b81523360048201526024015b60405180910390fd5b6000805160206119168339815191526105228183610a0a565b5050565b813560009081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab026020526040812060008051602061191683398151915290600061057c86356102876040890160208a01611439565b90506105898282886106f9565b610594828787610b47565b93506105a1828286610868565b81546105c7906001600160a01b0316306105c160408a0160208b01611439565b87610ba8565b6105d76040870160208801611439565b6001600160a01b0316336001600160a01b031687600001357f970af01ab25e63f8131277859b2c17e9a07c2eb257e6db87449000d91c0f84018760405161062091815260200190565b60405180910390a450505092915050565b600061064c8284600080516020611916833981519152610487565b600101549392505050565b6060610670600080516020611916833981519152610c00565b905090565b6000610670600080516020611916833981519152610d83565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031633146106da576040516365f4906560e01b8152336004820152602401610500565b6000805160206119168339815191526106f4818484610e55565b505050565b60038301546107125761071263f235dd0160e01b611055565b806040013560000361072e5761072e63df4e56a560e01b611055565b82546001600160a01b031661074d5761074d63388470d360e21b611055565b82600101548160400135846002015461076691906116d8565b111561077c5761077c632c2d39b560e21b611055565b8254600160a01b900464ffffffffff164210156107a3576107a36309672a1b60e31b611055565b8254600160c81b900464ffffffffff16158015906107d057508254600160c81b900464ffffffffff164210155b156107e5576107e563d87c5b1d60e01b611055565b8154156107fc576107fc637f76444f60e01b611055565b600061082b6108116040840160208501611439565b836040013560009182526020908152604082208252902090565b600385015490915061084e908261084560608601866116eb565b9092909161105f565b6108625761086263164bf28d60e21b611055565b50505050565b8083600201600082825461087c91906116d8565b9091555050815401905550565b8154835460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b3906044016020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610862919061173c565b6000600160601b821061091557610915611099565b5090565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166109a1576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff191660011790556109ba565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b61046d600080516020611916833981519152826110a7565b815465ffffffffffff600160a01b8204811691600160d01b9004166000610a31828461175e565b905065ffffffffffff821615610a9f5765ffffffffffff600019820116600090815260028601602090815260409182902091610a7291908701908701611799565b815464ffffffffff918216600160a01b90910490911610610a9d57610a9d631ec409a760e21b611055565b505b610ab9610aaf6020860186611439565b85608001356110e2565b65ffffffffffff811660009081526002860160205260409020610adc9085611161565b610ae782600161175e565b855465ffffffffffff91909116600160d01b026001600160d01b039091161785556040517fbbf6c4d40b4e256406c3a10649830a16f5e696278f3051db12c5ee0a9f571dee90610b3890869061182e565b60405180910390a15050505050565b825460009061ffff600160f01b90910481169083168114610b7157610b71621c159b60ea1b611055565b6040840135915061ffff811615610ba0576000610b9685604001358361ffff16611232565b6040860135039250505b509392505050565b816001600160a01b0316836001600160a01b0316031561086257306001600160a01b03841603610beb57610be66001600160a01b03851683836112ae565b610862565b6108626001600160a01b0385168484846112fe565b8054606090600160d01b900465ffffffffffff1667ffffffffffffffff811115610c2c57610c2c61183c565b604051908082528060200260200182016040528015610c9357816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c08201528252600019909201910181610c4a5790505b50905060005b8254600160d01b900465ffffffffffff16811015610d7d5782546002840190600090610cd5908490600160a01b900465ffffffffffff166116d8565b81526020808201929092526040908101600020815160e08101835281546001600160a01b0381168252600160a01b810464ffffffffff90811695830195909552600160c81b810490941692810192909252600160f01b90920461ffff16606082015260018201546080820152600282015460a082015260039091015460c08201528251839083908110610d6a57610d6a611852565b6020908102919091010152600101610c99565b50919050565b805460009065ffffffffffff600160a01b8204811691600160d01b900416808303610db857610db86311357c2560e21b611055565b65ffffffffffff6000198383010116805b8365ffffffffffff168110610e3c5760008181526002870160205260409020805464ffffffffff600160c81b8204811691600160a01b9004164210801590610e185750801580610e1857508042105b15610e295750909695505050505050565b505080610e3590611868565b9050610dc9565b50610e4d6311357c2560e21b611055565b505050919050565b825465ffffffffffff600160a01b8204811691600160d01b9004811690610e7c84846116d8565b1115610e9257610e9263ae4eeeb160e01b611055565b82600080805b8365ffffffffffff16811015610f8f5736888883818110610ebb57610ebb611852565b905060e002019050806020016020810190610ed69190611799565b64ffffffffff168465ffffffffffff1610610efb57610efb631ec409a760e21b611055565b65ffffffffffff8716820160009081526002808c016020526040909120908101546080830135811115610f3857610f3863ae4eeeb160e01b611055565b610f428284611161565b610f526040840160208501611799565b64ffffffffff169550610f696080840135866116d8565b9450610f81610f7b6020850185611439565b866110e2565b505050806001019050610e98565b50875465ffffffffffff808516600160d01b81026001600160d01b03909316929092178a55851611156110125765ffffffffffff83165b8465ffffffffffff168110156110105765ffffffffffff8616810160009081526002808b016020526040822082815560018082018490559181018390556003019190915501610fc6565b505b7f7609e28234a0fb3289eb48ac2b0315a8b49a296235f8c3b440f65db3ddc89568878760405161104392919061187f565b60405180910390a15050505050505050565b8060005260046000fd5b60008315611091578360051b8501855b803580851160051b9485526020948518526040600020930181811061106f5750505b501492915050565b6335278d126000526004601cfd5b6001600160a01b0381166110c5576110c5631c64498f60e31b611055565b81546001600160a01b0319166001600160a01b0391909116179055565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015611126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114a91906116a9565b811115610522576105226342e1bedf60e01b611055565b6111716040820160208301611799565b825464ffffffffff91909116600160a01b0264ffffffffff60a01b199091161782556111a36060820160408301611799565b825464ffffffffff91909116600160c81b0264ffffffffff60c81b199091161782556080810135600183015560c081013560038301556111e66020820182611439565b82546001600160a01b0319166001600160a01b039190911617825561121160808201606083016118c1565b825461ffff91909116600160f01b026001600160f01b039091161790915550565b60006127108211156112905760405162461bcd60e51b815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f30306044820152600360fc1b6064820152608401610500565b61271061129d83856118dc565b6112a791906118f3565b9392505050565b816014528060345263a9059cbb60601b60005260206000604460106000875af180600160005114166112f357803d853b1517106112f3576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af1806001600051141661134d57803d873b15171061134d57637939f4246000526004601cfd5b50600060605260405250505050565b600060808284031215610d7d57600080fd5b80356001600160a01b038116811461138557600080fd5b919050565b6000806000806000608086880312156113a257600080fd5b853567ffffffffffffffff808211156113ba57600080fd5b6113c689838a0161135c565b96506113d46020890161136e565b95506040880135945060608801359150808211156113f157600080fd5b818801915088601f83011261140557600080fd5b81358181111561141457600080fd5b89602082850101111561142657600080fd5b9699959850939650602001949392505050565b60006020828403121561144b57600080fd5b6112a78261136e565b6000806040838503121561146757600080fd5b6114708361136e565b946020939093013593505050565b600060e08284031215610d7d57600080fd5b803561ffff8116811461138557600080fd5b600080604083850312156114b557600080fd5b823567ffffffffffffffff8111156114cc57600080fd5b6114d88582860161135c565b9250506114e760208401611490565b90509250929050565b60006020828403121561150257600080fd5b5035919050565b60018060a01b038151168252602081015164ffffffffff8082166020850152806040840151166040850152505061ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b60e081016104b28284611509565b6020808252825182820181905260009190848201906040850190845b818110156115b6576115a3838551611509565b9284019260e09290920191600101611590565b50909695505050505050565b600080602083850312156115d557600080fd5b823567ffffffffffffffff808211156115ed57600080fd5b818501915085601f83011261160157600080fd5b81358181111561161057600080fd5b86602060e08302850101111561162557600080fd5b60209290920196919550909350505050565b6bffffffffffffffffffffffff881681526001600160a01b0387811660208301528681166040830152851660608201526080810184905260c060a0820181905281018290526000828460e0840137600060e0848401015260e0601f19601f850116830101905098975050505050505050565b6000602082840312156116bb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104b2576104b26116c2565b6000808335601e1984360301811261170257600080fd5b83018035915067ffffffffffffffff82111561171d57600080fd5b6020019150600581901b360382131561173557600080fd5b9250929050565b60006020828403121561174e57600080fd5b815180151581146112a757600080fd5b65ffffffffffff81811683821601908082111561177d5761177d6116c2565b5092915050565b803564ffffffffff8116811461138557600080fd5b6000602082840312156117ab57600080fd5b6112a782611784565b6001600160a01b036117c58261136e565b1682526117d460208201611784565b64ffffffffff8082166020850152806117ef60408501611784565b166040850152505061ffff61180660608301611490565b1660608301526080810135608083015260a081013560a083015260c081013560c08301525050565b60e081016104b282846117b4565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081611877576118776116c2565b506000190190565b6020808252810182905260008360408301825b858110156118b7576118a482846117b4565b60e0928301929190910190600101611892565b5095945050505050565b6000602082840312156118d357600080fd5b6112a782611490565b80820281158282048414176104b2576104b26116c2565b60008261191057634e487b7160e01b600052601260045260246000fd5b50049056feeda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00","sourceMap":"727:4272:112:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2076:1047;;;;;;:::i;:::-;;:::i;:::-;;;1467:25:654;;;1455:2;1440:18;2076:1047:112;;;;;;;;844:196;;;;;;:::i;:::-;;:::i;:::-;;4483:242;;;;;;:::i;:::-;;:::i;3384:191::-;;;;;;:::i;:::-;;:::i;1227:845::-;;;;;;:::i;:::-;;:::i;3952:499::-;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1021:29:114;;;:16;:29;;;;;;;4379:67:112;;;;;;;;-1:-1:-1;;;;;4379:67:112;;;;-1:-1:-1;;;4379:67:112;;;;;;;;;-1:-1:-1;;;4379:67:112;;;;;;;;-1:-1:-1;;;4379:67:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3952:499:112;;;;;;;;:::i;4757:240::-;;;;;;:::i;:::-;;:::i;3769:151::-;;;:::i;:::-;;;;;;;:::i;3607:130::-;;;:::i;3155:197::-;;;;;;:::i;:::-;;:::i;2076:1047::-;2362:17;;2222:7;1021:29:114;;;:16;:29;;;;;-1:-1:-1;;;;;;;;;;;837:12:114;2391:39:112;2433:79;2468:17;;2493:13;;;;;;;;:::i;:::-;1189:19:114;1223:37;;;:24;;;:37;;;;;;;;-1:-1:-1;;;;;1223:46:114;;;;;;;;;;;1059:215;2433:79:112;2391:121;;2519:39;2532:9;2543:7;2552:5;2519:12;:39::i;:::-;2564:48;2577:9;2588:7;2597:5;:14;;;2564:12;:48::i;:::-;2618:49;2637:2;2641:9;2652:5;:14;;;2618:18;:49::i;:::-;2715:22;;2674:17;;-1:-1:-1;;;;;2715:22:112;2694:65;2769:36;2790:14;;;;2769:20;:36::i;:::-;2815:9;2834:5;:13;;;;;;;;;;:::i;:::-;2857:5;:13;;;;;;;;;;:::i;:::-;2880:8;2898:9;;2694:221;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7714:17:113;;;:29;;;2674:241:112;-1:-1:-1;3049:13:112;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2970:120:112;3031:10;-1:-1:-1;;;;;2970:120:112;3006:5;:17;;;2970:120;3070:5;:14;;;2970:120;;;;1467:25:654;;1455:2;1440:18;;1321:177;2970:120:112;;;;;;;;-1:-1:-1;;;3104:14:112;;;;;;2076:1047;-1:-1:-1;;;;;;2076:1047:112:o;844:196::-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;939:43:112::1;-1:-1:-1::0;;;939:13:112::1;:43::i;:::-;988:47;1015:19;988:26;:47::i;:::-;844:196:::0;:::o;4483:242::-;4590:7;4618:85;4682:11;4695:7;-1:-1:-1;;;;;;;;;;;4618:29:112;1189:19:114;1223:37;;;:24;;:37;;;;;;;;-1:-1:-1;;;;;1223:46:114;;;;;;;;;;;1059:215;4618:85:112;:102;;-1:-1:-1;4483:242:112;;;;;:::o;3384:191::-;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;6358:51:654;6331:18;;318:29:564;;;;;;;;275:79;-1:-1:-1;;;;;;;;;;;3537:33:112::1;837:12:114::0;3560:9:112;3537:18:::1;:33::i;:::-;3473:102;3384:191:::0;:::o;1227:845::-;1479:17;;1332:14;1021:29:114;;;:16;:29;;;;;-1:-1:-1;;;;;;;;;;;837:12:114;1508:39:112;1550:79;1585:17;;1610:13;;;;;;;;:::i;1550:79::-;1508:121;;1636:39;1649:9;1660:7;1669:5;1636:12;:39::i;:::-;1691:55;1709:9;1720:5;1727:18;1691:17;:55::i;:::-;1682:64;;1753:40;1766:9;1777:7;1786:6;1753:12;:40::i;:::-;1842:18;;1800:122;;-1:-1:-1;;;;;1842:18:112;1876:4;1889:13;;;;;;;;:::i;:::-;1910:6;1800:34;:122::i;:::-;2014:13;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1934:113:112;1996:10;-1:-1:-1;;;;;1934:113:112;1971:5;:17;;;1934:113;2035:6;1934:113;;;;1467:25:654;;1455:2;1440:18;;1321:177;1934:113:112;;;;;;;;2054:13;;;1227:845;;;;:::o;4757:240::-;4860:7;4888:85;4952:11;4965:7;-1:-1:-1;;;;;;;;;;;4888:29:112;745:114:114;4888:85:112;:104;;;;4757:240;-1:-1:-1;;;4757:240:112:o;3769:151::-;3834:23;3874:41;-1:-1:-1;;;;;;;;;;;3874:19:112;:41::i;:::-;3867:48;;3769:151;:::o;3607:130::-;3667:7;3689:43;-1:-1:-1;;;;;;;;;;;3689:21:112;:43::i;3155:197::-;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;6358:51:654;6331:18;;318:29:564;6212:203:654;275:79:564;-1:-1:-1;;;;;;;;;;;3312:35:112::1;837:12:114::0;3336:10:112;;3312:19:::1;:35::i;:::-;3248:104;3155:197:::0;;:::o;1489:1456:113:-;1648:20;;;;1644:116;;1692:61;-1:-1:-1;;;1692:23:113;:61::i;:::-;1770:5;:14;;;1788:1;1770:19;1766:130;;1799:90;-1:-1:-1;;;1799:23:113;:90::i;:::-;1906:18;;-1:-1:-1;;;;;1906:18:113;1902:112;;1948:59;-1:-1:-1;;;1948:23:113;:59::i;:::-;2182:9;:28;;;2165:5;:14;;;2139:9;:23;;;:40;;;;:::i;:::-;:71;2128:174;;;2225:70;-1:-1:-1;;;2225:23:113;:70::i;:::-;2330:24;;-1:-1:-1;;;2330:24:113;;;;2312:15;:42;2308:126;;;2364:63;-1:-1:-1;;;2364:23:113;:63::i;:::-;2451:22;;-1:-1:-1;;;2451:22:113;;;;:26;;;;:71;;-1:-1:-1;2500:22:113;;-1:-1:-1;;;2500:22:113;;;;2481:15;:41;;2451:71;2440:162;;;2537:58;-1:-1:-1;;;2537:23:113;:58::i;:::-;2644:15;;:19;2640:99;;2673:59;-1:-1:-1;;;2673:23:113;:59::i;:::-;2745:12;2760:42;2772:13;;;;;;;;:::i;:::-;2787:5;:14;;;8770:12;8879:18;;;8998:4;8991:20;;;9138:4;9125:18;;9115:29;;9280:18;;;8681:627;2760:42;2840:20;;;;2745:57;;-1:-1:-1;2813:54:113;;2745:57;2813:11;;;;:5;:11;:::i;:::-;:26;;;;;:54::i;:::-;2808:133;;2877:57;-1:-1:-1;;;2877:23:113;:57::i;:::-;1638:1307;1489:1456;;;:::o;7360:237::-;7531:6;7504:9;:23;;;:33;;;;;;;:::i;:::-;;;;-1:-1:-1;;7561:25:113;;;;;-1:-1:-1;7360:237:113:o;7991:211::-;8138:18;;8166:22;;8131:66;;-1:-1:-1;;;8131:66:113;;-1:-1:-1;;;;;8166:22:113;;;8131:66;;;7406:51:654;7473:18;;;7466:34;;;8138:18:113;;;8131:34;;7379:18:654;;8131:66:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2648:138:650:-;2700:6;-1:-1:-1;;;2722:1:650;:12;2718:35;;2736:17;:15;:17::i;:::-;-1:-1:-1;2777:1:650;2648:138::o;456:282:557:-;-1:-1:-1;;;;;;1119:62:557;;1100:4;1119:62;;;296:66:559;1119:62:557;;;;;;;;514:182;;-1:-1:-1;;;;;;560:62:557;;:49;:62;;;296:66:559;560:62:557;;;;;:69;;-1:-1:-1;;560:69:557;625:4;560:69;;;514:182;;;657:32;;-1:-1:-1;;;657:32:557;;;;;;;;;;;514:182;706:27;;-1:-1:-1;;;;;;706:27:557;;;;;;;;456:282;:::o;1044:151:112:-;1124:66;-1:-1:-1;;;;;;;;;;;1170:19:112;1124:23;:66::i;3562:1019:113:-;3743:19;;;-1:-1:-1;;;3743:19:113;;;;;-1:-1:-1;;;3770:17:113;;;3687:22;3823:31;3770:17;3743:19;3823:31;:::i;:::-;3799:55;-1:-1:-1;3894:17:113;;;;3890:352;;4001:36;-1:-1:-1;;4018:18:113;;4001:36;3921;4001;;;:16;;;:36;;;;;;;;;;4089:27;;;;;;;;;:::i;:::-;4057:28;;:59;;;;-1:-1:-1;;;4057:28:113;;;;;;:59;4053:183;;4128:99;-1:-1:-1;;;4128:23:113;:99::i;:::-;3913:329;3890:352;4277:94;4305:21;;;;:12;:21;:::i;:::-;4334:12;:31;;;4277:20;:94::i;:::-;4400:32;;;;;;;:16;;;:32;;;;;4378:69;;4434:12;4378:21;:69::i;:::-;4504:17;:13;4520:1;4504:17;:::i;:::-;4484:37;;;;;;;-1:-1:-1;;;4484:37:113;-1:-1:-1;;;;;4484:37:113;;;;;;4533:43;;;;;;4563:12;;4533:43;:::i;:::-;;;;;;;;3680:901;;;3562:1019;;:::o;2949:609::-;3140:20;;3098:14;;3140:20;-1:-1:-1;;;3140:20:113;;;;;;3170:32;;;;3166:118;;3212:65;-1:-1:-1;;;3212:23:113;:65::i;:::-;3299:14;;;;;-1:-1:-1;3323:14:113;;;;3319:215;;3367:21;3391:79;3424:5;:14;;;3450:10;3391:79;;:21;:79::i;:::-;3489:14;;;;:30;;-1:-1:-1;;3319:215:113;3540:13;2949:609;;;;;:::o;2807:299:332:-;2938:2;-1:-1:-1;;;;;2930:10:332;:4;-1:-1:-1;;;;;2930:10:332;;2926:37;2950:7;2926:37;2989:4;-1:-1:-1;;;;;2973:21:332;;;2969:133;;3004:30;-1:-1:-1;;;;;3004:18:332;;3023:2;3027:6;3004:18;:30::i;:::-;2969:133;;;3055:40;-1:-1:-1;;;;;3055:22:332;;3078:4;3084:2;3088:6;3055:22;:40::i;4585:334:113:-;4752:17;;4676:34;;-1:-1:-1;;;4752:17:113;;;;4731:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4731:39:113;;-1:-1:-1;;4731:39:113;;;;;;;;;;;;4718:52;;4781:9;4776:116;4796:17;;-1:-1:-1;;;4796:17:113;;;;4792:21;;4776:116;;;4861:19;;4844:16;;;;:41;;4861:23;;4883:1;;-1:-1:-1;;;4861:19:113;;;;:23;:::i;:::-;4844:41;;;;;;;;;;;;;;-1:-1:-1;4844:41:113;4828:57;;;;;;;;;-1:-1:-1;;;;;4828:57:113;;;;-1:-1:-1;;;4828:57:113;;;;;;;;;;;;;-1:-1:-1;;;4828:57:113;;;;;;;;;;;;-1:-1:-1;;;4828:57:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;;;;4839:1;;4828:13;;;;;;:::i;:::-;;;;;;;;;;:57;4815:3;;4776:116;;;;4585:334;;;:::o;607:878::-;774:19;;700:7;;774:19;-1:-1:-1;;;774:19:113;;;;;-1:-1:-1;;;801:17:113;;;835:19;;;831:107;;864:67;-1:-1:-1;;;864:23:113;:67::i;:::-;991:55;-1:-1:-1;;1009:33:113;;;:37;991:55;;1059:348;1098:16;1093:21;;:1;:21;1059:348;;1129:32;1164:19;;;:16;;;:19;;;;;1214:22;;;-1:-1:-1;;;1214:22:113;;;;;-1:-1:-1;;;1276:24:113;;;1257:15;:43;;;;:108;;-1:-1:-1;1313:17:113;;;:51;;;1352:12;1334:15;:30;1313:51;1244:157;;;-1:-1:-1;1391:1:113;;607:878;-1:-1:-1;;;;;;607:878:113:o;1244:157::-;1121:286;;1116:3;;;;:::i;:::-;;;1059:348;;;-1:-1:-1;1413:67:113;-1:-1:-1;;;1413:23:113;:67::i;:::-;709:776;;;607:878;;;:::o;4923:1964::-;5168:19;;;-1:-1:-1;;;5168:19:113;;;;;-1:-1:-1;;;5195:17:113;;;;;5229:39;5251:10;5168:19;5229:39;:::i;:::-;:58;5225:148;;;5297:69;-1:-1:-1;;;5297:23:113;:69::i;:::-;5413:10;5379:24;;;5508:1048;5528:17;5524:21;;:1;:21;5508:1048;;;5560:36;5599:10;;5610:1;5599:13;;;;;;;:::i;:::-;;;;;;5560:52;;5650:12;:27;;;;;;;;;;:::i;:::-;5624:53;;:22;:53;;;5620:177;;5689:99;-1:-1:-1;;;5689:23:113;:99::i;:::-;5987:14;;;;;5898:32;5970;;;:16;;;;:32;;;;;;6049:23;;;;6108:31;;;;6085:54;;6081:148;;;6151:69;-1:-1:-1;;;6151:23:113;:69::i;:::-;6307:46;6329:9;6340:12;6307:21;:46::i;:::-;6386:27;;;;;;;;:::i;:::-;6361:52;;;-1:-1:-1;6421:55:113;6445:31;;;;6421:55;;:::i;:::-;;-1:-1:-1;6484:65:113;6505:21;;;;:12;:21;:::i;:::-;6528:20;6484;:65::i;:::-;5552:1004;;;5547:3;;;;;5508:1048;;;-1:-1:-1;6562:37:113;;;;;;-1:-1:-1;;;6562:37:113;;-1:-1:-1;;;;;6562:37:113;;;;;;;;;6610:42;;;6606:221;;;6667:29;;;6662:159;6702:22;6698:26;;:1;:26;6662:159;;;6787:14;;;;;6770:32;;;;:16;;;;:32;;;;;6763:39;;;;;;;;;;;;;;;;;;;;;;6726:3;6662:159;;;;6606:221;6838:44;6871:10;;6838:44;;;;;;;:::i;:::-;;;;;;;;5042:1845;;;;;4923:1964;;;:::o;602:141:333:-;702:8;699:1;692:19;728:4;725:1;718:15;2397:1407:647;2522:12;2619;2616:1134;;;2759:12;2756:1;2752:20;2738:12;2734:39;2885:12;2983:753;3176:20;;3167:30;;;3164:1;3160:38;3391:21;;;3453:4;3440:18;;;3433:48;3608:4;3602;3592:21;;3644:17;3692:15;;;2983:753;3682:36;2987:2;;2616:1134;-1:-1:-1;3774:14:647;;2397:1407;-1:-1:-1;;2397:1407:647:o;18030:290:650:-;18219:10;18213:4;18206:24;18299:4;18293;18286:18;8206:299:113;-1:-1:-1;;;;;8330:33:113;;8326:124;;8373:70;-1:-1:-1;;;8373:23:113;:70::i;:::-;8456:44;;-1:-1:-1;;;;;;8456:44:113;-1:-1:-1;;;;;8456:44:113;;;;;;;8206:299::o;7752:235::-;7861:41;;-1:-1:-1;;;7861:41:113;;7896:4;7861:41;;;6358:51:654;-1:-1:-1;;;;;7861:26:113;;;;;6331:18:654;;7861:41:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7852:6;:50;7848:135;;;7912:64;-1:-1:-1;;;7912:23:113;:64::i;6891:465::-;7048:27;;;;;;;;:::i;:::-;7021:54;;;;;;;-1:-1:-1;;;7021:54:113;-1:-1:-1;;;;7021:54:113;;;;;;7106:25;;;;;;;;:::i;:::-;7081:50;;;;;;;-1:-1:-1;;;7081:50:113;-1:-1:-1;;;;7081:50:113;;;;;;7168:31;;;;-1:-1:-1;7137:28:113;;:62;7228:23;;;;7205:20;;;:46;7278:21;;;;7168:12;7278:21;:::i;:::-;7257:42;;-1:-1:-1;;;;;;7257:42:113;-1:-1:-1;;;;;7257:42:113;;;;;;;7328:23;;;;;;;;:::i;:::-;7305:46;;;;;;;-1:-1:-1;;;7305:46:113;-1:-1:-1;;;;;7305:46:113;;;;;;;-1:-1:-1;6891:465:113:o;361:224:331:-;452:7;116:6;475:11;:22;;467:68;;;;-1:-1:-1;;;467:68:331;;10767:2:654;467:68:331;;;10749:21:654;10806:2;10786:18;;;10779:30;10845:34;10825:18;;;10818:62;-1:-1:-1;;;10896:18:654;;;10889:31;10937:19;;467:68:331;10565:397:654;467:68:331;116:6;549:20;558:11;549:6;:20;:::i;:::-;548:32;;;;:::i;:::-;541:39;361:224;-1:-1:-1;;;361:224:331:o;13125:887:651:-;13288:2;13282:4;13275:16;13345:6;13339:4;13332:20;-1:-1:-1;;;13404:4:651;13397:48;13606:4;13600;13594;13588;13585:1;13578:5;13571;13566:45;13658:7;13654:1;13647:4;13641:11;13638:18;13634:32;13624:275;;13749:7;13730:16;13721:5;13709:18;13702:26;13699:48;13696:61;13686:199;;13794:10;13788:4;13781:24;13862:4;13856;13849:18;13686:199;13624:275;13925:1;13919:4;13912:15;13125:887;;;:::o;8987:1026::-;9170:4;9164:11;9235:6;9229:4;9222:20;9300:2;9294:4;9287:16;9365:4;9361:2;9357:13;9351:4;9344:27;-1:-1:-1;;;9421:4:651;9414:48;9574:4;9568;9562;9556;9553:1;9546:5;9539;9534:45;9626:7;9622:1;9615:4;9609:11;9606:18;9602:32;9592:279;;9717:7;9698:16;9689:5;9677:18;9670:26;9667:48;9664:61;9654:203;;9762:10;9756:4;9749:24;9834:4;9828;9821:18;9654:203;-1:-1:-1;9897:1:651;9891:4;9884:15;9953:4;9946:15;-1:-1:-1;;;;8987:1026:651:o;14:154:654:-;72:5;117:3;108:6;103:3;99:16;95:26;92:46;;;134:1;131;124:12;173:173;241:20;;-1:-1:-1;;;;;290:31:654;;280:42;;270:70;;336:1;333;326:12;270:70;173:173;;;:::o;351:965::-;474:6;482;490;498;506;559:3;547:9;538:7;534:23;530:33;527:53;;;576:1;573;566:12;527:53;616:9;603:23;645:18;686:2;678:6;675:14;672:34;;;702:1;699;692:12;672:34;725:65;782:7;773:6;762:9;758:22;725:65;:::i;:::-;715:75;;809:38;843:2;832:9;828:18;809:38;:::i;:::-;799:48;;894:2;883:9;879:18;866:32;856:42;;951:2;940:9;936:18;923:32;907:48;;980:2;970:8;967:16;964:36;;;996:1;993;986:12;964:36;1034:8;1023:9;1019:24;1009:34;;1081:7;1074:4;1070:2;1066:13;1062:27;1052:55;;1103:1;1100;1093:12;1052:55;1143:2;1130:16;1169:2;1161:6;1158:14;1155:34;;;1185:1;1182;1175:12;1155:34;1230:7;1225:2;1216:6;1212:2;1208:15;1204:24;1201:37;1198:57;;;1251:1;1248;1241:12;1198:57;351:965;;;;-1:-1:-1;351:965:654;;-1:-1:-1;1282:2:654;1274:11;;1304:6;351:965;-1:-1:-1;;;351:965:654:o;1503:186::-;1562:6;1615:2;1603:9;1594:7;1590:23;1586:32;1583:52;;;1631:1;1628;1621:12;1583:52;1654:29;1673:9;1654:29;:::i;1694:254::-;1762:6;1770;1823:2;1811:9;1802:7;1798:23;1794:32;1791:52;;;1839:1;1836;1829:12;1791:52;1862:29;1881:9;1862:29;:::i;:::-;1852:39;1938:2;1923:18;;;;1910:32;;-1:-1:-1;;;1694:254:654:o;1953:202::-;2047:6;2100:3;2088:9;2079:7;2075:23;2071:33;2068:53;;;2117:1;2114;2107:12;2160:159;2227:20;;2287:6;2276:18;;2266:29;;2256:57;;2309:1;2306;2299:12;2324:425;2417:6;2425;2478:2;2466:9;2457:7;2453:23;2449:32;2446:52;;;2494:1;2491;2484:12;2446:52;2534:9;2521:23;2567:18;2559:6;2556:30;2553:50;;;2599:1;2596;2589:12;2553:50;2622:65;2679:7;2670:6;2659:9;2655:22;2622:65;:::i;:::-;2612:75;;;2706:37;2739:2;2728:9;2724:18;2706:37;:::i;:::-;2696:47;;2324:425;;;;;:::o;2754:180::-;2813:6;2866:2;2854:9;2845:7;2841:23;2837:32;2834:52;;;2882:1;2879;2872:12;2834:52;-1:-1:-1;2905:23:654;;2754:180;-1:-1:-1;2754:180:654:o;2939:564::-;3054:1;3050;3045:3;3041:11;3037:19;3029:5;3023:12;3019:38;3014:3;3007:51;3104:4;3097:5;3093:16;3087:23;3129:12;3191:2;3177:12;3173:21;3166:4;3161:3;3157:14;3150:45;3256:2;3248:4;3241:5;3237:16;3231:23;3227:32;3220:4;3215:3;3211:14;3204:56;;;3321:6;3313:4;3306:5;3302:16;3296:23;3292:36;3285:4;3280:3;3276:14;3269:60;3378:4;3371:5;3367:16;3361:23;3354:4;3349:3;3345:14;3338:47;3434:4;3427:5;3423:16;3417:23;3410:4;3405:3;3401:14;3394:47;3490:4;3483:5;3479:16;3473:23;3466:4;3461:3;3457:14;3450:47;2939:564;;:::o;3508:270::-;3708:3;3693:19;;3721:51;3697:9;3754:6;3721:51;:::i;3783:726::-;4020:2;4072:21;;;4142:13;;4045:18;;;4164:22;;;3991:4;;4020:2;4243:15;;;;4217:2;4202:18;;;3991:4;4286:197;4300:6;4297:1;4294:13;4286:197;;;4349:52;4397:3;4388:6;4382:13;4349:52;:::i;:::-;4458:15;;;;4430:4;4421:14;;;;;4322:1;4315:9;4286:197;;;-1:-1:-1;4500:3:654;;3783:726;-1:-1:-1;;;;;;3783:726:654:o;4514:653::-;4635:6;4643;4696:2;4684:9;4675:7;4671:23;4667:32;4664:52;;;4712:1;4709;4702:12;4664:52;4752:9;4739:23;4781:18;4822:2;4814:6;4811:14;4808:34;;;4838:1;4835;4828:12;4808:34;4876:6;4865:9;4861:22;4851:32;;4921:7;4914:4;4910:2;4906:13;4902:27;4892:55;;4943:1;4940;4933:12;4892:55;4983:2;4970:16;5009:2;5001:6;4998:14;4995:34;;;5025:1;5022;5015:12;4995:34;5081:7;5076:2;5068:4;5060:6;5056:17;5052:2;5048:26;5044:35;5041:48;5038:68;;;5102:1;5099;5092:12;5038:68;5133:2;5125:11;;;;;5155:6;;-1:-1:-1;4514:653:654;;-1:-1:-1;;;;4514:653:654:o;5172:846::-;5479:26;5467:39;;5449:58;;-1:-1:-1;;;;;5581:15:654;;;5576:2;5561:18;;5554:43;5633:15;;;5628:2;5613:18;;5606:43;5685:15;;5680:2;5665:18;;5658:43;5732:3;5717:19;;5710:35;;;5782:3;5534;5761:19;;5754:32;;;5802:19;;5795:35;;;5430:4;5823:6;5873;5867:3;5852:19;;5839:49;5938:1;5932:3;5923:6;5912:9;5908:22;5904:32;5897:43;6008:3;6001:2;5997:7;5992:2;5984:6;5980:15;5976:29;5965:9;5961:45;5957:55;5949:63;;5172:846;;;;;;;;;;:::o;6023:184::-;6093:6;6146:2;6134:9;6125:7;6121:23;6117:32;6114:52;;;6162:1;6159;6152:12;6114:52;-1:-1:-1;6185:16:654;;6023:184;-1:-1:-1;6023:184:654:o;6420:127::-;6481:10;6476:3;6472:20;6469:1;6462:31;6512:4;6509:1;6502:15;6536:4;6533:1;6526:15;6552:125;6617:9;;;6638:10;;;6635:36;;;6651:18;;:::i;6682:545::-;6775:4;6781:6;6841:11;6828:25;6935:2;6931:7;6920:8;6904:14;6900:29;6896:43;6876:18;6872:68;6862:96;;6954:1;6951;6944:12;6862:96;6981:33;;7033:20;;;-1:-1:-1;7076:18:654;7065:30;;7062:50;;;7108:1;7105;7098:12;7062:50;7141:4;7129:17;;-1:-1:-1;7192:1:654;7188:14;;;7172;7168:35;7158:46;;7155:66;;;7217:1;7214;7207:12;7155:66;6682:545;;;;;:::o;7511:277::-;7578:6;7631:2;7619:9;7610:7;7606:23;7602:32;7599:52;;;7647:1;7644;7637:12;7599:52;7679:9;7673:16;7732:5;7725:13;7718:21;7711:5;7708:32;7698:60;;7754:1;7751;7744:12;7793:176;7860:14;7894:10;;;7906;;;7890:27;;7929:11;;;7926:37;;;7943:18;;:::i;:::-;7926:37;7793:176;;;;:::o;7974:165::-;8041:20;;8101:12;8090:24;;8080:35;;8070:63;;8129:1;8126;8119:12;8144:184;8202:6;8255:2;8243:9;8234:7;8230:23;8226:32;8223:52;;;8271:1;8268;8261:12;8223:52;8294:28;8312:9;8294:28;:::i;8333:643::-;-1:-1:-1;;;;;8426:25:654;8445:5;8426:25;:::i;:::-;8422:51;8417:3;8410:64;8503:35;8532:4;8525:5;8521:16;8503:35;:::i;:::-;8557:12;8619:2;8605:12;8601:21;8594:4;8589:3;8585:14;8578:45;8696:2;8659:35;8688:4;8681:5;8677:16;8659:35;:::i;:::-;8655:44;8648:4;8643:3;8639:14;8632:68;;;8773:6;8736:35;8765:4;8758:5;8754:16;8736:35;:::i;:::-;8732:48;8725:4;8720:3;8716:14;8709:72;8837:4;8830:5;8826:16;8813:30;8806:4;8801:3;8797:14;8790:54;8900:4;8893:5;8889:16;8876:30;8869:4;8864:3;8860:14;8853:54;8963:4;8956:5;8952:16;8939:30;8932:4;8927:3;8923:14;8916:54;8333:643;;:::o;8981:281::-;9183:3;9168:19;;9196:60;9172:9;9238:6;9196:60;:::i;9267:127::-;9328:10;9323:3;9319:20;9316:1;9309:31;9359:4;9356:1;9349:15;9383:4;9380:1;9373:15;9399:127;9460:10;9455:3;9451:20;9448:1;9441:31;9491:4;9488:1;9481:15;9515:4;9512:1;9505:15;9531:136;9570:3;9598:5;9588:39;;9607:18;;:::i;:::-;-1:-1:-1;;;9643:18:654;;9531:136::o;9672:699::-;9940:2;9952:21;;;9925:18;;10008:22;;;9892:4;10087:6;10061:2;10046:18;;9892:4;10121:224;10135:6;10132:1;10129:13;10121:224;;;10184:54;10234:3;10226:6;10184:54;:::i;:::-;10261:4;10320:15;;;;10285:12;;;;;10157:1;10150:9;10121:224;;;-1:-1:-1;10362:3:654;9672:699;-1:-1:-1;;;;;9672:699:654:o;10376:184::-;10434:6;10487:2;10475:9;10466:7;10462:23;10458:32;10455:52;;;10503:1;10500;10493:12;10455:52;10526:28;10544:9;10526:28;:::i;10967:168::-;11040:9;;;11071;;11088:15;;;11082:22;;11068:37;11058:71;;11109:18;;:::i;11140:217::-;11180:1;11206;11196:132;;11250:10;11245:3;11241:20;11238:1;11231:31;11285:4;11282:1;11275:15;11313:4;11310:1;11303:15;11196:132;-1:-1:-1;11342:9:654;;11140:217::o","linkReferences":{}},"methodIdentifiers":{"__DropFacet_init(address)":"14c9fcbc","addClaimCondition((address,uint40,uint40,uint16,uint256,uint256,bytes32))":"64843393","claimAndStake((uint256,address,uint256,bytes32[]),address,uint256,bytes)":"0f8fb14f","claimWithPenalty((uint256,address,uint256,bytes32[]),uint16)":"68c74fa8","getActiveClaimConditionId()":"c68907de","getClaimConditionById(uint256)":"6f8934f4","getClaimConditions()":"a1550b2f","getDepositIdByWallet(address,uint256)":"7a05557c","getSupplyClaimedByWallet(address,uint256)":"33d42dc6","setClaimConditions((address,uint40,uint40,uint16,uint256,uint256,bytes32)[])":"c9ac9368"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DropFacet__AlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__CannotSetClaimConditions\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__ClaimConditionsNotInAscendingOrder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__ClaimHasEnded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__ClaimHasNotStarted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__CurrencyNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__ExceedsMaxClaimableSupply\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__MerkleRootNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__NoActiveClaimCondition\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__QuantityMustBeGreaterThanZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__RewardsDistributionNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__UnexpectedPenaltyBps\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct IDropFacetBase.ClaimCondition\",\"name\":\"condition\",\"type\":\"tuple\"}],\"name\":\"DropFacet_ClaimConditionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct IDropFacetBase.ClaimCondition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"}],\"name\":\"DropFacet_ClaimConditionsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DropFacet_Claimed_And_Staked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DropFacet_Claimed_WithPenalty\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rewardsDistribution\",\"type\":\"address\"}],\"name\":\"__DropFacet_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IDropFacetBase.ClaimCondition\",\"name\":\"condition\",\"type\":\"tuple\"}],\"name\":\"addClaimCondition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct IDropFacetBase.Claim\",\"name\":\"claim\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"claimAndStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct IDropFacetBase.Claim\",\"name\":\"claim\",\"type\":\"tuple\"},{\"internalType\":\"uint16\",\"name\":\"expectedPenaltyBps\",\"type\":\"uint16\"}],\"name\":\"claimWithPenalty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveClaimConditionId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"}],\"name\":\"getClaimConditionById\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IDropFacetBase.ClaimCondition\",\"name\":\"condition\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getClaimConditions\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IDropFacetBase.ClaimCondition[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"}],\"name\":\"getDepositIdByWallet\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"}],\"name\":\"getSupplyClaimedByWallet\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IDropFacetBase.ClaimCondition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"}],\"name\":\"setClaimConditions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"}},\"kind\":\"dev\",\"methods\":{\"addClaimCondition((address,uint40,uint40,uint16,uint256,uint256,bytes32))\":{\"params\":{\"condition\":\"The ClaimCondition struct defining the condition\"}},\"claimAndStake((uint256,address,uint256,bytes32[]),address,uint256,bytes)\":{\"params\":{\"claim\":\"The claim to process\",\"deadline\":\"The deadline for the transaction\",\"delegatee\":\"The address of the delegatee\",\"signature\":\"The signature of the delegatee\"},\"returns\":{\"_0\":\"The amount of tokens claimed\"}},\"claimWithPenalty((uint256,address,uint256,bytes32[]),uint16)\":{\"params\":{\"claim\":\"The claim to process\",\"expectedPenaltyBps\":\"The expected penalty in basis points\"},\"returns\":{\"amount\":\"The amount of tokens claimed\"}},\"getActiveClaimConditionId()\":{\"returns\":{\"_0\":\"The ID of the active claim condition\"}},\"getClaimConditionById(uint256)\":{\"params\":{\"conditionId\":\"The ID of the claim condition to retrieve\"},\"returns\":{\"condition\":\"The ClaimCondition struct for the specified ID\"}},\"getClaimConditions()\":{\"returns\":{\"_0\":\"An array of ClaimCondition structs\"}},\"getDepositIdByWallet(address,uint256)\":{\"params\":{\"account\":\"The address of the wallet to check\",\"conditionId\":\"The ID of the claim condition\"},\"returns\":{\"_0\":\"The deposit ID of the wallet for the specified condition\"}},\"getSupplyClaimedByWallet(address,uint256)\":{\"params\":{\"account\":\"The address of the wallet to check\",\"conditionId\":\"The ID of the claim condition\"},\"returns\":{\"_0\":\"The number of tokens claimed by the wallet for the specified condition\"}},\"setClaimConditions((address,uint40,uint40,uint16,uint256,uint256,bytes32)[])\":{\"params\":{\"conditions\":\"An array of ClaimCondition structs defining the conditions\"}}},\"version\":1},\"userdoc\":{\"events\":{\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"}},\"kind\":\"user\",\"methods\":{\"addClaimCondition((address,uint40,uint40,uint16,uint256,uint256,bytes32))\":{\"notice\":\"Adds a new claim condition\"},\"claimAndStake((uint256,address,uint256,bytes32[]),address,uint256,bytes)\":{\"notice\":\"Claims tokens and stakes them in the staking contract\"},\"claimWithPenalty((uint256,address,uint256,bytes32[]),uint16)\":{\"notice\":\"Claims tokens with a penalty\"},\"getActiveClaimConditionId()\":{\"notice\":\"Gets the ID of the currently active claim condition\"},\"getClaimConditionById(uint256)\":{\"notice\":\"Retrieves a specific claim condition by its ID\"},\"getClaimConditions()\":{\"notice\":\"Gets all claim conditions\"},\"getDepositIdByWallet(address,uint256)\":{\"notice\":\"Gets the deposit ID of a specific wallet for a given condition\"},\"getSupplyClaimedByWallet(address,uint256)\":{\"notice\":\"Gets the amount of tokens claimed by a specific wallet for a given condition\"},\"setClaimConditions((address,uint40,uint40,uint16,uint256,uint256,bytes32)[])\":{\"notice\":\"Sets the claim conditions for the drop\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/airdrop/drop/DropFacet.sol\":\"DropFacet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/airdrop/drop/DropFacet.sol\":{\"keccak256\":\"0x35c21c945ecb5e428ad92b07b9c594e9451f4c610263534c5358138142086be8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bfcd9828264d93954d9f8a94c9146a1645bf857766c38a65fb5ae8b4204b39d\",\"dweb:/ipfs/QmXwMVc644T1RYkBXcgSsuyEgrY48Fcgg5oHxXh9D2L6yW\"]},\"contracts/src/airdrop/drop/DropFacetBase.sol\":{\"keccak256\":\"0xf57b8a78df44f575c7375f7bae2b78b6b192d8bd7daab9db28bf4ef44e55567e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d84ccff79baf254ae6660bf9c8fdb73672301b12b6c5ab15ffd1a9fb29c8f040\",\"dweb:/ipfs/QmYCgEApJGc1kkmXauJnFAjGjryqkxGnBbMxuuyjG6exPW\"]},\"contracts/src/airdrop/drop/DropStorage.sol\":{\"keccak256\":\"0x83654c8f327bb7ab60084b2efd9d778cc75f11415dd56d71bb5c579348073be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e7b1eb61534f3e033818503aedcd792592b7271244258c11b7370da0ef422c9\",\"dweb:/ipfs/QmdJBBhSZ2ybfPkbUJLAq7rRLgHoDCAo7LQ6cisnr4gRFX\"]},\"contracts/src/airdrop/drop/IDropFacet.sol\":{\"keccak256\":\"0x8f84573d733fb452b2bbef19ff87dde5b361ed7d6106b0b699cea806554bb801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42889f32ac4ef470b4835af580ab9b39aee2d90af18ffb99422e344660637693\",\"dweb:/ipfs/QmVoHJdnYYijrR21rgfskQZYN1uCQqV6mguTLCTfKZcTjx\"]},\"contracts/src/base/registry/facets/distribution/v2/IRewardsDistribution.sol\":{\"keccak256\":\"0x7c3e7dfd78b9131e69ddeac57b3923a004f7ddc7df4b2172f4496d29f226e1e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d262840d9ba5f389bf6f4ee89d03e10b831c99dd1bf50f26073d74b3860d5e91\",\"dweb:/ipfs/QmWSdFJHEvJDBEAoDg8j1SDJTf3eFk8k4YdgpidabVcNxm\"]},\"contracts/src/base/registry/facets/distribution/v2/StakingRewards.sol\":{\"keccak256\":\"0x2df75e500cf40265b839bf589b2c577d6558454702e89b6011db075748ecf385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://194749888fcc16d4c6b08b56a366fea7b914ddbb5ba6c457fa001d41966e646e\",\"dweb:/ipfs/Qma7VRFdFsseUHSAzoVE75cM7bgz3hNUMM1LgtzmcCiSNH\"]},\"contracts/src/utils/interfaces/IWETH.sol\":{\"keccak256\":\"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5\",\"dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6\"]},\"contracts/src/utils/libraries/BasisPoints.sol\":{\"keccak256\":\"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e\",\"dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L\"]},\"contracts/src/utils/libraries/CurrencyTransfer.sol\":{\"keccak256\":\"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4\",\"dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr\"]},\"contracts/src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7\",\"dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875\",\"dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e\",\"dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik\"]},\"node_modules/solady/src/utils/FixedPointMathLib.sol\":{\"keccak256\":\"0x7afe0e9230d62d21b7bcaf26003b489e451fa91f73a50437a6cb506975ff5d91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://105454301879d0d8774b639f75bbf6dd7afcdc3d647f0026d85967e756394caa\",\"dweb:/ipfs/QmddrUdQkVpjHtj8XZxbPU3iqkttdwFs4uDoWfnxU1SCee\"]},\"node_modules/solady/src/utils/MerkleProofLib.sol\":{\"keccak256\":\"0x36e0da7695b2a2316db2ee41192cddb9327394920e38ee3fadea2308d796fbd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4bce2238416b5403c7ea0a94c502aa145ee54f3a9658f12da6810ab2b0daa20\",\"dweb:/ipfs/QmZwif5HQYETZbG8jX9QBwgUWtJXXhTxCajzyxv4xVLcsa\"]},\"node_modules/solady/src/utils/SafeCastLib.sol\":{\"keccak256\":\"0xd5867f226bf7181059e9c274de7dbb35fd159893f95ae1c64dcdcae92f289175\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://477e3b75e2e1ae7ab11ac889cb486fcb425e9bd9e268c5711e80807201dcddfb\",\"dweb:/ipfs/Qmc3GT4xirfmQU7vsKrWcyzfDjEEkC8sYZbxcSusXJEyBx\"]},\"node_modules/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c\",\"dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"DropFacet__AlreadyClaimed"},{"inputs":[],"type":"error","name":"DropFacet__CannotSetClaimConditions"},{"inputs":[],"type":"error","name":"DropFacet__ClaimConditionsNotInAscendingOrder"},{"inputs":[],"type":"error","name":"DropFacet__ClaimHasEnded"},{"inputs":[],"type":"error","name":"DropFacet__ClaimHasNotStarted"},{"inputs":[],"type":"error","name":"DropFacet__CurrencyNotSet"},{"inputs":[],"type":"error","name":"DropFacet__ExceedsMaxClaimableSupply"},{"inputs":[],"type":"error","name":"DropFacet__InsufficientBalance"},{"inputs":[],"type":"error","name":"DropFacet__InvalidProof"},{"inputs":[],"type":"error","name":"DropFacet__MerkleRootNotSet"},{"inputs":[],"type":"error","name":"DropFacet__NoActiveClaimCondition"},{"inputs":[],"type":"error","name":"DropFacet__QuantityMustBeGreaterThanZero"},{"inputs":[],"type":"error","name":"DropFacet__RewardsDistributionNotSet"},{"inputs":[],"type":"error","name":"DropFacet__UnexpectedPenaltyBps"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[{"internalType":"struct IDropFacetBase.ClaimCondition","name":"condition","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"indexed":false}],"type":"event","name":"DropFacet_ClaimConditionAdded","anonymous":false},{"inputs":[{"internalType":"struct IDropFacetBase.ClaimCondition[]","name":"conditions","type":"tuple[]","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"indexed":false}],"type":"event","name":"DropFacet_ClaimConditionsUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"conditionId","type":"uint256","indexed":true},{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"DropFacet_Claimed_And_Staked","anonymous":false},{"inputs":[{"internalType":"uint256","name":"conditionId","type":"uint256","indexed":true},{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"DropFacet_Claimed_WithPenalty","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"rewardsDistribution","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"__DropFacet_init"},{"inputs":[{"internalType":"struct IDropFacetBase.ClaimCondition","name":"condition","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"addClaimCondition"},{"inputs":[{"internalType":"struct IDropFacetBase.Claim","name":"claim","type":"tuple","components":[{"internalType":"uint256","name":"conditionId","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}]},{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"claimAndStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct IDropFacetBase.Claim","name":"claim","type":"tuple","components":[{"internalType":"uint256","name":"conditionId","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}]},{"internalType":"uint16","name":"expectedPenaltyBps","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"claimWithPenalty","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getActiveClaimConditionId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"conditionId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getClaimConditionById","outputs":[{"internalType":"struct IDropFacetBase.ClaimCondition","name":"condition","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getClaimConditions","outputs":[{"internalType":"struct IDropFacetBase.ClaimCondition[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}]}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"conditionId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDepositIdByWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"conditionId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSupplyClaimedByWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct IDropFacetBase.ClaimCondition[]","name":"conditions","type":"tuple[]","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"setClaimConditions"}],"devdoc":{"kind":"dev","methods":{"addClaimCondition((address,uint40,uint40,uint16,uint256,uint256,bytes32))":{"params":{"condition":"The ClaimCondition struct defining the condition"}},"claimAndStake((uint256,address,uint256,bytes32[]),address,uint256,bytes)":{"params":{"claim":"The claim to process","deadline":"The deadline for the transaction","delegatee":"The address of the delegatee","signature":"The signature of the delegatee"},"returns":{"_0":"The amount of tokens claimed"}},"claimWithPenalty((uint256,address,uint256,bytes32[]),uint16)":{"params":{"claim":"The claim to process","expectedPenaltyBps":"The expected penalty in basis points"},"returns":{"amount":"The amount of tokens claimed"}},"getActiveClaimConditionId()":{"returns":{"_0":"The ID of the active claim condition"}},"getClaimConditionById(uint256)":{"params":{"conditionId":"The ID of the claim condition to retrieve"},"returns":{"condition":"The ClaimCondition struct for the specified ID"}},"getClaimConditions()":{"returns":{"_0":"An array of ClaimCondition structs"}},"getDepositIdByWallet(address,uint256)":{"params":{"account":"The address of the wallet to check","conditionId":"The ID of the claim condition"},"returns":{"_0":"The deposit ID of the wallet for the specified condition"}},"getSupplyClaimedByWallet(address,uint256)":{"params":{"account":"The address of the wallet to check","conditionId":"The ID of the claim condition"},"returns":{"_0":"The number of tokens claimed by the wallet for the specified condition"}},"setClaimConditions((address,uint40,uint40,uint16,uint256,uint256,bytes32)[])":{"params":{"conditions":"An array of ClaimCondition structs defining the conditions"}}},"version":1},"userdoc":{"kind":"user","methods":{"addClaimCondition((address,uint40,uint40,uint16,uint256,uint256,bytes32))":{"notice":"Adds a new claim condition"},"claimAndStake((uint256,address,uint256,bytes32[]),address,uint256,bytes)":{"notice":"Claims tokens and stakes them in the staking contract"},"claimWithPenalty((uint256,address,uint256,bytes32[]),uint16)":{"notice":"Claims tokens with a penalty"},"getActiveClaimConditionId()":{"notice":"Gets the ID of the currently active claim condition"},"getClaimConditionById(uint256)":{"notice":"Retrieves a specific claim condition by its ID"},"getClaimConditions()":{"notice":"Gets all claim conditions"},"getDepositIdByWallet(address,uint256)":{"notice":"Gets the deposit ID of a specific wallet for a given condition"},"getSupplyClaimedByWallet(address,uint256)":{"notice":"Gets the amount of tokens claimed by a specific wallet for a given condition"},"setClaimConditions((address,uint40,uint40,uint16,uint256,uint256,bytes32)[])":{"notice":"Sets the claim conditions for the drop"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/airdrop/drop/DropFacet.sol":"DropFacet"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/airdrop/drop/DropFacet.sol":{"keccak256":"0x35c21c945ecb5e428ad92b07b9c594e9451f4c610263534c5358138142086be8","urls":["bzz-raw://8bfcd9828264d93954d9f8a94c9146a1645bf857766c38a65fb5ae8b4204b39d","dweb:/ipfs/QmXwMVc644T1RYkBXcgSsuyEgrY48Fcgg5oHxXh9D2L6yW"],"license":"MIT"},"contracts/src/airdrop/drop/DropFacetBase.sol":{"keccak256":"0xf57b8a78df44f575c7375f7bae2b78b6b192d8bd7daab9db28bf4ef44e55567e","urls":["bzz-raw://d84ccff79baf254ae6660bf9c8fdb73672301b12b6c5ab15ffd1a9fb29c8f040","dweb:/ipfs/QmYCgEApJGc1kkmXauJnFAjGjryqkxGnBbMxuuyjG6exPW"],"license":"MIT"},"contracts/src/airdrop/drop/DropStorage.sol":{"keccak256":"0x83654c8f327bb7ab60084b2efd9d778cc75f11415dd56d71bb5c579348073be0","urls":["bzz-raw://1e7b1eb61534f3e033818503aedcd792592b7271244258c11b7370da0ef422c9","dweb:/ipfs/QmdJBBhSZ2ybfPkbUJLAq7rRLgHoDCAo7LQ6cisnr4gRFX"],"license":"MIT"},"contracts/src/airdrop/drop/IDropFacet.sol":{"keccak256":"0x8f84573d733fb452b2bbef19ff87dde5b361ed7d6106b0b699cea806554bb801","urls":["bzz-raw://42889f32ac4ef470b4835af580ab9b39aee2d90af18ffb99422e344660637693","dweb:/ipfs/QmVoHJdnYYijrR21rgfskQZYN1uCQqV6mguTLCTfKZcTjx"],"license":"MIT"},"contracts/src/base/registry/facets/distribution/v2/IRewardsDistribution.sol":{"keccak256":"0x7c3e7dfd78b9131e69ddeac57b3923a004f7ddc7df4b2172f4496d29f226e1e6","urls":["bzz-raw://d262840d9ba5f389bf6f4ee89d03e10b831c99dd1bf50f26073d74b3860d5e91","dweb:/ipfs/QmWSdFJHEvJDBEAoDg8j1SDJTf3eFk8k4YdgpidabVcNxm"],"license":"MIT"},"contracts/src/base/registry/facets/distribution/v2/StakingRewards.sol":{"keccak256":"0x2df75e500cf40265b839bf589b2c577d6558454702e89b6011db075748ecf385","urls":["bzz-raw://194749888fcc16d4c6b08b56a366fea7b914ddbb5ba6c457fa001d41966e646e","dweb:/ipfs/Qma7VRFdFsseUHSAzoVE75cM7bgz3hNUMM1LgtzmcCiSNH"],"license":"MIT"},"contracts/src/utils/interfaces/IWETH.sol":{"keccak256":"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0","urls":["bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5","dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6"],"license":"MIT"},"contracts/src/utils/libraries/BasisPoints.sol":{"keccak256":"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b","urls":["bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e","dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L"],"license":"MIT"},"contracts/src/utils/libraries/CurrencyTransfer.sol":{"keccak256":"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083","urls":["bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4","dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr"],"license":"MIT"},"contracts/src/utils/libraries/CustomRevert.sol":{"keccak256":"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059","urls":["bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7","dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2","urls":["bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875","dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd","urls":["bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e","dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik"],"license":"MIT"},"node_modules/solady/src/utils/FixedPointMathLib.sol":{"keccak256":"0x7afe0e9230d62d21b7bcaf26003b489e451fa91f73a50437a6cb506975ff5d91","urls":["bzz-raw://105454301879d0d8774b639f75bbf6dd7afcdc3d647f0026d85967e756394caa","dweb:/ipfs/QmddrUdQkVpjHtj8XZxbPU3iqkttdwFs4uDoWfnxU1SCee"],"license":"MIT"},"node_modules/solady/src/utils/MerkleProofLib.sol":{"keccak256":"0x36e0da7695b2a2316db2ee41192cddb9327394920e38ee3fadea2308d796fbd2","urls":["bzz-raw://c4bce2238416b5403c7ea0a94c502aa145ee54f3a9658f12da6810ab2b0daa20","dweb:/ipfs/QmZwif5HQYETZbG8jX9QBwgUWtJXXhTxCajzyxv4xVLcsa"],"license":"MIT"},"node_modules/solady/src/utils/SafeCastLib.sol":{"keccak256":"0xd5867f226bf7181059e9c274de7dbb35fd159893f95ae1c64dcdcae92f289175","urls":["bzz-raw://477e3b75e2e1ae7ab11ac889cb486fcb425e9bd9e268c5711e80807201dcddfb","dweb:/ipfs/Qmc3GT4xirfmQU7vsKrWcyzfDjEEkC8sYZbxcSusXJEyBx"],"license":"MIT"},"node_modules/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210","urls":["bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c","dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR"],"license":"MIT"}},"version":1},"id":112} \ No newline at end of file +{"abi":[{"type":"function","name":"__DropFacet_init","inputs":[{"name":"rewardsDistribution","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addClaimCondition","inputs":[{"name":"condition","type":"tuple","internalType":"struct IDropFacetBase.ClaimCondition","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimAndStake","inputs":[{"name":"claim","type":"tuple","internalType":"struct IDropFacetBase.Claim","components":[{"name":"conditionId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"},{"name":"quantity","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}]},{"name":"delegatee","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimWithPenalty","inputs":[{"name":"claim","type":"tuple","internalType":"struct IDropFacetBase.Claim","components":[{"name":"conditionId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"},{"name":"quantity","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}]},{"name":"expectedPenaltyBps","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getActiveClaimConditionId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getClaimConditionById","inputs":[{"name":"conditionId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"condition","type":"tuple","internalType":"struct IDropFacetBase.ClaimCondition","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getClaimConditions","inputs":[],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IDropFacetBase.ClaimCondition[]","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getDepositIdByWallet","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"conditionId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSupplyClaimedByWallet","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"conditionId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setClaimConditions","inputs":[{"name":"conditions","type":"tuple[]","internalType":"struct IDropFacetBase.ClaimCondition[]","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"DropFacet_ClaimConditionAdded","inputs":[{"name":"condition","type":"tuple","indexed":false,"internalType":"struct IDropFacetBase.ClaimCondition","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"DropFacet_ClaimConditionsUpdated","inputs":[{"name":"conditions","type":"tuple[]","indexed":false,"internalType":"struct IDropFacetBase.ClaimCondition[]","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTimestamp","type":"uint40","internalType":"uint40"},{"name":"penaltyBps","type":"uint16","internalType":"uint16"},{"name":"maxClaimableSupply","type":"uint256","internalType":"uint256"},{"name":"supplyClaimed","type":"uint256","internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"DropFacet_Claimed_And_Staked","inputs":[{"name":"conditionId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DropFacet_Claimed_WithPenalty","inputs":[{"name":"conditionId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"DropFacet__AlreadyClaimed","inputs":[]},{"type":"error","name":"DropFacet__CannotSetClaimConditions","inputs":[]},{"type":"error","name":"DropFacet__ClaimConditionsNotInAscendingOrder","inputs":[]},{"type":"error","name":"DropFacet__ClaimHasEnded","inputs":[]},{"type":"error","name":"DropFacet__ClaimHasNotStarted","inputs":[]},{"type":"error","name":"DropFacet__CurrencyNotSet","inputs":[]},{"type":"error","name":"DropFacet__ExceedsMaxClaimableSupply","inputs":[]},{"type":"error","name":"DropFacet__InsufficientBalance","inputs":[]},{"type":"error","name":"DropFacet__InvalidProof","inputs":[]},{"type":"error","name":"DropFacet__MerkleRootNotSet","inputs":[]},{"type":"error","name":"DropFacet__NoActiveClaimCondition","inputs":[]},{"type":"error","name":"DropFacet__QuantityMustBeGreaterThanZero","inputs":[]},{"type":"error","name":"DropFacet__RewardsDistributionNotSet","inputs":[]},{"type":"error","name":"DropFacet__UnexpectedPenaltyBps","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001961001e565b6100c4565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff161561006a576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156100c157805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b611936806100d36000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636f8934f4116100665780636f8934f4146101175780637a05557c146101ee578063a1550b2f14610201578063c68907de14610216578063c9ac93681461021e57600080fd5b80630f8fb14f146100a357806314c9fcbc146100c957806333d42dc6146100de57806364843393146100f157806368c74fa814610104575b600080fd5b6100b66100b136600461138a565b610231565b6040519081526020015b60405180910390f35b6100dc6100d7366004611439565b61040a565b005b6100b66100ec366004611454565b610470565b6100dc6100ff36600461147e565b6104b8565b6100b66101123660046114a2565b610526565b6101e16101253660046114f0565b6040805160008082526020808301828152838501838152606085018481526080860185815260a0870186815260c088018781529987527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab029095529487902060e0870190975286546001600160a01b0381168752600160a01b810464ffffffffff908116909452600160c81b8104909316909152600160f01b90910461ffff16905260018401549091526002830154905260039091015490915290565b6040516100c09190611566565b6100b66101fc366004611454565b610631565b610209610657565b6040516100c09190611574565b6100b6610675565b6100dc61022c3660046115c2565b61068e565b843560009081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab02602052604081206000805160206119168339815191529060006102af893561028760408c0160208d01611439565b600091825260018601602090815260408084206001600160a01b039093168452919052902090565b90506102bc82828b6106f9565b6102cb82828b60400135610868565b6102da83838b60400135610889565b82546000906001600160a01b031663e69f94956102fa60408d0135610900565b8b8d602001602081019061030e9190611439565b8e60200160208101906103219190611439565b8d8d8d6040518863ffffffff1660e01b81526004016103469796959493929190611637565b6020604051808303816000875af1158015610365573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038991906116a9565b6001830181905590506103a260408b0160208c01611439565b6001600160a01b0316336001600160a01b03168b600001357ff08f338c8905e343697a35fef11af2f611a36658016e0653521354c865373ea78d604001356040516103ef91815260200190565b60405180910390a45050506040909601359695505050505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661045457604051630ef4733760e31b815260040160405180910390fd5b610464638be41ea360e01b610919565b61046d816109f2565b50565b60006104ae82846000805160206119168339815191525b6000928352600101602090815260408084206001600160a01b039093168452919052902090565b5490505b92915050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610509576040516365f4906560e01b81523360048201526024015b60405180910390fd5b6000805160206119168339815191526105228183610a0a565b5050565b813560009081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab026020526040812060008051602061191683398151915290600061057c86356102876040890160208a01611439565b90506105898282886106f9565b610594828787610b47565b93506105a1828286610868565b81546105c7906001600160a01b0316306105c160408a0160208b01611439565b87610ba8565b6105d76040870160208801611439565b6001600160a01b0316336001600160a01b031687600001357f970af01ab25e63f8131277859b2c17e9a07c2eb257e6db87449000d91c0f84018760405161062091815260200190565b60405180910390a450505092915050565b600061064c8284600080516020611916833981519152610487565b600101549392505050565b6060610670600080516020611916833981519152610c00565b905090565b6000610670600080516020611916833981519152610d83565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031633146106da576040516365f4906560e01b8152336004820152602401610500565b6000805160206119168339815191526106f4818484610e55565b505050565b60038301546107125761071263f235dd0160e01b611055565b806040013560000361072e5761072e63df4e56a560e01b611055565b82546001600160a01b031661074d5761074d63388470d360e21b611055565b82600101548160400135846002015461076691906116d8565b111561077c5761077c632c2d39b560e21b611055565b8254600160a01b900464ffffffffff164210156107a3576107a36309672a1b60e31b611055565b8254600160c81b900464ffffffffff16158015906107d057508254600160c81b900464ffffffffff164210155b156107e5576107e563d87c5b1d60e01b611055565b8154156107fc576107fc637f76444f60e01b611055565b600061082b6108116040840160208501611439565b836040013560009182526020908152604082208252902090565b600385015490915061084e908261084560608601866116eb565b9092909161105f565b6108625761086263164bf28d60e21b611055565b50505050565b8083600201600082825461087c91906116d8565b9091555050815401905550565b8154835460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b3906044016020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610862919061173c565b6000600160601b821061091557610915611099565b5090565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166109a1576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff191660011790556109ba565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b61046d600080516020611916833981519152826110a7565b815465ffffffffffff600160a01b8204811691600160d01b9004166000610a31828461175e565b905065ffffffffffff821615610a9f5765ffffffffffff600019820116600090815260028601602090815260409182902091610a7291908701908701611799565b815464ffffffffff918216600160a01b90910490911610610a9d57610a9d631ec409a760e21b611055565b505b610ab9610aaf6020860186611439565b85608001356110e2565b65ffffffffffff811660009081526002860160205260409020610adc9085611161565b610ae782600161175e565b855465ffffffffffff91909116600160d01b026001600160d01b039091161785556040517fbbf6c4d40b4e256406c3a10649830a16f5e696278f3051db12c5ee0a9f571dee90610b3890869061182e565b60405180910390a15050505050565b825460009061ffff600160f01b90910481169083168114610b7157610b71621c159b60ea1b611055565b6040840135915061ffff811615610ba0576000610b9685604001358361ffff16611232565b6040860135039250505b509392505050565b816001600160a01b0316836001600160a01b0316031561086257306001600160a01b03841603610beb57610be66001600160a01b03851683836112ae565b610862565b6108626001600160a01b0385168484846112fe565b8054606090600160d01b900465ffffffffffff1667ffffffffffffffff811115610c2c57610c2c61183c565b604051908082528060200260200182016040528015610c9357816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c08201528252600019909201910181610c4a5790505b50905060005b8254600160d01b900465ffffffffffff16811015610d7d5782546002840190600090610cd5908490600160a01b900465ffffffffffff166116d8565b81526020808201929092526040908101600020815160e08101835281546001600160a01b0381168252600160a01b810464ffffffffff90811695830195909552600160c81b810490941692810192909252600160f01b90920461ffff16606082015260018201546080820152600282015460a082015260039091015460c08201528251839083908110610d6a57610d6a611852565b6020908102919091010152600101610c99565b50919050565b805460009065ffffffffffff600160a01b8204811691600160d01b900416808303610db857610db86311357c2560e21b611055565b65ffffffffffff6000198383010116805b8365ffffffffffff168110610e3c5760008181526002870160205260409020805464ffffffffff600160c81b8204811691600160a01b9004164210801590610e185750801580610e1857508042105b15610e295750909695505050505050565b505080610e3590611868565b9050610dc9565b50610e4d6311357c2560e21b611055565b505050919050565b825465ffffffffffff600160a01b8204811691600160d01b9004811690610e7c84846116d8565b1115610e9257610e9263ae4eeeb160e01b611055565b82600080805b8365ffffffffffff16811015610f8f5736888883818110610ebb57610ebb611852565b905060e002019050806020016020810190610ed69190611799565b64ffffffffff168465ffffffffffff1610610efb57610efb631ec409a760e21b611055565b65ffffffffffff8716820160009081526002808c016020526040909120908101546080830135811115610f3857610f3863ae4eeeb160e01b611055565b610f428284611161565b610f526040840160208501611799565b64ffffffffff169550610f696080840135866116d8565b9450610f81610f7b6020850185611439565b866110e2565b505050806001019050610e98565b50875465ffffffffffff808516600160d01b81026001600160d01b03909316929092178a55851611156110125765ffffffffffff83165b8465ffffffffffff168110156110105765ffffffffffff8616810160009081526002808b016020526040822082815560018082018490559181018390556003019190915501610fc6565b505b7f7609e28234a0fb3289eb48ac2b0315a8b49a296235f8c3b440f65db3ddc89568878760405161104392919061187f565b60405180910390a15050505050505050565b8060005260046000fd5b60008315611091578360051b8501855b803580851160051b9485526020948518526040600020930181811061106f5750505b501492915050565b6335278d126000526004601cfd5b6001600160a01b0381166110c5576110c5631c64498f60e31b611055565b81546001600160a01b0319166001600160a01b0391909116179055565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015611126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114a91906116a9565b811115610522576105226342e1bedf60e01b611055565b6111716040820160208301611799565b825464ffffffffff91909116600160a01b0264ffffffffff60a01b199091161782556111a36060820160408301611799565b825464ffffffffff91909116600160c81b0264ffffffffff60c81b199091161782556080810135600183015560c081013560038301556111e66020820182611439565b82546001600160a01b0319166001600160a01b039190911617825561121160808201606083016118c1565b825461ffff91909116600160f01b026001600160f01b039091161790915550565b60006127108211156112905760405162461bcd60e51b815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f30306044820152600360fc1b6064820152608401610500565b61271061129d83856118dc565b6112a791906118f3565b9392505050565b816014528060345263a9059cbb60601b60005260206000604460106000875af180600160005114166112f357803d853b1517106112f3576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af1806001600051141661134d57803d873b15171061134d57637939f4246000526004601cfd5b50600060605260405250505050565b600060808284031215610d7d57600080fd5b80356001600160a01b038116811461138557600080fd5b919050565b6000806000806000608086880312156113a257600080fd5b853567ffffffffffffffff808211156113ba57600080fd5b6113c689838a0161135c565b96506113d46020890161136e565b95506040880135945060608801359150808211156113f157600080fd5b818801915088601f83011261140557600080fd5b81358181111561141457600080fd5b89602082850101111561142657600080fd5b9699959850939650602001949392505050565b60006020828403121561144b57600080fd5b6112a78261136e565b6000806040838503121561146757600080fd5b6114708361136e565b946020939093013593505050565b600060e08284031215610d7d57600080fd5b803561ffff8116811461138557600080fd5b600080604083850312156114b557600080fd5b823567ffffffffffffffff8111156114cc57600080fd5b6114d88582860161135c565b9250506114e760208401611490565b90509250929050565b60006020828403121561150257600080fd5b5035919050565b60018060a01b038151168252602081015164ffffffffff8082166020850152806040840151166040850152505061ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b60e081016104b28284611509565b6020808252825182820181905260009190848201906040850190845b818110156115b6576115a3838551611509565b9284019260e09290920191600101611590565b50909695505050505050565b600080602083850312156115d557600080fd5b823567ffffffffffffffff808211156115ed57600080fd5b818501915085601f83011261160157600080fd5b81358181111561161057600080fd5b86602060e08302850101111561162557600080fd5b60209290920196919550909350505050565b6bffffffffffffffffffffffff881681526001600160a01b0387811660208301528681166040830152851660608201526080810184905260c060a0820181905281018290526000828460e0840137600060e0848401015260e0601f19601f850116830101905098975050505050505050565b6000602082840312156116bb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104b2576104b26116c2565b6000808335601e1984360301811261170257600080fd5b83018035915067ffffffffffffffff82111561171d57600080fd5b6020019150600581901b360382131561173557600080fd5b9250929050565b60006020828403121561174e57600080fd5b815180151581146112a757600080fd5b65ffffffffffff81811683821601908082111561177d5761177d6116c2565b5092915050565b803564ffffffffff8116811461138557600080fd5b6000602082840312156117ab57600080fd5b6112a782611784565b6001600160a01b036117c58261136e565b1682526117d460208201611784565b64ffffffffff8082166020850152806117ef60408501611784565b166040850152505061ffff61180660608301611490565b1660608301526080810135608083015260a081013560a083015260c081013560c08301525050565b60e081016104b282846117b4565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081611877576118776116c2565b506000190190565b6020808252810182905260008360408301825b858110156118b7576118a482846117b4565b60e0928301929190910190600101611892565b5095945050505050565b6000602082840312156118d357600080fd5b6112a782611490565b80820281158282048414176104b2576104b26116c2565b60008261191057634e487b7160e01b600052601260045260246000fd5b50049056feeda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00","sourceMap":"727:4272:112:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;727:4272:112;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;727:4272:112;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80636f8934f4116100665780636f8934f4146101175780637a05557c146101ee578063a1550b2f14610201578063c68907de14610216578063c9ac93681461021e57600080fd5b80630f8fb14f146100a357806314c9fcbc146100c957806333d42dc6146100de57806364843393146100f157806368c74fa814610104575b600080fd5b6100b66100b136600461138a565b610231565b6040519081526020015b60405180910390f35b6100dc6100d7366004611439565b61040a565b005b6100b66100ec366004611454565b610470565b6100dc6100ff36600461147e565b6104b8565b6100b66101123660046114a2565b610526565b6101e16101253660046114f0565b6040805160008082526020808301828152838501838152606085018481526080860185815260a0870186815260c088018781529987527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab029095529487902060e0870190975286546001600160a01b0381168752600160a01b810464ffffffffff908116909452600160c81b8104909316909152600160f01b90910461ffff16905260018401549091526002830154905260039091015490915290565b6040516100c09190611566565b6100b66101fc366004611454565b610631565b610209610657565b6040516100c09190611574565b6100b6610675565b6100dc61022c3660046115c2565b61068e565b843560009081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab02602052604081206000805160206119168339815191529060006102af893561028760408c0160208d01611439565b600091825260018601602090815260408084206001600160a01b039093168452919052902090565b90506102bc82828b6106f9565b6102cb82828b60400135610868565b6102da83838b60400135610889565b82546000906001600160a01b031663e69f94956102fa60408d0135610900565b8b8d602001602081019061030e9190611439565b8e60200160208101906103219190611439565b8d8d8d6040518863ffffffff1660e01b81526004016103469796959493929190611637565b6020604051808303816000875af1158015610365573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038991906116a9565b6001830181905590506103a260408b0160208c01611439565b6001600160a01b0316336001600160a01b03168b600001357ff08f338c8905e343697a35fef11af2f611a36658016e0653521354c865373ea78d604001356040516103ef91815260200190565b60405180910390a45050506040909601359695505050505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661045457604051630ef4733760e31b815260040160405180910390fd5b610464638be41ea360e01b610919565b61046d816109f2565b50565b60006104ae82846000805160206119168339815191525b6000928352600101602090815260408084206001600160a01b039093168452919052902090565b5490505b92915050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610509576040516365f4906560e01b81523360048201526024015b60405180910390fd5b6000805160206119168339815191526105228183610a0a565b5050565b813560009081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab026020526040812060008051602061191683398151915290600061057c86356102876040890160208a01611439565b90506105898282886106f9565b610594828787610b47565b93506105a1828286610868565b81546105c7906001600160a01b0316306105c160408a0160208b01611439565b87610ba8565b6105d76040870160208801611439565b6001600160a01b0316336001600160a01b031687600001357f970af01ab25e63f8131277859b2c17e9a07c2eb257e6db87449000d91c0f84018760405161062091815260200190565b60405180910390a450505092915050565b600061064c8284600080516020611916833981519152610487565b600101549392505050565b6060610670600080516020611916833981519152610c00565b905090565b6000610670600080516020611916833981519152610d83565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031633146106da576040516365f4906560e01b8152336004820152602401610500565b6000805160206119168339815191526106f4818484610e55565b505050565b60038301546107125761071263f235dd0160e01b611055565b806040013560000361072e5761072e63df4e56a560e01b611055565b82546001600160a01b031661074d5761074d63388470d360e21b611055565b82600101548160400135846002015461076691906116d8565b111561077c5761077c632c2d39b560e21b611055565b8254600160a01b900464ffffffffff164210156107a3576107a36309672a1b60e31b611055565b8254600160c81b900464ffffffffff16158015906107d057508254600160c81b900464ffffffffff164210155b156107e5576107e563d87c5b1d60e01b611055565b8154156107fc576107fc637f76444f60e01b611055565b600061082b6108116040840160208501611439565b836040013560009182526020908152604082208252902090565b600385015490915061084e908261084560608601866116eb565b9092909161105f565b6108625761086263164bf28d60e21b611055565b50505050565b8083600201600082825461087c91906116d8565b9091555050815401905550565b8154835460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b3906044016020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610862919061173c565b6000600160601b821061091557610915611099565b5090565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166109a1576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff191660011790556109ba565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b61046d600080516020611916833981519152826110a7565b815465ffffffffffff600160a01b8204811691600160d01b9004166000610a31828461175e565b905065ffffffffffff821615610a9f5765ffffffffffff600019820116600090815260028601602090815260409182902091610a7291908701908701611799565b815464ffffffffff918216600160a01b90910490911610610a9d57610a9d631ec409a760e21b611055565b505b610ab9610aaf6020860186611439565b85608001356110e2565b65ffffffffffff811660009081526002860160205260409020610adc9085611161565b610ae782600161175e565b855465ffffffffffff91909116600160d01b026001600160d01b039091161785556040517fbbf6c4d40b4e256406c3a10649830a16f5e696278f3051db12c5ee0a9f571dee90610b3890869061182e565b60405180910390a15050505050565b825460009061ffff600160f01b90910481169083168114610b7157610b71621c159b60ea1b611055565b6040840135915061ffff811615610ba0576000610b9685604001358361ffff16611232565b6040860135039250505b509392505050565b816001600160a01b0316836001600160a01b0316031561086257306001600160a01b03841603610beb57610be66001600160a01b03851683836112ae565b610862565b6108626001600160a01b0385168484846112fe565b8054606090600160d01b900465ffffffffffff1667ffffffffffffffff811115610c2c57610c2c61183c565b604051908082528060200260200182016040528015610c9357816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c08201528252600019909201910181610c4a5790505b50905060005b8254600160d01b900465ffffffffffff16811015610d7d5782546002840190600090610cd5908490600160a01b900465ffffffffffff166116d8565b81526020808201929092526040908101600020815160e08101835281546001600160a01b0381168252600160a01b810464ffffffffff90811695830195909552600160c81b810490941692810192909252600160f01b90920461ffff16606082015260018201546080820152600282015460a082015260039091015460c08201528251839083908110610d6a57610d6a611852565b6020908102919091010152600101610c99565b50919050565b805460009065ffffffffffff600160a01b8204811691600160d01b900416808303610db857610db86311357c2560e21b611055565b65ffffffffffff6000198383010116805b8365ffffffffffff168110610e3c5760008181526002870160205260409020805464ffffffffff600160c81b8204811691600160a01b9004164210801590610e185750801580610e1857508042105b15610e295750909695505050505050565b505080610e3590611868565b9050610dc9565b50610e4d6311357c2560e21b611055565b505050919050565b825465ffffffffffff600160a01b8204811691600160d01b9004811690610e7c84846116d8565b1115610e9257610e9263ae4eeeb160e01b611055565b82600080805b8365ffffffffffff16811015610f8f5736888883818110610ebb57610ebb611852565b905060e002019050806020016020810190610ed69190611799565b64ffffffffff168465ffffffffffff1610610efb57610efb631ec409a760e21b611055565b65ffffffffffff8716820160009081526002808c016020526040909120908101546080830135811115610f3857610f3863ae4eeeb160e01b611055565b610f428284611161565b610f526040840160208501611799565b64ffffffffff169550610f696080840135866116d8565b9450610f81610f7b6020850185611439565b866110e2565b505050806001019050610e98565b50875465ffffffffffff808516600160d01b81026001600160d01b03909316929092178a55851611156110125765ffffffffffff83165b8465ffffffffffff168110156110105765ffffffffffff8616810160009081526002808b016020526040822082815560018082018490559181018390556003019190915501610fc6565b505b7f7609e28234a0fb3289eb48ac2b0315a8b49a296235f8c3b440f65db3ddc89568878760405161104392919061187f565b60405180910390a15050505050505050565b8060005260046000fd5b60008315611091578360051b8501855b803580851160051b9485526020948518526040600020930181811061106f5750505b501492915050565b6335278d126000526004601cfd5b6001600160a01b0381166110c5576110c5631c64498f60e31b611055565b81546001600160a01b0319166001600160a01b0391909116179055565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015611126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114a91906116a9565b811115610522576105226342e1bedf60e01b611055565b6111716040820160208301611799565b825464ffffffffff91909116600160a01b0264ffffffffff60a01b199091161782556111a36060820160408301611799565b825464ffffffffff91909116600160c81b0264ffffffffff60c81b199091161782556080810135600183015560c081013560038301556111e66020820182611439565b82546001600160a01b0319166001600160a01b039190911617825561121160808201606083016118c1565b825461ffff91909116600160f01b026001600160f01b039091161790915550565b60006127108211156112905760405162461bcd60e51b815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f30306044820152600360fc1b6064820152608401610500565b61271061129d83856118dc565b6112a791906118f3565b9392505050565b816014528060345263a9059cbb60601b60005260206000604460106000875af180600160005114166112f357803d853b1517106112f3576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af1806001600051141661134d57803d873b15171061134d57637939f4246000526004601cfd5b50600060605260405250505050565b600060808284031215610d7d57600080fd5b80356001600160a01b038116811461138557600080fd5b919050565b6000806000806000608086880312156113a257600080fd5b853567ffffffffffffffff808211156113ba57600080fd5b6113c689838a0161135c565b96506113d46020890161136e565b95506040880135945060608801359150808211156113f157600080fd5b818801915088601f83011261140557600080fd5b81358181111561141457600080fd5b89602082850101111561142657600080fd5b9699959850939650602001949392505050565b60006020828403121561144b57600080fd5b6112a78261136e565b6000806040838503121561146757600080fd5b6114708361136e565b946020939093013593505050565b600060e08284031215610d7d57600080fd5b803561ffff8116811461138557600080fd5b600080604083850312156114b557600080fd5b823567ffffffffffffffff8111156114cc57600080fd5b6114d88582860161135c565b9250506114e760208401611490565b90509250929050565b60006020828403121561150257600080fd5b5035919050565b60018060a01b038151168252602081015164ffffffffff8082166020850152806040840151166040850152505061ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b60e081016104b28284611509565b6020808252825182820181905260009190848201906040850190845b818110156115b6576115a3838551611509565b9284019260e09290920191600101611590565b50909695505050505050565b600080602083850312156115d557600080fd5b823567ffffffffffffffff808211156115ed57600080fd5b818501915085601f83011261160157600080fd5b81358181111561161057600080fd5b86602060e08302850101111561162557600080fd5b60209290920196919550909350505050565b6bffffffffffffffffffffffff881681526001600160a01b0387811660208301528681166040830152851660608201526080810184905260c060a0820181905281018290526000828460e0840137600060e0848401015260e0601f19601f850116830101905098975050505050505050565b6000602082840312156116bb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104b2576104b26116c2565b6000808335601e1984360301811261170257600080fd5b83018035915067ffffffffffffffff82111561171d57600080fd5b6020019150600581901b360382131561173557600080fd5b9250929050565b60006020828403121561174e57600080fd5b815180151581146112a757600080fd5b65ffffffffffff81811683821601908082111561177d5761177d6116c2565b5092915050565b803564ffffffffff8116811461138557600080fd5b6000602082840312156117ab57600080fd5b6112a782611784565b6001600160a01b036117c58261136e565b1682526117d460208201611784565b64ffffffffff8082166020850152806117ef60408501611784565b166040850152505061ffff61180660608301611490565b1660608301526080810135608083015260a081013560a083015260c081013560c08301525050565b60e081016104b282846117b4565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081611877576118776116c2565b506000190190565b6020808252810182905260008360408301825b858110156118b7576118a482846117b4565b60e0928301929190910190600101611892565b5095945050505050565b6000602082840312156118d357600080fd5b6112a782611490565b80820281158282048414176104b2576104b26116c2565b60008261191057634e487b7160e01b600052601260045260246000fd5b50049056feeda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00","sourceMap":"727:4272:112:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2076:1047;;;;;;:::i;:::-;;:::i;:::-;;;1467:25:654;;;1455:2;1440:18;2076:1047:112;;;;;;;;844:196;;;;;;:::i;:::-;;:::i;:::-;;4483:242;;;;;;:::i;:::-;;:::i;3384:191::-;;;;;;:::i;:::-;;:::i;1227:845::-;;;;;;:::i;:::-;;:::i;3952:499::-;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1021:29:114;;;:16;:29;;;;;;;4379:67:112;;;;;;;;-1:-1:-1;;;;;4379:67:112;;;;-1:-1:-1;;;4379:67:112;;;;;;;;;-1:-1:-1;;;4379:67:112;;;;;;;;-1:-1:-1;;;4379:67:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3952:499:112;;;;;;;;:::i;4757:240::-;;;;;;:::i;:::-;;:::i;3769:151::-;;;:::i;:::-;;;;;;;:::i;3607:130::-;;;:::i;3155:197::-;;;;;;:::i;:::-;;:::i;2076:1047::-;2362:17;;2222:7;1021:29:114;;;:16;:29;;;;;-1:-1:-1;;;;;;;;;;;837:12:114;2391:39:112;2433:79;2468:17;;2493:13;;;;;;;;:::i;:::-;1189:19:114;1223:37;;;:24;;;:37;;;;;;;;-1:-1:-1;;;;;1223:46:114;;;;;;;;;;;1059:215;2433:79:112;2391:121;;2519:39;2532:9;2543:7;2552:5;2519:12;:39::i;:::-;2564:48;2577:9;2588:7;2597:5;:14;;;2564:12;:48::i;:::-;2618:49;2637:2;2641:9;2652:5;:14;;;2618:18;:49::i;:::-;2715:22;;2674:17;;-1:-1:-1;;;;;2715:22:112;2694:65;2769:36;2790:14;;;;2769:20;:36::i;:::-;2815:9;2834:5;:13;;;;;;;;;;:::i;:::-;2857:5;:13;;;;;;;;;;:::i;:::-;2880:8;2898:9;;2694:221;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7714:17:113;;;:29;;;2674:241:112;-1:-1:-1;3049:13:112;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2970:120:112;3031:10;-1:-1:-1;;;;;2970:120:112;3006:5;:17;;;2970:120;3070:5;:14;;;2970:120;;;;1467:25:654;;1455:2;1440:18;;1321:177;2970:120:112;;;;;;;;-1:-1:-1;;;3104:14:112;;;;;;2076:1047;-1:-1:-1;;;;;;2076:1047:112:o;844:196::-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;939:43:112::1;-1:-1:-1::0;;;939:13:112::1;:43::i;:::-;988:47;1015:19;988:26;:47::i;:::-;844:196:::0;:::o;4483:242::-;4590:7;4618:85;4682:11;4695:7;-1:-1:-1;;;;;;;;;;;4618:29:112;1189:19:114;1223:37;;;:24;;:37;;;;;;;;-1:-1:-1;;;;;1223:46:114;;;;;;;;;;;1059:215;4618:85:112;:102;;-1:-1:-1;4483:242:112;;;;;:::o;3384:191::-;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;6358:51:654;6331:18;;318:29:564;;;;;;;;275:79;-1:-1:-1;;;;;;;;;;;3537:33:112::1;837:12:114::0;3560:9:112;3537:18:::1;:33::i;:::-;3473:102;3384:191:::0;:::o;1227:845::-;1479:17;;1332:14;1021:29:114;;;:16;:29;;;;;-1:-1:-1;;;;;;;;;;;837:12:114;1508:39:112;1550:79;1585:17;;1610:13;;;;;;;;:::i;1550:79::-;1508:121;;1636:39;1649:9;1660:7;1669:5;1636:12;:39::i;:::-;1691:55;1709:9;1720:5;1727:18;1691:17;:55::i;:::-;1682:64;;1753:40;1766:9;1777:7;1786:6;1753:12;:40::i;:::-;1842:18;;1800:122;;-1:-1:-1;;;;;1842:18:112;1876:4;1889:13;;;;;;;;:::i;:::-;1910:6;1800:34;:122::i;:::-;2014:13;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1934:113:112;1996:10;-1:-1:-1;;;;;1934:113:112;1971:5;:17;;;1934:113;2035:6;1934:113;;;;1467:25:654;;1455:2;1440:18;;1321:177;1934:113:112;;;;;;;;2054:13;;;1227:845;;;;:::o;4757:240::-;4860:7;4888:85;4952:11;4965:7;-1:-1:-1;;;;;;;;;;;4888:29:112;745:114:114;4888:85:112;:104;;;;4757:240;-1:-1:-1;;;4757:240:112:o;3769:151::-;3834:23;3874:41;-1:-1:-1;;;;;;;;;;;3874:19:112;:41::i;:::-;3867:48;;3769:151;:::o;3607:130::-;3667:7;3689:43;-1:-1:-1;;;;;;;;;;;3689:21:112;:43::i;3155:197::-;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;6358:51:654;6331:18;;318:29:564;6212:203:654;275:79:564;-1:-1:-1;;;;;;;;;;;3312:35:112::1;837:12:114::0;3336:10:112;;3312:19:::1;:35::i;:::-;3248:104;3155:197:::0;;:::o;1489:1456:113:-;1648:20;;;;1644:116;;1692:61;-1:-1:-1;;;1692:23:113;:61::i;:::-;1770:5;:14;;;1788:1;1770:19;1766:130;;1799:90;-1:-1:-1;;;1799:23:113;:90::i;:::-;1906:18;;-1:-1:-1;;;;;1906:18:113;1902:112;;1948:59;-1:-1:-1;;;1948:23:113;:59::i;:::-;2182:9;:28;;;2165:5;:14;;;2139:9;:23;;;:40;;;;:::i;:::-;:71;2128:174;;;2225:70;-1:-1:-1;;;2225:23:113;:70::i;:::-;2330:24;;-1:-1:-1;;;2330:24:113;;;;2312:15;:42;2308:126;;;2364:63;-1:-1:-1;;;2364:23:113;:63::i;:::-;2451:22;;-1:-1:-1;;;2451:22:113;;;;:26;;;;:71;;-1:-1:-1;2500:22:113;;-1:-1:-1;;;2500:22:113;;;;2481:15;:41;;2451:71;2440:162;;;2537:58;-1:-1:-1;;;2537:23:113;:58::i;:::-;2644:15;;:19;2640:99;;2673:59;-1:-1:-1;;;2673:23:113;:59::i;:::-;2745:12;2760:42;2772:13;;;;;;;;:::i;:::-;2787:5;:14;;;8770:12;8879:18;;;8998:4;8991:20;;;9138:4;9125:18;;9115:29;;9280:18;;;8681:627;2760:42;2840:20;;;;2745:57;;-1:-1:-1;2813:54:113;;2745:57;2813:11;;;;:5;:11;:::i;:::-;:26;;;;;:54::i;:::-;2808:133;;2877:57;-1:-1:-1;;;2877:23:113;:57::i;:::-;1638:1307;1489:1456;;;:::o;7360:237::-;7531:6;7504:9;:23;;;:33;;;;;;;:::i;:::-;;;;-1:-1:-1;;7561:25:113;;;;;-1:-1:-1;7360:237:113:o;7991:211::-;8138:18;;8166:22;;8131:66;;-1:-1:-1;;;8131:66:113;;-1:-1:-1;;;;;8166:22:113;;;8131:66;;;7406:51:654;7473:18;;;7466:34;;;8138:18:113;;;8131:34;;7379:18:654;;8131:66:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3395:138:650:-;3447:6;-1:-1:-1;;;3469:1:650;:12;3465:35;;3483:17;:15;:17::i;:::-;-1:-1:-1;3524:1:650;3395:138::o;456:282:557:-;-1:-1:-1;;;;;;1119:62:557;;1100:4;1119:62;;;296:66:559;1119:62:557;;;;;;;;514:182;;-1:-1:-1;;;;;;560:62:557;;:49;:62;;;296:66:559;560:62:557;;;;;:69;;-1:-1:-1;;560:69:557;625:4;560:69;;;514:182;;;657:32;;-1:-1:-1;;;657:32:557;;;;;;;;;;;514:182;706:27;;-1:-1:-1;;;;;;706:27:557;;;;;;;;456:282;:::o;1044:151:112:-;1124:66;-1:-1:-1;;;;;;;;;;;1170:19:112;1124:23;:66::i;3562:1019:113:-;3743:19;;;-1:-1:-1;;;3743:19:113;;;;;-1:-1:-1;;;3770:17:113;;;3687:22;3823:31;3770:17;3743:19;3823:31;:::i;:::-;3799:55;-1:-1:-1;3894:17:113;;;;3890:352;;4001:36;-1:-1:-1;;4018:18:113;;4001:36;3921;4001;;;:16;;;:36;;;;;;;;;;4089:27;;;;;;;;;:::i;:::-;4057:28;;:59;;;;-1:-1:-1;;;4057:28:113;;;;;;:59;4053:183;;4128:99;-1:-1:-1;;;4128:23:113;:99::i;:::-;3913:329;3890:352;4277:94;4305:21;;;;:12;:21;:::i;:::-;4334:12;:31;;;4277:20;:94::i;:::-;4400:32;;;;;;;:16;;;:32;;;;;4378:69;;4434:12;4378:21;:69::i;:::-;4504:17;:13;4520:1;4504:17;:::i;:::-;4484:37;;;;;;;-1:-1:-1;;;4484:37:113;-1:-1:-1;;;;;4484:37:113;;;;;;4533:43;;;;;;4563:12;;4533:43;:::i;:::-;;;;;;;;3680:901;;;3562:1019;;:::o;2949:609::-;3140:20;;3098:14;;3140:20;-1:-1:-1;;;3140:20:113;;;;;;3170:32;;;;3166:118;;3212:65;-1:-1:-1;;;3212:23:113;:65::i;:::-;3299:14;;;;;-1:-1:-1;3323:14:113;;;;3319:215;;3367:21;3391:79;3424:5;:14;;;3450:10;3391:79;;:21;:79::i;:::-;3489:14;;;;:30;;-1:-1:-1;;3319:215:113;3540:13;2949:609;;;;;:::o;2807:299:332:-;2938:2;-1:-1:-1;;;;;2930:10:332;:4;-1:-1:-1;;;;;2930:10:332;;2926:37;2950:7;2926:37;2989:4;-1:-1:-1;;;;;2973:21:332;;;2969:133;;3004:30;-1:-1:-1;;;;;3004:18:332;;3023:2;3027:6;3004:18;:30::i;:::-;2969:133;;;3055:40;-1:-1:-1;;;;;3055:22:332;;3078:4;3084:2;3088:6;3055:22;:40::i;4585:334:113:-;4752:17;;4676:34;;-1:-1:-1;;;4752:17:113;;;;4731:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4731:39:113;;-1:-1:-1;;4731:39:113;;;;;;;;;;;;4718:52;;4781:9;4776:116;4796:17;;-1:-1:-1;;;4796:17:113;;;;4792:21;;4776:116;;;4861:19;;4844:16;;;;:41;;4861:23;;4883:1;;-1:-1:-1;;;4861:19:113;;;;:23;:::i;:::-;4844:41;;;;;;;;;;;;;;-1:-1:-1;4844:41:113;4828:57;;;;;;;;;-1:-1:-1;;;;;4828:57:113;;;;-1:-1:-1;;;4828:57:113;;;;;;;;;;;;;-1:-1:-1;;;4828:57:113;;;;;;;;;;;;-1:-1:-1;;;4828:57:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;;;;4839:1;;4828:13;;;;;;:::i;:::-;;;;;;;;;;:57;4815:3;;4776:116;;;;4585:334;;;:::o;607:878::-;774:19;;700:7;;774:19;-1:-1:-1;;;774:19:113;;;;;-1:-1:-1;;;801:17:113;;;835:19;;;831:107;;864:67;-1:-1:-1;;;864:23:113;:67::i;:::-;991:55;-1:-1:-1;;1009:33:113;;;:37;991:55;;1059:348;1098:16;1093:21;;:1;:21;1059:348;;1129:32;1164:19;;;:16;;;:19;;;;;1214:22;;;-1:-1:-1;;;1214:22:113;;;;;-1:-1:-1;;;1276:24:113;;;1257:15;:43;;;;:108;;-1:-1:-1;1313:17:113;;;:51;;;1352:12;1334:15;:30;1313:51;1244:157;;;-1:-1:-1;1391:1:113;;607:878;-1:-1:-1;;;;;;607:878:113:o;1244:157::-;1121:286;;1116:3;;;;:::i;:::-;;;1059:348;;;-1:-1:-1;1413:67:113;-1:-1:-1;;;1413:23:113;:67::i;:::-;709:776;;;607:878;;;:::o;4923:1964::-;5168:19;;;-1:-1:-1;;;5168:19:113;;;;;-1:-1:-1;;;5195:17:113;;;;;5229:39;5251:10;5168:19;5229:39;:::i;:::-;:58;5225:148;;;5297:69;-1:-1:-1;;;5297:23:113;:69::i;:::-;5413:10;5379:24;;;5508:1048;5528:17;5524:21;;:1;:21;5508:1048;;;5560:36;5599:10;;5610:1;5599:13;;;;;;;:::i;:::-;;;;;;5560:52;;5650:12;:27;;;;;;;;;;:::i;:::-;5624:53;;:22;:53;;;5620:177;;5689:99;-1:-1:-1;;;5689:23:113;:99::i;:::-;5987:14;;;;;5898:32;5970;;;:16;;;;:32;;;;;;6049:23;;;;6108:31;;;;6085:54;;6081:148;;;6151:69;-1:-1:-1;;;6151:23:113;:69::i;:::-;6307:46;6329:9;6340:12;6307:21;:46::i;:::-;6386:27;;;;;;;;:::i;:::-;6361:52;;;-1:-1:-1;6421:55:113;6445:31;;;;6421:55;;:::i;:::-;;-1:-1:-1;6484:65:113;6505:21;;;;:12;:21;:::i;:::-;6528:20;6484;:65::i;:::-;5552:1004;;;5547:3;;;;;5508:1048;;;-1:-1:-1;6562:37:113;;;;;;-1:-1:-1;;;6562:37:113;;-1:-1:-1;;;;;6562:37:113;;;;;;;;;6610:42;;;6606:221;;;6667:29;;;6662:159;6702:22;6698:26;;:1;:26;6662:159;;;6787:14;;;;;6770:32;;;;:16;;;;:32;;;;;6763:39;;;;;;;;;;;;;;;;;;;;;;6726:3;6662:159;;;;6606:221;6838:44;6871:10;;6838:44;;;;;;;:::i;:::-;;;;;;;;5042:1845;;;;;4923:1964;;;:::o;602:141:333:-;702:8;699:1;692:19;728:4;725:1;718:15;2397:1407:647;2522:12;2619;2616:1134;;;2759:12;2756:1;2752:20;2738:12;2734:39;2885:12;2983:753;3176:20;;3167:30;;;3164:1;3160:38;3391:21;;;3453:4;3440:18;;;3433:48;3608:4;3602;3592:21;;3644:17;3692:15;;;2983:753;3682:36;2987:2;;2616:1134;-1:-1:-1;3774:14:647;;2397:1407;-1:-1:-1;;2397:1407:647:o;23502:290:650:-;23691:10;23685:4;23678:24;23771:4;23765;23758:18;8206:299:113;-1:-1:-1;;;;;8330:33:113;;8326:124;;8373:70;-1:-1:-1;;;8373:23:113;:70::i;:::-;8456:44;;-1:-1:-1;;;;;;8456:44:113;-1:-1:-1;;;;;8456:44:113;;;;;;;8206:299::o;7752:235::-;7861:41;;-1:-1:-1;;;7861:41:113;;7896:4;7861:41;;;6358:51:654;-1:-1:-1;;;;;7861:26:113;;;;;6331:18:654;;7861:41:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7852:6;:50;7848:135;;;7912:64;-1:-1:-1;;;7912:23:113;:64::i;6891:465::-;7048:27;;;;;;;;:::i;:::-;7021:54;;;;;;;-1:-1:-1;;;7021:54:113;-1:-1:-1;;;;7021:54:113;;;;;;7106:25;;;;;;;;:::i;:::-;7081:50;;;;;;;-1:-1:-1;;;7081:50:113;-1:-1:-1;;;;7081:50:113;;;;;;7168:31;;;;-1:-1:-1;7137:28:113;;:62;7228:23;;;;7205:20;;;:46;7278:21;;;;7168:12;7278:21;:::i;:::-;7257:42;;-1:-1:-1;;;;;;7257:42:113;-1:-1:-1;;;;;7257:42:113;;;;;;;7328:23;;;;;;;;:::i;:::-;7305:46;;;;;;;-1:-1:-1;;;7305:46:113;-1:-1:-1;;;;;7305:46:113;;;;;;;-1:-1:-1;6891:465:113:o;361:224:331:-;452:7;116:6;475:11;:22;;467:68;;;;-1:-1:-1;;;467:68:331;;10767:2:654;467:68:331;;;10749:21:654;10806:2;10786:18;;;10779:30;10845:34;10825:18;;;10818:62;-1:-1:-1;;;10896:18:654;;;10889:31;10937:19;;467:68:331;10565:397:654;467:68:331;116:6;549:20;558:11;549:6;:20;:::i;:::-;548:32;;;;:::i;:::-;541:39;361:224;-1:-1:-1;;;361:224:331:o;13217:887:651:-;13380:2;13374:4;13367:16;13437:6;13431:4;13424:20;-1:-1:-1;;;13496:4:651;13489:48;13698:4;13692;13686;13680;13677:1;13670:5;13663;13658:45;13750:7;13746:1;13739:4;13733:11;13730:18;13726:32;13716:275;;13841:7;13822:16;13813:5;13801:18;13794:26;13791:48;13788:61;13778:199;;13886:10;13880:4;13873:24;13954:4;13948;13941:18;13778:199;13716:275;14017:1;14011:4;14004:15;13217:887;;;:::o;9079:1026::-;9262:4;9256:11;9327:6;9321:4;9314:20;9392:2;9386:4;9379:16;9457:4;9453:2;9449:13;9443:4;9436:27;-1:-1:-1;;;9513:4:651;9506:48;9666:4;9660;9654;9648;9645:1;9638:5;9631;9626:45;9718:7;9714:1;9707:4;9701:11;9698:18;9694:32;9684:279;;9809:7;9790:16;9781:5;9769:18;9762:26;9759:48;9756:61;9746:203;;9854:10;9848:4;9841:24;9926:4;9920;9913:18;9746:203;-1:-1:-1;9989:1:651;9983:4;9976:15;10045:4;10038:15;-1:-1:-1;;;;9079:1026:651:o;14:154:654:-;72:5;117:3;108:6;103:3;99:16;95:26;92:46;;;134:1;131;124:12;173:173;241:20;;-1:-1:-1;;;;;290:31:654;;280:42;;270:70;;336:1;333;326:12;270:70;173:173;;;:::o;351:965::-;474:6;482;490;498;506;559:3;547:9;538:7;534:23;530:33;527:53;;;576:1;573;566:12;527:53;616:9;603:23;645:18;686:2;678:6;675:14;672:34;;;702:1;699;692:12;672:34;725:65;782:7;773:6;762:9;758:22;725:65;:::i;:::-;715:75;;809:38;843:2;832:9;828:18;809:38;:::i;:::-;799:48;;894:2;883:9;879:18;866:32;856:42;;951:2;940:9;936:18;923:32;907:48;;980:2;970:8;967:16;964:36;;;996:1;993;986:12;964:36;1034:8;1023:9;1019:24;1009:34;;1081:7;1074:4;1070:2;1066:13;1062:27;1052:55;;1103:1;1100;1093:12;1052:55;1143:2;1130:16;1169:2;1161:6;1158:14;1155:34;;;1185:1;1182;1175:12;1155:34;1230:7;1225:2;1216:6;1212:2;1208:15;1204:24;1201:37;1198:57;;;1251:1;1248;1241:12;1198:57;351:965;;;;-1:-1:-1;351:965:654;;-1:-1:-1;1282:2:654;1274:11;;1304:6;351:965;-1:-1:-1;;;351:965:654:o;1503:186::-;1562:6;1615:2;1603:9;1594:7;1590:23;1586:32;1583:52;;;1631:1;1628;1621:12;1583:52;1654:29;1673:9;1654:29;:::i;1694:254::-;1762:6;1770;1823:2;1811:9;1802:7;1798:23;1794:32;1791:52;;;1839:1;1836;1829:12;1791:52;1862:29;1881:9;1862:29;:::i;:::-;1852:39;1938:2;1923:18;;;;1910:32;;-1:-1:-1;;;1694:254:654:o;1953:202::-;2047:6;2100:3;2088:9;2079:7;2075:23;2071:33;2068:53;;;2117:1;2114;2107:12;2160:159;2227:20;;2287:6;2276:18;;2266:29;;2256:57;;2309:1;2306;2299:12;2324:425;2417:6;2425;2478:2;2466:9;2457:7;2453:23;2449:32;2446:52;;;2494:1;2491;2484:12;2446:52;2534:9;2521:23;2567:18;2559:6;2556:30;2553:50;;;2599:1;2596;2589:12;2553:50;2622:65;2679:7;2670:6;2659:9;2655:22;2622:65;:::i;:::-;2612:75;;;2706:37;2739:2;2728:9;2724:18;2706:37;:::i;:::-;2696:47;;2324:425;;;;;:::o;2754:180::-;2813:6;2866:2;2854:9;2845:7;2841:23;2837:32;2834:52;;;2882:1;2879;2872:12;2834:52;-1:-1:-1;2905:23:654;;2754:180;-1:-1:-1;2754:180:654:o;2939:564::-;3054:1;3050;3045:3;3041:11;3037:19;3029:5;3023:12;3019:38;3014:3;3007:51;3104:4;3097:5;3093:16;3087:23;3129:12;3191:2;3177:12;3173:21;3166:4;3161:3;3157:14;3150:45;3256:2;3248:4;3241:5;3237:16;3231:23;3227:32;3220:4;3215:3;3211:14;3204:56;;;3321:6;3313:4;3306:5;3302:16;3296:23;3292:36;3285:4;3280:3;3276:14;3269:60;3378:4;3371:5;3367:16;3361:23;3354:4;3349:3;3345:14;3338:47;3434:4;3427:5;3423:16;3417:23;3410:4;3405:3;3401:14;3394:47;3490:4;3483:5;3479:16;3473:23;3466:4;3461:3;3457:14;3450:47;2939:564;;:::o;3508:270::-;3708:3;3693:19;;3721:51;3697:9;3754:6;3721:51;:::i;3783:726::-;4020:2;4072:21;;;4142:13;;4045:18;;;4164:22;;;3991:4;;4020:2;4243:15;;;;4217:2;4202:18;;;3991:4;4286:197;4300:6;4297:1;4294:13;4286:197;;;4349:52;4397:3;4388:6;4382:13;4349:52;:::i;:::-;4458:15;;;;4430:4;4421:14;;;;;4322:1;4315:9;4286:197;;;-1:-1:-1;4500:3:654;;3783:726;-1:-1:-1;;;;;;3783:726:654:o;4514:653::-;4635:6;4643;4696:2;4684:9;4675:7;4671:23;4667:32;4664:52;;;4712:1;4709;4702:12;4664:52;4752:9;4739:23;4781:18;4822:2;4814:6;4811:14;4808:34;;;4838:1;4835;4828:12;4808:34;4876:6;4865:9;4861:22;4851:32;;4921:7;4914:4;4910:2;4906:13;4902:27;4892:55;;4943:1;4940;4933:12;4892:55;4983:2;4970:16;5009:2;5001:6;4998:14;4995:34;;;5025:1;5022;5015:12;4995:34;5081:7;5076:2;5068:4;5060:6;5056:17;5052:2;5048:26;5044:35;5041:48;5038:68;;;5102:1;5099;5092:12;5038:68;5133:2;5125:11;;;;;5155:6;;-1:-1:-1;4514:653:654;;-1:-1:-1;;;;4514:653:654:o;5172:846::-;5479:26;5467:39;;5449:58;;-1:-1:-1;;;;;5581:15:654;;;5576:2;5561:18;;5554:43;5633:15;;;5628:2;5613:18;;5606:43;5685:15;;5680:2;5665:18;;5658:43;5732:3;5717:19;;5710:35;;;5782:3;5534;5761:19;;5754:32;;;5802:19;;5795:35;;;5430:4;5823:6;5873;5867:3;5852:19;;5839:49;5938:1;5932:3;5923:6;5912:9;5908:22;5904:32;5897:43;6008:3;6001:2;5997:7;5992:2;5984:6;5980:15;5976:29;5965:9;5961:45;5957:55;5949:63;;5172:846;;;;;;;;;;:::o;6023:184::-;6093:6;6146:2;6134:9;6125:7;6121:23;6117:32;6114:52;;;6162:1;6159;6152:12;6114:52;-1:-1:-1;6185:16:654;;6023:184;-1:-1:-1;6023:184:654:o;6420:127::-;6481:10;6476:3;6472:20;6469:1;6462:31;6512:4;6509:1;6502:15;6536:4;6533:1;6526:15;6552:125;6617:9;;;6638:10;;;6635:36;;;6651:18;;:::i;6682:545::-;6775:4;6781:6;6841:11;6828:25;6935:2;6931:7;6920:8;6904:14;6900:29;6896:43;6876:18;6872:68;6862:96;;6954:1;6951;6944:12;6862:96;6981:33;;7033:20;;;-1:-1:-1;7076:18:654;7065:30;;7062:50;;;7108:1;7105;7098:12;7062:50;7141:4;7129:17;;-1:-1:-1;7192:1:654;7188:14;;;7172;7168:35;7158:46;;7155:66;;;7217:1;7214;7207:12;7155:66;6682:545;;;;;:::o;7511:277::-;7578:6;7631:2;7619:9;7610:7;7606:23;7602:32;7599:52;;;7647:1;7644;7637:12;7599:52;7679:9;7673:16;7732:5;7725:13;7718:21;7711:5;7708:32;7698:60;;7754:1;7751;7744:12;7793:176;7860:14;7894:10;;;7906;;;7890:27;;7929:11;;;7926:37;;;7943:18;;:::i;:::-;7926:37;7793:176;;;;:::o;7974:165::-;8041:20;;8101:12;8090:24;;8080:35;;8070:63;;8129:1;8126;8119:12;8144:184;8202:6;8255:2;8243:9;8234:7;8230:23;8226:32;8223:52;;;8271:1;8268;8261:12;8223:52;8294:28;8312:9;8294:28;:::i;8333:643::-;-1:-1:-1;;;;;8426:25:654;8445:5;8426:25;:::i;:::-;8422:51;8417:3;8410:64;8503:35;8532:4;8525:5;8521:16;8503:35;:::i;:::-;8557:12;8619:2;8605:12;8601:21;8594:4;8589:3;8585:14;8578:45;8696:2;8659:35;8688:4;8681:5;8677:16;8659:35;:::i;:::-;8655:44;8648:4;8643:3;8639:14;8632:68;;;8773:6;8736:35;8765:4;8758:5;8754:16;8736:35;:::i;:::-;8732:48;8725:4;8720:3;8716:14;8709:72;8837:4;8830:5;8826:16;8813:30;8806:4;8801:3;8797:14;8790:54;8900:4;8893:5;8889:16;8876:30;8869:4;8864:3;8860:14;8853:54;8963:4;8956:5;8952:16;8939:30;8932:4;8927:3;8923:14;8916:54;8333:643;;:::o;8981:281::-;9183:3;9168:19;;9196:60;9172:9;9238:6;9196:60;:::i;9267:127::-;9328:10;9323:3;9319:20;9316:1;9309:31;9359:4;9356:1;9349:15;9383:4;9380:1;9373:15;9399:127;9460:10;9455:3;9451:20;9448:1;9441:31;9491:4;9488:1;9481:15;9515:4;9512:1;9505:15;9531:136;9570:3;9598:5;9588:39;;9607:18;;:::i;:::-;-1:-1:-1;;;9643:18:654;;9531:136::o;9672:699::-;9940:2;9952:21;;;9925:18;;10008:22;;;9892:4;10087:6;10061:2;10046:18;;9892:4;10121:224;10135:6;10132:1;10129:13;10121:224;;;10184:54;10234:3;10226:6;10184:54;:::i;:::-;10261:4;10320:15;;;;10285:12;;;;;10157:1;10150:9;10121:224;;;-1:-1:-1;10362:3:654;9672:699;-1:-1:-1;;;;;9672:699:654:o;10376:184::-;10434:6;10487:2;10475:9;10466:7;10462:23;10458:32;10455:52;;;10503:1;10500;10493:12;10455:52;10526:28;10544:9;10526:28;:::i;10967:168::-;11040:9;;;11071;;11088:15;;;11082:22;;11068:37;11058:71;;11109:18;;:::i;11140:217::-;11180:1;11206;11196:132;;11250:10;11245:3;11241:20;11238:1;11231:31;11285:4;11282:1;11275:15;11313:4;11310:1;11303:15;11196:132;-1:-1:-1;11342:9:654;;11140:217::o","linkReferences":{}},"methodIdentifiers":{"__DropFacet_init(address)":"14c9fcbc","addClaimCondition((address,uint40,uint40,uint16,uint256,uint256,bytes32))":"64843393","claimAndStake((uint256,address,uint256,bytes32[]),address,uint256,bytes)":"0f8fb14f","claimWithPenalty((uint256,address,uint256,bytes32[]),uint16)":"68c74fa8","getActiveClaimConditionId()":"c68907de","getClaimConditionById(uint256)":"6f8934f4","getClaimConditions()":"a1550b2f","getDepositIdByWallet(address,uint256)":"7a05557c","getSupplyClaimedByWallet(address,uint256)":"33d42dc6","setClaimConditions((address,uint40,uint40,uint16,uint256,uint256,bytes32)[])":"c9ac9368"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DropFacet__AlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__CannotSetClaimConditions\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__ClaimConditionsNotInAscendingOrder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__ClaimHasEnded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__ClaimHasNotStarted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__CurrencyNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__ExceedsMaxClaimableSupply\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__MerkleRootNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__NoActiveClaimCondition\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__QuantityMustBeGreaterThanZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__RewardsDistributionNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DropFacet__UnexpectedPenaltyBps\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct IDropFacetBase.ClaimCondition\",\"name\":\"condition\",\"type\":\"tuple\"}],\"name\":\"DropFacet_ClaimConditionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct IDropFacetBase.ClaimCondition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"}],\"name\":\"DropFacet_ClaimConditionsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DropFacet_Claimed_And_Staked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DropFacet_Claimed_WithPenalty\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rewardsDistribution\",\"type\":\"address\"}],\"name\":\"__DropFacet_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IDropFacetBase.ClaimCondition\",\"name\":\"condition\",\"type\":\"tuple\"}],\"name\":\"addClaimCondition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct IDropFacetBase.Claim\",\"name\":\"claim\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"claimAndStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct IDropFacetBase.Claim\",\"name\":\"claim\",\"type\":\"tuple\"},{\"internalType\":\"uint16\",\"name\":\"expectedPenaltyBps\",\"type\":\"uint16\"}],\"name\":\"claimWithPenalty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveClaimConditionId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"}],\"name\":\"getClaimConditionById\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IDropFacetBase.ClaimCondition\",\"name\":\"condition\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getClaimConditions\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IDropFacetBase.ClaimCondition[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"}],\"name\":\"getDepositIdByWallet\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"conditionId\",\"type\":\"uint256\"}],\"name\":\"getSupplyClaimedByWallet\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"penaltyBps\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxClaimableSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IDropFacetBase.ClaimCondition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"}],\"name\":\"setClaimConditions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"}},\"kind\":\"dev\",\"methods\":{\"addClaimCondition((address,uint40,uint40,uint16,uint256,uint256,bytes32))\":{\"params\":{\"condition\":\"The ClaimCondition struct defining the condition\"}},\"claimAndStake((uint256,address,uint256,bytes32[]),address,uint256,bytes)\":{\"params\":{\"claim\":\"The claim to process\",\"deadline\":\"The deadline for the transaction\",\"delegatee\":\"The address of the delegatee\",\"signature\":\"The signature of the delegatee\"},\"returns\":{\"_0\":\"The amount of tokens claimed\"}},\"claimWithPenalty((uint256,address,uint256,bytes32[]),uint16)\":{\"params\":{\"claim\":\"The claim to process\",\"expectedPenaltyBps\":\"The expected penalty in basis points\"},\"returns\":{\"amount\":\"The amount of tokens claimed\"}},\"getActiveClaimConditionId()\":{\"returns\":{\"_0\":\"The ID of the active claim condition\"}},\"getClaimConditionById(uint256)\":{\"params\":{\"conditionId\":\"The ID of the claim condition to retrieve\"},\"returns\":{\"condition\":\"The ClaimCondition struct for the specified ID\"}},\"getClaimConditions()\":{\"returns\":{\"_0\":\"An array of ClaimCondition structs\"}},\"getDepositIdByWallet(address,uint256)\":{\"params\":{\"account\":\"The address of the wallet to check\",\"conditionId\":\"The ID of the claim condition\"},\"returns\":{\"_0\":\"The deposit ID of the wallet for the specified condition\"}},\"getSupplyClaimedByWallet(address,uint256)\":{\"params\":{\"account\":\"The address of the wallet to check\",\"conditionId\":\"The ID of the claim condition\"},\"returns\":{\"_0\":\"The number of tokens claimed by the wallet for the specified condition\"}},\"setClaimConditions((address,uint40,uint40,uint16,uint256,uint256,bytes32)[])\":{\"params\":{\"conditions\":\"An array of ClaimCondition structs defining the conditions\"}}},\"version\":1},\"userdoc\":{\"events\":{\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"}},\"kind\":\"user\",\"methods\":{\"addClaimCondition((address,uint40,uint40,uint16,uint256,uint256,bytes32))\":{\"notice\":\"Adds a new claim condition\"},\"claimAndStake((uint256,address,uint256,bytes32[]),address,uint256,bytes)\":{\"notice\":\"Claims tokens and stakes them in the staking contract\"},\"claimWithPenalty((uint256,address,uint256,bytes32[]),uint16)\":{\"notice\":\"Claims tokens with a penalty\"},\"getActiveClaimConditionId()\":{\"notice\":\"Gets the ID of the currently active claim condition\"},\"getClaimConditionById(uint256)\":{\"notice\":\"Retrieves a specific claim condition by its ID\"},\"getClaimConditions()\":{\"notice\":\"Gets all claim conditions\"},\"getDepositIdByWallet(address,uint256)\":{\"notice\":\"Gets the deposit ID of a specific wallet for a given condition\"},\"getSupplyClaimedByWallet(address,uint256)\":{\"notice\":\"Gets the amount of tokens claimed by a specific wallet for a given condition\"},\"setClaimConditions((address,uint40,uint40,uint16,uint256,uint256,bytes32)[])\":{\"notice\":\"Sets the claim conditions for the drop\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/airdrop/drop/DropFacet.sol\":\"DropFacet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/airdrop/drop/DropFacet.sol\":{\"keccak256\":\"0x35c21c945ecb5e428ad92b07b9c594e9451f4c610263534c5358138142086be8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bfcd9828264d93954d9f8a94c9146a1645bf857766c38a65fb5ae8b4204b39d\",\"dweb:/ipfs/QmXwMVc644T1RYkBXcgSsuyEgrY48Fcgg5oHxXh9D2L6yW\"]},\"contracts/src/airdrop/drop/DropFacetBase.sol\":{\"keccak256\":\"0xf57b8a78df44f575c7375f7bae2b78b6b192d8bd7daab9db28bf4ef44e55567e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d84ccff79baf254ae6660bf9c8fdb73672301b12b6c5ab15ffd1a9fb29c8f040\",\"dweb:/ipfs/QmYCgEApJGc1kkmXauJnFAjGjryqkxGnBbMxuuyjG6exPW\"]},\"contracts/src/airdrop/drop/DropStorage.sol\":{\"keccak256\":\"0x83654c8f327bb7ab60084b2efd9d778cc75f11415dd56d71bb5c579348073be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e7b1eb61534f3e033818503aedcd792592b7271244258c11b7370da0ef422c9\",\"dweb:/ipfs/QmdJBBhSZ2ybfPkbUJLAq7rRLgHoDCAo7LQ6cisnr4gRFX\"]},\"contracts/src/airdrop/drop/IDropFacet.sol\":{\"keccak256\":\"0x8f84573d733fb452b2bbef19ff87dde5b361ed7d6106b0b699cea806554bb801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42889f32ac4ef470b4835af580ab9b39aee2d90af18ffb99422e344660637693\",\"dweb:/ipfs/QmVoHJdnYYijrR21rgfskQZYN1uCQqV6mguTLCTfKZcTjx\"]},\"contracts/src/base/registry/facets/distribution/v2/IRewardsDistribution.sol\":{\"keccak256\":\"0x7c3e7dfd78b9131e69ddeac57b3923a004f7ddc7df4b2172f4496d29f226e1e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d262840d9ba5f389bf6f4ee89d03e10b831c99dd1bf50f26073d74b3860d5e91\",\"dweb:/ipfs/QmWSdFJHEvJDBEAoDg8j1SDJTf3eFk8k4YdgpidabVcNxm\"]},\"contracts/src/base/registry/facets/distribution/v2/StakingRewards.sol\":{\"keccak256\":\"0x2df75e500cf40265b839bf589b2c577d6558454702e89b6011db075748ecf385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://194749888fcc16d4c6b08b56a366fea7b914ddbb5ba6c457fa001d41966e646e\",\"dweb:/ipfs/Qma7VRFdFsseUHSAzoVE75cM7bgz3hNUMM1LgtzmcCiSNH\"]},\"contracts/src/utils/interfaces/IWETH.sol\":{\"keccak256\":\"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5\",\"dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6\"]},\"contracts/src/utils/libraries/BasisPoints.sol\":{\"keccak256\":\"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e\",\"dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L\"]},\"contracts/src/utils/libraries/CurrencyTransfer.sol\":{\"keccak256\":\"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4\",\"dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr\"]},\"contracts/src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7\",\"dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875\",\"dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e\",\"dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik\"]},\"node_modules/solady/src/utils/FixedPointMathLib.sol\":{\"keccak256\":\"0x08ab121a1074161b4470c48dadcd6ed71eeb33db1adbefe514771e03cf380fba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b8d7a3b1dd013ee2b1f56d55b58f1d0b09ae3bcbe630e5a122f8998072c1ecad\",\"dweb:/ipfs/QmNRnBQ6me4s6xDeejdHRjn9Drb5MgcRtfwit9HbYhkJkk\"]},\"node_modules/solady/src/utils/MerkleProofLib.sol\":{\"keccak256\":\"0x36e0da7695b2a2316db2ee41192cddb9327394920e38ee3fadea2308d796fbd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4bce2238416b5403c7ea0a94c502aa145ee54f3a9658f12da6810ab2b0daa20\",\"dweb:/ipfs/QmZwif5HQYETZbG8jX9QBwgUWtJXXhTxCajzyxv4xVLcsa\"]},\"node_modules/solady/src/utils/SafeCastLib.sol\":{\"keccak256\":\"0x184c2be02a160a07f7e27fea5753d878c5015c0632faa115ed2f4e90614df284\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c721441b505ec68ecfcc08cf8019342f6f304e94165af3e02db726377de2055a\",\"dweb:/ipfs/Qmcwe7wcjeGs7px92YR4XCFB6YS1x8T1Aq9FoDC7LKC4BA\"]},\"node_modules/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333\",\"dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"DropFacet__AlreadyClaimed"},{"inputs":[],"type":"error","name":"DropFacet__CannotSetClaimConditions"},{"inputs":[],"type":"error","name":"DropFacet__ClaimConditionsNotInAscendingOrder"},{"inputs":[],"type":"error","name":"DropFacet__ClaimHasEnded"},{"inputs":[],"type":"error","name":"DropFacet__ClaimHasNotStarted"},{"inputs":[],"type":"error","name":"DropFacet__CurrencyNotSet"},{"inputs":[],"type":"error","name":"DropFacet__ExceedsMaxClaimableSupply"},{"inputs":[],"type":"error","name":"DropFacet__InsufficientBalance"},{"inputs":[],"type":"error","name":"DropFacet__InvalidProof"},{"inputs":[],"type":"error","name":"DropFacet__MerkleRootNotSet"},{"inputs":[],"type":"error","name":"DropFacet__NoActiveClaimCondition"},{"inputs":[],"type":"error","name":"DropFacet__QuantityMustBeGreaterThanZero"},{"inputs":[],"type":"error","name":"DropFacet__RewardsDistributionNotSet"},{"inputs":[],"type":"error","name":"DropFacet__UnexpectedPenaltyBps"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[{"internalType":"struct IDropFacetBase.ClaimCondition","name":"condition","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"indexed":false}],"type":"event","name":"DropFacet_ClaimConditionAdded","anonymous":false},{"inputs":[{"internalType":"struct IDropFacetBase.ClaimCondition[]","name":"conditions","type":"tuple[]","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"indexed":false}],"type":"event","name":"DropFacet_ClaimConditionsUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"conditionId","type":"uint256","indexed":true},{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"DropFacet_Claimed_And_Staked","anonymous":false},{"inputs":[{"internalType":"uint256","name":"conditionId","type":"uint256","indexed":true},{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"DropFacet_Claimed_WithPenalty","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"rewardsDistribution","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"__DropFacet_init"},{"inputs":[{"internalType":"struct IDropFacetBase.ClaimCondition","name":"condition","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"addClaimCondition"},{"inputs":[{"internalType":"struct IDropFacetBase.Claim","name":"claim","type":"tuple","components":[{"internalType":"uint256","name":"conditionId","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}]},{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"claimAndStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct IDropFacetBase.Claim","name":"claim","type":"tuple","components":[{"internalType":"uint256","name":"conditionId","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}]},{"internalType":"uint16","name":"expectedPenaltyBps","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"claimWithPenalty","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getActiveClaimConditionId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"conditionId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getClaimConditionById","outputs":[{"internalType":"struct IDropFacetBase.ClaimCondition","name":"condition","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getClaimConditions","outputs":[{"internalType":"struct IDropFacetBase.ClaimCondition[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}]}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"conditionId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDepositIdByWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"conditionId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSupplyClaimedByWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct IDropFacetBase.ClaimCondition[]","name":"conditions","type":"tuple[]","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTimestamp","type":"uint40"},{"internalType":"uint16","name":"penaltyBps","type":"uint16"},{"internalType":"uint256","name":"maxClaimableSupply","type":"uint256"},{"internalType":"uint256","name":"supplyClaimed","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"setClaimConditions"}],"devdoc":{"kind":"dev","methods":{"addClaimCondition((address,uint40,uint40,uint16,uint256,uint256,bytes32))":{"params":{"condition":"The ClaimCondition struct defining the condition"}},"claimAndStake((uint256,address,uint256,bytes32[]),address,uint256,bytes)":{"params":{"claim":"The claim to process","deadline":"The deadline for the transaction","delegatee":"The address of the delegatee","signature":"The signature of the delegatee"},"returns":{"_0":"The amount of tokens claimed"}},"claimWithPenalty((uint256,address,uint256,bytes32[]),uint16)":{"params":{"claim":"The claim to process","expectedPenaltyBps":"The expected penalty in basis points"},"returns":{"amount":"The amount of tokens claimed"}},"getActiveClaimConditionId()":{"returns":{"_0":"The ID of the active claim condition"}},"getClaimConditionById(uint256)":{"params":{"conditionId":"The ID of the claim condition to retrieve"},"returns":{"condition":"The ClaimCondition struct for the specified ID"}},"getClaimConditions()":{"returns":{"_0":"An array of ClaimCondition structs"}},"getDepositIdByWallet(address,uint256)":{"params":{"account":"The address of the wallet to check","conditionId":"The ID of the claim condition"},"returns":{"_0":"The deposit ID of the wallet for the specified condition"}},"getSupplyClaimedByWallet(address,uint256)":{"params":{"account":"The address of the wallet to check","conditionId":"The ID of the claim condition"},"returns":{"_0":"The number of tokens claimed by the wallet for the specified condition"}},"setClaimConditions((address,uint40,uint40,uint16,uint256,uint256,bytes32)[])":{"params":{"conditions":"An array of ClaimCondition structs defining the conditions"}}},"version":1},"userdoc":{"kind":"user","methods":{"addClaimCondition((address,uint40,uint40,uint16,uint256,uint256,bytes32))":{"notice":"Adds a new claim condition"},"claimAndStake((uint256,address,uint256,bytes32[]),address,uint256,bytes)":{"notice":"Claims tokens and stakes them in the staking contract"},"claimWithPenalty((uint256,address,uint256,bytes32[]),uint16)":{"notice":"Claims tokens with a penalty"},"getActiveClaimConditionId()":{"notice":"Gets the ID of the currently active claim condition"},"getClaimConditionById(uint256)":{"notice":"Retrieves a specific claim condition by its ID"},"getClaimConditions()":{"notice":"Gets all claim conditions"},"getDepositIdByWallet(address,uint256)":{"notice":"Gets the deposit ID of a specific wallet for a given condition"},"getSupplyClaimedByWallet(address,uint256)":{"notice":"Gets the amount of tokens claimed by a specific wallet for a given condition"},"setClaimConditions((address,uint40,uint40,uint16,uint256,uint256,bytes32)[])":{"notice":"Sets the claim conditions for the drop"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/airdrop/drop/DropFacet.sol":"DropFacet"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/airdrop/drop/DropFacet.sol":{"keccak256":"0x35c21c945ecb5e428ad92b07b9c594e9451f4c610263534c5358138142086be8","urls":["bzz-raw://8bfcd9828264d93954d9f8a94c9146a1645bf857766c38a65fb5ae8b4204b39d","dweb:/ipfs/QmXwMVc644T1RYkBXcgSsuyEgrY48Fcgg5oHxXh9D2L6yW"],"license":"MIT"},"contracts/src/airdrop/drop/DropFacetBase.sol":{"keccak256":"0xf57b8a78df44f575c7375f7bae2b78b6b192d8bd7daab9db28bf4ef44e55567e","urls":["bzz-raw://d84ccff79baf254ae6660bf9c8fdb73672301b12b6c5ab15ffd1a9fb29c8f040","dweb:/ipfs/QmYCgEApJGc1kkmXauJnFAjGjryqkxGnBbMxuuyjG6exPW"],"license":"MIT"},"contracts/src/airdrop/drop/DropStorage.sol":{"keccak256":"0x83654c8f327bb7ab60084b2efd9d778cc75f11415dd56d71bb5c579348073be0","urls":["bzz-raw://1e7b1eb61534f3e033818503aedcd792592b7271244258c11b7370da0ef422c9","dweb:/ipfs/QmdJBBhSZ2ybfPkbUJLAq7rRLgHoDCAo7LQ6cisnr4gRFX"],"license":"MIT"},"contracts/src/airdrop/drop/IDropFacet.sol":{"keccak256":"0x8f84573d733fb452b2bbef19ff87dde5b361ed7d6106b0b699cea806554bb801","urls":["bzz-raw://42889f32ac4ef470b4835af580ab9b39aee2d90af18ffb99422e344660637693","dweb:/ipfs/QmVoHJdnYYijrR21rgfskQZYN1uCQqV6mguTLCTfKZcTjx"],"license":"MIT"},"contracts/src/base/registry/facets/distribution/v2/IRewardsDistribution.sol":{"keccak256":"0x7c3e7dfd78b9131e69ddeac57b3923a004f7ddc7df4b2172f4496d29f226e1e6","urls":["bzz-raw://d262840d9ba5f389bf6f4ee89d03e10b831c99dd1bf50f26073d74b3860d5e91","dweb:/ipfs/QmWSdFJHEvJDBEAoDg8j1SDJTf3eFk8k4YdgpidabVcNxm"],"license":"MIT"},"contracts/src/base/registry/facets/distribution/v2/StakingRewards.sol":{"keccak256":"0x2df75e500cf40265b839bf589b2c577d6558454702e89b6011db075748ecf385","urls":["bzz-raw://194749888fcc16d4c6b08b56a366fea7b914ddbb5ba6c457fa001d41966e646e","dweb:/ipfs/Qma7VRFdFsseUHSAzoVE75cM7bgz3hNUMM1LgtzmcCiSNH"],"license":"MIT"},"contracts/src/utils/interfaces/IWETH.sol":{"keccak256":"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0","urls":["bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5","dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6"],"license":"MIT"},"contracts/src/utils/libraries/BasisPoints.sol":{"keccak256":"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b","urls":["bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e","dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L"],"license":"MIT"},"contracts/src/utils/libraries/CurrencyTransfer.sol":{"keccak256":"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083","urls":["bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4","dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr"],"license":"MIT"},"contracts/src/utils/libraries/CustomRevert.sol":{"keccak256":"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059","urls":["bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7","dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2","urls":["bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875","dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd","urls":["bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e","dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik"],"license":"MIT"},"node_modules/solady/src/utils/FixedPointMathLib.sol":{"keccak256":"0x08ab121a1074161b4470c48dadcd6ed71eeb33db1adbefe514771e03cf380fba","urls":["bzz-raw://b8d7a3b1dd013ee2b1f56d55b58f1d0b09ae3bcbe630e5a122f8998072c1ecad","dweb:/ipfs/QmNRnBQ6me4s6xDeejdHRjn9Drb5MgcRtfwit9HbYhkJkk"],"license":"MIT"},"node_modules/solady/src/utils/MerkleProofLib.sol":{"keccak256":"0x36e0da7695b2a2316db2ee41192cddb9327394920e38ee3fadea2308d796fbd2","urls":["bzz-raw://c4bce2238416b5403c7ea0a94c502aa145ee54f3a9658f12da6810ab2b0daa20","dweb:/ipfs/QmZwif5HQYETZbG8jX9QBwgUWtJXXhTxCajzyxv4xVLcsa"],"license":"MIT"},"node_modules/solady/src/utils/SafeCastLib.sol":{"keccak256":"0x184c2be02a160a07f7e27fea5753d878c5015c0632faa115ed2f4e90614df284","urls":["bzz-raw://c721441b505ec68ecfcc08cf8019342f6f304e94165af3e02db726377de2055a","dweb:/ipfs/Qmcwe7wcjeGs7px92YR4XCFB6YS1x8T1Aq9FoDC7LKC4BA"],"license":"MIT"},"node_modules/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3","urls":["bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333","dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH"],"license":"MIT"}},"version":1},"id":112} \ No newline at end of file diff --git a/packages/generated/dev/abis/DropFacet.metadata.json b/packages/generated/dev/abis/DropFacet.metadata.json index fc8e5759e8..a4ef50b70d 100644 --- a/packages/generated/dev/abis/DropFacet.metadata.json +++ b/packages/generated/dev/abis/DropFacet.metadata.json @@ -1029,10 +1029,10 @@ "license": "MIT" }, "node_modules/solady/src/utils/FixedPointMathLib.sol": { - "keccak256": "0x7afe0e9230d62d21b7bcaf26003b489e451fa91f73a50437a6cb506975ff5d91", + "keccak256": "0x08ab121a1074161b4470c48dadcd6ed71eeb33db1adbefe514771e03cf380fba", "urls": [ - "bzz-raw://105454301879d0d8774b639f75bbf6dd7afcdc3d647f0026d85967e756394caa", - "dweb:/ipfs/QmddrUdQkVpjHtj8XZxbPU3iqkttdwFs4uDoWfnxU1SCee" + "bzz-raw://b8d7a3b1dd013ee2b1f56d55b58f1d0b09ae3bcbe630e5a122f8998072c1ecad", + "dweb:/ipfs/QmNRnBQ6me4s6xDeejdHRjn9Drb5MgcRtfwit9HbYhkJkk" ], "license": "MIT" }, @@ -1045,18 +1045,18 @@ "license": "MIT" }, "node_modules/solady/src/utils/SafeCastLib.sol": { - "keccak256": "0xd5867f226bf7181059e9c274de7dbb35fd159893f95ae1c64dcdcae92f289175", + "keccak256": "0x184c2be02a160a07f7e27fea5753d878c5015c0632faa115ed2f4e90614df284", "urls": [ - "bzz-raw://477e3b75e2e1ae7ab11ac889cb486fcb425e9bd9e268c5711e80807201dcddfb", - "dweb:/ipfs/Qmc3GT4xirfmQU7vsKrWcyzfDjEEkC8sYZbxcSusXJEyBx" + "bzz-raw://c721441b505ec68ecfcc08cf8019342f6f304e94165af3e02db726377de2055a", + "dweb:/ipfs/Qmcwe7wcjeGs7px92YR4XCFB6YS1x8T1Aq9FoDC7LKC4BA" ], "license": "MIT" }, "node_modules/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210", + "keccak256": "0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3", "urls": [ - "bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c", - "dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR" + "bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333", + "dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH" ], "license": "MIT" } diff --git a/packages/generated/dev/abis/Member.json b/packages/generated/dev/abis/Member.json index 8edc98952d..983389e7c6 100644 --- a/packages/generated/dev/abis/Member.json +++ b/packages/generated/dev/abis/Member.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"baseURI_","type":"string","internalType":"string"},{"name":"merkleRoot_","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"MINT_PRICE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TOTAL_SUPPLY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_hasMinted","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"baseURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"currentTokenId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"privateMint","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"publicMint","inputs":[{"name":"recipient","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBaseURI","inputs":[{"name":"baseURI_","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPublicMint","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startWaitlistMint","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawPayments","inputs":[{"name":"payee","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"MintStateChanged","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"prevState","type":"uint8","indexed":true,"internalType":"enum Member.MintState"},{"name":"newState","type":"uint8","indexed":true,"internalType":"enum Member.MintState"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Minted","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AlreadyMinted","inputs":[]},{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidAddress","inputs":[]},{"type":"error","name":"InvalidMintState","inputs":[]},{"type":"error","name":"InvalidProof","inputs":[]},{"type":"error","name":"MaxSupplyReached","inputs":[]},{"type":"error","name":"MintPriceNotPaid","inputs":[]},{"type":"error","name":"NonExistentTokenURI","inputs":[]},{"type":"error","name":"NotAllowed","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"WithdrawTransfer","inputs":[]}],"bytecode":{"object":"0x60a06040523480156200001157600080fd5b5060405162001d7038038062001d708339810160408190526200003491620001d1565b3384846000620000458382620002fb565b506001620000548282620002fb565b5050506001600160a01b0381166200008657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200009181620000b7565b506007620000a08382620002fb565b5060805250506009805460ff1916905550620003c7565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013157600080fd5b81516001600160401b03808211156200014e576200014e62000109565b604051601f8301601f19908116603f0116810190828211818310171562000179576200017962000109565b81604052838152602092508660208588010111156200019757600080fd5b600091505b83821015620001bb57858201830151818301840152908201906200019c565b6000602085830101528094505050505092915050565b60008060008060808587031215620001e857600080fd5b84516001600160401b03808211156200020057600080fd5b6200020e888389016200011f565b955060208701519150808211156200022557600080fd5b62000233888389016200011f565b945060408701519150808211156200024a57600080fd5b5062000259878288016200011f565b606096909601519497939650505050565b600181811c908216806200027f57607f821691505b602082108103620002a057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002f6576000816000526020600020601f850160051c81016020861015620002d15750805b601f850160051c820191505b81811015620002f257828155600101620002dd565b5050505b505050565b81516001600160401b0381111562000317576200031762000109565b6200032f816200032884546200026a565b84620002a6565b602080601f8311600181146200036757600084156200034e5750858301515b600019600386901b1c1916600185901b178555620002f2565b600085815260208120601f198616915b82811015620003985788860151825594840194600190910190840162000377565b5085821015620003b75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805161198d620003e3600039600061093a015261198d6000f3fe60806040526004361061019b5760003560e01c8063715018a6116100ec578063a839e5011161008a578063c87b56dd11610064578063c87b56dd14610454578063d92d1bd614610474578063e985e9c5146104a4578063f2fde38b146104c457600080fd5b8063a839e50114610403578063b88d4fde14610418578063c002d23d1461043857600080fd5b8063902d55a5116100c6578063902d55a5146103a557806395d89b41146103bb5780639886a902146103d0578063a22cb465146103e357600080fd5b8063715018a61461035d57806376c64c62146103725780638da5cb5b1461038757600080fd5b806331b3eb941161015957806355f804b31161013357806355f804b3146102e85780636352211e146103085780636c0360eb1461032857806370a082311461033d57600080fd5b806331b3eb941461029557806332a93a3a146102b557806342842e0e146102c857600080fd5b80629a9b7b146101a057806301ffc9a7146101c957806306fdde03146101f9578063081812fc1461021b578063095ea7b31461025357806323b872dd14610275575b600080fd5b3480156101ac57600080fd5b506101b6600a5481565b6040519081526020015b60405180910390f35b3480156101d557600080fd5b506101e96101e43660046113a0565b6104e4565b60405190151581526020016101c0565b34801561020557600080fd5b5061020e610536565b6040516101c09190611403565b34801561022757600080fd5b5061023b610236366004611416565b6105c8565b6040516001600160a01b0390911681526020016101c0565b34801561025f57600080fd5b5061027361026e366004611444565b6105f1565b005b34801561028157600080fd5b50610273610290366004611470565b610600565b3480156102a157600080fd5b506102736102b03660046114b1565b610690565b6101b66102c33660046114b1565b610711565b3480156102d457600080fd5b506102736102e3366004611470565b610748565b3480156102f457600080fd5b5061027361030336600461155a565b610763565b34801561031457600080fd5b5061023b610323366004611416565b610777565b34801561033457600080fd5b5061020e610782565b34801561034957600080fd5b506101b66103583660046114b1565b610810565b34801561036957600080fd5b50610273610858565b34801561037e57600080fd5b5061027361086c565b34801561039357600080fd5b506006546001600160a01b031661023b565b3480156103b157600080fd5b506101b66109c481565b3480156103c757600080fd5b5061020e610888565b6101b66103de3660046115a3565b610897565b3480156103ef57600080fd5b506102736103fe36600461162f565b610995565b34801561040f57600080fd5b506102736109a0565b34801561042457600080fd5b5061027361043336600461166d565b6109bc565b34801561044457600080fd5b506101b667011c37937e08000081565b34801561046057600080fd5b5061020e61046f366004611416565b6109d4565b34801561048057600080fd5b506101e961048f3660046114b1565b60086020526000908152604090205460ff1681565b3480156104b057600080fd5b506101e96104bf3660046116ed565b610a5a565b3480156104d057600080fd5b506102736104df3660046114b1565b610a88565b60006001600160e01b031982166380ac58cd60e01b148061051557506001600160e01b03198216635b5e139f60e01b145b8061053057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546105459061171b565b80601f01602080910402602001604051908101604052809291908181526020018280546105719061171b565b80156105be5780601f10610593576101008083540402835291602001916105be565b820191906000526020600020905b8154815290600101906020018083116105a157829003601f168201915b5050505050905090565b60006105d382610ac6565b506000828152600460205260409020546001600160a01b0316610530565b6105fc828233610aff565b5050565b6001600160a01b03821661062f57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061063c838333610b0c565b9050836001600160a01b0316816001600160a01b03161461068a576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610626565b50505050565b610698610c05565b60405147906000906001600160a01b0384169083908381818185875af1925050503d80600081146106e5576040519150601f19603f3d011682016040523d82523d6000602084013e6106ea565b606091505b505090508061070c5760405163d23a9e8960e01b815260040160405180910390fd5b505050565b600061071c82610c32565b610724610c59565b61072c610c81565b61073582610ca5565b61073f6002610cdf565b61053082610d26565b61070c838383604051806020016040528060008152506109bc565b61076b610c05565b60076105fc828261179d565b600061053082610ac6565b6007805461078f9061171b565b80601f01602080910402602001604051908101604052809291908181526020018280546107bb9061171b565b80156108085780601f106107dd57610100808354040283529160200191610808565b820191906000526020600020905b8154815290600101906020018083116107eb57829003601f168201915b505050505081565b60006001600160a01b03821661083c576040516322718ad960e21b815260006004820152602401610626565b506001600160a01b031660009081526003602052604090205490565b610860610c05565b61086a6000610db2565b565b610874610c05565b61087e6001610cdf565b61086a6002610e04565b6060600180546105459061171b565b60006108a285610c32565b6108aa610c59565b6108b2610c81565b6108bb85610ca5565b6108c484610e89565b6040516bffffffffffffffffffffffff19606087901b166020820152603481018590526000906054016040516020818303038152906040528051906020012090506109658484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507f00000000000000000000000000000000000000000000000000000000000000009250859150610ece9050565b610982576040516309bde33960e01b815260040160405180910390fd5b61098b86610d26565b9695505050505050565b6105fc338383610ee4565b6109a8610c05565b6109b26000610cdf565b61086a6001610e04565b6109c7848484610600565b61068a3385858585610f83565b606060006109e183610777565b6001600160a01b031603610a085760405163d872946b60e01b815260040160405180910390fd5b600060078054610a179061171b565b905011610a335760405180602001604052806000815250610530565b6007604051602001610a45919061185d565b60405160208183030381529060405292915050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b610a90610c05565b6001600160a01b038116610aba57604051631e4fbdf760e01b815260006004820152602401610626565b610ac381610db2565b50565b6000818152600260205260408120546001600160a01b03168061053057604051637e27328960e01b815260048101849052602401610626565b61070c83838360016110ae565b6000828152600260205260408120546001600160a01b0390811690831615610b3957610b398184866111b4565b6001600160a01b03811615610b7757610b566000856000806110ae565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615610ba6576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b6006546001600160a01b0316331461086a5760405163118cdaa760e01b8152336004820152602401610626565b6001600160a01b038116610ac35760405163e6c4247b60e01b815260040160405180910390fd5b67011c37937e080000341461086a576040516310f0c8f160e11b815260040160405180910390fd5b6109c4600a541061086a5760405163d05cb60960e01b815260040160405180910390fd5b6001600160a01b03811660009081526008602052604090205460ff1615610ac357604051631bbdf5c560e31b815260040160405180910390fd5b806002811115610cf157610cf16118ea565b60095460ff166002811115610d0857610d086118ea565b14610ac35760405163a1f6623960e01b815260040160405180910390fd5b6001600160a01b0381166000908152600860205260408120805460ff19166001179055600a805490819083610d5a83611900565b9190505550610d698382611218565b604080518281524260208201526001600160a01b038516917f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff910160405180910390a292915050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6009805460ff811691839160ff19166001836002811115610e2757610e276118ea565b0217905550816002811115610e3e57610e3e6118ea565b816002811115610e5057610e506118ea565b60405142815233907f7a5907205f46c7df4a68b33c1da8921886b57f025f0ec67a42c38d2c2013a7849060200160405180910390a45050565b600060095460ff166002811115610ea257610ea26118ea565b148015610eb0575080600114155b15610ac357604051631eb49d6d60e11b815260040160405180910390fd5b600082610edb8584611232565b14949350505050565b6001600160a01b038216610f1657604051630b61174360e31b81526001600160a01b0383166004820152602401610626565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156110a757604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290610fc5908890889087908790600401611927565b6020604051808303816000875af1925050508015611000575060408051601f3d908101601f19168201909252610ffd9181019061195a565b60015b611069573d80801561102e576040519150601f19603f3d011682016040523d82523d6000602084013e611033565b606091505b50805160000361106157604051633250574960e11b81526001600160a01b0385166004820152602401610626565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146110a557604051633250574960e11b81526001600160a01b0385166004820152602401610626565b505b5050505050565b80806110c257506001600160a01b03821615155b156111845760006110d284610ac6565b90506001600160a01b038316158015906110fe5750826001600160a01b0316816001600160a01b031614155b8015611111575061110f8184610a5a565b155b1561113a5760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610626565b81156111825783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6111bf838383611275565b61070c576001600160a01b0383166111ed57604051637e27328960e01b815260048101829052602401610626565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610626565b6105fc8282604051806020016040528060008152506112db565b600081815b845181101561126d576112638286838151811061125657611256611977565b60200260200101516112f3565b9150600101611237565b509392505050565b60006001600160a01b038316158015906112d35750826001600160a01b0316846001600160a01b031614806112af57506112af8484610a5a565b806112d357506000828152600460205260409020546001600160a01b038481169116145b949350505050565b6112e58383611325565b61070c336000858585610f83565b600081831061130f57600082815260208490526040902061131e565b60008381526020839052604090205b9392505050565b6001600160a01b03821661134f57604051633250574960e11b815260006004820152602401610626565b600061135d83836000610b0c565b90506001600160a01b0381161561070c576040516339e3563760e11b815260006004820152602401610626565b6001600160e01b031981168114610ac357600080fd5b6000602082840312156113b257600080fd5b813561131e8161138a565b6000815180845260005b818110156113e3576020818501810151868301820152016113c7565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061131e60208301846113bd565b60006020828403121561142857600080fd5b5035919050565b6001600160a01b0381168114610ac357600080fd5b6000806040838503121561145757600080fd5b82356114628161142f565b946020939093013593505050565b60008060006060848603121561148557600080fd5b83356114908161142f565b925060208401356114a08161142f565b929592945050506040919091013590565b6000602082840312156114c357600080fd5b813561131e8161142f565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156114ff576114ff6114ce565b604051601f8501601f19908116603f01168101908282118183101715611527576115276114ce565b8160405280935085815286868601111561154057600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561156c57600080fd5b813567ffffffffffffffff81111561158357600080fd5b8201601f8101841361159457600080fd5b6112d3848235602084016114e4565b600080600080606085870312156115b957600080fd5b84356115c48161142f565b935060208501359250604085013567ffffffffffffffff808211156115e857600080fd5b818701915087601f8301126115fc57600080fd5b81358181111561160b57600080fd5b8860208260051b850101111561162057600080fd5b95989497505060200194505050565b6000806040838503121561164257600080fd5b823561164d8161142f565b91506020830135801515811461166257600080fd5b809150509250929050565b6000806000806080858703121561168357600080fd5b843561168e8161142f565b9350602085013561169e8161142f565b925060408501359150606085013567ffffffffffffffff8111156116c157600080fd5b8501601f810187136116d257600080fd5b6116e1878235602084016114e4565b91505092959194509250565b6000806040838503121561170057600080fd5b823561170b8161142f565b915060208301356116628161142f565b600181811c9082168061172f57607f821691505b60208210810361174f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561070c576000816000526020600020601f850160051c8101602086101561177e5750805b601f850160051c820191505b818110156110a55782815560010161178a565b815167ffffffffffffffff8111156117b7576117b76114ce565b6117cb816117c5845461171b565b84611755565b602080601f83116001811461180057600084156117e85750858301515b600019600386901b1c1916600185901b1785556110a5565b600085815260208120601f198616915b8281101561182f57888601518255948401946001909101908401611810565b508582101561184d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080835461186b8161171b565b600182811680156118835760018114611898576118c7565b60ff19841687528215158302870194506118c7565b8760005260208060002060005b858110156118be5781548a8201529084019082016118a5565b50505082870194505b50506e636f756e63696c6d6574616461746160881b83525050600f019392505050565b634e487b7160e01b600052602160045260246000fd5b60006001820161192057634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061098b908301846113bd565b60006020828403121561196c57600080fd5b815161131e8161138a565b634e487b7160e01b600052603260045260246000fd","sourceMap":"377:7219:280:-:0;;;3038:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3190:10;3166:5;3173:7;1446:5:482;:13;3166:5:280;1446::482;:13;:::i;:::-;-1:-1:-1;1469:7:482;:17;1479:7;1469;:17;:::i;:::-;-1:-1:-1;;;;;;;;1273:26:452;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:452;;1350:1;1322:31;;;4554:51:654;4527:18;;1322:31:452;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;3208:7:280::2;:18;3218:8:::0;3208:7;:18:::2;:::i;:::-;-1:-1:-1::0;3232:25:280::2;::::0;-1:-1:-1;;3263:10:280::2;:32:::0;;-1:-1:-1;;3263:32:280::2;::::0;;-1:-1:-1;377:7219:280;;2912:187:452;3004:6;;;-1:-1:-1;;;;;3020:17:452;;;-1:-1:-1;;;;;;3020:17:452;;;;;;;3052:40;;3004:6;;;3020:17;3004:6;;3052:40;;2985:16;;3052:40;2975:124;2912:187;:::o;14:127:654:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:844;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:654;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:654;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;732:3;725:4;720:2;712:6;708:15;704:26;701:35;698:55;;;749:1;746;739:12;698:55;771:1;762:10;;781:133;795:2;792:1;789:9;781:133;;;883:14;;;879:23;;873:30;852:14;;;848:23;;841:63;806:10;;;;781:133;;;958:1;951:4;946:2;938:6;934:15;930:26;923:37;978:6;969:15;;;;;;146:844;;;;:::o;995:828::-;1122:6;1130;1138;1146;1199:3;1187:9;1178:7;1174:23;1170:33;1167:53;;;1216:1;1213;1206:12;1167:53;1243:16;;-1:-1:-1;;;;;1308:14:654;;;1305:34;;;1335:1;1332;1325:12;1305:34;1358:61;1411:7;1402:6;1391:9;1387:22;1358:61;:::i;:::-;1348:71;;1465:2;1454:9;1450:18;1444:25;1428:41;;1494:2;1484:8;1481:16;1478:36;;;1510:1;1507;1500:12;1478:36;1533:63;1588:7;1577:8;1566:9;1562:24;1533:63;:::i;:::-;1523:73;;1642:2;1631:9;1627:18;1621:25;1605:41;;1671:2;1661:8;1658:16;1655:36;;;1687:1;1684;1677:12;1655:36;;1710:63;1765:7;1754:8;1743:9;1739:24;1710:63;:::i;:::-;1813:2;1798:18;;;;1792:25;995:828;;;;-1:-1:-1;;;;995:828:654:o;1828:380::-;1907:1;1903:12;;;;1950;;;1971:61;;2025:4;2017:6;2013:17;2003:27;;1971:61;2078:2;2070:6;2067:14;2047:18;2044:38;2041:161;;2124:10;2119:3;2115:20;2112:1;2105:31;2159:4;2156:1;2149:15;2187:4;2184:1;2177:15;2041:161;;1828:380;;;:::o;2339:543::-;2441:2;2436:3;2433:11;2430:446;;;2477:1;2501:5;2498:1;2491:16;2545:4;2542:1;2532:18;2615:2;2603:10;2599:19;2596:1;2592:27;2586:4;2582:38;2651:4;2639:10;2636:20;2633:47;;;-1:-1:-1;2674:4:654;2633:47;2729:2;2724:3;2720:12;2717:1;2713:20;2707:4;2703:31;2693:41;;2784:82;2802:2;2795:5;2792:13;2784:82;;;2847:17;;;2828:1;2817:13;2784:82;;;2788:3;;;2430:446;2339:543;;;:::o;3058:1345::-;3178:10;;-1:-1:-1;;;;;3200:30:654;;3197:56;;;3233:18;;:::i;:::-;3262:97;3352:6;3312:38;3344:4;3338:11;3312:38;:::i;:::-;3306:4;3262:97;:::i;:::-;3414:4;;3471:2;3460:14;;3488:1;3483:663;;;;4190:1;4207:6;4204:89;;;-1:-1:-1;4259:19:654;;;4253:26;4204:89;-1:-1:-1;;3015:1:654;3011:11;;;3007:24;3003:29;2993:40;3039:1;3035:11;;;2990:57;4306:81;;3453:944;;3483:663;2286:1;2279:14;;;2323:4;2310:18;;-1:-1:-1;;3519:20:654;;;3637:236;3651:7;3648:1;3645:14;3637:236;;;3740:19;;;3734:26;3719:42;;3832:27;;;;3800:1;3788:14;;;;3667:19;;3637:236;;;3641:3;3901:6;3892:7;3889:19;3886:201;;;3962:19;;;3956:26;-1:-1:-1;;4045:1:654;4041:14;;;4057:3;4037:24;4033:37;4029:42;4014:58;3999:74;;3886:201;-1:-1:-1;;;;;4133:1:654;4117:14;;;4113:22;4100:36;;-1:-1:-1;3058:1345:654:o;4616:127::-;377:7219:280;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061019b5760003560e01c8063715018a6116100ec578063a839e5011161008a578063c87b56dd11610064578063c87b56dd14610454578063d92d1bd614610474578063e985e9c5146104a4578063f2fde38b146104c457600080fd5b8063a839e50114610403578063b88d4fde14610418578063c002d23d1461043857600080fd5b8063902d55a5116100c6578063902d55a5146103a557806395d89b41146103bb5780639886a902146103d0578063a22cb465146103e357600080fd5b8063715018a61461035d57806376c64c62146103725780638da5cb5b1461038757600080fd5b806331b3eb941161015957806355f804b31161013357806355f804b3146102e85780636352211e146103085780636c0360eb1461032857806370a082311461033d57600080fd5b806331b3eb941461029557806332a93a3a146102b557806342842e0e146102c857600080fd5b80629a9b7b146101a057806301ffc9a7146101c957806306fdde03146101f9578063081812fc1461021b578063095ea7b31461025357806323b872dd14610275575b600080fd5b3480156101ac57600080fd5b506101b6600a5481565b6040519081526020015b60405180910390f35b3480156101d557600080fd5b506101e96101e43660046113a0565b6104e4565b60405190151581526020016101c0565b34801561020557600080fd5b5061020e610536565b6040516101c09190611403565b34801561022757600080fd5b5061023b610236366004611416565b6105c8565b6040516001600160a01b0390911681526020016101c0565b34801561025f57600080fd5b5061027361026e366004611444565b6105f1565b005b34801561028157600080fd5b50610273610290366004611470565b610600565b3480156102a157600080fd5b506102736102b03660046114b1565b610690565b6101b66102c33660046114b1565b610711565b3480156102d457600080fd5b506102736102e3366004611470565b610748565b3480156102f457600080fd5b5061027361030336600461155a565b610763565b34801561031457600080fd5b5061023b610323366004611416565b610777565b34801561033457600080fd5b5061020e610782565b34801561034957600080fd5b506101b66103583660046114b1565b610810565b34801561036957600080fd5b50610273610858565b34801561037e57600080fd5b5061027361086c565b34801561039357600080fd5b506006546001600160a01b031661023b565b3480156103b157600080fd5b506101b66109c481565b3480156103c757600080fd5b5061020e610888565b6101b66103de3660046115a3565b610897565b3480156103ef57600080fd5b506102736103fe36600461162f565b610995565b34801561040f57600080fd5b506102736109a0565b34801561042457600080fd5b5061027361043336600461166d565b6109bc565b34801561044457600080fd5b506101b667011c37937e08000081565b34801561046057600080fd5b5061020e61046f366004611416565b6109d4565b34801561048057600080fd5b506101e961048f3660046114b1565b60086020526000908152604090205460ff1681565b3480156104b057600080fd5b506101e96104bf3660046116ed565b610a5a565b3480156104d057600080fd5b506102736104df3660046114b1565b610a88565b60006001600160e01b031982166380ac58cd60e01b148061051557506001600160e01b03198216635b5e139f60e01b145b8061053057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546105459061171b565b80601f01602080910402602001604051908101604052809291908181526020018280546105719061171b565b80156105be5780601f10610593576101008083540402835291602001916105be565b820191906000526020600020905b8154815290600101906020018083116105a157829003601f168201915b5050505050905090565b60006105d382610ac6565b506000828152600460205260409020546001600160a01b0316610530565b6105fc828233610aff565b5050565b6001600160a01b03821661062f57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061063c838333610b0c565b9050836001600160a01b0316816001600160a01b03161461068a576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610626565b50505050565b610698610c05565b60405147906000906001600160a01b0384169083908381818185875af1925050503d80600081146106e5576040519150601f19603f3d011682016040523d82523d6000602084013e6106ea565b606091505b505090508061070c5760405163d23a9e8960e01b815260040160405180910390fd5b505050565b600061071c82610c32565b610724610c59565b61072c610c81565b61073582610ca5565b61073f6002610cdf565b61053082610d26565b61070c838383604051806020016040528060008152506109bc565b61076b610c05565b60076105fc828261179d565b600061053082610ac6565b6007805461078f9061171b565b80601f01602080910402602001604051908101604052809291908181526020018280546107bb9061171b565b80156108085780601f106107dd57610100808354040283529160200191610808565b820191906000526020600020905b8154815290600101906020018083116107eb57829003601f168201915b505050505081565b60006001600160a01b03821661083c576040516322718ad960e21b815260006004820152602401610626565b506001600160a01b031660009081526003602052604090205490565b610860610c05565b61086a6000610db2565b565b610874610c05565b61087e6001610cdf565b61086a6002610e04565b6060600180546105459061171b565b60006108a285610c32565b6108aa610c59565b6108b2610c81565b6108bb85610ca5565b6108c484610e89565b6040516bffffffffffffffffffffffff19606087901b166020820152603481018590526000906054016040516020818303038152906040528051906020012090506109658484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507f00000000000000000000000000000000000000000000000000000000000000009250859150610ece9050565b610982576040516309bde33960e01b815260040160405180910390fd5b61098b86610d26565b9695505050505050565b6105fc338383610ee4565b6109a8610c05565b6109b26000610cdf565b61086a6001610e04565b6109c7848484610600565b61068a3385858585610f83565b606060006109e183610777565b6001600160a01b031603610a085760405163d872946b60e01b815260040160405180910390fd5b600060078054610a179061171b565b905011610a335760405180602001604052806000815250610530565b6007604051602001610a45919061185d565b60405160208183030381529060405292915050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b610a90610c05565b6001600160a01b038116610aba57604051631e4fbdf760e01b815260006004820152602401610626565b610ac381610db2565b50565b6000818152600260205260408120546001600160a01b03168061053057604051637e27328960e01b815260048101849052602401610626565b61070c83838360016110ae565b6000828152600260205260408120546001600160a01b0390811690831615610b3957610b398184866111b4565b6001600160a01b03811615610b7757610b566000856000806110ae565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615610ba6576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b6006546001600160a01b0316331461086a5760405163118cdaa760e01b8152336004820152602401610626565b6001600160a01b038116610ac35760405163e6c4247b60e01b815260040160405180910390fd5b67011c37937e080000341461086a576040516310f0c8f160e11b815260040160405180910390fd5b6109c4600a541061086a5760405163d05cb60960e01b815260040160405180910390fd5b6001600160a01b03811660009081526008602052604090205460ff1615610ac357604051631bbdf5c560e31b815260040160405180910390fd5b806002811115610cf157610cf16118ea565b60095460ff166002811115610d0857610d086118ea565b14610ac35760405163a1f6623960e01b815260040160405180910390fd5b6001600160a01b0381166000908152600860205260408120805460ff19166001179055600a805490819083610d5a83611900565b9190505550610d698382611218565b604080518281524260208201526001600160a01b038516917f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff910160405180910390a292915050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6009805460ff811691839160ff19166001836002811115610e2757610e276118ea565b0217905550816002811115610e3e57610e3e6118ea565b816002811115610e5057610e506118ea565b60405142815233907f7a5907205f46c7df4a68b33c1da8921886b57f025f0ec67a42c38d2c2013a7849060200160405180910390a45050565b600060095460ff166002811115610ea257610ea26118ea565b148015610eb0575080600114155b15610ac357604051631eb49d6d60e11b815260040160405180910390fd5b600082610edb8584611232565b14949350505050565b6001600160a01b038216610f1657604051630b61174360e31b81526001600160a01b0383166004820152602401610626565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156110a757604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290610fc5908890889087908790600401611927565b6020604051808303816000875af1925050508015611000575060408051601f3d908101601f19168201909252610ffd9181019061195a565b60015b611069573d80801561102e576040519150601f19603f3d011682016040523d82523d6000602084013e611033565b606091505b50805160000361106157604051633250574960e11b81526001600160a01b0385166004820152602401610626565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146110a557604051633250574960e11b81526001600160a01b0385166004820152602401610626565b505b5050505050565b80806110c257506001600160a01b03821615155b156111845760006110d284610ac6565b90506001600160a01b038316158015906110fe5750826001600160a01b0316816001600160a01b031614155b8015611111575061110f8184610a5a565b155b1561113a5760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610626565b81156111825783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6111bf838383611275565b61070c576001600160a01b0383166111ed57604051637e27328960e01b815260048101829052602401610626565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610626565b6105fc8282604051806020016040528060008152506112db565b600081815b845181101561126d576112638286838151811061125657611256611977565b60200260200101516112f3565b9150600101611237565b509392505050565b60006001600160a01b038316158015906112d35750826001600160a01b0316846001600160a01b031614806112af57506112af8484610a5a565b806112d357506000828152600460205260409020546001600160a01b038481169116145b949350505050565b6112e58383611325565b61070c336000858585610f83565b600081831061130f57600082815260208490526040902061131e565b60008381526020839052604090205b9392505050565b6001600160a01b03821661134f57604051633250574960e11b815260006004820152602401610626565b600061135d83836000610b0c565b90506001600160a01b0381161561070c576040516339e3563760e11b815260006004820152602401610626565b6001600160e01b031981168114610ac357600080fd5b6000602082840312156113b257600080fd5b813561131e8161138a565b6000815180845260005b818110156113e3576020818501810151868301820152016113c7565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061131e60208301846113bd565b60006020828403121561142857600080fd5b5035919050565b6001600160a01b0381168114610ac357600080fd5b6000806040838503121561145757600080fd5b82356114628161142f565b946020939093013593505050565b60008060006060848603121561148557600080fd5b83356114908161142f565b925060208401356114a08161142f565b929592945050506040919091013590565b6000602082840312156114c357600080fd5b813561131e8161142f565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156114ff576114ff6114ce565b604051601f8501601f19908116603f01168101908282118183101715611527576115276114ce565b8160405280935085815286868601111561154057600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561156c57600080fd5b813567ffffffffffffffff81111561158357600080fd5b8201601f8101841361159457600080fd5b6112d3848235602084016114e4565b600080600080606085870312156115b957600080fd5b84356115c48161142f565b935060208501359250604085013567ffffffffffffffff808211156115e857600080fd5b818701915087601f8301126115fc57600080fd5b81358181111561160b57600080fd5b8860208260051b850101111561162057600080fd5b95989497505060200194505050565b6000806040838503121561164257600080fd5b823561164d8161142f565b91506020830135801515811461166257600080fd5b809150509250929050565b6000806000806080858703121561168357600080fd5b843561168e8161142f565b9350602085013561169e8161142f565b925060408501359150606085013567ffffffffffffffff8111156116c157600080fd5b8501601f810187136116d257600080fd5b6116e1878235602084016114e4565b91505092959194509250565b6000806040838503121561170057600080fd5b823561170b8161142f565b915060208301356116628161142f565b600181811c9082168061172f57607f821691505b60208210810361174f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561070c576000816000526020600020601f850160051c8101602086101561177e5750805b601f850160051c820191505b818110156110a55782815560010161178a565b815167ffffffffffffffff8111156117b7576117b76114ce565b6117cb816117c5845461171b565b84611755565b602080601f83116001811461180057600084156117e85750858301515b600019600386901b1c1916600185901b1785556110a5565b600085815260208120601f198616915b8281101561182f57888601518255948401946001909101908401611810565b508582101561184d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080835461186b8161171b565b600182811680156118835760018114611898576118c7565b60ff19841687528215158302870194506118c7565b8760005260208060002060005b858110156118be5781548a8201529084019082016118a5565b50505082870194505b50506e636f756e63696c6d6574616461746160881b83525050600f019392505050565b634e487b7160e01b600052602160045260246000fd5b60006001820161192057634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061098b908301846113bd565b60006020828403121561196c57600080fd5b815161131e8161138a565b634e487b7160e01b600052603260045260246000fd","sourceMap":"377:7219:280:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2827:29;;;;;;;;;;;;;;;;;;;160:25:654;;;148:2;133:18;2827:29:280;;;;;;;;1560:300:482;;;;;;;;;;-1:-1:-1;1560:300:482;;;;;:::i;:::-;;:::i;:::-;;;747:14:654;;740:22;722:41;;710:2;695:18;1560:300:482;582:187:654;2364:89:482;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3496:154::-;;;;;;;;;;-1:-1:-1;3496:154:482;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1776:32:654;;;1758:51;;1746:2;1731:18;3496:154:482;1612:203:654;3322:113:482;;;;;;;;;;-1:-1:-1;3322:113:482;;;;;:::i;:::-;;:::i;:::-;;4142:578;;;;;;;;;;-1:-1:-1;4142:578:482;;;;;:::i;:::-;;:::i;5861:238:280:-;;;;;;;;;;-1:-1:-1;5861:238:280;;;;;:::i;:::-;;:::i;3988:272::-;;;;;;:::i;:::-;;:::i;4786:132:482:-;;;;;;;;;;-1:-1:-1;4786:132:482;;;;;:::i;:::-;;:::i;4447:92:280:-;;;;;;;;;;-1:-1:-1;4447:92:280;;;;;:::i;:::-;;:::i;2184:118:482:-;;;;;;;;;;-1:-1:-1;2184:118:482;;;;;:::i;:::-;;:::i;2463:21:280:-;;;;;;;;;;;;;:::i;1919:208:482:-;;;;;;;;;;-1:-1:-1;1919:208:482;;;;;:::i;:::-;;:::i;2293:101:452:-;;;;;;;;;;;;;:::i;5432:124:280:-;;;;;;;;;;;;;:::i;1638:85:452:-;;;;;;;;;;-1:-1:-1;1710:6:452;;-1:-1:-1;;;;;1710:6:452;1638:85;;2111:43:280;;;;;;;;;;;;2150:4;2111:43;;2517:93:482;;;;;;;;;;;;;:::i;3482:502:280:-;;;;;;:::i;:::-;;:::i;3717:144:482:-;;;;;;;;;;-1:-1:-1;3717:144:482;;;;;:::i;:::-;;:::i;5299:129:280:-;;;;;;;;;;;;;:::i;4984:233:482:-;;;;;;;;;;-1:-1:-1;4984:233:482;;;;;:::i;:::-;;:::i;2210:47:280:-;;;;;;;;;;;;2247:10;2210:47;;4806:305;;;;;;;;;;-1:-1:-1;4806:305:280;;;;;:::i;:::-;;:::i;2551:42::-;;;;;;;;;;-1:-1:-1;2551:42:280;;;;;:::i;:::-;;;;;;;;;;;;;;;;3927:153:482;;;;;;;;;;-1:-1:-1;3927:153:482;;;;;:::i;:::-;;:::i;2543:215:452:-;;;;;;;;;;-1:-1:-1;2543:215:452;;;;;:::i;:::-;;:::i;1560:300:482:-;1662:4;-1:-1:-1;;;;;;1697:40:482;;-1:-1:-1;;;1697:40:482;;:104;;-1:-1:-1;;;;;;;1753:48:482;;-1:-1:-1;;;1753:48:482;1697:104;:156;;;-1:-1:-1;;;;;;;;;;862:40:505;;;1817:36:482;1678:175;1560:300;-1:-1:-1;;1560:300:482:o;2364:89::-;2409:13;2441:5;2434:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2364:89;:::o;3496:154::-;3563:7;3582:22;3596:7;3582:13;:22::i;:::-;-1:-1:-1;6033:7:482;6059:24;;;:15;:24;;;;;;-1:-1:-1;;;;;6059:24:482;3622:21;5963:127;3322:113;3393:35;3402:2;3406:7;735:10:490;3393:8:482;:35::i;:::-;3322:113;;:::o;4142:578::-;-1:-1:-1;;;;;4236:16:482;;4232:87;;4275:33;;-1:-1:-1;;;4275:33:482;;4305:1;4275:33;;;1758:51:654;1731:18;;4275:33:482;;;;;;;;4232:87;4537:21;4561:34;4569:2;4573:7;735:10:490;4561:7:482;:34::i;:::-;4537:58;;4626:4;-1:-1:-1;;;;;4609:21:482;:13;-1:-1:-1;;;;;4609:21:482;;4605:109;;4653:50;;-1:-1:-1;;;4653:50:482;;-1:-1:-1;;;;;7554:15:654;;;4653:50:482;;;7536:34:654;7586:18;;;7579:34;;;7649:15;;7629:18;;;7622:43;7471:18;;4653:50:482;7296:375:654;4605:109:482;4222:498;4142:578;;;:::o;5861:238:280:-;1531:13:452;:11;:13::i;:::-;6002:30:280::1;::::0;5953:21:::1;::::0;5935:15:::1;::::0;-1:-1:-1;;;;;6002:10:280;::::1;::::0;5953:21;;5935:15;6002:30;5935:15;6002:30;5953:21;6002:10;:30:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5980:52;;;6043:10;6038:57;;6070:18;;-1:-1:-1::0;;;6070:18:280::1;;;;;;;;;;;6038:57;5929:170;;5861:238:::0;:::o;3988:272::-;4053:7;4068:34;4092:9;4068:23;:34::i;:::-;4108:20;:18;:20::i;:::-;4134;:18;:20::i;:::-;4160:26;4176:9;4160:15;:26::i;:::-;4192:32;4207:16;4192:14;:32::i;:::-;4237:18;4245:9;4237:7;:18::i;4786:132:482:-;4872:39;4889:4;4895:2;4899:7;4872:39;;;;;;;;;;;;:16;:39::i;4447:92:280:-;1531:13:452;:11;:13::i;:::-;4516:7:280::1;:18;4526:8:::0;4516:7;:18:::1;:::i;2184:118:482:-:0;2247:7;2273:22;2287:7;2273:13;:22::i;2463:21:280:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1919:208:482:-;1982:7;-1:-1:-1;;;;;2005:19:482;;2001:87;;2047:30;;-1:-1:-1;;;2047:30:482;;2074:1;2047:30;;;1758:51:654;1731:18;;2047:30:482;1612:203:654;2001:87:482;-1:-1:-1;;;;;;2104:16:482;;;;;:9;:16;;;;;;;1919:208::o;2293:101:452:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;5432:124:280:-;1531:13:452;:11;:13::i;:::-;5484:34:280::1;5499:18;5484:14;:34::i;:::-;5524:27;5534:16;5524:9;:27::i;2517:93:482:-:0;2564:13;2596:7;2589:14;;;;;:::i;3482:502:280:-;3609:7;3624:34;3648:9;3624:23;:34::i;:::-;3664:20;:18;:20::i;:::-;3690;:18;:20::i;:::-;3716:26;3732:9;3716:15;:26::i;:::-;3748:29;3767:9;3748:18;:29::i;:::-;3812:38;;-1:-1:-1;;10258:2:654;10254:15;;;10250:53;3812:38:280;;;10238:66:654;10320:12;;;10313:28;;;3784:15:280;;10357:12:654;;3812:38:280;;;;;;;;;;;;3802:49;;;;;;3784:67;;3863:47;3882:5;;3863:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3889:11:280;;-1:-1:-1;3902:7:280;;-1:-1:-1;3863:18:280;;-1:-1:-1;3863:47:280:i;:::-;3858:90;;3927:14;;-1:-1:-1;;;3927:14:280;;;;;;;;;;;3858:90;3961:18;3969:9;3961:7;:18::i;:::-;3954:25;3482:502;-1:-1:-1;;;;;;3482:502:280:o;3717:144:482:-;3802:52;735:10:490;3835:8:482;3845;3802:18;:52::i;5299:129:280:-;1531:13:452;:11;:13::i;:::-;5353:35:280::1;5368:19;5353:14;:35::i;:::-;5394:29;5404:18;5394:9;:29::i;4984:233:482:-:0;5097:31;5110:4;5116:2;5120:7;5097:12;:31::i;:::-;5138:72;735:10:490;5186:4:482;5192:2;5196:7;5205:4;5138:33;:72::i;4806:305:280:-;4887:13;4940:1;4912:16;4920:7;4912;:16::i;:::-;-1:-1:-1;;;;;4912:30:280;;4908:79;;4959:21;;-1:-1:-1;;;4959:21:280;;;;;;;;;;;4908:79;5029:1;5011:7;5005:21;;;;;:::i;:::-;;;:25;:101;;;;;;;;;;;;;;;;;5065:7;5048:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;4992:114;4806:305;-1:-1:-1;;4806:305:280:o;3927:153:482:-;-1:-1:-1;;;;;4038:25:482;;;4015:4;4038:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;3927:153::o;2543:215:452:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:452;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:452;;2700:1:::1;2672:31;::::0;::::1;1758:51:654::0;1731:18;;2672:31:452::1;1612:203:654::0;2623:91:452::1;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;16212:241:482:-;16275:7;5824:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5824:16:482;;16337:88;;16383:31;;-1:-1:-1;;;16383:31:482;;;;;160:25:654;;;133:18;;16383:31:482;14:177:654;14492:120:482;14572:33;14581:2;14585:7;14594:4;14600;14572:8;:33::i;8861:795::-;8947:7;5824:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5824:16:482;;;;9058:18;;;9054:86;;9092:37;9109:4;9115;9121:7;9092:16;:37::i;:::-;-1:-1:-1;;;;;9184:18:482;;;9180:256;;9300:48;9317:1;9321:7;9338:1;9342:5;9300:8;:48::i;:::-;-1:-1:-1;;;;;9391:15:482;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;9391:20:482;;;9180:256;-1:-1:-1;;;;;9450:16:482;;;9446:107;;-1:-1:-1;;;;;9510:13:482;;;;;;:9;:13;;;;;:18;;9527:1;9510:18;;;9446:107;9563:16;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9563:21:482;-1:-1:-1;;;;;9563:21:482;;;;;;;;;9600:27;;9563:16;;9600:27;;;;;;;9645:4;8861:795;-1:-1:-1;;;;8861:795:482:o;1796:162:452:-;1710:6;;-1:-1:-1;;;;;1710:6:452;735:10:490;1855:23:452;1851:101;;1901:40;;-1:-1:-1;;;1901:40:452;;735:10:490;1901:40:452;;;1758:51:654;1731:18;;1901:40:452;1612:203:654;6752:143:280;-1:-1:-1;;;;;6828:23:280;;6824:67;;6868:16;;-1:-1:-1;;;6868:16:280;;;;;;;;;;;7471:123;2247:10;7525:9;:23;7521:69;;7565:18;;-1:-1:-1;;;7565:18:280;;;;;;;;;;;6899:130;2150:4;6953:14;;:30;6949:76;;7000:18;;-1:-1:-1;;;7000:18:280;;;;;;;;;;;7335:132;-1:-1:-1;;;;;7403:21:280;;;;;;:10;:21;;;;;;;;7399:64;;;7441:15;;-1:-1:-1;;;7441:15:280;;;;;;;;;;;7033:132;7113:6;7099:20;;;;;;;;:::i;:::-;:10;;;;:20;;;;;;;;:::i;:::-;;7095:66;;7136:18;;-1:-1:-1;;;7136:18:280;;;;;;;;;;;6284:271;-1:-1:-1;;;;;6353:21:280;;6338:7;6353:21;;;:10;:21;;;;;:28;;-1:-1:-1;;6353:28:280;6377:4;6353:28;;;6405:14;;;;;;6338:7;6425:16;6405:14;6425:16;:::i;:::-;;;;;;6447:29;6457:9;6468:7;6447:9;:29::i;:::-;6487:43;;;11920:25:654;;;6514:15:280;11976:2:654;11961:18;;11954:34;-1:-1:-1;;;;;6487:43:280;;;;;11893:18:654;6487:43:280;;;;;;;6543:7;6284:271;-1:-1:-1;;6284:271:280:o;2912:187:452:-;3004:6;;;-1:-1:-1;;;;;3020:17:452;;;-1:-1:-1;;;;;;3020:17:452;;;;;;;3052:40;;3004:6;;;3020:17;3004:6;;3052:40;;2985:16;;3052:40;2975:124;2912:187;:::o;6559:189:280:-;6633:10;;;;;;;6662:6;;-1:-1:-1;;6649:19:280;6633:10;6662:6;6649:19;;;;;;;;:::i;:::-;;;;;;6719:6;6679:64;;;;;;;;:::i;:::-;6708:9;6679:64;;;;;;;;:::i;:::-;;;6727:15;160:25:654;;6696:10:280;;6679:64;;148:2:654;133:18;6679:64:280;;;;;;;6605:143;6559:189;:::o;7169:162::-;7254:19;7240:10;;;;:33;;;;;;;;:::i;:::-;;:51;;;;;7277:9;7290:1;7277:14;;7240:51;7236:91;;;7308:12;;-1:-1:-1;;;7308:12:280;;;;;;;;;;;1902:154:503;1993:4;2045;2016:25;2029:5;2036:4;2016:12;:25::i;:::-;:33;;1902:154;-1:-1:-1;;;;1902:154:503:o;15665:312:482:-;-1:-1:-1;;;;;15772:22:482;;15768:91;;15817:31;;-1:-1:-1;;;15817:31:482;;-1:-1:-1;;;;;1776:32:654;;15817:31:482;;;1758:51:654;1731:18;;15817:31:482;1612:203:654;15768:91:482;-1:-1:-1;;;;;15868:25:482;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;15868:46:482;;;;;;;;;;15929:41;;722::654;;;15929::482;;695:18:654;15929:41:482;;;;;;;15665:312;;;:::o;985:924:486:-;-1:-1:-1;;;;;1165:14:486;;;:18;1161:742;;1203:67;;-1:-1:-1;;;1203:67:486;;-1:-1:-1;;;;;1203:36:486;;;;;:67;;1240:8;;1250:4;;1256:7;;1265:4;;1203:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1203:67:486;;;;;;;;-1:-1:-1;;1203:67:486;;;;;;;;;;;;:::i;:::-;;;1199:694;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1560:6;:13;1577:1;1560:18;1556:323;;1664:39;;-1:-1:-1;;;1664:39:486;;-1:-1:-1;;;;;1776:32:654;;1664:39:486;;;1758:51:654;1731:18;;1664:39:486;1612:203:654;1556:323:486;1831:6;1825:13;1816:6;1812:2;1808:15;1801:38;1199:694;-1:-1:-1;;;;;;1317:51:486;;-1:-1:-1;;;1317:51:486;1313:182;;1437:39;;-1:-1:-1;;;1437:39:486;;-1:-1:-1;;;;;1776:32:654;;1437:39:486;;;1758:51:654;1731:18;;1437:39:486;1612:203:654;1313:182:486;1271:238;1199:694;985:924;;;;;:::o;14794:662:482:-;14954:9;:31;;;-1:-1:-1;;;;;;14967:18:482;;;;14954:31;14950:460;;;15001:13;15017:22;15031:7;15017:13;:22::i;:::-;15001:38;-1:-1:-1;;;;;;15167:18:482;;;;;;:35;;;15198:4;-1:-1:-1;;;;;15189:13:482;:5;-1:-1:-1;;;;;15189:13:482;;;15167:35;:69;;;;;15207:29;15224:5;15231:4;15207:16;:29::i;:::-;15206:30;15167:69;15163:142;;;15263:27;;-1:-1:-1;;;15263:27:482;;-1:-1:-1;;;;;1776:32:654;;15263:27:482;;;1758:51:654;1731:18;;15263:27:482;1612:203:654;15163:142:482;15323:9;15319:81;;;15377:7;15373:2;-1:-1:-1;;;;;15357:28:482;15366:5;-1:-1:-1;;;;;15357:28:482;;;;;;;;;;;15319:81;14987:423;14950:460;-1:-1:-1;;15420:24:482;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;15420:29:482;-1:-1:-1;;;;;15420:29:482;;;;;;;;;;14794:662::o;7105:368::-;7217:38;7231:5;7238:7;7247;7217:13;:38::i;:::-;7212:255;;-1:-1:-1;;;;;7275:19:482;;7271:186;;7321:31;;-1:-1:-1;;;7321:31:482;;;;;160:25:654;;;133:18;;7321:31:482;14:177:654;7271:186:482;7398:44;;-1:-1:-1;;;7398:44:482;;-1:-1:-1;;;;;12939:32:654;;7398:44:482;;;12921:51:654;12988:18;;;12981:34;;;12894:18;;7398:44:482;12747:274:654;10656:100:482;10723:26;10733:2;10737:7;10723:26;;;;;;;;;;;;:9;:26::i;2457:308:503:-;2540:7;2582:4;2540:7;2596:134;2620:5;:12;2616:1;:16;2596:134;;;2668:51;2696:12;2710:5;2716:1;2710:8;;;;;;;;:::i;:::-;;;;;;;2668:27;:51::i;:::-;2653:66;-1:-1:-1;2634:3:503;;2596:134;;;-1:-1:-1;2746:12:503;2457:308;-1:-1:-1;;;2457:308:503:o;6401:272:482:-;6504:4;-1:-1:-1;;;;;6539:21:482;;;;;;:127;;;6586:7;-1:-1:-1;;;;;6577:16:482;:5;-1:-1:-1;;;;;6577:16:482;;:52;;;;6597:32;6614:5;6621:7;6597:16;:32::i;:::-;6577:88;;;-1:-1:-1;6033:7:482;6059:24;;;:15;:24;;;;;;-1:-1:-1;;;;;6633:32:482;;;6059:24;;6633:32;6577:88;6520:146;6401:272;-1:-1:-1;;;;6401:272:482:o;10977:207::-;11071:18;11077:2;11081:7;11071:5;:18::i;:::-;11099:78;735:10:490;11155:1:482;11159:2;11163:7;11172:4;11099:33;:78::i;504:169:502:-;579:7;609:1;605;:5;:61;;866:13;930:15;;;965:4;958:15;;;1011:4;995:21;;605:61;;;866:13;930:15;;;965:4;958:15;;;1011:4;995:21;;613:25;598:68;504:169;-1:-1:-1;;;504:169:502:o;9978:327:482:-;-1:-1:-1;;;;;10045:16:482;;10041:87;;10084:33;;-1:-1:-1;;;10084:33:482;;10114:1;10084:33;;;1758:51:654;1731:18;;10084:33:482;1612:203:654;10041:87:482;10137:21;10161:32;10169:2;10173:7;10190:1;10161:7;:32::i;:::-;10137:56;-1:-1:-1;;;;;;10207:27:482;;;10203:96;;10257:31;;-1:-1:-1;;;10257:31:482;;10285:1;10257:31;;;1758:51:654;1731:18;;10257:31:482;1612:203:654;196:131;-1:-1:-1;;;;;;270:32:654;;260:43;;250:71;;317:1;314;307:12;332:245;390:6;443:2;431:9;422:7;418:23;414:32;411:52;;;459:1;456;449:12;411:52;498:9;485:23;517:30;541:5;517:30;:::i;774:423::-;816:3;854:5;848:12;881:6;876:3;869:19;906:1;916:162;930:6;927:1;924:13;916:162;;;992:4;1048:13;;;1044:22;;1038:29;1020:11;;;1016:20;;1009:59;945:12;916:162;;;920:3;1123:1;1116:4;1107:6;1102:3;1098:16;1094:27;1087:38;1186:4;1179:2;1175:7;1170:2;1162:6;1158:15;1154:29;1149:3;1145:39;1141:50;1134:57;;;774:423;;;;:::o;1202:220::-;1351:2;1340:9;1333:21;1314:4;1371:45;1412:2;1401:9;1397:18;1389:6;1371:45;:::i;1427:180::-;1486:6;1539:2;1527:9;1518:7;1514:23;1510:32;1507:52;;;1555:1;1552;1545:12;1507:52;-1:-1:-1;1578:23:654;;1427:180;-1:-1:-1;1427:180:654:o;1820:131::-;-1:-1:-1;;;;;1895:31:654;;1885:42;;1875:70;;1941:1;1938;1931:12;1956:315;2024:6;2032;2085:2;2073:9;2064:7;2060:23;2056:32;2053:52;;;2101:1;2098;2091:12;2053:52;2140:9;2127:23;2159:31;2184:5;2159:31;:::i;:::-;2209:5;2261:2;2246:18;;;;2233:32;;-1:-1:-1;;;1956:315:654:o;2276:456::-;2353:6;2361;2369;2422:2;2410:9;2401:7;2397:23;2393:32;2390:52;;;2438:1;2435;2428:12;2390:52;2477:9;2464:23;2496:31;2521:5;2496:31;:::i;:::-;2546:5;-1:-1:-1;2603:2:654;2588:18;;2575:32;2616:33;2575:32;2616:33;:::i;:::-;2276:456;;2668:7;;-1:-1:-1;;;2722:2:654;2707:18;;;;2694:32;;2276:456::o;2737:255::-;2804:6;2857:2;2845:9;2836:7;2832:23;2828:32;2825:52;;;2873:1;2870;2863:12;2825:52;2912:9;2899:23;2931:31;2956:5;2931:31;:::i;3249:127::-;3310:10;3305:3;3301:20;3298:1;3291:31;3341:4;3338:1;3331:15;3365:4;3362:1;3355:15;3381:632;3446:5;3476:18;3517:2;3509:6;3506:14;3503:40;;;3523:18;;:::i;:::-;3598:2;3592:9;3566:2;3652:15;;-1:-1:-1;;3648:24:654;;;3674:2;3644:33;3640:42;3628:55;;;3698:18;;;3718:22;;;3695:46;3692:72;;;3744:18;;:::i;:::-;3784:10;3780:2;3773:22;3813:6;3804:15;;3843:6;3835;3828:22;3883:3;3874:6;3869:3;3865:16;3862:25;3859:45;;;3900:1;3897;3890:12;3859:45;3950:6;3945:3;3938:4;3930:6;3926:17;3913:44;4005:1;3998:4;3989:6;3981;3977:19;3973:30;3966:41;;;;3381:632;;;;;:::o;4018:451::-;4087:6;4140:2;4128:9;4119:7;4115:23;4111:32;4108:52;;;4156:1;4153;4146:12;4108:52;4196:9;4183:23;4229:18;4221:6;4218:30;4215:50;;;4261:1;4258;4251:12;4215:50;4284:22;;4337:4;4329:13;;4325:27;-1:-1:-1;4315:55:654;;4366:1;4363;4356:12;4315:55;4389:74;4455:7;4450:2;4437:16;4432:2;4428;4424:11;4389:74;:::i;4474:818::-;4578:6;4586;4594;4602;4655:2;4643:9;4634:7;4630:23;4626:32;4623:52;;;4671:1;4668;4661:12;4623:52;4710:9;4697:23;4729:31;4754:5;4729:31;:::i;:::-;4779:5;-1:-1:-1;4831:2:654;4816:18;;4803:32;;-1:-1:-1;4886:2:654;4871:18;;4858:32;4909:18;4939:14;;;4936:34;;;4966:1;4963;4956:12;4936:34;5004:6;4993:9;4989:22;4979:32;;5049:7;5042:4;5038:2;5034:13;5030:27;5020:55;;5071:1;5068;5061:12;5020:55;5111:2;5098:16;5137:2;5129:6;5126:14;5123:34;;;5153:1;5150;5143:12;5123:34;5206:7;5201:2;5191:6;5188:1;5184:14;5180:2;5176:23;5172:32;5169:45;5166:65;;;5227:1;5224;5217:12;5166:65;4474:818;;;;-1:-1:-1;;5258:2:654;5250:11;;-1:-1:-1;;;4474:818:654:o;5297:416::-;5362:6;5370;5423:2;5411:9;5402:7;5398:23;5394:32;5391:52;;;5439:1;5436;5429:12;5391:52;5478:9;5465:23;5497:31;5522:5;5497:31;:::i;:::-;5547:5;-1:-1:-1;5604:2:654;5589:18;;5576:32;5646:15;;5639:23;5627:36;;5617:64;;5677:1;5674;5667:12;5617:64;5700:7;5690:17;;;5297:416;;;;;:::o;5718:795::-;5813:6;5821;5829;5837;5890:3;5878:9;5869:7;5865:23;5861:33;5858:53;;;5907:1;5904;5897:12;5858:53;5946:9;5933:23;5965:31;5990:5;5965:31;:::i;:::-;6015:5;-1:-1:-1;6072:2:654;6057:18;;6044:32;6085:33;6044:32;6085:33;:::i;:::-;6137:7;-1:-1:-1;6191:2:654;6176:18;;6163:32;;-1:-1:-1;6246:2:654;6231:18;;6218:32;6273:18;6262:30;;6259:50;;;6305:1;6302;6295:12;6259:50;6328:22;;6381:4;6373:13;;6369:27;-1:-1:-1;6359:55:654;;6410:1;6407;6400:12;6359:55;6433:74;6499:7;6494:2;6481:16;6476:2;6472;6468:11;6433:74;:::i;:::-;6423:84;;;5718:795;;;;;;;:::o;6518:388::-;6586:6;6594;6647:2;6635:9;6626:7;6622:23;6618:32;6615:52;;;6663:1;6660;6653:12;6615:52;6702:9;6689:23;6721:31;6746:5;6721:31;:::i;:::-;6771:5;-1:-1:-1;6828:2:654;6813:18;;6800:32;6841:33;6800:32;6841:33;:::i;6911:380::-;6990:1;6986:12;;;;7033;;;7054:61;;7108:4;7100:6;7096:17;7086:27;;7054:61;7161:2;7153:6;7150:14;7130:18;7127:38;7124:161;;7207:10;7202:3;7198:20;7195:1;7188:31;7242:4;7239:1;7232:15;7270:4;7267:1;7260:15;7124:161;;6911:380;;;:::o;8012:543::-;8114:2;8109:3;8106:11;8103:446;;;8150:1;8174:5;8171:1;8164:16;8218:4;8215:1;8205:18;8288:2;8276:10;8272:19;8269:1;8265:27;8259:4;8255:38;8324:4;8312:10;8309:20;8306:47;;;-1:-1:-1;8347:4:654;8306:47;8402:2;8397:3;8393:12;8390:1;8386:20;8380:4;8376:31;8366:41;;8457:82;8475:2;8468:5;8465:13;8457:82;;;8520:17;;;8501:1;8490:13;8457:82;;8731:1345;8857:3;8851:10;8884:18;8876:6;8873:30;8870:56;;;8906:18;;:::i;:::-;8935:97;9025:6;8985:38;9017:4;9011:11;8985:38;:::i;:::-;8979:4;8935:97;:::i;:::-;9087:4;;9144:2;9133:14;;9161:1;9156:663;;;;9863:1;9880:6;9877:89;;;-1:-1:-1;9932:19:654;;;9926:26;9877:89;-1:-1:-1;;8688:1:654;8684:11;;;8680:24;8676:29;8666:40;8712:1;8708:11;;;8663:57;9979:81;;9126:944;;9156:663;7959:1;7952:14;;;7996:4;7983:18;;-1:-1:-1;;9192:20:654;;;9310:236;9324:7;9321:1;9318:14;9310:236;;;9413:19;;;9407:26;9392:42;;9505:27;;;;9473:1;9461:14;;;;9340:19;;9310:236;;;9314:3;9574:6;9565:7;9562:19;9559:201;;;9635:19;;;9629:26;-1:-1:-1;;9718:1:654;9714:14;;;9730:3;9710:24;9706:37;9702:42;9687:58;9672:74;;9559:201;-1:-1:-1;;;;;9806:1:654;9790:14;;;9786:22;9773:36;;-1:-1:-1;8731:1345:654:o;10380:992::-;10609:3;10638:1;10671:6;10665:13;10701:36;10727:9;10701:36;:::i;:::-;10756:1;10773:17;;;10799:133;;;;10946:1;10941:358;;;;10766:533;;10799:133;-1:-1:-1;;10832:24:654;;10820:37;;10905:14;;10898:22;10886:35;;10877:45;;;-1:-1:-1;10799:133:654;;10941:358;10972:6;10969:1;10962:17;11002:4;11047;11044:1;11034:18;11074:1;11088:165;11102:6;11099:1;11096:13;11088:165;;;11180:14;;11167:11;;;11160:35;11223:16;;;;11117:10;;11088:165;;;11092:3;;;11282:6;11277:3;11273:16;11266:23;;10766:533;-1:-1:-1;;;;;11308:30:654;;-1:-1:-1;;11363:2:654;11354:12;;10380:992;-1:-1:-1;;;10380:992:654:o;11377:127::-;11438:10;11433:3;11429:20;11426:1;11419:31;11469:4;11466:1;11459:15;11493:4;11490:1;11483:15;11509:232;11548:3;11569:17;;;11566:140;;11628:10;11623:3;11619:20;11616:1;11609:31;11663:4;11660:1;11653:15;11691:4;11688:1;11681:15;11566:140;-1:-1:-1;11733:1:654;11722:13;;11509:232::o;11999:489::-;-1:-1:-1;;;;;12268:15:654;;;12250:34;;12320:15;;12315:2;12300:18;;12293:43;12367:2;12352:18;;12345:34;;;12415:3;12410:2;12395:18;;12388:31;;;12193:4;;12436:46;;12462:19;;12454:6;12436:46;:::i;12493:249::-;12562:6;12615:2;12603:9;12594:7;12590:23;12586:32;12583:52;;;12631:1;12628;12621:12;12583:52;12663:9;12657:16;12682:30;12706:5;12682:30;:::i;13026:127::-;13087:10;13082:3;13078:20;13075:1;13068:31;13118:4;13115:1;13108:15;13142:4;13139:1;13132:15","linkReferences":{},"immutableReferences":{"58547":[{"start":2362,"length":32}]}},"methodIdentifiers":{"MINT_PRICE()":"c002d23d","TOTAL_SUPPLY()":"902d55a5","_hasMinted(address)":"d92d1bd6","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","currentTokenId()":"009a9b7b","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","privateMint(address,uint256,bytes32[])":"9886a902","publicMint(address)":"32a93a3a","renounceOwnership()":"715018a6","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setBaseURI(string)":"55f804b3","startPublicMint()":"76c64c62","startWaitlistMint()":"a839e501","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","withdrawPayments(address)":"31b3eb94"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseURI_\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot_\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyMinted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidMintState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxSupplyReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintPriceNotPaid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NonExistentTokenURI\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WithdrawTransfer\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum Member.MintState\",\"name\":\"prevState\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum Member.MintState\",\"name\":\"newState\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"MintStateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MINT_PRICE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOTAL_SUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_hasMinted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"privateMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"publicMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseURI_\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startPublicMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startWaitlistMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"MintStateChanged(address,uint8,uint8,uint256)\":{\"params\":{\"caller\":\"the address that called the function\",\"newState\":\"the new mint state\",\"prevState\":\"the previous mint state\",\"timestamp\":\"the timestamp of the state change\"}},\"Minted(address,uint256,uint256)\":{\"params\":{\"recipient\":\"the address that receives the NFT\"}},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"params\":{\"tokenId\":\"the id of the token to get the tokenURI for\"},\"returns\":{\"_0\":\"the tokenURI for the given tokenId\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"withdrawPayments(address)\":{\"params\":{\"payee\":\"the address that will receive the withdrawn ether\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyMinted()\":[{\"notice\":\"thrown when user tries to mint more than 1 token with same wallet\"}],\"InvalidAddress()\":[{\"notice\":\"thrown when the address is invalid\"}],\"InvalidMintState()\":[{\"notice\":\"thrown when the mint state is invalid\"}],\"InvalidProof()\":[{\"notice\":\"thrown when the proof is invalid\"}],\"MaxSupplyReached()\":[{\"notice\":\"thrown when the max supply is reached\"}],\"MintPriceNotPaid()\":[{\"notice\":\"thrown when an incorrect amount of ETH is sent to mint\"}],\"NonExistentTokenURI()\":[{\"notice\":\"thrown when a token is not minted\"}],\"NotAllowed()\":[{\"notice\":\"thrown when the user is not allowed to perform the action\"}],\"WithdrawTransfer()\":[{\"notice\":\"thrown when the withdraw payment transaction fails\"}]},\"events\":{\"MintStateChanged(address,uint8,uint8,uint256)\":{\"notice\":\"emitted when the mint state is changed\"},\"Minted(address,uint256,uint256)\":{\"notice\":\"emitted when an NFT is minted\"}},\"kind\":\"user\",\"methods\":{\"MINT_PRICE()\":{\"notice\":\"the mint price for an individual nft\"},\"TOTAL_SUPPLY()\":{\"notice\":\"the total supply of the collection\"},\"_hasMinted(address)\":{\"notice\":\"mapping to track if a wallet has already minted\"},\"baseURI()\":{\"notice\":\"the base uri\"},\"tokenURI(uint256)\":{\"notice\":\"Get the tokenURI for the given tokenId\"},\"withdrawPayments(address)\":{\"notice\":\"withdraw the balance from the contract\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/tokens/Member.sol\":\"Member\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/tokens/Member.sol\":{\"keccak256\":\"0x6d526790c3b29609e31419fe00df4b0e02802284d4290c9bbdea6e70caaa2135\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c769445e606c4afdb9a99ddf64eb79f21bf1f5a73271136e23a8153f4d6f4cdd\",\"dweb:/ipfs/QmV827xXZB1okfTgWeTAMHFRx6UixPbthkpCmd55KymS4L\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x39ed367e54765186281efcfe83e47cf0ad62cc879f10e191360712507125f29a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c5ae6d85bd48cca8d6d2fcec8c63efd86f56f8a5832577a47e403ce0e65cb09\",\"dweb:/ipfs/QmUtcS8AbRSWhuc61puYet58os8FvSqm329ChoW8wwZXZk\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xb5afb8e8eebc4d1c6404df2f5e1e6d2c3d24fd01e5dfc855314951ecfaae462d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78586466c424f076c6a2a551d848cfbe3f7c49e723830807598484a1047b3b34\",\"dweb:/ipfs/Qmb717ovcFxm7qgNKEShiV6M9SPR3v1qnNpAGH84D6w29p\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol\":{\"keccak256\":\"0x40399695922383778f9f540a620bec475a2f8e0f08d41f0005682842e28a9855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://746d295e403931aeb9d6065fd5a0871f43ab5459814a60623611e4b6641a09fd\",\"dweb:/ipfs/QmWrgT8YJrQ9FfD1o3YYArwo57e7MGdpFKuM74qJ4qE34E\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/Hashes.sol\":{\"keccak256\":\"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9\",\"dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6\",\"dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"string","name":"baseURI_","type":"string"},{"internalType":"bytes32","name":"merkleRoot_","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AlreadyMinted"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721IncorrectOwner"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721InsufficientApproval"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC721InvalidApprover"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"type":"error","name":"ERC721InvalidOperator"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721InvalidOwner"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC721InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC721InvalidSender"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721NonexistentToken"},{"inputs":[],"type":"error","name":"InvalidAddress"},{"inputs":[],"type":"error","name":"InvalidMintState"},{"inputs":[],"type":"error","name":"InvalidProof"},{"inputs":[],"type":"error","name":"MaxSupplyReached"},{"inputs":[],"type":"error","name":"MintPriceNotPaid"},{"inputs":[],"type":"error","name":"NonExistentTokenURI"},{"inputs":[],"type":"error","name":"NotAllowed"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"WithdrawTransfer"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"enum Member.MintState","name":"prevState","type":"uint8","indexed":true},{"internalType":"enum Member.MintState","name":"newState","type":"uint8","indexed":true},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"MintStateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"Minted","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"MINT_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"_hasMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"privateMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"stateMutability":"payable","type":"function","name":"publicMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"string","name":"baseURI_","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setBaseURI"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startPublicMint"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startWaitlistMint"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawPayments"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"params":{"tokenId":"the id of the token to get the tokenURI for"},"returns":{"_0":"the tokenURI for the given tokenId"}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"withdrawPayments(address)":{"params":{"payee":"the address that will receive the withdrawn ether"}}},"version":1},"userdoc":{"kind":"user","methods":{"MINT_PRICE()":{"notice":"the mint price for an individual nft"},"TOTAL_SUPPLY()":{"notice":"the total supply of the collection"},"_hasMinted(address)":{"notice":"mapping to track if a wallet has already minted"},"baseURI()":{"notice":"the base uri"},"tokenURI(uint256)":{"notice":"Get the tokenURI for the given tokenId"},"withdrawPayments(address)":{"notice":"withdraw the balance from the contract"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/tokens/Member.sol":"Member"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/tokens/Member.sol":{"keccak256":"0x6d526790c3b29609e31419fe00df4b0e02802284d4290c9bbdea6e70caaa2135","urls":["bzz-raw://c769445e606c4afdb9a99ddf64eb79f21bf1f5a73271136e23a8153f4d6f4cdd","dweb:/ipfs/QmV827xXZB1okfTgWeTAMHFRx6UixPbthkpCmd55KymS4L"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x39ed367e54765186281efcfe83e47cf0ad62cc879f10e191360712507125f29a","urls":["bzz-raw://2c5ae6d85bd48cca8d6d2fcec8c63efd86f56f8a5832577a47e403ce0e65cb09","dweb:/ipfs/QmUtcS8AbRSWhuc61puYet58os8FvSqm329ChoW8wwZXZk"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xb5afb8e8eebc4d1c6404df2f5e1e6d2c3d24fd01e5dfc855314951ecfaae462d","urls":["bzz-raw://78586466c424f076c6a2a551d848cfbe3f7c49e723830807598484a1047b3b34","dweb:/ipfs/Qmb717ovcFxm7qgNKEShiV6M9SPR3v1qnNpAGH84D6w29p"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1","urls":["bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02","dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol":{"keccak256":"0x40399695922383778f9f540a620bec475a2f8e0f08d41f0005682842e28a9855","urls":["bzz-raw://746d295e403931aeb9d6065fd5a0871f43ab5459814a60623611e4b6641a09fd","dweb:/ipfs/QmWrgT8YJrQ9FfD1o3YYArwo57e7MGdpFKuM74qJ4qE34E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/Hashes.sol":{"keccak256":"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7","urls":["bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9","dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol":{"keccak256":"0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134","urls":["bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6","dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa","urls":["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287","dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"}},"version":1},"id":280} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"baseURI_","type":"string","internalType":"string"},{"name":"merkleRoot_","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"MINT_PRICE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TOTAL_SUPPLY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_hasMinted","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"baseURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"currentTokenId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"privateMint","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"publicMint","inputs":[{"name":"recipient","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBaseURI","inputs":[{"name":"baseURI_","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPublicMint","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startWaitlistMint","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawPayments","inputs":[{"name":"payee","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"MintStateChanged","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"prevState","type":"uint8","indexed":true,"internalType":"enum Member.MintState"},{"name":"newState","type":"uint8","indexed":true,"internalType":"enum Member.MintState"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Minted","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AlreadyMinted","inputs":[]},{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidAddress","inputs":[]},{"type":"error","name":"InvalidMintState","inputs":[]},{"type":"error","name":"InvalidProof","inputs":[]},{"type":"error","name":"MaxSupplyReached","inputs":[]},{"type":"error","name":"MintPriceNotPaid","inputs":[]},{"type":"error","name":"NonExistentTokenURI","inputs":[]},{"type":"error","name":"NotAllowed","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"WithdrawTransfer","inputs":[]}],"bytecode":{"object":"0x60a06040523480156200001157600080fd5b5060405162001d7038038062001d708339810160408190526200003491620001d1565b3384846000620000458382620002fb565b506001620000548282620002fb565b5050506001600160a01b0381166200008657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200009181620000b7565b506007620000a08382620002fb565b5060805250506009805460ff1916905550620003c7565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013157600080fd5b81516001600160401b03808211156200014e576200014e62000109565b604051601f8301601f19908116603f0116810190828211818310171562000179576200017962000109565b81604052838152602092508660208588010111156200019757600080fd5b600091505b83821015620001bb57858201830151818301840152908201906200019c565b6000602085830101528094505050505092915050565b60008060008060808587031215620001e857600080fd5b84516001600160401b03808211156200020057600080fd5b6200020e888389016200011f565b955060208701519150808211156200022557600080fd5b62000233888389016200011f565b945060408701519150808211156200024a57600080fd5b5062000259878288016200011f565b606096909601519497939650505050565b600181811c908216806200027f57607f821691505b602082108103620002a057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002f6576000816000526020600020601f850160051c81016020861015620002d15750805b601f850160051c820191505b81811015620002f257828155600101620002dd565b5050505b505050565b81516001600160401b0381111562000317576200031762000109565b6200032f816200032884546200026a565b84620002a6565b602080601f8311600181146200036757600084156200034e5750858301515b600019600386901b1c1916600185901b178555620002f2565b600085815260208120601f198616915b82811015620003985788860151825594840194600190910190840162000377565b5085821015620003b75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805161198d620003e3600039600061093a015261198d6000f3fe60806040526004361061019b5760003560e01c8063715018a6116100ec578063a839e5011161008a578063c87b56dd11610064578063c87b56dd14610454578063d92d1bd614610474578063e985e9c5146104a4578063f2fde38b146104c457600080fd5b8063a839e50114610403578063b88d4fde14610418578063c002d23d1461043857600080fd5b8063902d55a5116100c6578063902d55a5146103a557806395d89b41146103bb5780639886a902146103d0578063a22cb465146103e357600080fd5b8063715018a61461035d57806376c64c62146103725780638da5cb5b1461038757600080fd5b806331b3eb941161015957806355f804b31161013357806355f804b3146102e85780636352211e146103085780636c0360eb1461032857806370a082311461033d57600080fd5b806331b3eb941461029557806332a93a3a146102b557806342842e0e146102c857600080fd5b80629a9b7b146101a057806301ffc9a7146101c957806306fdde03146101f9578063081812fc1461021b578063095ea7b31461025357806323b872dd14610275575b600080fd5b3480156101ac57600080fd5b506101b6600a5481565b6040519081526020015b60405180910390f35b3480156101d557600080fd5b506101e96101e43660046113a0565b6104e4565b60405190151581526020016101c0565b34801561020557600080fd5b5061020e610536565b6040516101c09190611403565b34801561022757600080fd5b5061023b610236366004611416565b6105c8565b6040516001600160a01b0390911681526020016101c0565b34801561025f57600080fd5b5061027361026e366004611444565b6105f1565b005b34801561028157600080fd5b50610273610290366004611470565b610600565b3480156102a157600080fd5b506102736102b03660046114b1565b610690565b6101b66102c33660046114b1565b610711565b3480156102d457600080fd5b506102736102e3366004611470565b610748565b3480156102f457600080fd5b5061027361030336600461155a565b610763565b34801561031457600080fd5b5061023b610323366004611416565b610777565b34801561033457600080fd5b5061020e610782565b34801561034957600080fd5b506101b66103583660046114b1565b610810565b34801561036957600080fd5b50610273610858565b34801561037e57600080fd5b5061027361086c565b34801561039357600080fd5b506006546001600160a01b031661023b565b3480156103b157600080fd5b506101b66109c481565b3480156103c757600080fd5b5061020e610888565b6101b66103de3660046115a3565b610897565b3480156103ef57600080fd5b506102736103fe36600461162f565b610995565b34801561040f57600080fd5b506102736109a0565b34801561042457600080fd5b5061027361043336600461166d565b6109bc565b34801561044457600080fd5b506101b667011c37937e08000081565b34801561046057600080fd5b5061020e61046f366004611416565b6109d4565b34801561048057600080fd5b506101e961048f3660046114b1565b60086020526000908152604090205460ff1681565b3480156104b057600080fd5b506101e96104bf3660046116ed565b610a5a565b3480156104d057600080fd5b506102736104df3660046114b1565b610a88565b60006001600160e01b031982166380ac58cd60e01b148061051557506001600160e01b03198216635b5e139f60e01b145b8061053057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546105459061171b565b80601f01602080910402602001604051908101604052809291908181526020018280546105719061171b565b80156105be5780601f10610593576101008083540402835291602001916105be565b820191906000526020600020905b8154815290600101906020018083116105a157829003601f168201915b5050505050905090565b60006105d382610ac6565b506000828152600460205260409020546001600160a01b0316610530565b6105fc828233610aff565b5050565b6001600160a01b03821661062f57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061063c838333610b0c565b9050836001600160a01b0316816001600160a01b03161461068a576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610626565b50505050565b610698610c05565b60405147906000906001600160a01b0384169083908381818185875af1925050503d80600081146106e5576040519150601f19603f3d011682016040523d82523d6000602084013e6106ea565b606091505b505090508061070c5760405163d23a9e8960e01b815260040160405180910390fd5b505050565b600061071c82610c32565b610724610c59565b61072c610c81565b61073582610ca5565b61073f6002610cdf565b61053082610d26565b61070c838383604051806020016040528060008152506109bc565b61076b610c05565b60076105fc828261179d565b600061053082610ac6565b6007805461078f9061171b565b80601f01602080910402602001604051908101604052809291908181526020018280546107bb9061171b565b80156108085780601f106107dd57610100808354040283529160200191610808565b820191906000526020600020905b8154815290600101906020018083116107eb57829003601f168201915b505050505081565b60006001600160a01b03821661083c576040516322718ad960e21b815260006004820152602401610626565b506001600160a01b031660009081526003602052604090205490565b610860610c05565b61086a6000610db2565b565b610874610c05565b61087e6001610cdf565b61086a6002610e04565b6060600180546105459061171b565b60006108a285610c32565b6108aa610c59565b6108b2610c81565b6108bb85610ca5565b6108c484610e89565b6040516bffffffffffffffffffffffff19606087901b166020820152603481018590526000906054016040516020818303038152906040528051906020012090506109658484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507f00000000000000000000000000000000000000000000000000000000000000009250859150610ece9050565b610982576040516309bde33960e01b815260040160405180910390fd5b61098b86610d26565b9695505050505050565b6105fc338383610ee4565b6109a8610c05565b6109b26000610cdf565b61086a6001610e04565b6109c7848484610600565b61068a3385858585610f83565b606060006109e183610777565b6001600160a01b031603610a085760405163d872946b60e01b815260040160405180910390fd5b600060078054610a179061171b565b905011610a335760405180602001604052806000815250610530565b6007604051602001610a45919061185d565b60405160208183030381529060405292915050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b610a90610c05565b6001600160a01b038116610aba57604051631e4fbdf760e01b815260006004820152602401610626565b610ac381610db2565b50565b6000818152600260205260408120546001600160a01b03168061053057604051637e27328960e01b815260048101849052602401610626565b61070c83838360016110ae565b6000828152600260205260408120546001600160a01b0390811690831615610b3957610b398184866111b4565b6001600160a01b03811615610b7757610b566000856000806110ae565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615610ba6576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b6006546001600160a01b0316331461086a5760405163118cdaa760e01b8152336004820152602401610626565b6001600160a01b038116610ac35760405163e6c4247b60e01b815260040160405180910390fd5b67011c37937e080000341461086a576040516310f0c8f160e11b815260040160405180910390fd5b6109c4600a541061086a5760405163d05cb60960e01b815260040160405180910390fd5b6001600160a01b03811660009081526008602052604090205460ff1615610ac357604051631bbdf5c560e31b815260040160405180910390fd5b806002811115610cf157610cf16118ea565b60095460ff166002811115610d0857610d086118ea565b14610ac35760405163a1f6623960e01b815260040160405180910390fd5b6001600160a01b0381166000908152600860205260408120805460ff19166001179055600a805490819083610d5a83611900565b9190505550610d698382611218565b604080518281524260208201526001600160a01b038516917f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff910160405180910390a292915050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6009805460ff811691839160ff19166001836002811115610e2757610e276118ea565b0217905550816002811115610e3e57610e3e6118ea565b816002811115610e5057610e506118ea565b60405142815233907f7a5907205f46c7df4a68b33c1da8921886b57f025f0ec67a42c38d2c2013a7849060200160405180910390a45050565b600060095460ff166002811115610ea257610ea26118ea565b148015610eb0575080600114155b15610ac357604051631eb49d6d60e11b815260040160405180910390fd5b600082610edb8584611232565b14949350505050565b6001600160a01b038216610f1657604051630b61174360e31b81526001600160a01b0383166004820152602401610626565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156110a757604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290610fc5908890889087908790600401611927565b6020604051808303816000875af1925050508015611000575060408051601f3d908101601f19168201909252610ffd9181019061195a565b60015b611069573d80801561102e576040519150601f19603f3d011682016040523d82523d6000602084013e611033565b606091505b50805160000361106157604051633250574960e11b81526001600160a01b0385166004820152602401610626565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146110a557604051633250574960e11b81526001600160a01b0385166004820152602401610626565b505b5050505050565b80806110c257506001600160a01b03821615155b156111845760006110d284610ac6565b90506001600160a01b038316158015906110fe5750826001600160a01b0316816001600160a01b031614155b8015611111575061110f8184610a5a565b155b1561113a5760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610626565b81156111825783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6111bf838383611275565b61070c576001600160a01b0383166111ed57604051637e27328960e01b815260048101829052602401610626565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610626565b6105fc8282604051806020016040528060008152506112db565b600081815b845181101561126d576112638286838151811061125657611256611977565b60200260200101516112f3565b9150600101611237565b509392505050565b60006001600160a01b038316158015906112d35750826001600160a01b0316846001600160a01b031614806112af57506112af8484610a5a565b806112d357506000828152600460205260409020546001600160a01b038481169116145b949350505050565b6112e58383611325565b61070c336000858585610f83565b600081831061130f57600082815260208490526040902061131e565b60008381526020839052604090205b9392505050565b6001600160a01b03821661134f57604051633250574960e11b815260006004820152602401610626565b600061135d83836000610b0c565b90506001600160a01b0381161561070c576040516339e3563760e11b815260006004820152602401610626565b6001600160e01b031981168114610ac357600080fd5b6000602082840312156113b257600080fd5b813561131e8161138a565b6000815180845260005b818110156113e3576020818501810151868301820152016113c7565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061131e60208301846113bd565b60006020828403121561142857600080fd5b5035919050565b6001600160a01b0381168114610ac357600080fd5b6000806040838503121561145757600080fd5b82356114628161142f565b946020939093013593505050565b60008060006060848603121561148557600080fd5b83356114908161142f565b925060208401356114a08161142f565b929592945050506040919091013590565b6000602082840312156114c357600080fd5b813561131e8161142f565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156114ff576114ff6114ce565b604051601f8501601f19908116603f01168101908282118183101715611527576115276114ce565b8160405280935085815286868601111561154057600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561156c57600080fd5b813567ffffffffffffffff81111561158357600080fd5b8201601f8101841361159457600080fd5b6112d3848235602084016114e4565b600080600080606085870312156115b957600080fd5b84356115c48161142f565b935060208501359250604085013567ffffffffffffffff808211156115e857600080fd5b818701915087601f8301126115fc57600080fd5b81358181111561160b57600080fd5b8860208260051b850101111561162057600080fd5b95989497505060200194505050565b6000806040838503121561164257600080fd5b823561164d8161142f565b91506020830135801515811461166257600080fd5b809150509250929050565b6000806000806080858703121561168357600080fd5b843561168e8161142f565b9350602085013561169e8161142f565b925060408501359150606085013567ffffffffffffffff8111156116c157600080fd5b8501601f810187136116d257600080fd5b6116e1878235602084016114e4565b91505092959194509250565b6000806040838503121561170057600080fd5b823561170b8161142f565b915060208301356116628161142f565b600181811c9082168061172f57607f821691505b60208210810361174f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561070c576000816000526020600020601f850160051c8101602086101561177e5750805b601f850160051c820191505b818110156110a55782815560010161178a565b815167ffffffffffffffff8111156117b7576117b76114ce565b6117cb816117c5845461171b565b84611755565b602080601f83116001811461180057600084156117e85750858301515b600019600386901b1c1916600185901b1785556110a5565b600085815260208120601f198616915b8281101561182f57888601518255948401946001909101908401611810565b508582101561184d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080835461186b8161171b565b600182811680156118835760018114611898576118c7565b60ff19841687528215158302870194506118c7565b8760005260208060002060005b858110156118be5781548a8201529084019082016118a5565b50505082870194505b50506e636f756e63696c6d6574616461746160881b83525050600f019392505050565b634e487b7160e01b600052602160045260246000fd5b60006001820161192057634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061098b908301846113bd565b60006020828403121561196c57600080fd5b815161131e8161138a565b634e487b7160e01b600052603260045260246000fd","sourceMap":"377:7219:280:-:0;;;3038:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3190:10;3166:5;3173:7;1446:5:482;:13;3166:5:280;1446::482;:13;:::i;:::-;-1:-1:-1;1469:7:482;:17;1479:7;1469;:17;:::i;:::-;-1:-1:-1;;;;;;;;1273:26:452;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:452;;1350:1;1322:31;;;4554:51:654;4527:18;;1322:31:452;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;3208:7:280::2;:18;3218:8:::0;3208:7;:18:::2;:::i;:::-;-1:-1:-1::0;3232:25:280::2;::::0;-1:-1:-1;;3263:10:280::2;:32:::0;;-1:-1:-1;;3263:32:280::2;::::0;;-1:-1:-1;377:7219:280;;2912:187:452;3004:6;;;-1:-1:-1;;;;;3020:17:452;;;-1:-1:-1;;;;;;3020:17:452;;;;;;;3052:40;;3004:6;;;3020:17;3004:6;;3052:40;;2985:16;;3052:40;2975:124;2912:187;:::o;14:127:654:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:844;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:654;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:654;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;732:3;725:4;720:2;712:6;708:15;704:26;701:35;698:55;;;749:1;746;739:12;698:55;771:1;762:10;;781:133;795:2;792:1;789:9;781:133;;;883:14;;;879:23;;873:30;852:14;;;848:23;;841:63;806:10;;;;781:133;;;958:1;951:4;946:2;938:6;934:15;930:26;923:37;978:6;969:15;;;;;;146:844;;;;:::o;995:828::-;1122:6;1130;1138;1146;1199:3;1187:9;1178:7;1174:23;1170:33;1167:53;;;1216:1;1213;1206:12;1167:53;1243:16;;-1:-1:-1;;;;;1308:14:654;;;1305:34;;;1335:1;1332;1325:12;1305:34;1358:61;1411:7;1402:6;1391:9;1387:22;1358:61;:::i;:::-;1348:71;;1465:2;1454:9;1450:18;1444:25;1428:41;;1494:2;1484:8;1481:16;1478:36;;;1510:1;1507;1500:12;1478:36;1533:63;1588:7;1577:8;1566:9;1562:24;1533:63;:::i;:::-;1523:73;;1642:2;1631:9;1627:18;1621:25;1605:41;;1671:2;1661:8;1658:16;1655:36;;;1687:1;1684;1677:12;1655:36;;1710:63;1765:7;1754:8;1743:9;1739:24;1710:63;:::i;:::-;1813:2;1798:18;;;;1792:25;995:828;;;;-1:-1:-1;;;;995:828:654:o;1828:380::-;1907:1;1903:12;;;;1950;;;1971:61;;2025:4;2017:6;2013:17;2003:27;;1971:61;2078:2;2070:6;2067:14;2047:18;2044:38;2041:161;;2124:10;2119:3;2115:20;2112:1;2105:31;2159:4;2156:1;2149:15;2187:4;2184:1;2177:15;2041:161;;1828:380;;;:::o;2339:543::-;2441:2;2436:3;2433:11;2430:446;;;2477:1;2501:5;2498:1;2491:16;2545:4;2542:1;2532:18;2615:2;2603:10;2599:19;2596:1;2592:27;2586:4;2582:38;2651:4;2639:10;2636:20;2633:47;;;-1:-1:-1;2674:4:654;2633:47;2729:2;2724:3;2720:12;2717:1;2713:20;2707:4;2703:31;2693:41;;2784:82;2802:2;2795:5;2792:13;2784:82;;;2847:17;;;2828:1;2817:13;2784:82;;;2788:3;;;2430:446;2339:543;;;:::o;3058:1345::-;3178:10;;-1:-1:-1;;;;;3200:30:654;;3197:56;;;3233:18;;:::i;:::-;3262:97;3352:6;3312:38;3344:4;3338:11;3312:38;:::i;:::-;3306:4;3262:97;:::i;:::-;3414:4;;3471:2;3460:14;;3488:1;3483:663;;;;4190:1;4207:6;4204:89;;;-1:-1:-1;4259:19:654;;;4253:26;4204:89;-1:-1:-1;;3015:1:654;3011:11;;;3007:24;3003:29;2993:40;3039:1;3035:11;;;2990:57;4306:81;;3453:944;;3483:663;2286:1;2279:14;;;2323:4;2310:18;;-1:-1:-1;;3519:20:654;;;3637:236;3651:7;3648:1;3645:14;3637:236;;;3740:19;;;3734:26;3719:42;;3832:27;;;;3800:1;3788:14;;;;3667:19;;3637:236;;;3641:3;3901:6;3892:7;3889:19;3886:201;;;3962:19;;;3956:26;-1:-1:-1;;4045:1:654;4041:14;;;4057:3;4037:24;4033:37;4029:42;4014:58;3999:74;;3886:201;-1:-1:-1;;;;;4133:1:654;4117:14;;;4113:22;4100:36;;-1:-1:-1;3058:1345:654:o;4616:127::-;377:7219:280;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061019b5760003560e01c8063715018a6116100ec578063a839e5011161008a578063c87b56dd11610064578063c87b56dd14610454578063d92d1bd614610474578063e985e9c5146104a4578063f2fde38b146104c457600080fd5b8063a839e50114610403578063b88d4fde14610418578063c002d23d1461043857600080fd5b8063902d55a5116100c6578063902d55a5146103a557806395d89b41146103bb5780639886a902146103d0578063a22cb465146103e357600080fd5b8063715018a61461035d57806376c64c62146103725780638da5cb5b1461038757600080fd5b806331b3eb941161015957806355f804b31161013357806355f804b3146102e85780636352211e146103085780636c0360eb1461032857806370a082311461033d57600080fd5b806331b3eb941461029557806332a93a3a146102b557806342842e0e146102c857600080fd5b80629a9b7b146101a057806301ffc9a7146101c957806306fdde03146101f9578063081812fc1461021b578063095ea7b31461025357806323b872dd14610275575b600080fd5b3480156101ac57600080fd5b506101b6600a5481565b6040519081526020015b60405180910390f35b3480156101d557600080fd5b506101e96101e43660046113a0565b6104e4565b60405190151581526020016101c0565b34801561020557600080fd5b5061020e610536565b6040516101c09190611403565b34801561022757600080fd5b5061023b610236366004611416565b6105c8565b6040516001600160a01b0390911681526020016101c0565b34801561025f57600080fd5b5061027361026e366004611444565b6105f1565b005b34801561028157600080fd5b50610273610290366004611470565b610600565b3480156102a157600080fd5b506102736102b03660046114b1565b610690565b6101b66102c33660046114b1565b610711565b3480156102d457600080fd5b506102736102e3366004611470565b610748565b3480156102f457600080fd5b5061027361030336600461155a565b610763565b34801561031457600080fd5b5061023b610323366004611416565b610777565b34801561033457600080fd5b5061020e610782565b34801561034957600080fd5b506101b66103583660046114b1565b610810565b34801561036957600080fd5b50610273610858565b34801561037e57600080fd5b5061027361086c565b34801561039357600080fd5b506006546001600160a01b031661023b565b3480156103b157600080fd5b506101b66109c481565b3480156103c757600080fd5b5061020e610888565b6101b66103de3660046115a3565b610897565b3480156103ef57600080fd5b506102736103fe36600461162f565b610995565b34801561040f57600080fd5b506102736109a0565b34801561042457600080fd5b5061027361043336600461166d565b6109bc565b34801561044457600080fd5b506101b667011c37937e08000081565b34801561046057600080fd5b5061020e61046f366004611416565b6109d4565b34801561048057600080fd5b506101e961048f3660046114b1565b60086020526000908152604090205460ff1681565b3480156104b057600080fd5b506101e96104bf3660046116ed565b610a5a565b3480156104d057600080fd5b506102736104df3660046114b1565b610a88565b60006001600160e01b031982166380ac58cd60e01b148061051557506001600160e01b03198216635b5e139f60e01b145b8061053057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546105459061171b565b80601f01602080910402602001604051908101604052809291908181526020018280546105719061171b565b80156105be5780601f10610593576101008083540402835291602001916105be565b820191906000526020600020905b8154815290600101906020018083116105a157829003601f168201915b5050505050905090565b60006105d382610ac6565b506000828152600460205260409020546001600160a01b0316610530565b6105fc828233610aff565b5050565b6001600160a01b03821661062f57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061063c838333610b0c565b9050836001600160a01b0316816001600160a01b03161461068a576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610626565b50505050565b610698610c05565b60405147906000906001600160a01b0384169083908381818185875af1925050503d80600081146106e5576040519150601f19603f3d011682016040523d82523d6000602084013e6106ea565b606091505b505090508061070c5760405163d23a9e8960e01b815260040160405180910390fd5b505050565b600061071c82610c32565b610724610c59565b61072c610c81565b61073582610ca5565b61073f6002610cdf565b61053082610d26565b61070c838383604051806020016040528060008152506109bc565b61076b610c05565b60076105fc828261179d565b600061053082610ac6565b6007805461078f9061171b565b80601f01602080910402602001604051908101604052809291908181526020018280546107bb9061171b565b80156108085780601f106107dd57610100808354040283529160200191610808565b820191906000526020600020905b8154815290600101906020018083116107eb57829003601f168201915b505050505081565b60006001600160a01b03821661083c576040516322718ad960e21b815260006004820152602401610626565b506001600160a01b031660009081526003602052604090205490565b610860610c05565b61086a6000610db2565b565b610874610c05565b61087e6001610cdf565b61086a6002610e04565b6060600180546105459061171b565b60006108a285610c32565b6108aa610c59565b6108b2610c81565b6108bb85610ca5565b6108c484610e89565b6040516bffffffffffffffffffffffff19606087901b166020820152603481018590526000906054016040516020818303038152906040528051906020012090506109658484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507f00000000000000000000000000000000000000000000000000000000000000009250859150610ece9050565b610982576040516309bde33960e01b815260040160405180910390fd5b61098b86610d26565b9695505050505050565b6105fc338383610ee4565b6109a8610c05565b6109b26000610cdf565b61086a6001610e04565b6109c7848484610600565b61068a3385858585610f83565b606060006109e183610777565b6001600160a01b031603610a085760405163d872946b60e01b815260040160405180910390fd5b600060078054610a179061171b565b905011610a335760405180602001604052806000815250610530565b6007604051602001610a45919061185d565b60405160208183030381529060405292915050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b610a90610c05565b6001600160a01b038116610aba57604051631e4fbdf760e01b815260006004820152602401610626565b610ac381610db2565b50565b6000818152600260205260408120546001600160a01b03168061053057604051637e27328960e01b815260048101849052602401610626565b61070c83838360016110ae565b6000828152600260205260408120546001600160a01b0390811690831615610b3957610b398184866111b4565b6001600160a01b03811615610b7757610b566000856000806110ae565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615610ba6576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b6006546001600160a01b0316331461086a5760405163118cdaa760e01b8152336004820152602401610626565b6001600160a01b038116610ac35760405163e6c4247b60e01b815260040160405180910390fd5b67011c37937e080000341461086a576040516310f0c8f160e11b815260040160405180910390fd5b6109c4600a541061086a5760405163d05cb60960e01b815260040160405180910390fd5b6001600160a01b03811660009081526008602052604090205460ff1615610ac357604051631bbdf5c560e31b815260040160405180910390fd5b806002811115610cf157610cf16118ea565b60095460ff166002811115610d0857610d086118ea565b14610ac35760405163a1f6623960e01b815260040160405180910390fd5b6001600160a01b0381166000908152600860205260408120805460ff19166001179055600a805490819083610d5a83611900565b9190505550610d698382611218565b604080518281524260208201526001600160a01b038516917f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff910160405180910390a292915050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6009805460ff811691839160ff19166001836002811115610e2757610e276118ea565b0217905550816002811115610e3e57610e3e6118ea565b816002811115610e5057610e506118ea565b60405142815233907f7a5907205f46c7df4a68b33c1da8921886b57f025f0ec67a42c38d2c2013a7849060200160405180910390a45050565b600060095460ff166002811115610ea257610ea26118ea565b148015610eb0575080600114155b15610ac357604051631eb49d6d60e11b815260040160405180910390fd5b600082610edb8584611232565b14949350505050565b6001600160a01b038216610f1657604051630b61174360e31b81526001600160a01b0383166004820152602401610626565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156110a757604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290610fc5908890889087908790600401611927565b6020604051808303816000875af1925050508015611000575060408051601f3d908101601f19168201909252610ffd9181019061195a565b60015b611069573d80801561102e576040519150601f19603f3d011682016040523d82523d6000602084013e611033565b606091505b50805160000361106157604051633250574960e11b81526001600160a01b0385166004820152602401610626565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146110a557604051633250574960e11b81526001600160a01b0385166004820152602401610626565b505b5050505050565b80806110c257506001600160a01b03821615155b156111845760006110d284610ac6565b90506001600160a01b038316158015906110fe5750826001600160a01b0316816001600160a01b031614155b8015611111575061110f8184610a5a565b155b1561113a5760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610626565b81156111825783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6111bf838383611275565b61070c576001600160a01b0383166111ed57604051637e27328960e01b815260048101829052602401610626565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610626565b6105fc8282604051806020016040528060008152506112db565b600081815b845181101561126d576112638286838151811061125657611256611977565b60200260200101516112f3565b9150600101611237565b509392505050565b60006001600160a01b038316158015906112d35750826001600160a01b0316846001600160a01b031614806112af57506112af8484610a5a565b806112d357506000828152600460205260409020546001600160a01b038481169116145b949350505050565b6112e58383611325565b61070c336000858585610f83565b600081831061130f57600082815260208490526040902061131e565b60008381526020839052604090205b9392505050565b6001600160a01b03821661134f57604051633250574960e11b815260006004820152602401610626565b600061135d83836000610b0c565b90506001600160a01b0381161561070c576040516339e3563760e11b815260006004820152602401610626565b6001600160e01b031981168114610ac357600080fd5b6000602082840312156113b257600080fd5b813561131e8161138a565b6000815180845260005b818110156113e3576020818501810151868301820152016113c7565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061131e60208301846113bd565b60006020828403121561142857600080fd5b5035919050565b6001600160a01b0381168114610ac357600080fd5b6000806040838503121561145757600080fd5b82356114628161142f565b946020939093013593505050565b60008060006060848603121561148557600080fd5b83356114908161142f565b925060208401356114a08161142f565b929592945050506040919091013590565b6000602082840312156114c357600080fd5b813561131e8161142f565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156114ff576114ff6114ce565b604051601f8501601f19908116603f01168101908282118183101715611527576115276114ce565b8160405280935085815286868601111561154057600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561156c57600080fd5b813567ffffffffffffffff81111561158357600080fd5b8201601f8101841361159457600080fd5b6112d3848235602084016114e4565b600080600080606085870312156115b957600080fd5b84356115c48161142f565b935060208501359250604085013567ffffffffffffffff808211156115e857600080fd5b818701915087601f8301126115fc57600080fd5b81358181111561160b57600080fd5b8860208260051b850101111561162057600080fd5b95989497505060200194505050565b6000806040838503121561164257600080fd5b823561164d8161142f565b91506020830135801515811461166257600080fd5b809150509250929050565b6000806000806080858703121561168357600080fd5b843561168e8161142f565b9350602085013561169e8161142f565b925060408501359150606085013567ffffffffffffffff8111156116c157600080fd5b8501601f810187136116d257600080fd5b6116e1878235602084016114e4565b91505092959194509250565b6000806040838503121561170057600080fd5b823561170b8161142f565b915060208301356116628161142f565b600181811c9082168061172f57607f821691505b60208210810361174f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561070c576000816000526020600020601f850160051c8101602086101561177e5750805b601f850160051c820191505b818110156110a55782815560010161178a565b815167ffffffffffffffff8111156117b7576117b76114ce565b6117cb816117c5845461171b565b84611755565b602080601f83116001811461180057600084156117e85750858301515b600019600386901b1c1916600185901b1785556110a5565b600085815260208120601f198616915b8281101561182f57888601518255948401946001909101908401611810565b508582101561184d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080835461186b8161171b565b600182811680156118835760018114611898576118c7565b60ff19841687528215158302870194506118c7565b8760005260208060002060005b858110156118be5781548a8201529084019082016118a5565b50505082870194505b50506e636f756e63696c6d6574616461746160881b83525050600f019392505050565b634e487b7160e01b600052602160045260246000fd5b60006001820161192057634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061098b908301846113bd565b60006020828403121561196c57600080fd5b815161131e8161138a565b634e487b7160e01b600052603260045260246000fd","sourceMap":"377:7219:280:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2827:29;;;;;;;;;;;;;;;;;;;160:25:654;;;148:2;133:18;2827:29:280;;;;;;;;1560:300:482;;;;;;;;;;-1:-1:-1;1560:300:482;;;;;:::i;:::-;;:::i;:::-;;;747:14:654;;740:22;722:41;;710:2;695:18;1560:300:482;582:187:654;2364:89:482;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3496:154::-;;;;;;;;;;-1:-1:-1;3496:154:482;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1776:32:654;;;1758:51;;1746:2;1731:18;3496:154:482;1612:203:654;3322:113:482;;;;;;;;;;-1:-1:-1;3322:113:482;;;;;:::i;:::-;;:::i;:::-;;4142:578;;;;;;;;;;-1:-1:-1;4142:578:482;;;;;:::i;:::-;;:::i;5861:238:280:-;;;;;;;;;;-1:-1:-1;5861:238:280;;;;;:::i;:::-;;:::i;3988:272::-;;;;;;:::i;:::-;;:::i;4786:132:482:-;;;;;;;;;;-1:-1:-1;4786:132:482;;;;;:::i;:::-;;:::i;4447:92:280:-;;;;;;;;;;-1:-1:-1;4447:92:280;;;;;:::i;:::-;;:::i;2184:118:482:-;;;;;;;;;;-1:-1:-1;2184:118:482;;;;;:::i;:::-;;:::i;2463:21:280:-;;;;;;;;;;;;;:::i;1919:208:482:-;;;;;;;;;;-1:-1:-1;1919:208:482;;;;;:::i;:::-;;:::i;2293:101:452:-;;;;;;;;;;;;;:::i;5432:124:280:-;;;;;;;;;;;;;:::i;1638:85:452:-;;;;;;;;;;-1:-1:-1;1710:6:452;;-1:-1:-1;;;;;1710:6:452;1638:85;;2111:43:280;;;;;;;;;;;;2150:4;2111:43;;2517:93:482;;;;;;;;;;;;;:::i;3482:502:280:-;;;;;;:::i;:::-;;:::i;3717:144:482:-;;;;;;;;;;-1:-1:-1;3717:144:482;;;;;:::i;:::-;;:::i;5299:129:280:-;;;;;;;;;;;;;:::i;4984:233:482:-;;;;;;;;;;-1:-1:-1;4984:233:482;;;;;:::i;:::-;;:::i;2210:47:280:-;;;;;;;;;;;;2247:10;2210:47;;4806:305;;;;;;;;;;-1:-1:-1;4806:305:280;;;;;:::i;:::-;;:::i;2551:42::-;;;;;;;;;;-1:-1:-1;2551:42:280;;;;;:::i;:::-;;;;;;;;;;;;;;;;3927:153:482;;;;;;;;;;-1:-1:-1;3927:153:482;;;;;:::i;:::-;;:::i;2543:215:452:-;;;;;;;;;;-1:-1:-1;2543:215:452;;;;;:::i;:::-;;:::i;1560:300:482:-;1662:4;-1:-1:-1;;;;;;1697:40:482;;-1:-1:-1;;;1697:40:482;;:104;;-1:-1:-1;;;;;;;1753:48:482;;-1:-1:-1;;;1753:48:482;1697:104;:156;;;-1:-1:-1;;;;;;;;;;862:40:505;;;1817:36:482;1678:175;1560:300;-1:-1:-1;;1560:300:482:o;2364:89::-;2409:13;2441:5;2434:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2364:89;:::o;3496:154::-;3563:7;3582:22;3596:7;3582:13;:22::i;:::-;-1:-1:-1;6033:7:482;6059:24;;;:15;:24;;;;;;-1:-1:-1;;;;;6059:24:482;3622:21;5963:127;3322:113;3393:35;3402:2;3406:7;735:10:490;3393:8:482;:35::i;:::-;3322:113;;:::o;4142:578::-;-1:-1:-1;;;;;4236:16:482;;4232:87;;4275:33;;-1:-1:-1;;;4275:33:482;;4305:1;4275:33;;;1758:51:654;1731:18;;4275:33:482;;;;;;;;4232:87;4537:21;4561:34;4569:2;4573:7;735:10:490;4561:7:482;:34::i;:::-;4537:58;;4626:4;-1:-1:-1;;;;;4609:21:482;:13;-1:-1:-1;;;;;4609:21:482;;4605:109;;4653:50;;-1:-1:-1;;;4653:50:482;;-1:-1:-1;;;;;7554:15:654;;;4653:50:482;;;7536:34:654;7586:18;;;7579:34;;;7649:15;;7629:18;;;7622:43;7471:18;;4653:50:482;7296:375:654;4605:109:482;4222:498;4142:578;;;:::o;5861:238:280:-;1531:13:452;:11;:13::i;:::-;6002:30:280::1;::::0;5953:21:::1;::::0;5935:15:::1;::::0;-1:-1:-1;;;;;6002:10:280;::::1;::::0;5953:21;;5935:15;6002:30;5935:15;6002:30;5953:21;6002:10;:30:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5980:52;;;6043:10;6038:57;;6070:18;;-1:-1:-1::0;;;6070:18:280::1;;;;;;;;;;;6038:57;5929:170;;5861:238:::0;:::o;3988:272::-;4053:7;4068:34;4092:9;4068:23;:34::i;:::-;4108:20;:18;:20::i;:::-;4134;:18;:20::i;:::-;4160:26;4176:9;4160:15;:26::i;:::-;4192:32;4207:16;4192:14;:32::i;:::-;4237:18;4245:9;4237:7;:18::i;4786:132:482:-;4872:39;4889:4;4895:2;4899:7;4872:39;;;;;;;;;;;;:16;:39::i;4447:92:280:-;1531:13:452;:11;:13::i;:::-;4516:7:280::1;:18;4526:8:::0;4516:7;:18:::1;:::i;2184:118:482:-:0;2247:7;2273:22;2287:7;2273:13;:22::i;2463:21:280:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1919:208:482:-;1982:7;-1:-1:-1;;;;;2005:19:482;;2001:87;;2047:30;;-1:-1:-1;;;2047:30:482;;2074:1;2047:30;;;1758:51:654;1731:18;;2047:30:482;1612:203:654;2001:87:482;-1:-1:-1;;;;;;2104:16:482;;;;;:9;:16;;;;;;;1919:208::o;2293:101:452:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;5432:124:280:-;1531:13:452;:11;:13::i;:::-;5484:34:280::1;5499:18;5484:14;:34::i;:::-;5524:27;5534:16;5524:9;:27::i;2517:93:482:-:0;2564:13;2596:7;2589:14;;;;;:::i;3482:502:280:-;3609:7;3624:34;3648:9;3624:23;:34::i;:::-;3664:20;:18;:20::i;:::-;3690;:18;:20::i;:::-;3716:26;3732:9;3716:15;:26::i;:::-;3748:29;3767:9;3748:18;:29::i;:::-;3812:38;;-1:-1:-1;;10258:2:654;10254:15;;;10250:53;3812:38:280;;;10238:66:654;10320:12;;;10313:28;;;3784:15:280;;10357:12:654;;3812:38:280;;;;;;;;;;;;3802:49;;;;;;3784:67;;3863:47;3882:5;;3863:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3889:11:280;;-1:-1:-1;3902:7:280;;-1:-1:-1;3863:18:280;;-1:-1:-1;3863:47:280:i;:::-;3858:90;;3927:14;;-1:-1:-1;;;3927:14:280;;;;;;;;;;;3858:90;3961:18;3969:9;3961:7;:18::i;:::-;3954:25;3482:502;-1:-1:-1;;;;;;3482:502:280:o;3717:144:482:-;3802:52;735:10:490;3835:8:482;3845;3802:18;:52::i;5299:129:280:-;1531:13:452;:11;:13::i;:::-;5353:35:280::1;5368:19;5353:14;:35::i;:::-;5394:29;5404:18;5394:9;:29::i;4984:233:482:-:0;5097:31;5110:4;5116:2;5120:7;5097:12;:31::i;:::-;5138:72;735:10:490;5186:4:482;5192:2;5196:7;5205:4;5138:33;:72::i;4806:305:280:-;4887:13;4940:1;4912:16;4920:7;4912;:16::i;:::-;-1:-1:-1;;;;;4912:30:280;;4908:79;;4959:21;;-1:-1:-1;;;4959:21:280;;;;;;;;;;;4908:79;5029:1;5011:7;5005:21;;;;;:::i;:::-;;;:25;:101;;;;;;;;;;;;;;;;;5065:7;5048:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;4992:114;4806:305;-1:-1:-1;;4806:305:280:o;3927:153:482:-;-1:-1:-1;;;;;4038:25:482;;;4015:4;4038:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;3927:153::o;2543:215:452:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:452;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:452;;2700:1:::1;2672:31;::::0;::::1;1758:51:654::0;1731:18;;2672:31:452::1;1612:203:654::0;2623:91:452::1;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;16212:241:482:-;16275:7;5824:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5824:16:482;;16337:88;;16383:31;;-1:-1:-1;;;16383:31:482;;;;;160:25:654;;;133:18;;16383:31:482;14:177:654;14492:120:482;14572:33;14581:2;14585:7;14594:4;14600;14572:8;:33::i;8861:795::-;8947:7;5824:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5824:16:482;;;;9058:18;;;9054:86;;9092:37;9109:4;9115;9121:7;9092:16;:37::i;:::-;-1:-1:-1;;;;;9184:18:482;;;9180:256;;9300:48;9317:1;9321:7;9338:1;9342:5;9300:8;:48::i;:::-;-1:-1:-1;;;;;9391:15:482;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;9391:20:482;;;9180:256;-1:-1:-1;;;;;9450:16:482;;;9446:107;;-1:-1:-1;;;;;9510:13:482;;;;;;:9;:13;;;;;:18;;9527:1;9510:18;;;9446:107;9563:16;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9563:21:482;-1:-1:-1;;;;;9563:21:482;;;;;;;;;9600:27;;9563:16;;9600:27;;;;;;;9645:4;8861:795;-1:-1:-1;;;;8861:795:482:o;1796:162:452:-;1710:6;;-1:-1:-1;;;;;1710:6:452;735:10:490;1855:23:452;1851:101;;1901:40;;-1:-1:-1;;;1901:40:452;;735:10:490;1901:40:452;;;1758:51:654;1731:18;;1901:40:452;1612:203:654;6752:143:280;-1:-1:-1;;;;;6828:23:280;;6824:67;;6868:16;;-1:-1:-1;;;6868:16:280;;;;;;;;;;;7471:123;2247:10;7525:9;:23;7521:69;;7565:18;;-1:-1:-1;;;7565:18:280;;;;;;;;;;;6899:130;2150:4;6953:14;;:30;6949:76;;7000:18;;-1:-1:-1;;;7000:18:280;;;;;;;;;;;7335:132;-1:-1:-1;;;;;7403:21:280;;;;;;:10;:21;;;;;;;;7399:64;;;7441:15;;-1:-1:-1;;;7441:15:280;;;;;;;;;;;7033:132;7113:6;7099:20;;;;;;;;:::i;:::-;:10;;;;:20;;;;;;;;:::i;:::-;;7095:66;;7136:18;;-1:-1:-1;;;7136:18:280;;;;;;;;;;;6284:271;-1:-1:-1;;;;;6353:21:280;;6338:7;6353:21;;;:10;:21;;;;;:28;;-1:-1:-1;;6353:28:280;6377:4;6353:28;;;6405:14;;;;;;6338:7;6425:16;6405:14;6425:16;:::i;:::-;;;;;;6447:29;6457:9;6468:7;6447:9;:29::i;:::-;6487:43;;;11920:25:654;;;6514:15:280;11976:2:654;11961:18;;11954:34;-1:-1:-1;;;;;6487:43:280;;;;;11893:18:654;6487:43:280;;;;;;;6543:7;6284:271;-1:-1:-1;;6284:271:280:o;2912:187:452:-;3004:6;;;-1:-1:-1;;;;;3020:17:452;;;-1:-1:-1;;;;;;3020:17:452;;;;;;;3052:40;;3004:6;;;3020:17;3004:6;;3052:40;;2985:16;;3052:40;2975:124;2912:187;:::o;6559:189:280:-;6633:10;;;;;;;6662:6;;-1:-1:-1;;6649:19:280;6633:10;6662:6;6649:19;;;;;;;;:::i;:::-;;;;;;6719:6;6679:64;;;;;;;;:::i;:::-;6708:9;6679:64;;;;;;;;:::i;:::-;;;6727:15;160:25:654;;6696:10:280;;6679:64;;148:2:654;133:18;6679:64:280;;;;;;;6605:143;6559:189;:::o;7169:162::-;7254:19;7240:10;;;;:33;;;;;;;;:::i;:::-;;:51;;;;;7277:9;7290:1;7277:14;;7240:51;7236:91;;;7308:12;;-1:-1:-1;;;7308:12:280;;;;;;;;;;;1902:154:503;1993:4;2045;2016:25;2029:5;2036:4;2016:12;:25::i;:::-;:33;;1902:154;-1:-1:-1;;;;1902:154:503:o;15665:312:482:-;-1:-1:-1;;;;;15772:22:482;;15768:91;;15817:31;;-1:-1:-1;;;15817:31:482;;-1:-1:-1;;;;;1776:32:654;;15817:31:482;;;1758:51:654;1731:18;;15817:31:482;1612:203:654;15768:91:482;-1:-1:-1;;;;;15868:25:482;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;15868:46:482;;;;;;;;;;15929:41;;722::654;;;15929::482;;695:18:654;15929:41:482;;;;;;;15665:312;;;:::o;985:924:486:-;-1:-1:-1;;;;;1165:14:486;;;:18;1161:742;;1203:67;;-1:-1:-1;;;1203:67:486;;-1:-1:-1;;;;;1203:36:486;;;;;:67;;1240:8;;1250:4;;1256:7;;1265:4;;1203:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1203:67:486;;;;;;;;-1:-1:-1;;1203:67:486;;;;;;;;;;;;:::i;:::-;;;1199:694;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1560:6;:13;1577:1;1560:18;1556:323;;1664:39;;-1:-1:-1;;;1664:39:486;;-1:-1:-1;;;;;1776:32:654;;1664:39:486;;;1758:51:654;1731:18;;1664:39:486;1612:203:654;1556:323:486;1831:6;1825:13;1816:6;1812:2;1808:15;1801:38;1199:694;-1:-1:-1;;;;;;1317:51:486;;-1:-1:-1;;;1317:51:486;1313:182;;1437:39;;-1:-1:-1;;;1437:39:486;;-1:-1:-1;;;;;1776:32:654;;1437:39:486;;;1758:51:654;1731:18;;1437:39:486;1612:203:654;1313:182:486;1271:238;1199:694;985:924;;;;;:::o;14794:662:482:-;14954:9;:31;;;-1:-1:-1;;;;;;14967:18:482;;;;14954:31;14950:460;;;15001:13;15017:22;15031:7;15017:13;:22::i;:::-;15001:38;-1:-1:-1;;;;;;15167:18:482;;;;;;:35;;;15198:4;-1:-1:-1;;;;;15189:13:482;:5;-1:-1:-1;;;;;15189:13:482;;;15167:35;:69;;;;;15207:29;15224:5;15231:4;15207:16;:29::i;:::-;15206:30;15167:69;15163:142;;;15263:27;;-1:-1:-1;;;15263:27:482;;-1:-1:-1;;;;;1776:32:654;;15263:27:482;;;1758:51:654;1731:18;;15263:27:482;1612:203:654;15163:142:482;15323:9;15319:81;;;15377:7;15373:2;-1:-1:-1;;;;;15357:28:482;15366:5;-1:-1:-1;;;;;15357:28:482;;;;;;;;;;;15319:81;14987:423;14950:460;-1:-1:-1;;15420:24:482;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;15420:29:482;-1:-1:-1;;;;;15420:29:482;;;;;;;;;;14794:662::o;7105:368::-;7217:38;7231:5;7238:7;7247;7217:13;:38::i;:::-;7212:255;;-1:-1:-1;;;;;7275:19:482;;7271:186;;7321:31;;-1:-1:-1;;;7321:31:482;;;;;160:25:654;;;133:18;;7321:31:482;14:177:654;7271:186:482;7398:44;;-1:-1:-1;;;7398:44:482;;-1:-1:-1;;;;;12939:32:654;;7398:44:482;;;12921:51:654;12988:18;;;12981:34;;;12894:18;;7398:44:482;12747:274:654;10656:100:482;10723:26;10733:2;10737:7;10723:26;;;;;;;;;;;;:9;:26::i;2457:308:503:-;2540:7;2582:4;2540:7;2596:134;2620:5;:12;2616:1;:16;2596:134;;;2668:51;2696:12;2710:5;2716:1;2710:8;;;;;;;;:::i;:::-;;;;;;;2668:27;:51::i;:::-;2653:66;-1:-1:-1;2634:3:503;;2596:134;;;-1:-1:-1;2746:12:503;2457:308;-1:-1:-1;;;2457:308:503:o;6401:272:482:-;6504:4;-1:-1:-1;;;;;6539:21:482;;;;;;:127;;;6586:7;-1:-1:-1;;;;;6577:16:482;:5;-1:-1:-1;;;;;6577:16:482;;:52;;;;6597:32;6614:5;6621:7;6597:16;:32::i;:::-;6577:88;;;-1:-1:-1;6033:7:482;6059:24;;;:15;:24;;;;;;-1:-1:-1;;;;;6633:32:482;;;6059:24;;6633:32;6577:88;6520:146;6401:272;-1:-1:-1;;;;6401:272:482:o;10977:207::-;11071:18;11077:2;11081:7;11071:5;:18::i;:::-;11099:78;735:10:490;11155:1:482;11159:2;11163:7;11172:4;11099:33;:78::i;504:169:502:-;579:7;609:1;605;:5;:61;;866:13;930:15;;;965:4;958:15;;;1011:4;995:21;;605:61;;;866:13;930:15;;;965:4;958:15;;;1011:4;995:21;;613:25;598:68;504:169;-1:-1:-1;;;504:169:502:o;9978:327:482:-;-1:-1:-1;;;;;10045:16:482;;10041:87;;10084:33;;-1:-1:-1;;;10084:33:482;;10114:1;10084:33;;;1758:51:654;1731:18;;10084:33:482;1612:203:654;10041:87:482;10137:21;10161:32;10169:2;10173:7;10190:1;10161:7;:32::i;:::-;10137:56;-1:-1:-1;;;;;;10207:27:482;;;10203:96;;10257:31;;-1:-1:-1;;;10257:31:482;;10285:1;10257:31;;;1758:51:654;1731:18;;10257:31:482;1612:203:654;196:131;-1:-1:-1;;;;;;270:32:654;;260:43;;250:71;;317:1;314;307:12;332:245;390:6;443:2;431:9;422:7;418:23;414:32;411:52;;;459:1;456;449:12;411:52;498:9;485:23;517:30;541:5;517:30;:::i;774:423::-;816:3;854:5;848:12;881:6;876:3;869:19;906:1;916:162;930:6;927:1;924:13;916:162;;;992:4;1048:13;;;1044:22;;1038:29;1020:11;;;1016:20;;1009:59;945:12;916:162;;;920:3;1123:1;1116:4;1107:6;1102:3;1098:16;1094:27;1087:38;1186:4;1179:2;1175:7;1170:2;1162:6;1158:15;1154:29;1149:3;1145:39;1141:50;1134:57;;;774:423;;;;:::o;1202:220::-;1351:2;1340:9;1333:21;1314:4;1371:45;1412:2;1401:9;1397:18;1389:6;1371:45;:::i;1427:180::-;1486:6;1539:2;1527:9;1518:7;1514:23;1510:32;1507:52;;;1555:1;1552;1545:12;1507:52;-1:-1:-1;1578:23:654;;1427:180;-1:-1:-1;1427:180:654:o;1820:131::-;-1:-1:-1;;;;;1895:31:654;;1885:42;;1875:70;;1941:1;1938;1931:12;1956:315;2024:6;2032;2085:2;2073:9;2064:7;2060:23;2056:32;2053:52;;;2101:1;2098;2091:12;2053:52;2140:9;2127:23;2159:31;2184:5;2159:31;:::i;:::-;2209:5;2261:2;2246:18;;;;2233:32;;-1:-1:-1;;;1956:315:654:o;2276:456::-;2353:6;2361;2369;2422:2;2410:9;2401:7;2397:23;2393:32;2390:52;;;2438:1;2435;2428:12;2390:52;2477:9;2464:23;2496:31;2521:5;2496:31;:::i;:::-;2546:5;-1:-1:-1;2603:2:654;2588:18;;2575:32;2616:33;2575:32;2616:33;:::i;:::-;2276:456;;2668:7;;-1:-1:-1;;;2722:2:654;2707:18;;;;2694:32;;2276:456::o;2737:255::-;2804:6;2857:2;2845:9;2836:7;2832:23;2828:32;2825:52;;;2873:1;2870;2863:12;2825:52;2912:9;2899:23;2931:31;2956:5;2931:31;:::i;3249:127::-;3310:10;3305:3;3301:20;3298:1;3291:31;3341:4;3338:1;3331:15;3365:4;3362:1;3355:15;3381:632;3446:5;3476:18;3517:2;3509:6;3506:14;3503:40;;;3523:18;;:::i;:::-;3598:2;3592:9;3566:2;3652:15;;-1:-1:-1;;3648:24:654;;;3674:2;3644:33;3640:42;3628:55;;;3698:18;;;3718:22;;;3695:46;3692:72;;;3744:18;;:::i;:::-;3784:10;3780:2;3773:22;3813:6;3804:15;;3843:6;3835;3828:22;3883:3;3874:6;3869:3;3865:16;3862:25;3859:45;;;3900:1;3897;3890:12;3859:45;3950:6;3945:3;3938:4;3930:6;3926:17;3913:44;4005:1;3998:4;3989:6;3981;3977:19;3973:30;3966:41;;;;3381:632;;;;;:::o;4018:451::-;4087:6;4140:2;4128:9;4119:7;4115:23;4111:32;4108:52;;;4156:1;4153;4146:12;4108:52;4196:9;4183:23;4229:18;4221:6;4218:30;4215:50;;;4261:1;4258;4251:12;4215:50;4284:22;;4337:4;4329:13;;4325:27;-1:-1:-1;4315:55:654;;4366:1;4363;4356:12;4315:55;4389:74;4455:7;4450:2;4437:16;4432:2;4428;4424:11;4389:74;:::i;4474:818::-;4578:6;4586;4594;4602;4655:2;4643:9;4634:7;4630:23;4626:32;4623:52;;;4671:1;4668;4661:12;4623:52;4710:9;4697:23;4729:31;4754:5;4729:31;:::i;:::-;4779:5;-1:-1:-1;4831:2:654;4816:18;;4803:32;;-1:-1:-1;4886:2:654;4871:18;;4858:32;4909:18;4939:14;;;4936:34;;;4966:1;4963;4956:12;4936:34;5004:6;4993:9;4989:22;4979:32;;5049:7;5042:4;5038:2;5034:13;5030:27;5020:55;;5071:1;5068;5061:12;5020:55;5111:2;5098:16;5137:2;5129:6;5126:14;5123:34;;;5153:1;5150;5143:12;5123:34;5206:7;5201:2;5191:6;5188:1;5184:14;5180:2;5176:23;5172:32;5169:45;5166:65;;;5227:1;5224;5217:12;5166:65;4474:818;;;;-1:-1:-1;;5258:2:654;5250:11;;-1:-1:-1;;;4474:818:654:o;5297:416::-;5362:6;5370;5423:2;5411:9;5402:7;5398:23;5394:32;5391:52;;;5439:1;5436;5429:12;5391:52;5478:9;5465:23;5497:31;5522:5;5497:31;:::i;:::-;5547:5;-1:-1:-1;5604:2:654;5589:18;;5576:32;5646:15;;5639:23;5627:36;;5617:64;;5677:1;5674;5667:12;5617:64;5700:7;5690:17;;;5297:416;;;;;:::o;5718:795::-;5813:6;5821;5829;5837;5890:3;5878:9;5869:7;5865:23;5861:33;5858:53;;;5907:1;5904;5897:12;5858:53;5946:9;5933:23;5965:31;5990:5;5965:31;:::i;:::-;6015:5;-1:-1:-1;6072:2:654;6057:18;;6044:32;6085:33;6044:32;6085:33;:::i;:::-;6137:7;-1:-1:-1;6191:2:654;6176:18;;6163:32;;-1:-1:-1;6246:2:654;6231:18;;6218:32;6273:18;6262:30;;6259:50;;;6305:1;6302;6295:12;6259:50;6328:22;;6381:4;6373:13;;6369:27;-1:-1:-1;6359:55:654;;6410:1;6407;6400:12;6359:55;6433:74;6499:7;6494:2;6481:16;6476:2;6472;6468:11;6433:74;:::i;:::-;6423:84;;;5718:795;;;;;;;:::o;6518:388::-;6586:6;6594;6647:2;6635:9;6626:7;6622:23;6618:32;6615:52;;;6663:1;6660;6653:12;6615:52;6702:9;6689:23;6721:31;6746:5;6721:31;:::i;:::-;6771:5;-1:-1:-1;6828:2:654;6813:18;;6800:32;6841:33;6800:32;6841:33;:::i;6911:380::-;6990:1;6986:12;;;;7033;;;7054:61;;7108:4;7100:6;7096:17;7086:27;;7054:61;7161:2;7153:6;7150:14;7130:18;7127:38;7124:161;;7207:10;7202:3;7198:20;7195:1;7188:31;7242:4;7239:1;7232:15;7270:4;7267:1;7260:15;7124:161;;6911:380;;;:::o;8012:543::-;8114:2;8109:3;8106:11;8103:446;;;8150:1;8174:5;8171:1;8164:16;8218:4;8215:1;8205:18;8288:2;8276:10;8272:19;8269:1;8265:27;8259:4;8255:38;8324:4;8312:10;8309:20;8306:47;;;-1:-1:-1;8347:4:654;8306:47;8402:2;8397:3;8393:12;8390:1;8386:20;8380:4;8376:31;8366:41;;8457:82;8475:2;8468:5;8465:13;8457:82;;;8520:17;;;8501:1;8490:13;8457:82;;8731:1345;8857:3;8851:10;8884:18;8876:6;8873:30;8870:56;;;8906:18;;:::i;:::-;8935:97;9025:6;8985:38;9017:4;9011:11;8985:38;:::i;:::-;8979:4;8935:97;:::i;:::-;9087:4;;9144:2;9133:14;;9161:1;9156:663;;;;9863:1;9880:6;9877:89;;;-1:-1:-1;9932:19:654;;;9926:26;9877:89;-1:-1:-1;;8688:1:654;8684:11;;;8680:24;8676:29;8666:40;8712:1;8708:11;;;8663:57;9979:81;;9126:944;;9156:663;7959:1;7952:14;;;7996:4;7983:18;;-1:-1:-1;;9192:20:654;;;9310:236;9324:7;9321:1;9318:14;9310:236;;;9413:19;;;9407:26;9392:42;;9505:27;;;;9473:1;9461:14;;;;9340:19;;9310:236;;;9314:3;9574:6;9565:7;9562:19;9559:201;;;9635:19;;;9629:26;-1:-1:-1;;9718:1:654;9714:14;;;9730:3;9710:24;9706:37;9702:42;9687:58;9672:74;;9559:201;-1:-1:-1;;;;;9806:1:654;9790:14;;;9786:22;9773:36;;-1:-1:-1;8731:1345:654:o;10380:992::-;10609:3;10638:1;10671:6;10665:13;10701:36;10727:9;10701:36;:::i;:::-;10756:1;10773:17;;;10799:133;;;;10946:1;10941:358;;;;10766:533;;10799:133;-1:-1:-1;;10832:24:654;;10820:37;;10905:14;;10898:22;10886:35;;10877:45;;;-1:-1:-1;10799:133:654;;10941:358;10972:6;10969:1;10962:17;11002:4;11047;11044:1;11034:18;11074:1;11088:165;11102:6;11099:1;11096:13;11088:165;;;11180:14;;11167:11;;;11160:35;11223:16;;;;11117:10;;11088:165;;;11092:3;;;11282:6;11277:3;11273:16;11266:23;;10766:533;-1:-1:-1;;;;;11308:30:654;;-1:-1:-1;;11363:2:654;11354:12;;10380:992;-1:-1:-1;;;10380:992:654:o;11377:127::-;11438:10;11433:3;11429:20;11426:1;11419:31;11469:4;11466:1;11459:15;11493:4;11490:1;11483:15;11509:232;11548:3;11569:17;;;11566:140;;11628:10;11623:3;11619:20;11616:1;11609:31;11663:4;11660:1;11653:15;11691:4;11688:1;11681:15;11566:140;-1:-1:-1;11733:1:654;11722:13;;11509:232::o;11999:489::-;-1:-1:-1;;;;;12268:15:654;;;12250:34;;12320:15;;12315:2;12300:18;;12293:43;12367:2;12352:18;;12345:34;;;12415:3;12410:2;12395:18;;12388:31;;;12193:4;;12436:46;;12462:19;;12454:6;12436:46;:::i;12493:249::-;12562:6;12615:2;12603:9;12594:7;12590:23;12586:32;12583:52;;;12631:1;12628;12621:12;12583:52;12663:9;12657:16;12682:30;12706:5;12682:30;:::i;13026:127::-;13087:10;13082:3;13078:20;13075:1;13068:31;13118:4;13115:1;13108:15;13142:4;13139:1;13132:15","linkReferences":{},"immutableReferences":{"58713":[{"start":2362,"length":32}]}},"methodIdentifiers":{"MINT_PRICE()":"c002d23d","TOTAL_SUPPLY()":"902d55a5","_hasMinted(address)":"d92d1bd6","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","currentTokenId()":"009a9b7b","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","privateMint(address,uint256,bytes32[])":"9886a902","publicMint(address)":"32a93a3a","renounceOwnership()":"715018a6","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setBaseURI(string)":"55f804b3","startPublicMint()":"76c64c62","startWaitlistMint()":"a839e501","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","withdrawPayments(address)":"31b3eb94"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseURI_\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot_\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyMinted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidMintState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxSupplyReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintPriceNotPaid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NonExistentTokenURI\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WithdrawTransfer\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum Member.MintState\",\"name\":\"prevState\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum Member.MintState\",\"name\":\"newState\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"MintStateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MINT_PRICE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOTAL_SUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_hasMinted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"privateMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"publicMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseURI_\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startPublicMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startWaitlistMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"MintStateChanged(address,uint8,uint8,uint256)\":{\"params\":{\"caller\":\"the address that called the function\",\"newState\":\"the new mint state\",\"prevState\":\"the previous mint state\",\"timestamp\":\"the timestamp of the state change\"}},\"Minted(address,uint256,uint256)\":{\"params\":{\"recipient\":\"the address that receives the NFT\"}},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"params\":{\"tokenId\":\"the id of the token to get the tokenURI for\"},\"returns\":{\"_0\":\"the tokenURI for the given tokenId\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"withdrawPayments(address)\":{\"params\":{\"payee\":\"the address that will receive the withdrawn ether\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyMinted()\":[{\"notice\":\"thrown when user tries to mint more than 1 token with same wallet\"}],\"InvalidAddress()\":[{\"notice\":\"thrown when the address is invalid\"}],\"InvalidMintState()\":[{\"notice\":\"thrown when the mint state is invalid\"}],\"InvalidProof()\":[{\"notice\":\"thrown when the proof is invalid\"}],\"MaxSupplyReached()\":[{\"notice\":\"thrown when the max supply is reached\"}],\"MintPriceNotPaid()\":[{\"notice\":\"thrown when an incorrect amount of ETH is sent to mint\"}],\"NonExistentTokenURI()\":[{\"notice\":\"thrown when a token is not minted\"}],\"NotAllowed()\":[{\"notice\":\"thrown when the user is not allowed to perform the action\"}],\"WithdrawTransfer()\":[{\"notice\":\"thrown when the withdraw payment transaction fails\"}]},\"events\":{\"MintStateChanged(address,uint8,uint8,uint256)\":{\"notice\":\"emitted when the mint state is changed\"},\"Minted(address,uint256,uint256)\":{\"notice\":\"emitted when an NFT is minted\"}},\"kind\":\"user\",\"methods\":{\"MINT_PRICE()\":{\"notice\":\"the mint price for an individual nft\"},\"TOTAL_SUPPLY()\":{\"notice\":\"the total supply of the collection\"},\"_hasMinted(address)\":{\"notice\":\"mapping to track if a wallet has already minted\"},\"baseURI()\":{\"notice\":\"the base uri\"},\"tokenURI(uint256)\":{\"notice\":\"Get the tokenURI for the given tokenId\"},\"withdrawPayments(address)\":{\"notice\":\"withdraw the balance from the contract\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/tokens/Member.sol\":\"Member\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/tokens/Member.sol\":{\"keccak256\":\"0x6d526790c3b29609e31419fe00df4b0e02802284d4290c9bbdea6e70caaa2135\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c769445e606c4afdb9a99ddf64eb79f21bf1f5a73271136e23a8153f4d6f4cdd\",\"dweb:/ipfs/QmV827xXZB1okfTgWeTAMHFRx6UixPbthkpCmd55KymS4L\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x39ed367e54765186281efcfe83e47cf0ad62cc879f10e191360712507125f29a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c5ae6d85bd48cca8d6d2fcec8c63efd86f56f8a5832577a47e403ce0e65cb09\",\"dweb:/ipfs/QmUtcS8AbRSWhuc61puYet58os8FvSqm329ChoW8wwZXZk\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xb5afb8e8eebc4d1c6404df2f5e1e6d2c3d24fd01e5dfc855314951ecfaae462d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78586466c424f076c6a2a551d848cfbe3f7c49e723830807598484a1047b3b34\",\"dweb:/ipfs/Qmb717ovcFxm7qgNKEShiV6M9SPR3v1qnNpAGH84D6w29p\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol\":{\"keccak256\":\"0x40399695922383778f9f540a620bec475a2f8e0f08d41f0005682842e28a9855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://746d295e403931aeb9d6065fd5a0871f43ab5459814a60623611e4b6641a09fd\",\"dweb:/ipfs/QmWrgT8YJrQ9FfD1o3YYArwo57e7MGdpFKuM74qJ4qE34E\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/Hashes.sol\":{\"keccak256\":\"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9\",\"dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6\",\"dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"string","name":"baseURI_","type":"string"},{"internalType":"bytes32","name":"merkleRoot_","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AlreadyMinted"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721IncorrectOwner"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721InsufficientApproval"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC721InvalidApprover"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"type":"error","name":"ERC721InvalidOperator"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721InvalidOwner"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC721InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC721InvalidSender"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721NonexistentToken"},{"inputs":[],"type":"error","name":"InvalidAddress"},{"inputs":[],"type":"error","name":"InvalidMintState"},{"inputs":[],"type":"error","name":"InvalidProof"},{"inputs":[],"type":"error","name":"MaxSupplyReached"},{"inputs":[],"type":"error","name":"MintPriceNotPaid"},{"inputs":[],"type":"error","name":"NonExistentTokenURI"},{"inputs":[],"type":"error","name":"NotAllowed"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"WithdrawTransfer"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"enum Member.MintState","name":"prevState","type":"uint8","indexed":true},{"internalType":"enum Member.MintState","name":"newState","type":"uint8","indexed":true},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"MintStateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"Minted","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"MINT_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"_hasMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"privateMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"stateMutability":"payable","type":"function","name":"publicMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"string","name":"baseURI_","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setBaseURI"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startPublicMint"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startWaitlistMint"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawPayments"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"params":{"tokenId":"the id of the token to get the tokenURI for"},"returns":{"_0":"the tokenURI for the given tokenId"}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"withdrawPayments(address)":{"params":{"payee":"the address that will receive the withdrawn ether"}}},"version":1},"userdoc":{"kind":"user","methods":{"MINT_PRICE()":{"notice":"the mint price for an individual nft"},"TOTAL_SUPPLY()":{"notice":"the total supply of the collection"},"_hasMinted(address)":{"notice":"mapping to track if a wallet has already minted"},"baseURI()":{"notice":"the base uri"},"tokenURI(uint256)":{"notice":"Get the tokenURI for the given tokenId"},"withdrawPayments(address)":{"notice":"withdraw the balance from the contract"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/tokens/Member.sol":"Member"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/tokens/Member.sol":{"keccak256":"0x6d526790c3b29609e31419fe00df4b0e02802284d4290c9bbdea6e70caaa2135","urls":["bzz-raw://c769445e606c4afdb9a99ddf64eb79f21bf1f5a73271136e23a8153f4d6f4cdd","dweb:/ipfs/QmV827xXZB1okfTgWeTAMHFRx6UixPbthkpCmd55KymS4L"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x39ed367e54765186281efcfe83e47cf0ad62cc879f10e191360712507125f29a","urls":["bzz-raw://2c5ae6d85bd48cca8d6d2fcec8c63efd86f56f8a5832577a47e403ce0e65cb09","dweb:/ipfs/QmUtcS8AbRSWhuc61puYet58os8FvSqm329ChoW8wwZXZk"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xb5afb8e8eebc4d1c6404df2f5e1e6d2c3d24fd01e5dfc855314951ecfaae462d","urls":["bzz-raw://78586466c424f076c6a2a551d848cfbe3f7c49e723830807598484a1047b3b34","dweb:/ipfs/Qmb717ovcFxm7qgNKEShiV6M9SPR3v1qnNpAGH84D6w29p"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1","urls":["bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02","dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol":{"keccak256":"0x40399695922383778f9f540a620bec475a2f8e0f08d41f0005682842e28a9855","urls":["bzz-raw://746d295e403931aeb9d6065fd5a0871f43ab5459814a60623611e4b6641a09fd","dweb:/ipfs/QmWrgT8YJrQ9FfD1o3YYArwo57e7MGdpFKuM74qJ4qE34E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/Hashes.sol":{"keccak256":"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7","urls":["bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9","dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol":{"keccak256":"0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134","urls":["bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6","dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa","urls":["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287","dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"}},"version":1},"id":280} \ No newline at end of file diff --git a/packages/generated/dev/abis/MembershipFacet.json b/packages/generated/dev/abis/MembershipFacet.json index a273bd9201..50a1f2ea76 100644 --- a/packages/generated/dev/abis/MembershipFacet.json +++ b/packages/generated/dev/abis/MembershipFacet.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"expiresAt","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipCurrency","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMembershipDuration","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getMembershipFreeAllocation","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipImage","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMembershipLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipPrice","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipPricingModule","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMembershipRenewalPrice","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpaceFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"joinSpace","inputs":[{"name":"receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"joinSpaceWithReferral","inputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"referral","type":"tuple","internalType":"struct IMembershipBase.ReferralTypes","components":[{"name":"partner","type":"address","internalType":"address"},{"name":"userReferral","type":"address","internalType":"address"},{"name":"referralCode","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renewMembership","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revenue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setMembershipFreeAllocation","inputs":[{"name":"newAllocation","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipImage","inputs":[{"name":"newImage","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipLimit","inputs":[{"name":"newLimit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipPrice","inputs":[{"name":"newPrice","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipPricingModule","inputs":[{"name":"pricingModule","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Banned","inputs":[{"name":"moderator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DefaultBpsFeeUpdated","inputs":[{"name":"defaultBpsFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EntitlementCheckResultPosted","inputs":[{"name":"transactionId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"result","type":"uint8","indexed":false,"internalType":"enum IEntitlementGatedBase.NodeVoteStatus"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"MaxBpsFeeUpdated","inputs":[{"name":"maxBpsFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MaxPartnerFeeSet","inputs":[{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipCurrencyUpdated","inputs":[{"name":"currency","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MembershipFeeRecipientUpdated","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MembershipFreeAllocationUpdated","inputs":[{"name":"allocation","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipLimitUpdated","inputs":[{"name":"limit","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipPriceUpdated","inputs":[{"name":"price","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipTokenIssued","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipTokenRejected","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MembershipWithdrawal","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PartnerRegistered","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PartnerRemoved","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PartnerUpdated","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PermissionsAddedToChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PermissionsRemovedFromChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PermissionsUpdatedForChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Prepay__Prepaid","inputs":[{"name":"supply","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ReferralRegistered","inputs":[{"name":"referralCode","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"basisPoints","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReferralRemoved","inputs":[{"name":"referralCode","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"ReferralUpdated","inputs":[{"name":"referralCode","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"basisPoints","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryFeeSet","inputs":[{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleCreated","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleRemoved","inputs":[{"name":"remover","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleUpdated","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SubscriptionUpdate","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"expiration","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unbanned","inputs":[{"name":"moderator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ApprovalCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"ApprovalQueryForNonexistentToken","inputs":[]},{"type":"error","name":"BalanceQueryForZeroAddress","inputs":[]},{"type":"error","name":"Banning__AlreadyBanned","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Banning__CannotBanOwner","inputs":[]},{"type":"error","name":"Banning__CannotBanSelf","inputs":[]},{"type":"error","name":"Banning__InvalidTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Banning__NotBanned","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Dispatcher__InvalidCaller","inputs":[]},{"type":"error","name":"Dispatcher__InvalidValue","inputs":[]},{"type":"error","name":"Dispatcher__TransactionAlreadyExists","inputs":[]},{"type":"error","name":"ERC5643__DurationZero","inputs":[]},{"type":"error","name":"ERC5643__InvalidTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC5643__NotApprovedOrOwner","inputs":[]},{"type":"error","name":"ERC5643__SubscriptionNotRenewable","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"EntitlementGated_InvalidAddress","inputs":[]},{"type":"error","name":"EntitlementGated_NodeAlreadyVoted","inputs":[]},{"type":"error","name":"EntitlementGated_NodeNotFound","inputs":[]},{"type":"error","name":"EntitlementGated_TransactionCheckAlreadyCompleted","inputs":[]},{"type":"error","name":"EntitlementGated_TransactionCheckAlreadyRegistered","inputs":[]},{"type":"error","name":"EntitlementGated_TransactionNotRegistered","inputs":[]},{"type":"error","name":"Entitlement__InvalidValue","inputs":[]},{"type":"error","name":"Entitlement__NotAllowed","inputs":[]},{"type":"error","name":"Entitlement__NotMember","inputs":[]},{"type":"error","name":"Entitlement__ValueAlreadyExists","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"Membership__AlreadyMember","inputs":[]},{"type":"error","name":"Membership__Banned","inputs":[]},{"type":"error","name":"Membership__InsufficientAllowance","inputs":[]},{"type":"error","name":"Membership__InsufficientPayment","inputs":[]},{"type":"error","name":"Membership__InvalidAddress","inputs":[]},{"type":"error","name":"Membership__InvalidCurrency","inputs":[]},{"type":"error","name":"Membership__InvalidDuration","inputs":[]},{"type":"error","name":"Membership__InvalidFeeRecipient","inputs":[]},{"type":"error","name":"Membership__InvalidFreeAllocation","inputs":[]},{"type":"error","name":"Membership__InvalidLimit","inputs":[]},{"type":"error","name":"Membership__InvalidMaxSupply","inputs":[]},{"type":"error","name":"Membership__InvalidPayment","inputs":[]},{"type":"error","name":"Membership__InvalidPrice","inputs":[]},{"type":"error","name":"Membership__InvalidPricingModule","inputs":[]},{"type":"error","name":"Membership__InvalidTokenId","inputs":[]},{"type":"error","name":"Membership__InvalidTransactionType","inputs":[]},{"type":"error","name":"Membership__MaxSupplyReached","inputs":[]},{"type":"error","name":"Membership__NotExpired","inputs":[]},{"type":"error","name":"Membership__PriceTooLow","inputs":[]},{"type":"error","name":"MintERC2309QuantityExceedsLimit","inputs":[]},{"type":"error","name":"MintToZeroAddress","inputs":[]},{"type":"error","name":"MintZeroQuantity","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]},{"type":"error","name":"OwnerQueryForNonexistentToken","inputs":[]},{"type":"error","name":"OwnershipNotInitializedForExtraData","inputs":[]},{"type":"error","name":"PartnerRegistry__InvalidPartnerFee","inputs":[{"name":"fee","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PartnerRegistry__InvalidRecipient","inputs":[]},{"type":"error","name":"PartnerRegistry__NotPartnerAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__PartnerAlreadyRegistered","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__PartnerNotActive","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__PartnerNotRegistered","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__RegistryFeeNotPaid","inputs":[{"name":"fee","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Pausable__NotPaused","inputs":[]},{"type":"error","name":"Pausable__Paused","inputs":[]},{"type":"error","name":"Prepay__InvalidAddress","inputs":[]},{"type":"error","name":"Prepay__InvalidAmount","inputs":[]},{"type":"error","name":"Prepay__InvalidMembership","inputs":[]},{"type":"error","name":"Prepay__InvalidSupplyAmount","inputs":[]},{"type":"error","name":"Reentrancy","inputs":[]},{"type":"error","name":"Referrals__InvalidBasisPoints","inputs":[]},{"type":"error","name":"Referrals__InvalidBpsFee","inputs":[]},{"type":"error","name":"Referrals__InvalidRecipient","inputs":[]},{"type":"error","name":"Referrals__InvalidReferralCode","inputs":[]},{"type":"error","name":"Referrals__ReferralAlreadyExists","inputs":[]},{"type":"error","name":"Roles__EntitlementAlreadyExists","inputs":[]},{"type":"error","name":"Roles__EntitlementDoesNotExist","inputs":[]},{"type":"error","name":"Roles__InvalidEntitlementAddress","inputs":[]},{"type":"error","name":"Roles__InvalidPermission","inputs":[]},{"type":"error","name":"Roles__PermissionAlreadyExists","inputs":[]},{"type":"error","name":"Roles__PermissionDoesNotExist","inputs":[]},{"type":"error","name":"Roles__RoleDoesNotExist","inputs":[]},{"type":"error","name":"TransferCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"TransferFromIncorrectOwner","inputs":[]},{"type":"error","name":"TransferToNonERC721ReceiverImplementer","inputs":[]},{"type":"error","name":"TransferToZeroAddress","inputs":[]},{"type":"error","name":"URIQueryForNonexistentToken","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b506200001c62000022565b620000ca565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200006f576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff9081161015620000c757805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b61415980620000da6000396000f3fe60806040526004361061011f5760003560e01c8063706b8e09116100a057806393b13cb71161006457806393b13cb71461031557806395d600c81461033757806397fb7c1e1461034c578063df9a9fe61461036c578063e847abdd1461038c57600080fd5b8063706b8e091461029857806379dda585146102ad5780637c9669ac146102c25780638120f0ba146102d55780638c625b061461030257600080fd5b80635803909f116100e75780635803909f146101f85780635becd24a14610218578063657e45e814610238578063686f76841461026557806369d5f38a1461027857600080fd5b80630ef1be5f146101245780631278076a1461014657806317c957091461016e5780633e9491a2146101c357806351cff8d9146101d8575b600080fd5b34801561013057600080fd5b5061014461013f3660046136ff565b6103a1565b005b34801561015257600080fd5b5061015b610424565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5061015b610189366004613770565b60009081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060205260409020546001600160401b031690565b3480156101cf57600080fd5b5061015b61043b565b3480156101e457600080fd5b506101446101f336600461379e565b610445565b34801561020457600080fd5b5061015b610213366004613770565b61052c565b34801561022457600080fd5b50610144610233366004613770565b610545565b34801561024457600080fd5b5061024d6105ca565b6040516001600160a01b039091168152602001610165565b610144610273366004613850565b6105d4565b34801561028457600080fd5b50610144610293366004613770565b610619565b3480156102a457600080fd5b5061015b6106c7565b3480156102b957600080fd5b5061024d6106d1565b6101446102d0366004613770565b6106db565b3480156102e157600080fd5b506102ea610814565b6040516001600160401b039091168152602001610165565b61014461031036600461379e565b61081e565b34801561032157600080fd5b5061032a61086f565b604051610165919061398a565b34801561034357600080fd5b5061015b610879565b34801561035857600080fd5b50610144610367366004613770565b610883565b34801561037857600080fd5b5061014461038736600461379e565b6108db565b34801561039857600080fd5b5061024d610928565b6103a9610932565b6001600160a01b0316336001600160a01b0316146103e1576040516365f4906560e01b81523360048201526024015b60405180910390fd5b61042082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109cf92505050565b5050565b60006104366104316109e6565b610a1c565b905090565b6000610436610ba8565b61044d610932565b6001600160a01b0316336001600160a01b031614610480576040516365f4906560e01b81523360048201526024016103d8565b3068929eee149b4bd21268540361049f5763ab143c066000526004601cfd5b3068929eee149b4bd21268556001600160a01b0381166104d257604051635fbd571760e01b815260040160405180910390fd5b60006104dc610ba8565b9050806000036104ff57604051635894b54560e11b815260040160405180910390fd5b6105096000610bbb565b61051c610514610bcb565b308484610be7565b503868929eee149b4bd212685550565b600061053f8261053a6109e6565b610c33565b92915050565b61054d610932565b6001600160a01b0316336001600160a01b031614610580576040516365f4906560e01b81523360048201526024016103d8565b600061058a610c81565b9050801580159061059a57508082115b156105b85760405163c3983b9160e01b815260040160405180910390fd5b6105c182610c94565b61042082610d39565b6000610436610bcb565b3068929eee149b4bd2126854036105f35763ab143c066000526004601cfd5b3068929eee149b4bd21268556106098282610d8b565b3868929eee149b4bd21268555050565b610621610932565b6001600160a01b0316336001600160a01b031614610654576040516365f4906560e01b81523360048201526024016103d8565b61065d81610ef3565b610665610f81565b6001600160a01b03166391b7f5ed826040518263ffffffff1660e01b815260040161069291815260200190565b600060405180830381600087803b1580156106ac57600080fd5b505af11580156106c0573d6000803e3d6000fd5b5050505050565b6000610436610f9d565b600061043661103a565b3068929eee149b4bd2126854036106fa5763ab143c066000526004601cfd5b3068929eee149b4bd2126855600061071182611056565b90506001600160a01b03811661073a57604051635fbd571760e01b815260040160405180910390fd5b60008281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060205260409020546001600160401b0316610779611061565b6001600160401b031661078c42836139b3565b106107aa5760405163dce9a1d360e01b815260040160405180910390fd5b60006107b88461053a6109e6565b905080156107f15760006107cc84836110e7565b905060006107da82846139b3565b905080156107ee576107ec8582611193565b505b50505b610802846107fd611061565b611331565b5050503868929eee149b4bd212685550565b6000610436611061565b3068929eee149b4bd21268540361083d5763ab143c066000526004601cfd5b3068929eee149b4bd21268556040805160608082018352600080835260208301529181019190915261051c8282610d8b565b60606104366113fa565b6000610436610c81565b61088b610932565b6001600160a01b0316336001600160a01b0316146108be576040516365f4906560e01b81523360048201526024016103d8565b6108cf816108ca6109e6565b611495565b6108d8816114b6565b50565b6108e3610932565b6001600160a01b0316336001600160a01b031614610916576040516365f4906560e01b81523360048201526024016103d8565b61091f816114c6565b6108d88161157e565b6000610436610f81565b6000807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040516331a9108f60e11b815260048101919091529192506001600160a01b031690636352211e90602401602060405180830381865afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c991906139c6565b91505090565b806109d86115ab565b600c01906104209082613a67565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01546000805160206140f9833981519152540390565b600080610a276115ab565b90506000610a33610f9d565b6008830154604051635cf4ee9160e01b815260048101839052602481018790529192506000916001600160a01b0390911690635cf4ee9190604401602060405180830381865afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf9190613b26565b90506000610abb61103a565b90506000816001600160a01b0316631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190613b26565b90506000826001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190613b26565b905081841015610b9c57979650505050505050565b50919695505050505050565b6000610bb26115ab565b600a0154905090565b80610bc46115ab565b600a015550565b6000610bd56115ab565b600401546001600160a01b0316919050565b8015610c2d5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601610c2157610c1c82826115cf565b610c2d565b610c2d848484846115e2565b50505050565b600080610c3e6115ab565b600085815260098201602052604090205490915015610c7057600084815260099091016020526040902054905061053f565b610c7983610a1c565b949350505050565b6000610c8b6115ab565b60030154905090565b6000610c9e6115ab565b90508060060160009054906101000a90046001600160a01b03166001600160a01b0316632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d199190613b26565b8211156104205760405163c3983b9160e01b815260040160405180910390fd5b6000610d436115ab565b60078101839055600d8101805460ff1916600117905560405190915082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f90600090a25050565b610d9482611635565b610d9c61169e565b610da682826116d2565b336000610db283611733565b9050600081610de05783604051602001610dcc9190613b3f565b604051602081830303815290604052610df1565b604051806020016040528060008152505b9050600082610e0757631a1bdda160e21b610e10565b6346312d8360e11b5b90506000610e2a87610e2484888b8861176a565b3461179c565b9050600080610e3989846118b0565b9150915080610ee8578115610e90576000610e52611acf565b90508015610e77578615610e6e57610e6984611b2a565b610e81565b610e6984611bf4565b610e818489611d1e565b610e8a8a611d5a565b50610ee8565b610ea98360405180602001604052806000815250611dcb565b610eb38388611d1e565b6040516001600160a01b038a16907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f90600090a25b505050505050505050565b6000610efd61103a565b6001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613b26565b90508082101561042057604051631a23d64760e11b815260040160405180910390fd5b6000610f8b6115ab565b600801546001600160a01b0316919050565b600080610fa86115ab565b600d81015490915060ff1615610fc15760070154919050565b8060060160009054906101000a90046001600160a01b03166001600160a01b0316632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190613b26565b60006110446115ab565b600601546001600160a01b0316919050565b600061053f82611e12565b60008061106c6115ab565b90508060060160009054906101000a90046001600160a01b03166001600160a01b0316638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190613b7a565b6000806110f26115ab565b6006810154600480830154604080516301332c8360e61b815290519495506001600160a01b039384169493909116926000928592634ccb20c092818301926020928290030181865afa15801561114c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117091906139c6565b905061117b86611ecb565b945061118982888388610be7565b5050505092915050565b60008061119e6115ab565b905060006111aa610bcb565b905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016111f5578382600a0160008282546111e59190613ba3565b9091555084935061053f92505050565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112629190613b26565b905061127083883089610be7565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156112b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112db9190613b26565b905060006112e983836139b3565b905087811461130b57604051635894b54560e11b815260040160405180910390fd5b8086600a01600082825461131f9190613ba3565b90915550909998505050505050505050565b60008281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce006020819052604082205490916001600160401b0390911690818103611387576113808442613bb6565b9050611394565b6113918483613bb6565b90505b60008581526020848152604091829020805467ffffffffffffffff19166001600160401b038516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b60606114046115ab565b600c018054611412906139e3565b80601f016020809104026020016040519081016040528092919081815260200182805461143e906139e3565b801561148b5780601f106114605761010080835404028352916020019161148b565b820191906000526020600020905b81548152906001019060200180831161146e57829003601f168201915b5050505050905090565b8082101561042057604051636664d51760e11b815260040160405180910390fd5b806114bf6115ab565b6003015550565b6001600160a01b0381166114ed57604051630e88bf4b60e01b815260040160405180910390fd5b6114f561103a565b6040516346fc05eb60e11b81526001600160a01b0383811660048301529190911690638df80bd690602401602060405180830381865afa15801561153d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115619190613bf2565b6108d857604051630e88bf4b60e01b815260040160405180910390fd5b806115876115ab565b60080180546001600160a01b0319166001600160a01b039290921691909117905550565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60090565b6104206001600160a01b0383168261202c565b816001600160a01b0316836001600160a01b03160315610c2d57306001600160a01b0384160361162057610c1c6001600160a01b0385168383612048565b610c2d6001600160a01b038516848484612098565b6001600160a01b03811661165c57604051635fbd571760e01b815260040160405180910390fd5b611664610c81565b158015906116805750611675610c81565b61167d6109e6565b10155b156108d857604051637efcdb4960e01b815260040160405180910390fd5b34156116d05760006116ae6120f6565b90508034146108d8576040516334a7a93d60e01b815260040160405180910390fd5b565b60208101516001600160a01b03161561042057816001600160a01b031681602001516001600160a01b03161480611715575060208101516001600160a01b031633145b1561042057604051635fbd571760e01b815260040160405180910390fd5b80516000906001600160a01b0316158015611759575060208201516001600160a01b0316155b801561053f57505060400151511590565b6060848484846040516020016117839493929190613c0d565b6040516020818303038152906040529050949350505050565b6040516bffffffffffffffffffffffff19606085901b1660208201524360348201526000908190605401604051602081830303815290604052805190602001209050600061185e8261183284896117f28761214d565b604080516020808201959095526001600160a01b039390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b9050600061186b82612182565b51111561188b5760405163f82e65c360e01b815260040160405180910390fd5b6118958186611dcb565b83156118a5576118a58185612253565b9150505b9392505050565b60008060006118df604051806040016040528060098152602001684a6f696e537061636560b81b8152506122d9565b905060006118ec8661247b565b825190915060005b81811015611ac357600084828151811061191057611910613c53565b6020026020010151905080604001511561192a5750611abb565b60005b816080015151811015611ab85760008260800151828151811061195257611952613c53565b60200260200101519050806001600160a01b0316630cf0b5336000801b88604051806040016040528060098152602001684a6f696e537061636560b81b8152506040516020016119a29190613c69565b6040516020818303038152906040526119ba90613c85565b6040518463ffffffff1660e01b81526004016119d893929190613cee565b602060405180830381865afa1580156119f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a199190613bf2565b15611a3357506001975060009650611ac895505050505050565b806001600160a01b0316632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a959190613bf2565b15611aaf57611aaa8b8b8386600001516126e3565b600197505b5060010161192d565b50505b6001016118f4565b505050505b9250929050565b600080611ada6109e6565b90506000611ae6610f9d565b90506000611af26129d0565b905082821115611b06576000935050505090565b8015611b2057611b1660016129fa565b6000935050505090565b6001935050505090565b6000818152600080516020614139833981519152602052604081205490819003611b6757604051635894b54560e11b815260040160405180910390fd5b6000806000611b7585612182565b806020019051810190611b889190613d5f565b50919450925090506001600160e01b031983166346312d8360e11b14611bc15760405163da6153bd60e01b815260040160405180910390fd5b6000611bcd83866110e7565b90506000611bdb82876139b3565b9050611beb878585898587612a38565b50505050505050565b6000818152600080516020614139833981519152602052604081205490819003611c3157604051635894b54560e11b815260040160405180910390fd5b600080600080611c4086612182565b806020019051810190611c539190613d5f565b929650909450925090506001600160e01b03198416631a1bdda160e21b14611c8e5760405163da6153bd60e01b815260040160405180910390fd5b600081806020019051810190611ca49190613de7565b90506000611cb285886110e7565b90506000611cc58684600001518a612c6b565b90506000611cdd87856020015186604001518c612d47565b905060008183611ced868d6139b3565b611cf791906139b3565b611d0191906139b3565b9050611d118b89898d8589612a38565b5050505050505050505050565b600082815260008051602061413983398151915260205260409020548015611d5557611d4a8382612e34565b611d55610514610bcb565b505050565b6000611d64612e6f565b9050611d7a81611d756104316109e6565b612e85565b611d85826001612ea5565b611d91816107fd611061565b60405181906001600160a01b038416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b57690600090a35050565b60008281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040902060008051602061411983398151915290610c2d8382613a67565b60008181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054906000805160206140f983398151915290600160e01b83169003611eb15781600003611eab5780548310611e8757604051636f96cda160e11b815260040160405180910390fd5b5b600019909201600081815260048401602052604090205490929091508115611e88575b50919050565b50604051636f96cda160e11b815260040160405180910390fd5b600080611ed661103a565b90506000816001600160a01b0316631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3c9190613b26565b90506000826001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa29190613b26565b905081851015611fb457949350505050565b61202385846001600160a01b0316639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201a9190613e90565b61ffff16612ebf565b95945050505050565b60003860003884865af16104205763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af1806001600051141661208d57803d853b15171061208d576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af180600160005114166120e757803d873b1517106120e757637939f4246000526004601cfd5b50600060605260405250505050565b6000806121016129d0565b9050801561211157600091505090565b600061211e6104316109e6565b9050806000036121315760009250505090565b600061213c82611ecb565b828118908310029091189392505050565b60008181526000805160206141198339815191526020819052604082208054908361217783613eb4565b909155509392505050565b60008181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090208054606091600080516020614119833981519152916121cd906139e3565b80601f01602080910402602001604051908101604052809291908181526020018280546121f9906139e3565b80156122465780601f1061221b57610100808354040283529160200191612246565b820191906000526020600020905b81548152906001019060200180831161222957829003601f168201915b5050505050915050919050565b806000036122745760405163acdc0d4960e01b815260040160405180910390fd5b8034146122945760405163acdc0d4960e01b815260040160405180910390fd5b6000828152600080516020614139833981519152602052604081208054600080516020614119833981519152928492916122cf908490613ba3565b9091555050505050565b606060006122e5612f34565b80519091506000816001600160401b03811115612304576123046137bb565b60405190808252806020026020018201604052801561236957816020015b6123566040518060a00160405280600081526020016060815260200160001515815260200160608152602001606081525090565b8152602001906001900390816123225790505b5085516020870120909150600090815b8481101561246f576000806000806123a98a868151811061239c5761239c613c53565b6020026020010151612f5f565b935093509350935060005b825181101561245e57868382815181106123d0576123d0613c53565b60200260200101518051906020012003612456576040518060a001604052808c888151811061240157612401613c53565b6020026020010151815260200186815260200185151581526020018481526020018381525089898151811061243857612438613c53565b6020026020010181905250878061244e90613eb4565b98505061245e565b6001016123b4565b505060019093019250612379915050565b50508152949350505050565b606060006124876115ab565b6006015460405162468b7360e31b81526001600160a01b038581166004830152909116915060009082906302345b9890602401600060405180830381865afa1580156124d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124ff9190810190613ecd565b604051631f04207360e31b81526001600160a01b03868116600483015291925060009184169063f821039890602401602060405180830381865afa15801561254b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256f91906139c6565b90508151600014801561258a57506001600160a01b03811615155b156126045760405162468b7360e31b81526001600160a01b03808316600483015291955085918416906302345b9890602401600060405180830381865afa1580156125d9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126019190810190613ecd565b91505b81516000612613826001613ba3565b6001600160401b0381111561262a5761262a6137bb565b604051908082528060200260200182016040528015612653578160200160208202803683370190505b50905060005b828110156126ad5784818151811061267357612673613c53565b602002602001015182828151811061268d5761268d613c53565b6001600160a01b0390921660209283029190910190910152600101612659565b50868183815181106126c1576126c1613c53565b6001600160a01b03909216602092830291909101909101529695505050505050565b60008381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040902080547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00919060ff161561279757600481015460005b81811015612794578483600401828154811061276357612763613c53565b90600052602060002001540361278c576040516301ab53df60e31b815260040160405180910390fd5b600101612745565b50505b81546001600160a01b03166127ae576127ae613081565b8154604051634f84544560e01b8152600560048201526000916001600160a01b031690634f84544590602401600060405180830381865afa1580156127f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261281f9190810190613ecd565b825490915060ff1661286a5781546003830180546001600160a01b038089166001600160a01b0319909216919091179091558816610100026001600160a81b03199091161760011782555b600482018054600181810183556000928352602080842090920187905583518784529085019091526040822090915b8281101561295d578160405180604001604052808684815181106128bf576128bf613c53565b60200260200101516001600160a01b03168152602001600060028111156128e8576128e8613f7e565b9052815460018101835560009283526020928390208251910180546001600160a01b031981166001600160a01b03909316928317825593830151929390929183916001600160a81b03191617600160a01b83600281111561294b5761294b613f7e565b02179055505050806001019050612899565b50845460405163541da4e560e01b81526001600160a01b039091169063541da4e590612993908c908c908b908990600401613f94565b600060405180830381600087803b1580156129ad57600080fd5b505af11580156129c1573d6000803e3d6000fd5b50505050505050505050505050565b60007f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005b54919050565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c00805482908290600090612a2f9084906139b3565b90915550505050565b8115612a4a57612a488583611193565b505b612a548684612e34565b612a6d8660405180602001604052806000815250611dcb565b6000612a7761103a565b604051628956cd60e71b81526b0526976657241697264726f760a41b60048201526001600160a01b0391909116906344ab668090602401602060405180830381865afa158015612acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aef91906139c6565b90506000816001600160a01b031663dc69fdde600085604051602001612b1791815260200190565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401612b43929190613fc1565b602060405180830381865afa158015612b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b849190613b26565b6040516340c10f1960e01b81526001600160a01b03888116600483015260248201839052919250908316906340c10f1990604401600060405180830381600087803b158015612bd257600080fd5b505af1158015612be6573d6000803e3d6000fd5b50505050816001600160a01b03166340c10f19612c01610932565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015612c4957600080fd5b505af1158015612c5d573d6000803e3d6000fd5b505050505050505050505050565b60006001600160a01b038316612c83575060006118a9565b6000612c8d61103a565b604051630b969ea960e31b81526001600160a01b0386811660048301529190911690635cb4f54890602401608060405180830381865afa158015612cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf99190613ff8565b90508060400151600003612d115760009150506118a9565b604081015160208201516000612d278684612ebf565b9050612d3c612d34610bcb565b898484610be7565b979650505050505050565b6000808351600014612dbc576000612d5e85613147565b60408101519091506001600160a01b03161580612d7d57506020810151155b15612d8d57600092505050610c79565b6020810151612d9c8582612ebf565b9250612db5612da9610bcb565b89846040015186610be7565b5050612023565b6001600160a01b0385161561202357856001600160a01b0316856001600160a01b031603612dee576000915050610c79565b612e1f83612e1a7faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b612ebf565b9050612023612e2c610bcb565b878784610be7565b6000828152600080516020614139833981519152602052604081208054600080516020614119833981519152928492916122cf9084906139b3565b60006000805160206140f98339815191526129f4565b80612e8e6115ab565b600093845260090160205260409092209190915550565b6104208282604051806020016040528060008152506131d8565b6000612710821115612f1d5760405162461bcd60e51b815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f30306044820152600360fc1b60648201526084016103d8565b612710612f2a8385614071565b6118a99190614088565b60606104367f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01613258565b60008181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260408120805460609291839182917f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0091612fc1906139e3565b80601f0160208091040260200160405190810160405280929190818152602001828054612fed906139e3565b801561303a5780601f1061300f5761010080835404028352916020019161303a565b820191906000526020600020905b81548152906001019060200180831161301d57829003601f168201915b50505060008981526003850160205260409020600181015493985060ff909316965061306c9260020191506132659050565b925061307786613270565b9150509193509193565b7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0060006130ac6115ab565b60060154604051628956cd60e71b81526c29b830b1b2a7b832b930ba37b960991b60048201526001600160a01b03909116906344ab668090602401602060405180830381865afa158015613104573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312891906139c6565b82546001600160a01b0319166001600160a01b03919091161790915550565b6131746040518060600160405280606081526020016000815260200160006001600160a01b031681525090565b50805160208083019190912060009081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e900802825260409081902081516060810183529384528054928401929092526001909101546001600160a01b03169082015290565b6131e2838361334d565b6001600160a01b0383163b15611d55576000805160206140f9833981519152548281035b61321960008683806001019450866134a3565b613236576040516368d2bf6b60e11b815260040160405180910390fd5b81811061320657816000805160206140f983398151915254146106c057600080fd5b606060006118a98361358b565b606061053f826135e7565b60008181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604081206060916004909101906132af826136c4565b90506000816001600160401b038111156132cb576132cb6137bb565b6040519080825280602002602001820160405280156132f4578160200160208202803683370190505b50905060005b8281101561334457600061330e85836136ce565b90508083838151811061332357613323613c53565b6001600160a01b0390921660209283029190910190910152506001016132fa565b50949350505050565b6000805160206140f983398151915254600082900361337f5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461346c57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101613434565b508160000361348d57604051622e076360e81b815260040160405180910390fd5b6000805160206140f98339815191525550505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906134d89033908990889088906004016140aa565b6020604051808303816000875af1925050508015613513575060408051601f3d908101601f19168201909252613510918101906140dd565b60015b613571573d808015613541576040519150601f19603f3d011682016040523d82523d6000602084013e613546565b606091505b508051600003613569576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610c79565b6060816000018054806020026020016040519081016040528092919081815260200182805480156135db57602002820191906000526020600020905b8154815260200190600101908083116135c7575b50505050509050919050565b606081600001805480602002602001604051908101604052809291908181526020016000905b828210156136b957838290600052602060002001805461362c906139e3565b80601f0160208091040260200160405190810160405280929190818152602001828054613658906139e3565b80156136a55780601f1061367a576101008083540402835291602001916136a5565b820191906000526020600020905b81548152906001019060200180831161368857829003601f168201915b50505050508152602001906001019061360d565b505050509050919050565b600061053f825490565b60006118a9838360008260000182815481106136ec576136ec613c53565b9060005260206000200154905092915050565b6000806020838503121561371257600080fd5b82356001600160401b038082111561372957600080fd5b818501915085601f83011261373d57600080fd5b81358181111561374c57600080fd5b86602082850101111561375e57600080fd5b60209290920196919550909350505050565b60006020828403121561378257600080fd5b5035919050565b6001600160a01b03811681146108d857600080fd5b6000602082840312156137b057600080fd5b81356118a981613789565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156137f3576137f36137bb565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613821576138216137bb565b604052919050565b60006001600160401b03821115613842576138426137bb565b50601f01601f191660200190565b6000806040838503121561386357600080fd5b823561386e81613789565b91506020838101356001600160401b038082111561388b57600080fd5b908501906060828803121561389f57600080fd5b6138a76137d1565b82356138b281613789565b8152828401356138c181613789565b818501526040830135828111156138d757600080fd5b80840193505087601f8401126138ec57600080fd5b823591506139016138fc83613829565b6137f9565b828152888584860101111561391557600080fd5b8285850186830137600085848301015280604083015250809450505050509250929050565b60005b8381101561395557818101518382015260200161393d565b50506000910152565b6000815180845261397681602086016020860161393a565b601f01601f19169290920160200192915050565b6020815260006118a9602083018461395e565b634e487b7160e01b600052601160045260246000fd5b8181038181111561053f5761053f61399d565b6000602082840312156139d857600080fd5b81516118a981613789565b600181811c908216806139f757607f821691505b602082108103611eab57634e487b7160e01b600052602260045260246000fd5b601f821115611d55576000816000526020600020601f850160051c81016020861015613a405750805b601f850160051c820191505b81811015613a5f57828155600101613a4c565b505050505050565b81516001600160401b03811115613a8057613a806137bb565b613a9481613a8e84546139e3565b84613a17565b602080601f831160018114613ac95760008415613ab15750858301515b600019600386901b1c1916600185901b178555613a5f565b600085815260208120601f198616915b82811015613af857888601518255948401946001909101908401613ad9565b5085821015613b165787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215613b3857600080fd5b5051919050565b60208152600060018060a01b03808451166020840152806020850151166040840152506040830151606080840152610c79608084018261395e565b600060208284031215613b8c57600080fd5b81516001600160401b03811681146118a957600080fd5b8082018082111561053f5761053f61399d565b6001600160401b03818116838216019080821115613bd657613bd661399d565b5092915050565b80518015158114613bed57600080fd5b919050565b600060208284031215613c0457600080fd5b6118a982613bdd565b6001600160e01b0319851681526001600160a01b03848116602083015283166040820152608060608201819052600090613c499083018461395e565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b60008251613c7b81846020870161393a565b9190910192915050565b80516020808301519190811015611eab5760001960209190910360031b1b16919050565b60008151808452602080850194506020840160005b83811015613ce35781516001600160a01b031687529582019590820190600101613cbe565b509495945050505050565b838152606060208201526000613d076060830185613ca9565b9050826040830152949350505050565b80516001600160e01b031981168114613bed57600080fd5b6000613d3d6138fc84613829565b9050828152838383011115613d5157600080fd5b6118a983602083018461393a565b60008060008060808587031215613d7557600080fd5b613d7e85613d17565b93506020850151613d8e81613789565b6040860151909350613d9f81613789565b60608601519092506001600160401b03811115613dbb57600080fd5b8501601f81018713613dcc57600080fd5b613ddb87825160208401613d2f565b91505092959194509250565b600060208284031215613df957600080fd5b81516001600160401b0380821115613e1057600080fd5b9083019060608286031215613e2457600080fd5b613e2c6137d1565b8251613e3781613789565b81526020830151613e4781613789565b6020820152604083015182811115613e5e57600080fd5b80840193505085601f840112613e7357600080fd5b613e8286845160208601613d2f565b604082015295945050505050565b600060208284031215613ea257600080fd5b815161ffff811681146118a957600080fd5b600060018201613ec657613ec661399d565b5060010190565b60006020808385031215613ee057600080fd5b82516001600160401b0380821115613ef757600080fd5b818501915085601f830112613f0b57600080fd5b815181811115613f1d57613f1d6137bb565b8060051b9150613f2e8483016137f9565b8181529183018401918481019088841115613f4857600080fd5b938501935b83851015613f725784519250613f6283613789565b8282529385019390850190613f4d565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b60018060a01b0385168152836020820152826040820152608060608201526000613c496080830184613ca9565b600060028410613fe157634e487b7160e01b600052602160045260246000fd5b83825260406020830152610c79604083018461395e565b60006080828403121561400a57600080fd5b604051608081018181106001600160401b038211171561402c5761402c6137bb565b604052825161403a81613789565b8152602083015161404a81613789565b60208201526040838101519082015261406560608401613bdd565b60608201529392505050565b808202811582820484141761053f5761053f61399d565b6000826140a557634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613c499083018461395e565b6000602082840312156140ef57600080fd5b6118a982613d1756fe6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0034516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0034516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e01","sourceMap":"491:6640:245:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;491:6640:245;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;491:6640:245;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061011f5760003560e01c8063706b8e09116100a057806393b13cb71161006457806393b13cb71461031557806395d600c81461033757806397fb7c1e1461034c578063df9a9fe61461036c578063e847abdd1461038c57600080fd5b8063706b8e091461029857806379dda585146102ad5780637c9669ac146102c25780638120f0ba146102d55780638c625b061461030257600080fd5b80635803909f116100e75780635803909f146101f85780635becd24a14610218578063657e45e814610238578063686f76841461026557806369d5f38a1461027857600080fd5b80630ef1be5f146101245780631278076a1461014657806317c957091461016e5780633e9491a2146101c357806351cff8d9146101d8575b600080fd5b34801561013057600080fd5b5061014461013f3660046136ff565b6103a1565b005b34801561015257600080fd5b5061015b610424565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5061015b610189366004613770565b60009081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060205260409020546001600160401b031690565b3480156101cf57600080fd5b5061015b61043b565b3480156101e457600080fd5b506101446101f336600461379e565b610445565b34801561020457600080fd5b5061015b610213366004613770565b61052c565b34801561022457600080fd5b50610144610233366004613770565b610545565b34801561024457600080fd5b5061024d6105ca565b6040516001600160a01b039091168152602001610165565b610144610273366004613850565b6105d4565b34801561028457600080fd5b50610144610293366004613770565b610619565b3480156102a457600080fd5b5061015b6106c7565b3480156102b957600080fd5b5061024d6106d1565b6101446102d0366004613770565b6106db565b3480156102e157600080fd5b506102ea610814565b6040516001600160401b039091168152602001610165565b61014461031036600461379e565b61081e565b34801561032157600080fd5b5061032a61086f565b604051610165919061398a565b34801561034357600080fd5b5061015b610879565b34801561035857600080fd5b50610144610367366004613770565b610883565b34801561037857600080fd5b5061014461038736600461379e565b6108db565b34801561039857600080fd5b5061024d610928565b6103a9610932565b6001600160a01b0316336001600160a01b0316146103e1576040516365f4906560e01b81523360048201526024015b60405180910390fd5b61042082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109cf92505050565b5050565b60006104366104316109e6565b610a1c565b905090565b6000610436610ba8565b61044d610932565b6001600160a01b0316336001600160a01b031614610480576040516365f4906560e01b81523360048201526024016103d8565b3068929eee149b4bd21268540361049f5763ab143c066000526004601cfd5b3068929eee149b4bd21268556001600160a01b0381166104d257604051635fbd571760e01b815260040160405180910390fd5b60006104dc610ba8565b9050806000036104ff57604051635894b54560e11b815260040160405180910390fd5b6105096000610bbb565b61051c610514610bcb565b308484610be7565b503868929eee149b4bd212685550565b600061053f8261053a6109e6565b610c33565b92915050565b61054d610932565b6001600160a01b0316336001600160a01b031614610580576040516365f4906560e01b81523360048201526024016103d8565b600061058a610c81565b9050801580159061059a57508082115b156105b85760405163c3983b9160e01b815260040160405180910390fd5b6105c182610c94565b61042082610d39565b6000610436610bcb565b3068929eee149b4bd2126854036105f35763ab143c066000526004601cfd5b3068929eee149b4bd21268556106098282610d8b565b3868929eee149b4bd21268555050565b610621610932565b6001600160a01b0316336001600160a01b031614610654576040516365f4906560e01b81523360048201526024016103d8565b61065d81610ef3565b610665610f81565b6001600160a01b03166391b7f5ed826040518263ffffffff1660e01b815260040161069291815260200190565b600060405180830381600087803b1580156106ac57600080fd5b505af11580156106c0573d6000803e3d6000fd5b5050505050565b6000610436610f9d565b600061043661103a565b3068929eee149b4bd2126854036106fa5763ab143c066000526004601cfd5b3068929eee149b4bd2126855600061071182611056565b90506001600160a01b03811661073a57604051635fbd571760e01b815260040160405180910390fd5b60008281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060205260409020546001600160401b0316610779611061565b6001600160401b031661078c42836139b3565b106107aa5760405163dce9a1d360e01b815260040160405180910390fd5b60006107b88461053a6109e6565b905080156107f15760006107cc84836110e7565b905060006107da82846139b3565b905080156107ee576107ec8582611193565b505b50505b610802846107fd611061565b611331565b5050503868929eee149b4bd212685550565b6000610436611061565b3068929eee149b4bd21268540361083d5763ab143c066000526004601cfd5b3068929eee149b4bd21268556040805160608082018352600080835260208301529181019190915261051c8282610d8b565b60606104366113fa565b6000610436610c81565b61088b610932565b6001600160a01b0316336001600160a01b0316146108be576040516365f4906560e01b81523360048201526024016103d8565b6108cf816108ca6109e6565b611495565b6108d8816114b6565b50565b6108e3610932565b6001600160a01b0316336001600160a01b031614610916576040516365f4906560e01b81523360048201526024016103d8565b61091f816114c6565b6108d88161157e565b6000610436610f81565b6000807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040516331a9108f60e11b815260048101919091529192506001600160a01b031690636352211e90602401602060405180830381865afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c991906139c6565b91505090565b806109d86115ab565b600c01906104209082613a67565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01546000805160206140f9833981519152540390565b600080610a276115ab565b90506000610a33610f9d565b6008830154604051635cf4ee9160e01b815260048101839052602481018790529192506000916001600160a01b0390911690635cf4ee9190604401602060405180830381865afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf9190613b26565b90506000610abb61103a565b90506000816001600160a01b0316631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190613b26565b90506000826001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190613b26565b905081841015610b9c57979650505050505050565b50919695505050505050565b6000610bb26115ab565b600a0154905090565b80610bc46115ab565b600a015550565b6000610bd56115ab565b600401546001600160a01b0316919050565b8015610c2d5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601610c2157610c1c82826115cf565b610c2d565b610c2d848484846115e2565b50505050565b600080610c3e6115ab565b600085815260098201602052604090205490915015610c7057600084815260099091016020526040902054905061053f565b610c7983610a1c565b949350505050565b6000610c8b6115ab565b60030154905090565b6000610c9e6115ab565b90508060060160009054906101000a90046001600160a01b03166001600160a01b0316632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d199190613b26565b8211156104205760405163c3983b9160e01b815260040160405180910390fd5b6000610d436115ab565b60078101839055600d8101805460ff1916600117905560405190915082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f90600090a25050565b610d9482611635565b610d9c61169e565b610da682826116d2565b336000610db283611733565b9050600081610de05783604051602001610dcc9190613b3f565b604051602081830303815290604052610df1565b604051806020016040528060008152505b9050600082610e0757631a1bdda160e21b610e10565b6346312d8360e11b5b90506000610e2a87610e2484888b8861176a565b3461179c565b9050600080610e3989846118b0565b9150915080610ee8578115610e90576000610e52611acf565b90508015610e77578615610e6e57610e6984611b2a565b610e81565b610e6984611bf4565b610e818489611d1e565b610e8a8a611d5a565b50610ee8565b610ea98360405180602001604052806000815250611dcb565b610eb38388611d1e565b6040516001600160a01b038a16907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f90600090a25b505050505050505050565b6000610efd61103a565b6001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613b26565b90508082101561042057604051631a23d64760e11b815260040160405180910390fd5b6000610f8b6115ab565b600801546001600160a01b0316919050565b600080610fa86115ab565b600d81015490915060ff1615610fc15760070154919050565b8060060160009054906101000a90046001600160a01b03166001600160a01b0316632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190613b26565b60006110446115ab565b600601546001600160a01b0316919050565b600061053f82611e12565b60008061106c6115ab565b90508060060160009054906101000a90046001600160a01b03166001600160a01b0316638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190613b7a565b6000806110f26115ab565b6006810154600480830154604080516301332c8360e61b815290519495506001600160a01b039384169493909116926000928592634ccb20c092818301926020928290030181865afa15801561114c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117091906139c6565b905061117b86611ecb565b945061118982888388610be7565b5050505092915050565b60008061119e6115ab565b905060006111aa610bcb565b905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016111f5578382600a0160008282546111e59190613ba3565b9091555084935061053f92505050565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112629190613b26565b905061127083883089610be7565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156112b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112db9190613b26565b905060006112e983836139b3565b905087811461130b57604051635894b54560e11b815260040160405180910390fd5b8086600a01600082825461131f9190613ba3565b90915550909998505050505050505050565b60008281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce006020819052604082205490916001600160401b0390911690818103611387576113808442613bb6565b9050611394565b6113918483613bb6565b90505b60008581526020848152604091829020805467ffffffffffffffff19166001600160401b038516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b60606114046115ab565b600c018054611412906139e3565b80601f016020809104026020016040519081016040528092919081815260200182805461143e906139e3565b801561148b5780601f106114605761010080835404028352916020019161148b565b820191906000526020600020905b81548152906001019060200180831161146e57829003601f168201915b5050505050905090565b8082101561042057604051636664d51760e11b815260040160405180910390fd5b806114bf6115ab565b6003015550565b6001600160a01b0381166114ed57604051630e88bf4b60e01b815260040160405180910390fd5b6114f561103a565b6040516346fc05eb60e11b81526001600160a01b0383811660048301529190911690638df80bd690602401602060405180830381865afa15801561153d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115619190613bf2565b6108d857604051630e88bf4b60e01b815260040160405180910390fd5b806115876115ab565b60080180546001600160a01b0319166001600160a01b039290921691909117905550565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60090565b6104206001600160a01b0383168261202c565b816001600160a01b0316836001600160a01b03160315610c2d57306001600160a01b0384160361162057610c1c6001600160a01b0385168383612048565b610c2d6001600160a01b038516848484612098565b6001600160a01b03811661165c57604051635fbd571760e01b815260040160405180910390fd5b611664610c81565b158015906116805750611675610c81565b61167d6109e6565b10155b156108d857604051637efcdb4960e01b815260040160405180910390fd5b34156116d05760006116ae6120f6565b90508034146108d8576040516334a7a93d60e01b815260040160405180910390fd5b565b60208101516001600160a01b03161561042057816001600160a01b031681602001516001600160a01b03161480611715575060208101516001600160a01b031633145b1561042057604051635fbd571760e01b815260040160405180910390fd5b80516000906001600160a01b0316158015611759575060208201516001600160a01b0316155b801561053f57505060400151511590565b6060848484846040516020016117839493929190613c0d565b6040516020818303038152906040529050949350505050565b6040516bffffffffffffffffffffffff19606085901b1660208201524360348201526000908190605401604051602081830303815290604052805190602001209050600061185e8261183284896117f28761214d565b604080516020808201959095526001600160a01b039390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b9050600061186b82612182565b51111561188b5760405163f82e65c360e01b815260040160405180910390fd5b6118958186611dcb565b83156118a5576118a58185612253565b9150505b9392505050565b60008060006118df604051806040016040528060098152602001684a6f696e537061636560b81b8152506122d9565b905060006118ec8661247b565b825190915060005b81811015611ac357600084828151811061191057611910613c53565b6020026020010151905080604001511561192a5750611abb565b60005b816080015151811015611ab85760008260800151828151811061195257611952613c53565b60200260200101519050806001600160a01b0316630cf0b5336000801b88604051806040016040528060098152602001684a6f696e537061636560b81b8152506040516020016119a29190613c69565b6040516020818303038152906040526119ba90613c85565b6040518463ffffffff1660e01b81526004016119d893929190613cee565b602060405180830381865afa1580156119f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a199190613bf2565b15611a3357506001975060009650611ac895505050505050565b806001600160a01b0316632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a959190613bf2565b15611aaf57611aaa8b8b8386600001516126e3565b600197505b5060010161192d565b50505b6001016118f4565b505050505b9250929050565b600080611ada6109e6565b90506000611ae6610f9d565b90506000611af26129d0565b905082821115611b06576000935050505090565b8015611b2057611b1660016129fa565b6000935050505090565b6001935050505090565b6000818152600080516020614139833981519152602052604081205490819003611b6757604051635894b54560e11b815260040160405180910390fd5b6000806000611b7585612182565b806020019051810190611b889190613d5f565b50919450925090506001600160e01b031983166346312d8360e11b14611bc15760405163da6153bd60e01b815260040160405180910390fd5b6000611bcd83866110e7565b90506000611bdb82876139b3565b9050611beb878585898587612a38565b50505050505050565b6000818152600080516020614139833981519152602052604081205490819003611c3157604051635894b54560e11b815260040160405180910390fd5b600080600080611c4086612182565b806020019051810190611c539190613d5f565b929650909450925090506001600160e01b03198416631a1bdda160e21b14611c8e5760405163da6153bd60e01b815260040160405180910390fd5b600081806020019051810190611ca49190613de7565b90506000611cb285886110e7565b90506000611cc58684600001518a612c6b565b90506000611cdd87856020015186604001518c612d47565b905060008183611ced868d6139b3565b611cf791906139b3565b611d0191906139b3565b9050611d118b89898d8589612a38565b5050505050505050505050565b600082815260008051602061413983398151915260205260409020548015611d5557611d4a8382612e34565b611d55610514610bcb565b505050565b6000611d64612e6f565b9050611d7a81611d756104316109e6565b612e85565b611d85826001612ea5565b611d91816107fd611061565b60405181906001600160a01b038416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b57690600090a35050565b60008281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040902060008051602061411983398151915290610c2d8382613a67565b60008181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054906000805160206140f983398151915290600160e01b83169003611eb15781600003611eab5780548310611e8757604051636f96cda160e11b815260040160405180910390fd5b5b600019909201600081815260048401602052604090205490929091508115611e88575b50919050565b50604051636f96cda160e11b815260040160405180910390fd5b600080611ed661103a565b90506000816001600160a01b0316631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3c9190613b26565b90506000826001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa29190613b26565b905081851015611fb457949350505050565b61202385846001600160a01b0316639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201a9190613e90565b61ffff16612ebf565b95945050505050565b60003860003884865af16104205763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af1806001600051141661208d57803d853b15171061208d576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af180600160005114166120e757803d873b1517106120e757637939f4246000526004601cfd5b50600060605260405250505050565b6000806121016129d0565b9050801561211157600091505090565b600061211e6104316109e6565b9050806000036121315760009250505090565b600061213c82611ecb565b828118908310029091189392505050565b60008181526000805160206141198339815191526020819052604082208054908361217783613eb4565b909155509392505050565b60008181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090208054606091600080516020614119833981519152916121cd906139e3565b80601f01602080910402602001604051908101604052809291908181526020018280546121f9906139e3565b80156122465780601f1061221b57610100808354040283529160200191612246565b820191906000526020600020905b81548152906001019060200180831161222957829003601f168201915b5050505050915050919050565b806000036122745760405163acdc0d4960e01b815260040160405180910390fd5b8034146122945760405163acdc0d4960e01b815260040160405180910390fd5b6000828152600080516020614139833981519152602052604081208054600080516020614119833981519152928492916122cf908490613ba3565b9091555050505050565b606060006122e5612f34565b80519091506000816001600160401b03811115612304576123046137bb565b60405190808252806020026020018201604052801561236957816020015b6123566040518060a00160405280600081526020016060815260200160001515815260200160608152602001606081525090565b8152602001906001900390816123225790505b5085516020870120909150600090815b8481101561246f576000806000806123a98a868151811061239c5761239c613c53565b6020026020010151612f5f565b935093509350935060005b825181101561245e57868382815181106123d0576123d0613c53565b60200260200101518051906020012003612456576040518060a001604052808c888151811061240157612401613c53565b6020026020010151815260200186815260200185151581526020018481526020018381525089898151811061243857612438613c53565b6020026020010181905250878061244e90613eb4565b98505061245e565b6001016123b4565b505060019093019250612379915050565b50508152949350505050565b606060006124876115ab565b6006015460405162468b7360e31b81526001600160a01b038581166004830152909116915060009082906302345b9890602401600060405180830381865afa1580156124d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124ff9190810190613ecd565b604051631f04207360e31b81526001600160a01b03868116600483015291925060009184169063f821039890602401602060405180830381865afa15801561254b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256f91906139c6565b90508151600014801561258a57506001600160a01b03811615155b156126045760405162468b7360e31b81526001600160a01b03808316600483015291955085918416906302345b9890602401600060405180830381865afa1580156125d9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126019190810190613ecd565b91505b81516000612613826001613ba3565b6001600160401b0381111561262a5761262a6137bb565b604051908082528060200260200182016040528015612653578160200160208202803683370190505b50905060005b828110156126ad5784818151811061267357612673613c53565b602002602001015182828151811061268d5761268d613c53565b6001600160a01b0390921660209283029190910190910152600101612659565b50868183815181106126c1576126c1613c53565b6001600160a01b03909216602092830291909101909101529695505050505050565b60008381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040902080547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00919060ff161561279757600481015460005b81811015612794578483600401828154811061276357612763613c53565b90600052602060002001540361278c576040516301ab53df60e31b815260040160405180910390fd5b600101612745565b50505b81546001600160a01b03166127ae576127ae613081565b8154604051634f84544560e01b8152600560048201526000916001600160a01b031690634f84544590602401600060405180830381865afa1580156127f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261281f9190810190613ecd565b825490915060ff1661286a5781546003830180546001600160a01b038089166001600160a01b0319909216919091179091558816610100026001600160a81b03199091161760011782555b600482018054600181810183556000928352602080842090920187905583518784529085019091526040822090915b8281101561295d578160405180604001604052808684815181106128bf576128bf613c53565b60200260200101516001600160a01b03168152602001600060028111156128e8576128e8613f7e565b9052815460018101835560009283526020928390208251910180546001600160a01b031981166001600160a01b03909316928317825593830151929390929183916001600160a81b03191617600160a01b83600281111561294b5761294b613f7e565b02179055505050806001019050612899565b50845460405163541da4e560e01b81526001600160a01b039091169063541da4e590612993908c908c908b908990600401613f94565b600060405180830381600087803b1580156129ad57600080fd5b505af11580156129c1573d6000803e3d6000fd5b50505050505050505050505050565b60007f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005b54919050565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c00805482908290600090612a2f9084906139b3565b90915550505050565b8115612a4a57612a488583611193565b505b612a548684612e34565b612a6d8660405180602001604052806000815250611dcb565b6000612a7761103a565b604051628956cd60e71b81526b0526976657241697264726f760a41b60048201526001600160a01b0391909116906344ab668090602401602060405180830381865afa158015612acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aef91906139c6565b90506000816001600160a01b031663dc69fdde600085604051602001612b1791815260200190565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401612b43929190613fc1565b602060405180830381865afa158015612b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b849190613b26565b6040516340c10f1960e01b81526001600160a01b03888116600483015260248201839052919250908316906340c10f1990604401600060405180830381600087803b158015612bd257600080fd5b505af1158015612be6573d6000803e3d6000fd5b50505050816001600160a01b03166340c10f19612c01610932565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015612c4957600080fd5b505af1158015612c5d573d6000803e3d6000fd5b505050505050505050505050565b60006001600160a01b038316612c83575060006118a9565b6000612c8d61103a565b604051630b969ea960e31b81526001600160a01b0386811660048301529190911690635cb4f54890602401608060405180830381865afa158015612cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf99190613ff8565b90508060400151600003612d115760009150506118a9565b604081015160208201516000612d278684612ebf565b9050612d3c612d34610bcb565b898484610be7565b979650505050505050565b6000808351600014612dbc576000612d5e85613147565b60408101519091506001600160a01b03161580612d7d57506020810151155b15612d8d57600092505050610c79565b6020810151612d9c8582612ebf565b9250612db5612da9610bcb565b89846040015186610be7565b5050612023565b6001600160a01b0385161561202357856001600160a01b0316856001600160a01b031603612dee576000915050610c79565b612e1f83612e1a7faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b612ebf565b9050612023612e2c610bcb565b878784610be7565b6000828152600080516020614139833981519152602052604081208054600080516020614119833981519152928492916122cf9084906139b3565b60006000805160206140f98339815191526129f4565b80612e8e6115ab565b600093845260090160205260409092209190915550565b6104208282604051806020016040528060008152506131d8565b6000612710821115612f1d5760405162461bcd60e51b815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f30306044820152600360fc1b60648201526084016103d8565b612710612f2a8385614071565b6118a99190614088565b60606104367f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01613258565b60008181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260408120805460609291839182917f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0091612fc1906139e3565b80601f0160208091040260200160405190810160405280929190818152602001828054612fed906139e3565b801561303a5780601f1061300f5761010080835404028352916020019161303a565b820191906000526020600020905b81548152906001019060200180831161301d57829003601f168201915b50505060008981526003850160205260409020600181015493985060ff909316965061306c9260020191506132659050565b925061307786613270565b9150509193509193565b7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0060006130ac6115ab565b60060154604051628956cd60e71b81526c29b830b1b2a7b832b930ba37b960991b60048201526001600160a01b03909116906344ab668090602401602060405180830381865afa158015613104573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312891906139c6565b82546001600160a01b0319166001600160a01b03919091161790915550565b6131746040518060600160405280606081526020016000815260200160006001600160a01b031681525090565b50805160208083019190912060009081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e900802825260409081902081516060810183529384528054928401929092526001909101546001600160a01b03169082015290565b6131e2838361334d565b6001600160a01b0383163b15611d55576000805160206140f9833981519152548281035b61321960008683806001019450866134a3565b613236576040516368d2bf6b60e11b815260040160405180910390fd5b81811061320657816000805160206140f983398151915254146106c057600080fd5b606060006118a98361358b565b606061053f826135e7565b60008181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604081206060916004909101906132af826136c4565b90506000816001600160401b038111156132cb576132cb6137bb565b6040519080825280602002602001820160405280156132f4578160200160208202803683370190505b50905060005b8281101561334457600061330e85836136ce565b90508083838151811061332357613323613c53565b6001600160a01b0390921660209283029190910190910152506001016132fa565b50949350505050565b6000805160206140f983398151915254600082900361337f5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461346c57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101613434565b508160000361348d57604051622e076360e81b815260040160405180910390fd5b6000805160206140f98339815191525550505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906134d89033908990889088906004016140aa565b6020604051808303816000875af1925050508015613513575060408051601f3d908101601f19168201909252613510918101906140dd565b60015b613571573d808015613541576040519150601f19603f3d011682016040523d82523d6000602084013e613546565b606091505b508051600003613569576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610c79565b6060816000018054806020026020016040519081016040528092919081815260200182805480156135db57602002820191906000526020600020905b8154815260200190600101908083116135c7575b50505050509050919050565b606081600001805480602002602001604051908101604052809291908181526020016000905b828210156136b957838290600052602060002001805461362c906139e3565b80601f0160208091040260200160405190810160405280929190818152602001828054613658906139e3565b80156136a55780601f1061367a576101008083540402835291602001916136a5565b820191906000526020600020905b81548152906001019060200180831161368857829003601f168201915b50505050508152602001906001019061360d565b505050509050919050565b600061053f825490565b60006118a9838360008260000182815481106136ec576136ec613c53565b9060005260206000200154905092915050565b6000806020838503121561371257600080fd5b82356001600160401b038082111561372957600080fd5b818501915085601f83011261373d57600080fd5b81358181111561374c57600080fd5b86602082850101111561375e57600080fd5b60209290920196919550909350505050565b60006020828403121561378257600080fd5b5035919050565b6001600160a01b03811681146108d857600080fd5b6000602082840312156137b057600080fd5b81356118a981613789565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156137f3576137f36137bb565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613821576138216137bb565b604052919050565b60006001600160401b03821115613842576138426137bb565b50601f01601f191660200190565b6000806040838503121561386357600080fd5b823561386e81613789565b91506020838101356001600160401b038082111561388b57600080fd5b908501906060828803121561389f57600080fd5b6138a76137d1565b82356138b281613789565b8152828401356138c181613789565b818501526040830135828111156138d757600080fd5b80840193505087601f8401126138ec57600080fd5b823591506139016138fc83613829565b6137f9565b828152888584860101111561391557600080fd5b8285850186830137600085848301015280604083015250809450505050509250929050565b60005b8381101561395557818101518382015260200161393d565b50506000910152565b6000815180845261397681602086016020860161393a565b601f01601f19169290920160200192915050565b6020815260006118a9602083018461395e565b634e487b7160e01b600052601160045260246000fd5b8181038181111561053f5761053f61399d565b6000602082840312156139d857600080fd5b81516118a981613789565b600181811c908216806139f757607f821691505b602082108103611eab57634e487b7160e01b600052602260045260246000fd5b601f821115611d55576000816000526020600020601f850160051c81016020861015613a405750805b601f850160051c820191505b81811015613a5f57828155600101613a4c565b505050505050565b81516001600160401b03811115613a8057613a806137bb565b613a9481613a8e84546139e3565b84613a17565b602080601f831160018114613ac95760008415613ab15750858301515b600019600386901b1c1916600185901b178555613a5f565b600085815260208120601f198616915b82811015613af857888601518255948401946001909101908401613ad9565b5085821015613b165787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215613b3857600080fd5b5051919050565b60208152600060018060a01b03808451166020840152806020850151166040840152506040830151606080840152610c79608084018261395e565b600060208284031215613b8c57600080fd5b81516001600160401b03811681146118a957600080fd5b8082018082111561053f5761053f61399d565b6001600160401b03818116838216019080821115613bd657613bd661399d565b5092915050565b80518015158114613bed57600080fd5b919050565b600060208284031215613c0457600080fd5b6118a982613bdd565b6001600160e01b0319851681526001600160a01b03848116602083015283166040820152608060608201819052600090613c499083018461395e565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b60008251613c7b81846020870161393a565b9190910192915050565b80516020808301519190811015611eab5760001960209190910360031b1b16919050565b60008151808452602080850194506020840160005b83811015613ce35781516001600160a01b031687529582019590820190600101613cbe565b509495945050505050565b838152606060208201526000613d076060830185613ca9565b9050826040830152949350505050565b80516001600160e01b031981168114613bed57600080fd5b6000613d3d6138fc84613829565b9050828152838383011115613d5157600080fd5b6118a983602083018461393a565b60008060008060808587031215613d7557600080fd5b613d7e85613d17565b93506020850151613d8e81613789565b6040860151909350613d9f81613789565b60608601519092506001600160401b03811115613dbb57600080fd5b8501601f81018713613dcc57600080fd5b613ddb87825160208401613d2f565b91505092959194509250565b600060208284031215613df957600080fd5b81516001600160401b0380821115613e1057600080fd5b9083019060608286031215613e2457600080fd5b613e2c6137d1565b8251613e3781613789565b81526020830151613e4781613789565b6020820152604083015182811115613e5e57600080fd5b80840193505085601f840112613e7357600080fd5b613e8286845160208601613d2f565b604082015295945050505050565b600060208284031215613ea257600080fd5b815161ffff811681146118a957600080fd5b600060018201613ec657613ec661399d565b5060010190565b60006020808385031215613ee057600080fd5b82516001600160401b0380821115613ef757600080fd5b818501915085601f830112613f0b57600080fd5b815181811115613f1d57613f1d6137bb565b8060051b9150613f2e8483016137f9565b8181529183018401918481019088841115613f4857600080fd5b938501935b83851015613f725784519250613f6283613789565b8282529385019390850190613f4d565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b60018060a01b0385168152836020820152826040820152608060608201526000613c496080830184613ca9565b600060028410613fe157634e487b7160e01b600052602160045260246000fd5b83825260406020830152610c79604083018461395e565b60006080828403121561400a57600080fd5b604051608081018181106001600160401b038211171561402c5761402c6137bb565b604052825161403a81613789565b8152602083015161404a81613789565b60208201526040838101519082015261406560608401613bdd565b60608201529392505050565b808202811582820484141761053f5761053f61399d565b6000826140a557634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613c499083018461395e565b6000602082840312156140ef57600080fd5b6118a982613d1756fe6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0034516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0034516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e01","sourceMap":"491:6640:245:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6602:113;;;;;;;;;;-1:-1:-1;6602:113:245;;;;;:::i;:::-;;:::i;:::-;;4394:115;;;;;;;;;;;;;:::i;:::-;;;757:25:654;;;745:2;730:18;4394:115:245;;;;;;;;3048:105;;;;;;;;;;-1:-1:-1;3048:105:245;;;;;:::i;:::-;3107:7;1083:43:154;;;290:66:155;1083:43:154;;;;;;-1:-1:-1;;;;;1083:43:154;;3048:105:245;1309:89;;;;;;;;;;;;;:::i;785:490::-;;;;;;;;;;-1:-1:-1;785:490:245;;;;;:::i;:::-;;:::i;4543:161::-;;;;;;;;;;-1:-1:-1;4543:161:245;;;;;:::i;:::-;;:::i;4914:528::-;;;;;;;;;;-1:-1:-1;4914:528:245;;;;;:::i;:::-;;:::i;6320:107::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1530:32:654;;;1512:51;;1500:2;1485:18;6320:107:245;1366:203:654;1802:175:245;;;;;;:::i;:::-;;:::i;4198:162::-;;;;;;;;;;-1:-1:-1;4198:162:245;;;;;:::i;:::-;;:::i;5476:119::-;;;;;;;;;;;;;:::i;7034:95::-;;;;;;;;;;;;;:::i;2185:829::-;;;;;;:::i;:::-;;:::i;3362:106::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3998:31:654;;;3980:50;;3968:2;3953:18;3362:106:245;3836:200:654;1603:165:245;;;;;;:::i;:::-;;:::i;6719:107::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6004:::-;;;;;;;;;;;;;:::i;5811:159::-;;;;;;;;;;-1:-1:-1;5811:159:245;;;;;:::i;:::-;;:::i;3679:170::-;;;;;;;;;;-1:-1:-1;3679:170:245;;;;;:::i;:::-;;:::i;3883:107::-;;;;;;;;;;;;;:::i;6602:113::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;;;;;;;;623:79;6681:29:245::1;6701:8;;6681:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;6681:19:245::1;::::0;-1:-1:-1;;;6681:29:245:i:1;:::-;6602:113:::0;;:::o;4394:115::-;4447:7;4469:35;4489:14;:12;:14::i;:::-;4469:19;:35::i;:::-;4462:42;;4394:115;:::o;1309:89::-;1351:7;1373:20;:18;:20::i;785:490::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;1366:203:654;623:79:572;1635:9:649::1;1610:22;1604:29;1601:44:::0;1598:158:::1;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41:::0;-1:-1:-1;;;;;862:21:245;::::2;858:62;;892:28;;-1:-1:-1::0;;;892:28:245::2;;;;;;;;;;;858:62;950:15;968:20;:18;:20::i;:::-;950:38;;1034:7;1045:1;1034:12:::0;1030:58:::2;;1055:33;;-1:-1:-1::0;;;1055:33:245::2;;;;;;;;;;;1030:58;1120:21;1139:1;1120:18;:21::i;:::-;1148:122;1189:24;:22;:24::i;:::-;1229:4;1242:7;1257;1148:33;:122::i;:::-;852:423;1937:10:649::1;1913:22;1906:42;785:490:245::0;:::o;4543:161::-;4626:7;4648:51;4675:7;4684:14;:12;:14::i;:::-;4648:26;:51::i;:::-;4641:58;4543:161;-1:-1:-1;;4543:161:245:o;4914:528::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;1366:203:654;623:79:572;5039:26:245::1;5068:27;:25;:27::i;:::-;5039:56:::0;-1:-1:-1;5167:23:245;;;::::1;::::0;:61:::1;;;5210:18;5194:13;:34;5167:61;5163:115;;;5243:35;;-1:-1:-1::0;;;5243:35:245::1;;;;;;;;;;;5163:115;5352:36;5374:13;5352:21;:36::i;:::-;5394:43;5423:13;5394:28;:43::i;6320:107::-:0;6376:7;6398:24;:22;:24::i;1802:175::-;1635:9:649;1610:22;1604:29;1601:44;1598:158;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41;1930:42:245::1;1953:8;1963;1930:22;:42::i;:::-;1937:10:649::0;1913:22;1906:42;1802:175:245;;:::o;4198:162::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;1366:203:654;623:79:572;4269:22:245::1;4282:8;4269:12;:22::i;:::-;4316:19;:17;:19::i;:::-;-1:-1:-1::0;;;;;4297:48:245::1;;4346:8;4297:58;;;;;;;;;;;;;757:25:654::0;;745:2;730:18;;611:177;4297:58:245::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4198:162:::0;:::o;5476:119::-;5538:7;5560:30;:28;:30::i;7034:95::-;7084:7;7106:18;:16;:18::i;2185:829::-;1635:9:649;1610:22;1604:29;1601:44;1598:158;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41;2263:16:245::1;2282:17;2291:7;2282:8;:17::i;:::-;2263:36:::0;-1:-1:-1;;;;;;2310:22:245;::::1;2306:63;;2341:28;;-1:-1:-1::0;;;2341:28:245::1;;;;;;;;;;;2306:63;2433:18;1083:43:154::0;;;290:66:155;1083:43:154;;;;;;-1:-1:-1;;;;;1083:43:154;2515:24:245::1;:22;:24::i;:::-;-1:-1:-1::0;;;;;2483:56:245::1;:28;2496:15;2483:10:::0;:28:::1;:::i;:::-;:56;2479:99;;2554:24;;-1:-1:-1::0;;;2554:24:245::1;;;;;;;;;;;2479:99;2630:23;2656:69;2690:7;2705:14;:12;:14::i;2656:69::-;2630:95:::0;-1:-1:-1;2736:19:245;;2732:218:::1;;2765:19;2787:46;2807:8;2817:15;2787:19;:46::i;:::-;2765:68:::0;-1:-1:-1;2841:15:245::1;2859:29;2765:68:::0;2859:15;:29:::1;:::i;:::-;2841:47:::0;-1:-1:-1;2900:11:245;;2896:47:::1;;2913:30;2925:8;2935:7;2913:11;:30::i;:::-;;2896:47;2757:193;;2732:218;2956:53;2975:7;2984:24;:22;:24::i;:::-;2956:18;:53::i;:::-;2257:757;;;1937:10:649::0;1913:22;1906:42;2185:829:245;:::o;3362:106::-;3418:6;3439:24;:22;:24::i;1603:165::-;1635:9:649;1610:22;1604:29;1601:44;1598:158;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1716:47:245::1;1739:8;1749:13;1716:22;:47::i;6719:107::-:0;6772:13;6800:21;:19;:21::i;6004:107::-;6057:7;6079:27;:25;:27::i;5811:159::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;1366:203:654;623:79:572;5882:42:245::1;5899:8;5909:14;:12;:14::i;:::-;5882:16;:42::i;:::-;5930:35;5956:8;5930:25;:35::i;:::-;5811:159:::0;:::o;3679:170::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;1366:203:654;623:79:572;3771:35:245::1;3792:13;3771:20;:35::i;:::-;3812:32;3830:13;3812:17;:32::i;3883:107::-:0;3944:7;3966:19;:17;:19::i;717:190:572:-;758:13;;295:66:574;868:13:572;;;891:10;;;860:42;;-1:-1:-1;;;860:42:572;;;;;757:25:654;;;;868:13:572;;-1:-1:-1;;;;;;868:13:572;;860:30;;730:18:654;;860:42:572;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;853:49;;;717:190;:::o;9268:120:244:-;9378:5;9333:26;:24;:26::i;:::-;:42;;;:50;;:42;:50;:::i;2978:351:158:-;3256:36;;-1:-1:-1;;;;;;;;;;;3208:37:158;:84;;2978:351::o;5376:661:244:-;5465:7;5480:35;5518:26;:24;:26::i;:::-;5480:64;;5578:22;5603:30;:28;:30::i;:::-;5685:16;;;;5666:92;;-1:-1:-1;;;5666:92:244;;;;;8072:25:654;;;8113:18;;;8106:34;;;5578:55:244;;-1:-1:-1;5640:23:244;;-1:-1:-1;;;;;5685:16:244;;;;5666:45;;8045:18:654;;5666:92:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5640:118;;5765:30;5820:18;:16;:18::i;:::-;5765:74;;5846:16;5865:8;-1:-1:-1;;;;;5865:30:244;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5846:51;;5903:16;5922:8;-1:-1:-1;;;;;5922:25:244;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5903:46;;5978:8;5960:15;:26;5956:47;;;5995:8;5376:661;-1:-1:-1;;;;;;;5376:661:244:o;5956:47::-;-1:-1:-1;6017:15:244;;5376:661;-1:-1:-1;;;;;;5376:661:244:o;3568:119::-;3621:7;3643:26;:24;:26::i;:::-;:39;;;3636:46;;3568:119;:::o;3691:120::-;3796:10;3754:26;:24;:26::i;:::-;:39;;:52;-1:-1:-1;3691:120:244:o;8537:129::-;8594:7;8616:26;:24;:26::i;:::-;:45;;;-1:-1:-1;;;;;8616:45:244;;8537:129;-1:-1:-1;8537:129:244:o;1077:315:332:-;1198:38;;1223:7;1198:38;-1:-1:-1;;;;;;;1246:24:332;;;1242:146;;1280:35;1304:2;1308:6;1280:23;:35::i;:::-;1242:146;;;1336:45;1354:8;1364:4;1370:2;1374:6;1336:17;:45::i;:::-;1077:315;;;;:::o;6218:335:244:-;6327:7;6342:35;6380:26;:24;:26::i;:::-;6453:1;6417:33;;;:24;;;:33;;;;;;6342:64;;-1:-1:-1;6417:37:244;6413:89;;6469:33;;;;:24;;;;:33;;;;;;;-1:-1:-1;6462:40:244;;6413:89;6516:32;6536:11;6516:19;:32::i;:::-;6509:39;6218:335;-1:-1:-1;;;;6218:335:244:o;8226:133::-;8286:7;8308:26;:24;:26::i;:::-;:46;;;8301:53;;8226:133;:::o;6733:362::-;6807:35;6845:26;:24;:26::i;:::-;6807:64;;7000:2;:15;;;;;;;;;;-1:-1:-1;;;;;7000:15:244;-1:-1:-1;;;;;6978:61:244;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6956:13;:85;6945:145;;;7055:35;;-1:-1:-1;;;7055:35:244;;;;;;;;;;;7099:278;7175:35;7213:26;:24;:26::i;:::-;7245:17;;;:33;;;7284:24;;;:31;;-1:-1:-1;;7284:31:244;7311:4;7284:31;;;7326:46;;7175:64;;-1:-1:-1;7265:13:244;;7326:46;;7284:24;;7326:46;7169:208;7099:278;:::o;3011:1377:247:-;3119:28;3138:8;3119:18;:28::i;:::-;3153:18;:16;:18::i;:::-;3177:41;3199:8;3209;3177:21;:41::i;:::-;3241:10;3224:14;3278:24;3293:8;3278:14;:24::i;:::-;3257:45;;3309:25;3337:13;:60;;3388:8;3377:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;3337:60;;;3359:9;;;;;;;;;;;;3337:60;3309:88;;3404:15;3422:13;:103;;-1:-1:-1;;;3422:103:247;;;-1:-1:-1;;;3422:103:247;3404:121;;3532:21;3556:129;3584:8;3600:62;3621:8;3631:6;3639:8;3649:12;3600:20;:62::i;:::-;3670:9;3556:20;:129::i;:::-;3532:153;;3693:15;3710:24;3738:60;3763:8;3779:13;3738:17;:60::i;:::-;3692:106;;;;3810:19;3805:579;;3843:10;3839:539;;;3865:17;3885:27;:25;:27::i;:::-;3865:47;;3926:12;3922:265;;;3956:13;3952:159;;;3985:34;4005:13;3985:19;:34::i;:::-;3922:265;;3952:159;4052:46;4084:13;4052:31;:46::i;3922:265::-;4139:37;4154:13;4169:6;4139:14;:37::i;:::-;4197:21;4209:8;4197:11;:21::i;:::-;3855:372;3839:539;;;4243:31;4256:13;4243:31;;;;;;;;;;;;:12;:31::i;:::-;4284:37;4299:13;4314:6;4284:14;:37::i;:::-;4336:33;;-1:-1:-1;;;;;4336:33:247;;;;;;;;3839:539;3113:1275;;;;;;;3011:1377;;:::o;5100:210:244:-;5160:14;5199:18;:16;:18::i;:::-;-1:-1:-1;;;;;5177:65:244;;:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5160:84;;5265:6;5254:8;:17;5250:55;;;5280:25;;-1:-1:-1;;;5280:25:244;;;;;;;;;;;4804:119;4856:7;4878:26;:24;:26::i;:::-;:40;;;-1:-1:-1;;;;;4878:40:244;;4804:119;-1:-1:-1;4804:119:244:o;7381:285::-;7444:7;7459:35;7497:26;:24;:26::i;:::-;7534:24;;;;7459:64;;-1:-1:-1;7534:24:244;;7530:54;;;7567:17;;;;7381:285;-1:-1:-1;7381:285:244:o;7530:54::-;7620:2;:15;;;;;;;;;;-1:-1:-1;;;;;7620:15:244;-1:-1:-1;;;;;7598:61:244;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8843:117::-;8894:7;8916:26;:24;:26::i;:::-;:39;;;-1:-1:-1;;;;;8916:39:244;;8843:117;-1:-1:-1;8843:117:244:o;22038:138:158:-;22104:7;22142:27;22161:7;22142:18;:27::i;3989:215:244:-;4046:6;4060:35;4098:26;:24;:26::i;:::-;4060:64;;4159:2;:15;;;;;;;;;;-1:-1:-1;;;;;4159:15:244;-1:-1:-1;;;;;4137:60:244;;:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1628:626::-;1727:19;1754:35;1792:26;:24;:26::i;:::-;1879:15;;;;1921:21;;;;;1976:26;;;-1:-1:-1;;;1976:26:244;;;;1879:15;;-1:-1:-1;;;;;;1879:15:244;;;;1921:21;;;;;1824:30;;1879:15;;1976:24;;:26;;;;;;;;;;;1879:15;1976:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1948:54;;2022:32;2038:15;2022;:32::i;:::-;2008:46;;2123:126;2164:8;2180:5;2201:17;2232:11;2123:33;:126::i;:::-;1748:506;;;;1628:626;;;;:::o;2682:882::-;2763:7;2778:35;2816:26;:24;:26::i;:::-;2778:64;;2899:16;2918:24;:22;:24::i;:::-;2899:43;-1:-1:-1;;;;;;;;2953:41:244;;;2949:108;;3023:6;3004:2;:15;;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;3044:6:244;;-1:-1:-1;3037:13:244;;-1:-1:-1;;;3037:13:244;2949:108;3151:30;;-1:-1:-1;;;3151:30:244;;3175:4;3151:30;;;1512:51:654;3112:8:244;;3090:12;;-1:-1:-1;;;;;3151:15:244;;;;;1485:18:654;;3151:30:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3127:54;;3187:72;3221:8;3231:4;3245;3252:6;3187:33;:72::i;:::-;3288:30;;-1:-1:-1;;;3288:30:244;;3312:4;3288:30;;;1512:51:654;3265:20:244;;-1:-1:-1;;;;;3288:15:244;;;;;1485:18:654;;3288:30:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3265:53;-1:-1:-1;3375:19:244;3397:28;3412:13;3265:53;3397:28;:::i;:::-;3375:50;;3450:6;3435:11;:21;3431:67;;3465:33;;-1:-1:-1;;;3465:33:244;;;;;;;;;;;3431:67;3524:11;3505:2;:15;;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;3548:11:244;;2682:882;-1:-1:-1;;;;;;;;;2682:882:244:o;249:588:154:-;326:32;418:22;;;290:66:155;418:22:154;;;;;;;;290:66:155;;-1:-1:-1;;;;;418:22:154;;;;477;;;473:261;;525:34;551:8;532:15;525:34;:::i;:::-;509:50;;473:261;;;699:28;719:8;699:17;:28;:::i;:::-;683:44;;473:261;740:13;:22;;;;;;;;;;;;:38;;-1:-1:-1;;740:38:154;-1:-1:-1;;;;;740:38:154;;;;;;;;790:42;;3980:50:654;;;740:22:154;;790:42;;3953:18:654;790:42:154;;;;;;;320:517;;;249:588;;:::o;9135:129:244:-;9189:13;9217:26;:24;:26::i;:::-;:42;;9210:49;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9135:129;:::o;7851:237::-;8033:11;8022:8;:22;8018:65;;;8053:30;;-1:-1:-1;;;8053:30:244;;;;;;;;;;;8092:130;8209:8;8160:26;:24;:26::i;:::-;:46;;:57;-1:-1:-1;8092:130:244:o;4385:279::-;-1:-1:-1;;;;;4462:27:244;;4458:74;;4498:34;;-1:-1:-1;;;4498:34:244;;;;;;;;;;;4458:74;4560:18;:16;:18::i;:::-;4544:66;;-1:-1:-1;;;4544:66:244;;-1:-1:-1;;;;;1530:32:654;;;4544:66:244;;;1512:51:654;4544::244;;;;;;;1485:18:654;;4544:66:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4539:120;;4625:34;;-1:-1:-1;;;4625:34:244;;;;;;;;;;;4668:132;4779:16;4736:26;:24;:26::i;:::-;:40;;:59;;-1:-1:-1;;;;;;4736:59:244;-1:-1:-1;;;;;4736:59:244;;;;;;;;;;-1:-1:-1;4668:132:244:o;935:139:246:-;287:66;;935:139::o;3165:105:332:-;3240:25;-1:-1:-1;;;;;3240:18:332;;3259:5;3240:18;:25::i;2807:299::-;2938:2;-1:-1:-1;;;;;2930:10:332;:4;-1:-1:-1;;;;;2930:10:332;;2926:37;2950:7;2926:37;2989:4;-1:-1:-1;;;;;2973:21:332;;;2969:133;;3004:30;-1:-1:-1;;;;;3004:18:332;;3023:2;3027:6;3004:18;:30::i;2969:133::-;3055:40;-1:-1:-1;;;;;3055:22:332;;3078:4;3084:2;3088:6;3055:22;:40::i;11586:282:247:-;-1:-1:-1;;;;;11656:22:247;;11652:63;;11687:28;;-1:-1:-1;;;11687:28:247;;;;;;;;;;;11652:63;11732:27;:25;:27::i;:::-;:32;;;;:87;;;11792:27;:25;:27::i;:::-;11774:14;:12;:14::i;:::-;:45;;11732:87;11721:142;;;11833:30;;-1:-1:-1;;;11833:30:247;;;;;;;;;;;5079:207;5131:9;:13;5127:155;;5154:22;5179:20;:18;:20::i;:::-;5154:45;;5224:14;5211:9;:27;5207:68;;5247:28;;-1:-1:-1;;;5247:28:247;;;;;;;;;;;5127:155;5079:207::o;5290:319::-;5406:21;;;;-1:-1:-1;;;;;5406:35:247;;5402:203;;5489:8;-1:-1:-1;;;;;5464:33:247;:8;:21;;;-1:-1:-1;;;;;5464:33:247;;:72;;;-1:-1:-1;5501:21:247;;;;-1:-1:-1;;;;;5501:35:247;5526:10;5501:35;5464:72;5451:148;;;5562:28;;-1:-1:-1;;;5562:28:247;;;;;;;;;;;5613:241;5724:16;;5699:4;;-1:-1:-1;;;;;5724:30:247;;:75;;;;-1:-1:-1;5764:21:247;;;;-1:-1:-1;;;;;5764:35:247;;5724:75;:125;;;;-1:-1:-1;;5815:21:247;;;5809:35;:40;;5613:241::o;2583:235::-;2734:12;2772:8;2782:6;2790:8;2800:12;2761:52;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2754:59;;2583:235;;;;;;:::o;2211:643:225:-;2368:38;;-1:-1:-1;;10555:2:654;10551:15;;;10547:53;2368:38:225;;;10535:66:654;2393:12:225;10617::654;;;10610:28;2325:7:225;;;;10654:12:654;;2368:38:225;;;;;;;;;;;;2358:49;;;;;;2340:67;;2414:21;2438:111;2461:7;2476:67;2499:7;2508:6;2516:26;2534:7;2516:17;:26::i;:::-;1989:37;;;;;;;16584:25:654;;;;-1:-1:-1;;;;;16645:32:654;;;;16625:18;;;16618:60;16694:18;;;;16687:34;;;;1989:37:225;;;;;;;;;;16557:18:654;;;;1989:37:225;;;1979:48;;;;;;1827:206;2476:67;2165:36;;;;;;;16889:19:654;;;;16924:12;;;16917:28;;;;2165:36:225;;;;;;;;;16961:12:654;;;;2165:36:225;;2155:47;;;;;;2037:170;2438:111;2414:135;;2649:1;2608:31;2625:13;2608:16;:31::i;:::-;:38;:42;2604:108;;;2667:38;;-1:-1:-1;;;2667:38:225;;;;;;;;;;;2604:108;2718:33;2731:13;2746:4;2718:12;:33::i;:::-;2761:10;;2757:66;;2781:35;2795:13;2810:5;2781:13;:35::i;:::-;2836:13;-1:-1:-1;;2211:643:225;;;;;;:::o;6355:1084:247:-;6453:15;6470:24;6502:30;6535:58;6566:21;;;;;;;;;;;;;-1:-1:-1;;;6566:21:247;;;6535:23;:58::i;:::-;6502:91;;6599:30;6632:35;6658:8;6632:25;:35::i;:::-;6695:12;;6599:68;;-1:-1:-1;6674:18:247;6714:674;6738:10;6734:1;:14;6714:674;;;6763:16;6782:5;6788:1;6782:8;;;;;;;;:::i;:::-;;;;;;;6763:27;;6802:4;:13;;;6798:27;;;6817:8;;;6798:27;6839:9;6834:548;6858:4;:17;;;:24;6854:1;:28;6834:548;;;6899:24;6939:4;:17;;;6957:1;6939:20;;;;;;;;:::i;:::-;;;;;;;6899:61;;6975:11;-1:-1:-1;;;;;6975:22:247;;1444:3:212;6998:7:247;;7007:13;2240:21;;;;;;;;;;;;;-1:-1:-1;;;2240:21:247;;;2223:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;2215:48;;;:::i;:::-;6975:58;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6971:142;;;-1:-1:-1;7060:4:247;;-1:-1:-1;7096:5:247;;-1:-1:-1;7076:26:247;;-1:-1:-1;;;;;;7076:26:247;6971:142;7127:11;-1:-1:-1;;;;;7127:24:247;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7123:251;;;7167:158;7205:8;7227:13;7279:11;7306:4;:7;;;7167:24;:158::i;:::-;7359:4;7337:26;;7123:251;-1:-1:-1;6884:3:247;;6834:548;;;;6755:633;6714:674;6750:3;;6714:674;;;;7394:40;;;6355:1084;;;;;;:::o;7603:396::-;7658:17;7683:19;7705:14;:12;:14::i;:::-;7683:36;;7725:22;7750:30;:28;:30::i;:::-;7725:55;;7786:21;7810:19;:17;:19::i;:::-;7786:43;;7857:11;7840:14;:28;7836:61;;;7885:5;7878:12;;;;;7603:396;:::o;7836:61::-;7907:17;;7903:74;;7934:16;7948:1;7934:13;:16::i;:::-;7965:5;7958:12;;;;;7603:396;:::o;7903:74::-;7990:4;7983:11;;;;;7603:396;:::o;8150:704::-;8217:15;1396:36:225;;;-1:-1:-1;;;;;;;;;;;1396:36:225;;;;;;;8277:12:247;;;8273:58;;8298:33;;-1:-1:-1;;;8298:33:247;;;;;;;;;;;8273:58;8339:15;8356:14;8372:16;8412:31;8429:13;8412:16;:31::i;:::-;8394:96;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8338:152:247;;-1:-1:-1;8338:152:247;-1:-1:-1;8338:152:247;-1:-1:-1;;;;;;;8501:42:247;;-1:-1:-1;;;8501:42:247;8497:106;;8560:36;;-1:-1:-1;;;8560:36:247;;;;;;;;;;;8497:106;8609:19;8631:36;8651:6;8659:7;8631:19;:36::i;:::-;8609:58;-1:-1:-1;8673:15:247;8691:21;8609:58;8691:7;:21;:::i;:::-;8673:39;;8719:130;8751:13;8772:6;8786:8;8802:7;8817;8832:11;8719:24;:130::i;:::-;8211:643;;;;;;8150:704;:::o;9002:1123::-;9081:15;1396:36:225;;;-1:-1:-1;;;;;;;;;;;1396:36:225;;;;;;;9141:12:247;;;9137:58;;9162:33;;-1:-1:-1;;;9162:33:247;;;;;;;;;;;9137:58;9210:15;9233:14;9255:16;9279:25;9333:31;9350:13;9333:16;:31::i;:::-;9313:102;;;;;;;;;;;;:::i;:::-;9202:213;;-1:-1:-1;9202:213:247;;-1:-1:-1;9202:213:247;-1:-1:-1;9202:213:247;-1:-1:-1;;;;;;;9426:54:247;;-1:-1:-1;;;9426:54:247;9422:118;;9497:36;;-1:-1:-1;;;9497:36:247;;;;;;;;;;;9422:118;9546:29;9589:12;9578:41;;;;;;;;;;;;:::i;:::-;9546:73;;9626:19;9648:36;9668:6;9676:7;9648:19;:36::i;:::-;9626:58;;9691:18;9712:53;9731:6;9739:8;:16;;;9757:7;9712:18;:53::i;:::-;9691:74;;9772:19;9794:116;9825:6;9839:8;:21;;;9868:8;:21;;;9897:7;9794:23;:116::i;:::-;9772:138;-1:-1:-1;9917:15:247;9772:138;9959:10;9935:21;9945:11;9935:7;:21;:::i;:::-;:34;;;;:::i;:::-;:48;;;;:::i;:::-;9917:66;;9990:130;10022:13;10043:6;10057:8;10073:7;10088;10103:11;9990:24;:130::i;:::-;9075:1050;;;;;;;;;;9002:1123;:::o;12064:362::-;12142:17;1396:36:225;;;-1:-1:-1;;;;;;;;;;;1396:36:225;;;;;;12204:13:247;;12200:222;;12227:47;12249:13;12264:9;12227:21;:47::i;:::-;12282:133;12325:24;:22;:24::i;12282:133::-;12136:290;12064:362;;:::o;11013:443::-;11087:15;11105:14;:12;:14::i;:::-;11087:32;;11161:72;11188:7;11197:35;11217:14;:12;:14::i;11197:35::-;11161:26;:72::i;:::-;11263:22;11273:8;11283:1;11263:9;:22::i;:::-;11328:53;11347:7;11356:24;:22;:24::i;11328:53::-;11411:40;;11443:7;;-1:-1:-1;;;;;11411:40:247;;;;;;;;11061:395;11013:443;:::o;267:194:225:-;346:35;416:33;;;:18;:33;;;;;-1:-1:-1;;;;;;;;;;;289:66:226;416:40:225;452:4;416:33;:40;:::i;7829:1501:158:-;7967:32;8043:29;;;:20;:29;;;;;;;-1:-1:-1;;;;;;;;;;;293:66:160;-1:-1:-1;;;8108:24:158;;:29;;8104:1172;;8229:6;8239:1;8229:11;8225:791;;8269:16;;8258:27;;8254:83;;8306:31;;-1:-1:-1;;;8306:31:158;;;;;;;;;;;8254:83;8824:182;-1:-1:-1;;8903:9:158;;;8882:31;;;;:20;;;:31;;;;;;8903:9;;8882:31;;-1:-1:-1;8941:25:158;;8824:182;8941:25;;8980:13;7829:1501;;;:::o;8104:1172::-;7959:1323;9294:31;;-1:-1:-1;;;9294:31:158;;;;;;;;;;;2258:420:244;2339:7;2354:30;2409:18;:16;:18::i;:::-;2354:74;;2435:16;2454:8;-1:-1:-1;;;;;2454:30:244;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:51;;2492:16;2511:8;-1:-1:-1;;;;;2511:25:244;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:46;;2567:8;2549:15;:26;2545:47;;;2584:8;2258:420;-1:-1:-1;;;;2258:420:244:o;2545:47::-;2606:67;2628:15;2645:8;-1:-1:-1;;;;;2645:25:244;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2606:67;;:21;:67::i;:::-;2599:74;2258:420;-1:-1:-1;;;;;2258:420:244:o;3909:342:651:-;4111:4;4099:10;4093:4;4081:10;4073:6;4069:2;4062:5;4057:59;4047:188;;4149:10;4143:4;4136:24;4216:4;4210;4203:18;13125:887;13288:2;13282:4;13275:16;13345:6;13339:4;13332:20;-1:-1:-1;;;13404:4:651;13397:48;13606:4;13600;13594;13588;13585:1;13578:5;13571;13566:45;13658:7;13654:1;13647:4;13641:11;13638:18;13634:32;13624:275;;13749:7;13730:16;13721:5;13709:18;13702:26;13699:48;13696:61;13686:199;;13794:10;13788:4;13781:24;13862:4;13856;13849:18;13686:199;13624:275;13925:1;13919:4;13912:15;13125:887;;;:::o;8987:1026::-;9170:4;9164:11;9235:6;9229:4;9222:20;9300:2;9294:4;9287:16;9365:4;9361:2;9357:13;9351:4;9344:27;-1:-1:-1;;;9421:4:651;9414:48;9574:4;9568;9562;9556;9553:1;9546:5;9539;9534:45;9626:7;9622:1;9615:4;9609:11;9606:18;9602:32;9592:279;;9717:7;9698:16;9689:5;9677:18;9670:26;9667:48;9664:61;9654:203;;9762:10;9756:4;9749:24;9834:4;9828;9821:18;9654:203;-1:-1:-1;9897:1:651;9891:4;9884:15;9953:4;9946:15;-1:-1:-1;;;;8987:1026:651:o;4392:683:247:-;4445:7;4520:21;4544:19;:17;:19::i;:::-;4520:43;-1:-1:-1;4573:17:247;;4569:31;;4599:1;4592:8;;;4392:683;:::o;4569:31::-;4725:13;4741:35;4761:14;:12;:14::i;4741:35::-;4725:51;;4786:5;4795:1;4786:10;4782:24;;4805:1;4798:8;;;;4392:683;:::o;4782:24::-;4895:11;4909:22;4925:5;4909:15;:22::i;:::-;44620:9:643;;;-1:-1:-1;;;44616:24:643;44609:32;;;;4392:683:247;-1:-1:-1;;;4392:683:247:o;1634:189:225:-;1696:7;1788:28;;;-1:-1:-1;;;;;;;;;;;1788:28:225;;;;;;;:30;;;1696:7;1788:30;;;:::i;:::-;;;;-1:-1:-1;1781:37:225;1634:189;-1:-1:-1;;;1634:189:225:o;465:215::-;565:35;642:33;;;:18;:33;;;;;635:40;;545:12;;-1:-1:-1;;;;;;;;;;;289:66:226;635:40:225;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;465:215;;;:::o;684:315::-;764:5;773:1;764:10;760:49;;783:26;;-1:-1:-1;;;783:26:225;;;;;;;;;;;760:49;832:5;819:9;:18;815:57;;846:26;;-1:-1:-1;;;846:26:225;;;;;;;;;;;815:57;879:35;949:36;;;-1:-1:-1;;;;;;;;;;;949:36:225;;;;;:45;;-1:-1:-1;;;;;;;;;;;289:66:226;989:5:225;;949:36;:45;;989:5;;949:45;:::i;:::-;;;;-1:-1:-1;;;;;684:315:225:o;2755:1124:274:-;2845:13;2866:24;2893:13;:11;:13::i;:::-;2932:14;;2866:40;;-1:-1:-1;2912:17:274;2932:14;-1:-1:-1;;;;;2988:21:274;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2988:21:274;;;;;;;;;;;;;;;;-1:-1:-1;3069:28:274;;;;;;2952:57;;-1:-1:-1;3015:13:274;;;3104:628;3128:9;3124:1;:13;3104:628;;;3162:18;3190:16;3216:27;3253:34;3298:20;3307:7;3315:1;3307:10;;;;;;;;:::i;:::-;;;;;;;3298:8;:20::i;:::-;3152:166;;;;;;;;3332:9;3327:399;3351:11;:18;3347:1;:22;3327:399;;;3426:19;3406:11;3418:1;3406:14;;;;;;;;:::i;:::-;;;;;;;3390:32;;;;;;:55;3386:332;;3488:183;;;;;;;;3511:7;3519:1;3511:10;;;;;;;;:::i;:::-;;;;;;;3488:183;;;;3541:4;3488:183;;;;3569:11;3488:183;;;;;;3607:11;3488:183;;;;3646:12;3488:183;;;3459:19;3479:5;3459:26;;;;;;;;:::i;:::-;;;;;;:212;;;;3683:7;;;;;:::i;:::-;;;;3702:5;;3386:332;3371:3;;3327:399;;;-1:-1:-1;;3139:3:274;;;;;-1:-1:-1;3104:628:274;;-1:-1:-1;;3104:628:274;;-1:-1:-1;;3802:34:274;;3809:19;2755:1124;-1:-1:-1;;;;2755:1124:274:o;4526:861:212:-;4609:16;4633:14;4662:26;:24;:26::i;:::-;:39;;;4741:31;;-1:-1:-1;;;4741:31:212;;-1:-1:-1;;;;;1530:32:654;;;4741:31:212;;;1512:51:654;4662:39:212;;;;-1:-1:-1;4662:39:212;;;;4741:22;;1485:18:654;;4741:31:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4741:31:212;;;;;;;;;;;;:::i;:::-;4893;;-1:-1:-1;;;4893:31:212;;-1:-1:-1;;;;;1530:32:654;;;4893:31:212;;;1512:51:654;4708:64:212;;-1:-1:-1;4866:24:212;;4893:22;;;;;1485:18:654;;4893:31:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4866:58;;4934:13;:20;4958:1;4934:25;:59;;;;-1:-1:-1;;;;;;4963:30:212;;;;4934:59;4930:161;;;5053:31;;-1:-1:-1;;;5053:31:212;;-1:-1:-1;;;;;1530:32:654;;;5053:31:212;;;1512:51:654;5013:16:212;;-1:-1:-1;5013:16:212;;5053:22;;;;;1485:18:654;;5053:31:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5053:31:212;;;;;;;;;;;;:::i;:::-;5037:47;;4930:161;5127:20;;5097:27;5195:23;5127:20;5217:1;5195:23;:::i;:::-;-1:-1:-1;;;;;5181:38:212;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5181:38:212;;5154:65;;5230:9;5225:94;5249:19;5245:1;:23;5225:94;;;5296:13;5310:1;5296:16;;;;;;;;:::i;:::-;;;;;;;5283:7;5291:1;5283:10;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5283:29:212;;;:10;;;;;;;;;;;:29;5270:3;;5225:94;;;;5355:7;5324;5332:19;5324:28;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5324:38:212;;;:28;;;;;;;;;;;:38;5375:7;4526:861;-1:-1:-1;;;;;;4526:861:212:o;1442:1457:236:-;1603:41;1727:30;;;:15;:30;;;;;1768:21;;462:66:237;;1727:30:236;1768:21;;1764:265;;;1817:19;;;:26;1799:15;1851:172;1871:7;1867:1;:11;1851:172;;;1925:6;1899:11;:19;;1919:1;1899:22;;;;;;;;:::i;:::-;;;;;;;;;:32;1895:120;;1952:52;;-1:-1:-1;;;1952:52:236;;;;;;;;;;;1895:120;1880:3;;1851:172;;;;1791:238;1764:265;2106:21;;-1:-1:-1;;;;;2106:21:236;2094:97;;2152:32;:30;:32::i;:::-;2230:21;;:39;;-1:-1:-1;;;2230:39:236;;2267:1;2230:39;;;757:25:654;2197:30:236;;-1:-1:-1;;;;;2230:21:236;;:36;;730:18:654;;2230:39:236;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:39:236;;;;;;;;;;;;:::i;:::-;2281:21;;2197:72;;-1:-1:-1;2281:21:236;;2276:165;;2312:28;;2348:23;;;:37;;-1:-1:-1;;;;;2348:37:236;;;-1:-1:-1;;;;;;2348:37:236;;;;;;;;;;2393:41;;2312:28;2393:41;-1:-1:-1;;;;;;2393:41:236;;;;2336:4;2393:41;;;2276:165;2447:19;;;:32;;;;;;;;-1:-1:-1;2447:32:236;;;;;;;;;;;;;2503:20;;2567:34;;;:26;;;:34;;;;;;2503:20;;2607:153;2627:6;2623:1;:10;2607:153;;;2648:16;2679:66;;;;;;;;2695:13;2709:1;2695:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;2679:66:236;;;;;2719:24;2679:66;;;;;;;;:::i;:::-;;;2648:105;;;;;;;-1:-1:-1;2648:105:236;;;;;;;;;;;;;;-1:-1:-1;;;;;;2648:105:236;;-1:-1:-1;;;;;2648:105:236;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2648:105:236;;-1:-1:-1;;;2648:105:236;;;;;;;;;:::i;:::-;;;;;;;;2635:3;;;;;2607:153;;;-1:-1:-1;2766:21:236;;:128;;-1:-1:-1;;;2766:128:236;;-1:-1:-1;;;;;2766:21:236;;;;:45;;:128;;2819:13;;2840;;2861:6;;2875:13;;2766:128;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1597:1302;;;;;1442:1457;;;;:::o;562:108:262:-;614:7;272:66:264;636:22:262;:29;;562:108;-1:-1:-1;562:108:262:o;418:140::-;272:66:264;534:19:262;;547:6;;272:66:264;;472:31:262;;534:19;;547:6;;534:19;:::i;:::-;;;;-1:-1:-1;;;;418:140:262:o;10129:751:247:-;10322:11;;10318:60;;10343:28;10355:6;10363:7;10343:11;:28::i;:::-;;10318:60;10384:45;10406:13;10421:7;10384:21;:45::i;:::-;10435:31;10448:13;10435:31;;;;;;;;;;;;:12;:31::i;:::-;10513:23;10582:18;:16;:18::i;:::-;10558:108;;-1:-1:-1;;;10558:108:247;;-1:-1:-1;;;10558:108:247;;;757:25:654;-1:-1:-1;;;;;10558:67:247;;;;;;;730:18:654;;10558:108:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10513:159;;10678:14;10695:11;-1:-1:-1;;;;;10695:21:247;;10724:33;10776:11;10765:23;;;;;;757:25:654;;745:2;730:18;;611:177;10765:23:247;;;;;;;;;;;;;10695:99;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10801:34;;-1:-1:-1;;;10801:34:247;;-1:-1:-1;;;;;19660:32:654;;;10801:34:247;;;19642:51:654;19709:18;;;19702:34;;;10678:116:247;;-1:-1:-1;10801:16:247;;;;;;19615:18:654;;10801:34:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10841:11;-1:-1:-1;;;;;10841:16:247;;10858:8;:6;:8::i;:::-;10841:34;;-1:-1:-1;;;;;;10841:34:247;;;;;;;-1:-1:-1;;;;;19660:32:654;;;10841:34:247;;;19642:51:654;19709:18;;;19702:34;;;19615:18;;10841:34:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10312:568;;10129:751;;;;;;:::o;13977:676::-;14097:7;-1:-1:-1;;;;;14116:21:247;;14112:35;;-1:-1:-1;14146:1:247;14139:8;;14112:35;14154:26;14200:18;:16;:18::i;:::-;14183:64;;-1:-1:-1;;;14183:64:247;;-1:-1:-1;;;;;1530:32:654;;;14183:64:247;;;1512:51:654;14183:55:247;;;;;;;1485:18:654;;14183:64:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14154:93;;14258:11;:15;;;14277:1;14258:20;14254:34;;14287:1;14280:8;;;;;14254:34;14349:15;;;;14390:21;;;;14328:18;14441:50;14463:15;14349;14441:21;:50::i;:::-;14417:74;;14498:123;14539:24;:22;:24::i;:::-;14571:6;14585:9;14602:13;14498:33;:123::i;:::-;14635:13;13977:676;-1:-1:-1;;;;;;;13977:676:247:o;12687:1032::-;12849:7;12864:22;12903:12;12897:26;12927:1;12897:31;12893:794;;12938:24;12965:27;12979:12;12965:13;:27::i;:::-;13005:18;;;;12938:54;;-1:-1:-1;;;;;;13005:32:247;;;:61;;-1:-1:-1;13041:20:247;;;;:25;13005:61;13001:83;;;13083:1;13076:8;;;;;;13001:83;13115:20;;;;13160:51;13182:15;13115:20;13160:21;:51::i;:::-;13143:68;;13220:143;13263:24;:22;:24::i;:::-;13297:6;13313:8;:18;;;13341:14;13220:33;:143::i;:::-;12930:440;;12893:794;;;-1:-1:-1;;;;;13380:26:247;;;13376:311;;13436:6;-1:-1:-1;;;;;13420:22:247;:12;-1:-1:-1;;;;;13420:22:247;;13416:36;;13451:1;13444:8;;;;;13416:36;13478:56;13500:15;13517:16;2976:56:269;;;2905:132;13517:16:247;13478:21;:56::i;:::-;13461:73;;13543:137;13586:24;:22;:24::i;:::-;13620:6;13636:12;13658:14;13543:33;:137::i;1003:216:225:-;1099:35;1169:36;;;-1:-1:-1;;;;;;;;;;;1169:36:225;;;;;:45;;-1:-1:-1;;;;;;;;;;;289:66:226;1209:5:225;;1169:36;:45;;1209:5;;1169:45;:::i;4035:119:158:-;4090:7;-1:-1:-1;;;;;;;;;;;4112:23:158;1689:139:160;6041:173:244;6200:9;6140:26;:24;:26::i;:::-;:57;;;;:48;;:57;;;;;;:69;;;;-1:-1:-1;6041:173:244:o;21749:104:158:-;21821:27;21831:2;21835:8;21821:27;;;;;;;;;;;;:9;:27::i;361:224:331:-;452:7;116:6;475:11;:22;;467:68;;;;-1:-1:-1;;;467:68:331;;20737:2:654;467:68:331;;;20719:21:654;20776:2;20756:18;;;20749:30;20815:34;20795:18;;;20788:62;-1:-1:-1;;;20866:18:654;;;20859:31;20907:19;;467:68:331;20535:397:654;467:68:331;116:6;549:20;558:11;549:6;:20;:::i;:::-;548:32;;;;:::i;12640:126:274:-;12686:24;12725:36;:27;:34;:36::i;12159:477::-;12269:16;12445:19;;;:11;:19;;;;;12438:31;;12243:18;;12269:16;12243:18;;;;427:66:275;;12438:31:274;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12489:19:274;;;;:11;;;:19;;;;;:31;;;;12438;;-1:-1:-1;12489:31:274;;;;;-1:-1:-1;12540:40:274;;:31;;;-1:-1:-1;12540:38:274;;-1:-1:-1;12540:40:274:i;:::-;12526:54;;12601:30;12624:6;12601:22;:30::i;:::-;12586:45;;12371:265;12159:477;;;;;:::o;6841:366:236:-;462:66:237;6898:41:236;7047:26;:24;:26::i;:::-;:39;;;7016:117;;-1:-1:-1;;;7016:117:236;;-1:-1:-1;;;7016:117:236;;;21541:34:654;-1:-1:-1;;;;;7047:39:236;;;;7016:100;;21514:18:654;;7016:117:236;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7139:63;;-1:-1:-1;;;;;;7139:63:236;-1:-1:-1;;;;;7139:63:236;;;;;;;;-1:-1:-1;6841:366:236:o;1266:332:269:-;1348:15;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1348:15:269;-1:-1:-1;1472:30:269;;;;;;;;;;1371:48;1422:81;;;:49;:81;;;;;;;1522:71;;;;;;;;;;1545:21;;1522:71;;;;;;;1568:24;;;;;-1:-1:-1;;;;;1568:24:269;1522:71;;;;;1266:332::o;21081:597:158:-;21189:19;21195:2;21199:8;21189:5;:19::i;:::-;-1:-1:-1;;;;;21237:14:158;;;:19;21233:435;;-1:-1:-1;;;;;;;;;;;21282:37:158;21345:14;;;21369:189;21389:62;21428:1;21432:2;21436:7;;;;;;21445:5;21389:30;:62::i;:::-;21384:143;;21474:40;;-1:-1:-1;;;21474:40:158;;;;;;;;;;;21384:143;21553:3;21545:5;:11;21369:189;;21646:3;-1:-1:-1;;;;;;;;;;;21605:37:158;:44;21601:58;;21651:8;;;12617:270:511;12677:16;12705:22;12730:19;12738:3;12730:7;:19::i;5591:103:315:-;5647:15;5677:12;5685:3;5677:7;:12::i;12770:588:274:-;12878:45;12926:52;;;:44;:52;;;;;12849:21;;12926:72;;;;;13030:21;12926:72;13030:19;:21::i;:::-;13005:46;;13058:39;13126:14;-1:-1:-1;;;;;13100:46:274;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13100:46:274;;13058:88;;13158:9;13153:170;13177:14;13173:1;:18;13153:170;;;13206:26;13235:18;:12;13251:1;13235:15;:18::i;:::-;13206:47;;13297:18;13261:17;13279:1;13261:20;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13261:55:274;;;:20;;;;;;;;;;;:55;-1:-1:-1;13193:3:274;;13153:170;;;-1:-1:-1;13336:17:274;12770:588;-1:-1:-1;;;;12770:588:274:o;15799:2642:158:-;-1:-1:-1;;;;;;;;;;;15890:37:158;15867:20;15937:13;;;15933:44;;15959:18;;-1:-1:-1;;;15959:18:158;;;;;;;;;;;15933:44;-1:-1:-1;;;;;16396:46:158;;;;;;:42;:46;;;;;;;;:111;;16474:32;16454:53;;16396:111;;;16707:71;;;:41;:71;;;;;-1:-1:-1;10624:15:158;;10598:24;10594:46;10229:11;10204:23;10200:41;10197:52;10187:63;;16707:188;;16942:23;;;;16707:71;;16396:46;;17602:25;16396:46;;17488:260;18026:1;18012:12;18008:20;17977:275;18058:3;18049:7;18046:16;17977:275;;18234:7;18224:8;18221:1;18194:25;18191:1;18188;18183:59;18100:1;18087:15;17977:275;;;17981:57;18271:8;18283:1;18271:13;18267:45;;18293:19;;-1:-1:-1;;;18293:19:158;;;;;;;;;;;18267:45;-1:-1:-1;;;;;;;;;;;18321:43:158;-1:-1:-1;12136:290:247;12064:362;;:::o;14707:674:158:-;14870:139;;-1:-1:-1;;;14870:139:158;;14848:4;;-1:-1:-1;;;;;14870:56:158;;;;;:139;;29364:10;;14965:4;;14979:7;;14996:5;;14870:139;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14870:139:158;;;;;;;;-1:-1:-1;;14870:139:158;;;;;;;;;;;;:::i;:::-;;;14860:517;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15192:6;:13;15209:1;15192:18;15188:183;;15229:40;;-1:-1:-1;;;15229:40:158;;;;;;;;;;;15188:183;15345:6;15339:13;15330:6;15326:2;15322:15;15315:38;14860:517;-1:-1:-1;;;;;;15061:83:158;-1:-1:-1;;;15061:83:158;;-1:-1:-1;15046:98:158;;5581:109:511;5637:16;5672:3;:11;;5665:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5581:109;;;:::o;3597:102:315:-;3653:15;3683:3;:11;;3676:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3597:102;;;:::o;9090:115:511:-;9153:7;9179:19;9187:3;4556:18;;4474:107;9547:156;9621:7;9671:22;9675:3;9687:5;4990:7;5016:3;:11;;5028:5;5016:18;;;;;;;;:::i;:::-;;;;;;;;;5009:25;;4923:118;;;;:::o;14:592:654:-;85:6;93;146:2;134:9;125:7;121:23;117:32;114:52;;;162:1;159;152:12;114:52;202:9;189:23;-1:-1:-1;;;;;272:2:654;264:6;261:14;258:34;;;288:1;285;278:12;258:34;326:6;315:9;311:22;301:32;;371:7;364:4;360:2;356:13;352:27;342:55;;393:1;390;383:12;342:55;433:2;420:16;459:2;451:6;448:14;445:34;;;475:1;472;465:12;445:34;520:7;515:2;506:6;502:2;498:15;494:24;491:37;488:57;;;541:1;538;531:12;488:57;572:2;564:11;;;;;594:6;;-1:-1:-1;14:592:654;;-1:-1:-1;;;;14:592:654:o;793:180::-;852:6;905:2;893:9;884:7;880:23;876:32;873:52;;;921:1;918;911:12;873:52;-1:-1:-1;944:23:654;;793:180;-1:-1:-1;793:180:654:o;978:131::-;-1:-1:-1;;;;;1053:31:654;;1043:42;;1033:70;;1099:1;1096;1089:12;1114:247;1173:6;1226:2;1214:9;1205:7;1201:23;1197:32;1194:52;;;1242:1;1239;1232:12;1194:52;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;1574:127::-;1635:10;1630:3;1626:20;1623:1;1616:31;1666:4;1663:1;1656:15;1690:4;1687:1;1680:15;1706:253;1778:2;1772:9;1820:4;1808:17;;-1:-1:-1;;;;;1840:34:654;;1876:22;;;1837:62;1834:88;;;1902:18;;:::i;:::-;1938:2;1931:22;1706:253;:::o;1964:275::-;2035:2;2029:9;2100:2;2081:13;;-1:-1:-1;;2077:27:654;2065:40;;-1:-1:-1;;;;;2120:34:654;;2156:22;;;2117:62;2114:88;;;2182:18;;:::i;:::-;2218:2;2211:22;1964:275;;-1:-1:-1;1964:275:654:o;2244:187::-;2293:4;-1:-1:-1;;;;;2318:6:654;2315:30;2312:56;;;2348:18;;:::i;:::-;-1:-1:-1;2414:2:654;2393:15;-1:-1:-1;;2389:29:654;2420:4;2385:40;;2244:187::o;2436:1395::-;2536:6;2544;2597:2;2585:9;2576:7;2572:23;2568:32;2565:52;;;2613:1;2610;2603:12;2565:52;2652:9;2639:23;2671:31;2696:5;2671:31;:::i;:::-;2721:5;-1:-1:-1;2745:2:654;2783:18;;;2770:32;-1:-1:-1;;;;;2851:14:654;;;2848:34;;;2878:1;2875;2868:12;2848:34;2901:22;;;;2957:4;2939:16;;;2935:27;2932:47;;;2975:1;2972;2965:12;2932:47;3003:22;;:::i;:::-;3062:2;3049:16;3074:33;3099:7;3074:33;:::i;:::-;3116:24;;3177:11;;;3164:25;3198:33;3164:25;3198:33;:::i;:::-;3247:16;;;3240:33;3319:2;3311:11;;3298:25;3335:16;;;3332:36;;;3364:1;3361;3354:12;3332:36;3395:8;3391:2;3387:17;3377:27;;;3442:7;3435:4;3431:2;3427:13;3423:27;3413:55;;3464:1;3461;3454:12;3413:55;3500:2;3487:16;3477:26;;3525:49;3541:32;3570:2;3541:32;:::i;:::-;3525:49;:::i;:::-;3597:2;3590:5;3583:17;3637:7;3632:2;3627;3623;3619:11;3615:20;3612:33;3609:53;;;3658:1;3655;3648:12;3609:53;3713:2;3708;3704;3700:11;3695:2;3688:5;3684:14;3671:45;3757:1;3752:2;3747;3740:5;3736:14;3732:23;3725:34;3793:5;3788:2;3779:7;3775:16;3768:31;;3818:7;3808:17;;;;;;2436:1395;;;;;:::o;4041:250::-;4126:1;4136:113;4150:6;4147:1;4144:13;4136:113;;;4226:11;;;4220:18;4207:11;;;4200:39;4172:2;4165:10;4136:113;;;-1:-1:-1;;4283:1:654;4265:16;;4258:27;4041:250::o;4296:271::-;4338:3;4376:5;4370:12;4403:6;4398:3;4391:19;4419:76;4488:6;4481:4;4476:3;4472:14;4465:4;4458:5;4454:16;4419:76;:::i;:::-;4549:2;4528:15;-1:-1:-1;;4524:29:654;4515:39;;;;4556:4;4511:50;;4296:271;-1:-1:-1;;4296:271:654:o;4572:220::-;4721:2;4710:9;4703:21;4684:4;4741:45;4782:2;4771:9;4767:18;4759:6;4741:45;:::i;4797:127::-;4858:10;4853:3;4849:20;4846:1;4839:31;4889:4;4886:1;4879:15;4913:4;4910:1;4903:15;4929:128;4996:9;;;5017:11;;;5014:37;;;5031:18;;:::i;5062:251::-;5132:6;5185:2;5173:9;5164:7;5160:23;5156:32;5153:52;;;5201:1;5198;5191:12;5153:52;5233:9;5227:16;5252:31;5277:5;5252:31;:::i;5318:380::-;5397:1;5393:12;;;;5440;;;5461:61;;5515:4;5507:6;5503:17;5493:27;;5461:61;5568:2;5560:6;5557:14;5537:18;5534:38;5531:161;;5614:10;5609:3;5605:20;5602:1;5595:31;5649:4;5646:1;5639:15;5677:4;5674:1;5667:15;5829:543;5931:2;5926:3;5923:11;5920:446;;;5967:1;5991:5;5988:1;5981:16;6035:4;6032:1;6022:18;6105:2;6093:10;6089:19;6086:1;6082:27;6076:4;6072:38;6141:4;6129:10;6126:20;6123:47;;;-1:-1:-1;6164:4:654;6123:47;6219:2;6214:3;6210:12;6207:1;6203:20;6197:4;6193:31;6183:41;;6274:82;6292:2;6285:5;6282:13;6274:82;;;6337:17;;;6318:1;6307:13;6274:82;;;6278:3;;;5829:543;;;:::o;6548:1345::-;6674:3;6668:10;-1:-1:-1;;;;;6693:6:654;6690:30;6687:56;;;6723:18;;:::i;:::-;6752:97;6842:6;6802:38;6834:4;6828:11;6802:38;:::i;:::-;6796:4;6752:97;:::i;:::-;6904:4;;6961:2;6950:14;;6978:1;6973:663;;;;7680:1;7697:6;7694:89;;;-1:-1:-1;7749:19:654;;;7743:26;7694:89;-1:-1:-1;;6505:1:654;6501:11;;;6497:24;6493:29;6483:40;6529:1;6525:11;;;6480:57;7796:81;;6943:944;;6973:663;5776:1;5769:14;;;5813:4;5800:18;;-1:-1:-1;;7009:20:654;;;7127:236;7141:7;7138:1;7135:14;7127:236;;;7230:19;;;7224:26;7209:42;;7322:27;;;;7290:1;7278:14;;;;7157:19;;7127:236;;;7131:3;7391:6;7382:7;7379:19;7376:201;;;7452:19;;;7446:26;-1:-1:-1;;7535:1:654;7531:14;;;7547:3;7527:24;7523:37;7519:42;7504:58;7489:74;;7376:201;-1:-1:-1;;;;;7623:1:654;7607:14;;;7603:22;7590:36;;-1:-1:-1;6548:1345:654:o;8151:184::-;8221:6;8274:2;8262:9;8253:7;8249:23;8245:32;8242:52;;;8290:1;8287;8280:12;8242:52;-1:-1:-1;8313:16:654;;8151:184;-1:-1:-1;8151:184:654:o;8340:530::-;8533:2;8522:9;8515:21;8496:4;8572:1;8568;8563:3;8559:11;8555:19;8629:2;8620:6;8614:13;8610:22;8605:2;8594:9;8590:18;8583:50;8697:2;8691;8683:6;8679:15;8673:22;8669:31;8664:2;8653:9;8649:18;8642:59;;8748:2;8740:6;8736:15;8730:22;8790:4;8783;8772:9;8768:20;8761:34;8812:52;8859:3;8848:9;8844:19;8830:12;8812:52;:::i;8875:288::-;8944:6;8997:2;8985:9;8976:7;8972:23;8968:32;8965:52;;;9013:1;9010;9003:12;8965:52;9045:9;9039:16;-1:-1:-1;;;;;9088:5:654;9084:30;9077:5;9074:41;9064:69;;9129:1;9126;9119:12;9168:125;9233:9;;;9254:10;;;9251:36;;;9267:18;;:::i;9298:180::-;-1:-1:-1;;;;;9403:10:654;;;9415;;;9399:27;;9438:11;;;9435:37;;;9452:18;;:::i;:::-;9435:37;9298:180;;;;:::o;9483:164::-;9559:13;;9608;;9601:21;9591:32;;9581:60;;9637:1;9634;9627:12;9581:60;9483:164;;;:::o;9652:202::-;9719:6;9772:2;9760:9;9751:7;9747:23;9743:32;9740:52;;;9788:1;9785;9778:12;9740:52;9811:37;9838:9;9811:37;:::i;9859:514::-;-1:-1:-1;;;;;;10088:33:654;;10070:52;;-1:-1:-1;;;;;10196:15:654;;;10191:2;10176:18;;10169:43;10248:15;;10243:2;10228:18;;10221:43;10300:3;10295:2;10280:18;;10273:31;;;10051:4;;10321:46;;10347:19;;10339:6;10321:46;:::i;:::-;10313:54;9859:514;-1:-1:-1;;;;;;9859:514:654:o;10677:127::-;10738:10;10733:3;10729:20;10726:1;10719:31;10769:4;10766:1;10759:15;10793:4;10790:1;10783:15;10809:289;10940:3;10978:6;10972:13;10994:66;11053:6;11048:3;11041:4;11033:6;11029:17;10994:66;:::i;:::-;11076:16;;;;;10809:289;-1:-1:-1;;10809:289:654:o;11103:297::-;11221:12;;11268:4;11257:16;;;11251:23;;11221:12;11286:16;;11283:111;;;-1:-1:-1;;11360:4:654;11356:17;;;;11353:1;11349:25;11345:38;11334:50;;11103:297;-1:-1:-1;11103:297:654:o;11405:465::-;11458:3;11496:5;11490:12;11523:6;11518:3;11511:19;11549:4;11578;11573:3;11569:14;11562:21;;11617:4;11610:5;11606:16;11640:1;11650:195;11664:6;11661:1;11658:13;11650:195;;;11729:13;;-1:-1:-1;;;;;11725:39:654;11713:52;;11785:12;;;;11820:15;;;;11761:1;11679:9;11650:195;;;-1:-1:-1;11861:3:654;;11405:465;-1:-1:-1;;;;;11405:465:654:o;11875:403::-;12110:6;12099:9;12092:25;12153:2;12148;12137:9;12133:18;12126:30;12073:4;12173:56;12225:2;12214:9;12210:18;12202:6;12173:56;:::i;:::-;12165:64;;12265:6;12260:2;12249:9;12245:18;12238:34;11875:403;;;;;;:::o;12283:177::-;12361:13;;-1:-1:-1;;;;;;12403:32:654;;12393:43;;12383:71;;12450:1;12447;12440:12;12465:321;12540:5;12569:53;12585:36;12614:6;12585:36;:::i;12569:53::-;12560:62;;12645:6;12638:5;12631:21;12685:3;12676:6;12671:3;12667:16;12664:25;12661:45;;;12702:1;12699;12692:12;12661:45;12715:65;12773:6;12766:4;12759:5;12755:16;12750:3;12715:65;:::i;12791:819::-;12912:6;12920;12928;12936;12989:3;12977:9;12968:7;12964:23;12960:33;12957:53;;;13006:1;13003;12996:12;12957:53;13029:39;13058:9;13029:39;:::i;:::-;13019:49;;13111:2;13100:9;13096:18;13090:25;13124:31;13149:5;13124:31;:::i;:::-;13224:2;13209:18;;13203:25;13174:5;;-1:-1:-1;13237:33:654;13203:25;13237:33;:::i;:::-;13340:2;13325:18;;13319:25;13289:7;;-1:-1:-1;;;;;;13356:30:654;;13353:50;;;13399:1;13396;13389:12;13353:50;13422:22;;13475:4;13467:13;;13463:27;-1:-1:-1;13453:55:654;;13504:1;13501;13494:12;13453:55;13527:77;13596:7;13591:2;13585:9;13580:2;13576;13572:11;13527:77;:::i;:::-;13517:87;;;12791:819;;;;;;;:::o;13615:993::-;13717:6;13770:2;13758:9;13749:7;13745:23;13741:32;13738:52;;;13786:1;13783;13776:12;13738:52;13819:9;13813:16;-1:-1:-1;;;;;13889:2:654;13881:6;13878:14;13875:34;;;13905:1;13902;13895:12;13875:34;13928:22;;;;13984:4;13966:16;;;13962:27;13959:47;;;14002:1;13999;13992:12;13959:47;14028:22;;:::i;:::-;14080:2;14074:9;14092:33;14117:7;14092:33;:::i;:::-;14134:22;;14194:2;14186:11;;14180:18;14207:33;14180:18;14207:33;:::i;:::-;14267:2;14256:14;;14249:31;14319:2;14311:11;;14305:18;14335:16;;;14332:36;;;14364:1;14361;14354:12;14332:36;14395:8;14391:2;14387:17;14377:27;;;14442:7;14435:4;14431:2;14427:13;14423:27;14413:55;;14464:1;14461;14454:12;14413:55;14500:77;14569:7;14564:2;14558:9;14553:2;14549;14545:11;14500:77;:::i;:::-;14495:2;14484:14;;14477:101;14488:5;13615:993;-1:-1:-1;;;;;13615:993:654:o;15961:276::-;16030:6;16083:2;16071:9;16062:7;16058:23;16054:32;16051:52;;;16099:1;16096;16089:12;16051:52;16131:9;16125:16;16181:6;16174:5;16170:18;16163:5;16160:29;16150:57;;16203:1;16200;16193:12;16242:135;16281:3;16302:17;;;16299:43;;16322:18;;:::i;:::-;-1:-1:-1;16369:1:654;16358:13;;16242:135::o;16984:1011::-;17079:6;17110:2;17153;17141:9;17132:7;17128:23;17124:32;17121:52;;;17169:1;17166;17159:12;17121:52;17202:9;17196:16;-1:-1:-1;;;;;17272:2:654;17264:6;17261:14;17258:34;;;17288:1;17285;17278:12;17258:34;17326:6;17315:9;17311:22;17301:32;;17371:7;17364:4;17360:2;17356:13;17352:27;17342:55;;17393:1;17390;17383:12;17342:55;17422:2;17416:9;17444:2;17440;17437:10;17434:36;;;17450:18;;:::i;:::-;17496:2;17493:1;17489:10;17479:20;;17519:28;17543:2;17539;17535:11;17519:28;:::i;:::-;17581:15;;;17651:11;;;17647:20;;;17612:12;;;;17679:19;;;17676:39;;;17711:1;17708;17701:12;17676:39;17735:11;;;;17755:210;17771:6;17766:3;17763:15;17755:210;;;17844:3;17838:10;17825:23;;17861:31;17886:5;17861:31;:::i;:::-;17905:18;;;17788:12;;;;17943;;;;17755:210;;;17984:5;16984:1011;-1:-1:-1;;;;;;;;16984:1011:654:o;18190:127::-;18251:10;18246:3;18242:20;18239:1;18232:31;18282:4;18279:1;18272:15;18306:4;18303:1;18296:15;18322:502;18614:1;18610;18605:3;18601:11;18597:19;18589:6;18585:32;18574:9;18567:51;18654:6;18649:2;18638:9;18634:18;18627:34;18697:6;18692:2;18681:9;18677:18;18670:34;18740:3;18735:2;18724:9;18720:18;18713:31;18548:4;18761:57;18813:3;18802:9;18798:19;18790:6;18761:57;:::i;19011:452::-;19159:4;19199:1;19191:6;19188:13;19178:144;;19244:10;19239:3;19235:20;19232:1;19225:31;19279:4;19276:1;19269:15;19307:4;19304:1;19297:15;19178:144;19349:6;19338:9;19331:25;19392:2;19387;19376:9;19372:18;19365:30;19412:45;19453:2;19442:9;19438:18;19430:6;19412:45;:::i;19747:783::-;19843:6;19896:3;19884:9;19875:7;19871:23;19867:33;19864:53;;;19913:1;19910;19903:12;19864:53;19946:2;19940:9;19988:3;19980:6;19976:16;20058:6;20046:10;20043:22;-1:-1:-1;;;;;20010:10:654;20007:34;20004:62;20001:88;;;20069:18;;:::i;:::-;20105:2;20098:22;20142:16;;20167:31;20142:16;20167:31;:::i;:::-;20207:21;;20273:2;20258:18;;20252:25;20286:33;20252:25;20286:33;:::i;:::-;20347:2;20335:15;;20328:32;20414:2;20399:18;;;20393:25;20376:15;;;20369:50;20452:46;20494:2;20479:18;;20452:46;:::i;:::-;20447:2;20435:15;;20428:71;20439:6;19747:783;-1:-1:-1;;;19747:783:654:o;20937:168::-;21010:9;;;21041;;21058:15;;;21052:22;;21038:37;21028:71;;21079:18;;:::i;21110:217::-;21150:1;21176;21166:132;;21220:10;21215:3;21211:20;21208:1;21201:31;21255:4;21252:1;21245:15;21283:4;21280:1;21273:15;21166:132;-1:-1:-1;21312:9:654;;21110:217::o;21586:489::-;-1:-1:-1;;;;;21855:15:654;;;21837:34;;21907:15;;21902:2;21887:18;;21880:43;21954:2;21939:18;;21932:34;;;22002:3;21997:2;21982:18;;21975:31;;;21780:4;;22023:46;;22049:19;;22041:6;22023:46;:::i;22080:206::-;22149:6;22202:2;22190:9;22181:7;22177:23;22173:32;22170:52;;;22218:1;22215;22208:12;22170:52;22241:39;22270:9;22241:39;:::i","linkReferences":{}},"methodIdentifiers":{"expiresAt(uint256)":"17c95709","getMembershipCurrency()":"657e45e8","getMembershipDuration()":"8120f0ba","getMembershipFreeAllocation()":"706b8e09","getMembershipImage()":"93b13cb7","getMembershipLimit()":"95d600c8","getMembershipPrice()":"1278076a","getMembershipPricingModule()":"e847abdd","getMembershipRenewalPrice(uint256)":"5803909f","getSpaceFactory()":"79dda585","joinSpace(address)":"8c625b06","joinSpaceWithReferral(address,(address,address,string))":"686f7684","renewMembership(uint256)":"7c9669ac","revenue()":"3e9491a2","setMembershipFreeAllocation(uint256)":"5becd24a","setMembershipImage(string)":"0ef1be5f","setMembershipLimit(uint256)":"97fb7c1e","setMembershipPrice(uint256)":"69d5f38a","setMembershipPricingModule(address)":"df9a9fe6","withdraw(address)":"51cff8d9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ApprovalCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ApprovalQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BalanceQueryForZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__AlreadyBanned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Banning__CannotBanOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Banning__CannotBanSelf\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__InvalidTokenId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__NotBanned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Dispatcher__InvalidCaller\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Dispatcher__InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Dispatcher__TransactionAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC5643__DurationZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC5643__InvalidTokenId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC5643__NotApprovedOrOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC5643__SubscriptionNotRenewable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_NodeAlreadyVoted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_NodeNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_TransactionCheckAlreadyCompleted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_TransactionCheckAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_TransactionNotRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__ValueAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__AlreadyMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__Banned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InsufficientPayment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidCurrency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidFeeRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidFreeAllocation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidMaxSupply\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidPayment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidPrice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidPricingModule\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidTokenId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidTransactionType\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__MaxSupplyReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__NotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__PriceTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintERC2309QuantityExceedsLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintZeroQuantity\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnershipNotInitializedForExtraData\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PartnerRegistry__InvalidPartnerFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PartnerRegistry__InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRegistry__NotPartnerAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRegistry__PartnerAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRegistry__PartnerNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRegistry__PartnerNotRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PartnerRegistry__RegistryFeeNotPaid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__NotPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__Paused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidMembership\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidSupplyAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Reentrancy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Referrals__InvalidBasisPoints\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Referrals__InvalidBpsFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Referrals__InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Referrals__InvalidReferralCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Referrals__ReferralAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__EntitlementAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__EntitlementDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__InvalidEntitlementAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__InvalidPermission\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__PermissionAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__PermissionDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__RoleDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFromIncorrectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToNonERC721ReceiverImplementer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"URIQueryForNonexistentToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultBpsFee\",\"type\":\"uint256\"}],\"name\":\"DefaultBpsFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enum IEntitlementGatedBase.NodeVoteStatus\",\"name\":\"result\",\"type\":\"uint8\"}],\"name\":\"EntitlementCheckResultPosted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxBpsFee\",\"type\":\"uint256\"}],\"name\":\"MaxBpsFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"MaxPartnerFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"MembershipCurrencyUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"MembershipFeeRecipientUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"allocation\",\"type\":\"uint256\"}],\"name\":\"MembershipFreeAllocationUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"MembershipLimitUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"MembershipPriceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"MembershipTokenIssued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"MembershipTokenRejected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MembershipWithdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsAddedToChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsRemovedFromChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsUpdatedForChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}],\"name\":\"Prepay__Prepaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"referralCode\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"basisPoints\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"ReferralRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"referralCode\",\"type\":\"bytes32\"}],\"name\":\"ReferralRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"referralCode\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"basisPoints\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"ReferralUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"RegistryFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"remover\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"expiration\",\"type\":\"uint64\"}],\"name\":\"SubscriptionUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Unbanned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"expiresAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipCurrency\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipDuration\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipFreeAllocation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipImage\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipPricingModule\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getMembershipRenewalPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSpaceFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"joinSpace\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"partner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"userReferral\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"referralCode\",\"type\":\"string\"}],\"internalType\":\"struct IMembershipBase.ReferralTypes\",\"name\":\"referral\",\"type\":\"tuple\"}],\"name\":\"joinSpaceWithReferral\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"renewMembership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revenue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newAllocation\",\"type\":\"uint256\"}],\"name\":\"setMembershipFreeAllocation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newImage\",\"type\":\"string\"}],\"name\":\"setMembershipImage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newLimit\",\"type\":\"uint256\"}],\"name\":\"setMembershipLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"}],\"name\":\"setMembershipPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pricingModule\",\"type\":\"address\"}],\"name\":\"setMembershipPricingModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Reentrancy()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"ConsecutiveTransfer(uint256,uint256,address,address)\":{\"details\":\"Emitted when tokens in `fromTokenId` to `toTokenId` (inclusive) is transferred from `from` to `to`, as defined in the [ERC2309](https://eips.ethereum.org/EIPS/eip-2309) standard. See {_mintERC2309} for more details.\"},\"DefaultBpsFeeUpdated(uint256)\":{\"params\":{\"defaultBpsFee\":\"The new default bps fee\"}},\"MaxBpsFeeUpdated(uint256)\":{\"params\":{\"maxBpsFee\":\"The new max bps fee\"}},\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"},\"PermissionsAddedToChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"PermissionsRemovedFromChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"PermissionsUpdatedForChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"ReferralRegistered(bytes32,uint256,address)\":{\"params\":{\"basisPoints\":\"Percentage of the referral reward in basis points\",\"recipient\":\"Address to receive the referral reward\",\"referralCode\":\"Unique identifier for the referral\"}},\"ReferralRemoved(bytes32)\":{\"params\":{\"referralCode\":\"Unique identifier for the referral\"}},\"ReferralUpdated(bytes32,uint256,address)\":{\"params\":{\"basisPoints\":\"Updated percentage of the referral reward in basis points\",\"recipient\":\"Updated address to receive the referral reward\",\"referralCode\":\"Unique identifier for the referral\"}},\"RoleCreated(address,uint256)\":{\"params\":{\"creator\":\"Address of the role creator\",\"roleId\":\"Unique identifier of the created role\"}},\"RoleRemoved(address,uint256)\":{\"params\":{\"remover\":\"Address of the role remover\",\"roleId\":\"Unique identifier of the removed role\"}},\"RoleUpdated(address,uint256)\":{\"params\":{\"roleId\":\"Unique identifier of the updated role\",\"updater\":\"Address of the role updater\"}},\"SubscriptionUpdate(uint256,uint64)\":{\"details\":\"When a subscription is canceled, the expiration value should also be 0.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"expiresAt(uint256)\":{\"params\":{\"tokenId\":\"The token id of the membership\"}},\"getMembershipCurrency()\":{\"returns\":{\"_0\":\"The membership currency\"}},\"getMembershipDuration()\":{\"returns\":{\"_0\":\"The membership duration\"}},\"getMembershipFreeAllocation()\":{\"returns\":{\"_0\":\"The membership free allocation\"}},\"getMembershipImage()\":{\"returns\":{\"_0\":\"The membership image\"}},\"getMembershipLimit()\":{\"returns\":{\"_0\":\"The membership limit\"}},\"getMembershipPrice()\":{\"returns\":{\"_0\":\"The membership price\"}},\"getMembershipPricingModule()\":{\"returns\":{\"_0\":\"The membership pricing module\"}},\"getMembershipRenewalPrice(uint256)\":{\"params\":{\"tokenId\":\"The token id of the membership\"},\"returns\":{\"_0\":\"The membership renewal price\"}},\"getSpaceFactory()\":{\"returns\":{\"_0\":\"The space factory\"}},\"joinSpace(address)\":{\"params\":{\"receiver\":\"The address of the receiver\"}},\"joinSpaceWithReferral(address,(address,address,string))\":{\"params\":{\"receiver\":\"The address of the receiver\",\"referral\":\"The referral data\"}},\"renewMembership(uint256)\":{\"params\":{\"tokenId\":\"The token id of the membership\"}},\"revenue()\":{\"returns\":{\"_0\":\"The current balance of funds held by the space\"}},\"setMembershipFreeAllocation(uint256)\":{\"params\":{\"newAllocation\":\"The new membership free allocation\"}},\"setMembershipLimit(uint256)\":{\"params\":{\"newLimit\":\"The new membership limit\"}},\"setMembershipPrice(uint256)\":{\"params\":{\"newPrice\":\"The new membership price\"}},\"setMembershipPricingModule(address)\":{\"params\":{\"pricingModule\":\"The new pricing module\"}},\"withdraw(address)\":{\"params\":{\"receiver\":\"The address to receive the withdrawn funds\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"ApprovalCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"ApprovalQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"BalanceQueryForZeroAddress()\":[{\"notice\":\"Cannot query the balance for the zero address.\"}],\"MintERC2309QuantityExceedsLimit()\":[{\"notice\":\"The `quantity` minted with ERC2309 exceeds the safety limit.\"}],\"MintToZeroAddress()\":[{\"notice\":\"Cannot mint to the zero address.\"}],\"MintZeroQuantity()\":[{\"notice\":\"The quantity of tokens minted must be more than zero.\"}],\"OwnerQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"OwnershipNotInitializedForExtraData()\":[{\"notice\":\"The `extraData` cannot be set on an unintialized ownership slot.\"}],\"Referrals__InvalidBasisPoints()\":[{\"notice\":\"Error thrown when invalid basis points are provided\"}],\"Referrals__InvalidBpsFee()\":[{\"notice\":\"Error thrown when an invalid bps fee is provided\"}],\"Referrals__InvalidRecipient()\":[{\"notice\":\"Error thrown when an invalid recipient address is provided\"}],\"Referrals__InvalidReferralCode()\":[{\"notice\":\"Error thrown when an invalid referral code is provided\"}],\"Referrals__ReferralAlreadyExists()\":[{\"notice\":\"Error thrown when a referral already exists\"}],\"Roles__EntitlementAlreadyExists()\":[{\"notice\":\"Error thrown when an entitlement already exists\"}],\"Roles__EntitlementDoesNotExist()\":[{\"notice\":\"Error thrown when an entitlement does not exist\"}],\"Roles__InvalidEntitlementAddress()\":[{\"notice\":\"Error thrown when an invalid entitlement address is provided\"}],\"Roles__InvalidPermission()\":[{\"notice\":\"Error thrown when an invalid permission is provided\"}],\"Roles__PermissionAlreadyExists()\":[{\"notice\":\"Error thrown when a permission already exists\"}],\"Roles__PermissionDoesNotExist()\":[{\"notice\":\"Error thrown when a permission does not exist\"}],\"Roles__RoleDoesNotExist()\":[{\"notice\":\"Error thrown when a role does not exist\"}],\"TransferCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"TransferFromIncorrectOwner()\":[{\"notice\":\"The token must be owned by `from`.\"}],\"TransferToNonERC721ReceiverImplementer()\":[{\"notice\":\"Cannot safely transfer to a contract that does not implement the ERC721Receiver interface.\"}],\"TransferToZeroAddress()\":[{\"notice\":\"Cannot transfer to the zero address.\"}],\"URIQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}]},\"events\":{\"DefaultBpsFeeUpdated(uint256)\":{\"notice\":\"Event emitted when the default bps fee is updated\"},\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"},\"MaxBpsFeeUpdated(uint256)\":{\"notice\":\"Event emitted when the max bps fee is updated\"},\"PermissionsAddedToChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are added to a channel role\"},\"PermissionsRemovedFromChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are removed from a channel role\"},\"PermissionsUpdatedForChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are updated for a channel role\"},\"ReferralRegistered(bytes32,uint256,address)\":{\"notice\":\"Event emitted when a new referral is registered\"},\"ReferralRemoved(bytes32)\":{\"notice\":\"Event emitted when a referral is removed\"},\"ReferralUpdated(bytes32,uint256,address)\":{\"notice\":\"Event emitted when a referral is updated\"},\"RoleCreated(address,uint256)\":{\"notice\":\"Emitted when a new role is created\"},\"RoleRemoved(address,uint256)\":{\"notice\":\"Emitted when a role is removed\"},\"RoleUpdated(address,uint256)\":{\"notice\":\"Emitted when a role is updated\"},\"SubscriptionUpdate(uint256,uint64)\":{\"notice\":\"Emitted when a subscription expiration changes\"}},\"kind\":\"user\",\"methods\":{\"expiresAt(uint256)\":{\"notice\":\"Return the expiration date of a membership\"},\"getMembershipCurrency()\":{\"notice\":\"Get the membership currency\"},\"getMembershipDuration()\":{\"notice\":\"Get the membership duration\"},\"getMembershipFreeAllocation()\":{\"notice\":\"Get the membership free allocation\"},\"getMembershipImage()\":{\"notice\":\"Get the membership image\"},\"getMembershipLimit()\":{\"notice\":\"Get the membership limit\"},\"getMembershipPrice()\":{\"notice\":\"Get the membership price\"},\"getMembershipPricingModule()\":{\"notice\":\"Get the membership pricing module\"},\"getMembershipRenewalPrice(uint256)\":{\"notice\":\"Get the membership renewal price\"},\"getSpaceFactory()\":{\"notice\":\"Get the space factory\"},\"joinSpace(address)\":{\"notice\":\"Join a space\"},\"joinSpaceWithReferral(address,(address,address,string))\":{\"notice\":\"Join a space with a referral\"},\"renewMembership(uint256)\":{\"notice\":\"Renew a space membership\"},\"revenue()\":{\"notice\":\"Get the current balance of funds held by the space\"},\"setMembershipFreeAllocation(uint256)\":{\"notice\":\"Set the membership free allocation\"},\"setMembershipLimit(uint256)\":{\"notice\":\"Set the membership limit\"},\"setMembershipPrice(uint256)\":{\"notice\":\"Set the membership price\"},\"setMembershipPricingModule(address)\":{\"notice\":\"Set the membership pricing module\"},\"withdraw(address)\":{\"notice\":\"Withdraws the balance of the contract\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/spaces/facets/membership/MembershipFacet.sol\":\"MembershipFacet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/airdrop/points/CheckIn.sol\":{\"keccak256\":\"0x10d34b8a6fcb2ab6ae4745a6aaac478cb7856df6b8b7c5f2fda4096a24247a4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c6c52b784e76b81cdcfa86545a9390e628394dcd949c160a7fca8194750b915\",\"dweb:/ipfs/QmXUz1XR61ztZLDe4FxLJg6oqohzbyjPZXsvq4cibwV4jU\"]},\"contracts/src/airdrop/points/ITownsPoints.sol\":{\"keccak256\":\"0xf507ad2a91ab58166c2e850b93085320bc483e12a3fe2aef808c0b254a0b656e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5dc159159e4cbe755e18661831ce80a4ca183a43edc21a01504585e73e595ebc\",\"dweb:/ipfs/QmUELy6xZ8fpcpYfV1VV7oGbF5UAButoYteUNMX1ZAUsj7\"]},\"contracts/src/airdrop/points/TownsPoints.sol\":{\"keccak256\":\"0x946df87486a5c9dc357d1ed6dd66a5910b058e3f39ee1406772788751cfc5adf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://418a07b0b0cddc9780b72a4efdf8af04210770ab0ecc504e8ec97beff58fe6f3\",\"dweb:/ipfs/QmPKzX3Ep18KZ7LqXKummvb2Jkvc1Weperpp8e6wBKckNU\"]},\"contracts/src/airdrop/points/TownsPointsStorage.sol\":{\"keccak256\":\"0x7ea8ca73f728347c6872c229975632d0ea5a60cfde533d4ddb7c4bd0f37091a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc87378a8ac74719ac4f96ad6245a544e0d5b81bb3a0d5674e90e46720f3e37e\",\"dweb:/ipfs/QmeRjXzUvsicS7g5xAcz9XKTbcyK38p5B7j4m389Bs6MrG\"]},\"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol\":{\"keccak256\":\"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d\",\"dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh\"]},\"contracts/src/diamond/facets/token/ERC5643/ERC5643Base.sol\":{\"keccak256\":\"0x21d3c281732e54c93520a4f2cc72cc5af38c517f2a150ee67aa84704a3d78627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52ce7c061da0142a4d775bb85896410d363d4a28c0275d3171a70872344fc9a4\",\"dweb:/ipfs/Qmdwgs3TaC4b83JVn6RG5pJJdCrxb74ZMRqZbYSe5DuqZf\"]},\"contracts/src/diamond/facets/token/ERC5643/ERC5643Storage.sol\":{\"keccak256\":\"0x68cbff071e6a6a6b91b675af567616799435676fbbbebf4f9226e1226d6128b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e2c7aee6ef32477733a50ba667cc510c8c165b9a9e146609b1f800acd0e4832\",\"dweb:/ipfs/QmcWAz74x3AR6kpzWdyPWw3iLQ1yHBT3ZVoK6jT7T3LwXq\"]},\"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol\":{\"keccak256\":\"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615\",\"dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol\":{\"keccak256\":\"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba\",\"dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol\":{\"keccak256\":\"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04\",\"dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey\"]},\"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol\":{\"keccak256\":\"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d\",\"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz\"]},\"contracts/src/factory/facets/architect/IArchitect.sol\":{\"keccak256\":\"0x5d790cabaad08df5dda57b8055dbf21ed103bd10ad0e4d684a0e690f9c240a24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ff954eb61db93e8b7b58d542f73d75b2e9ee856896a07d436bbc8101b4e9aea\",\"dweb:/ipfs/QmdgzSC3JooGsWA6BTgyXQU7YA6byFFLuVkyZqs7mEgRCm\"]},\"contracts/src/factory/facets/architect/pricing/IPricingModules.sol\":{\"keccak256\":\"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786\",\"dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm\"]},\"contracts/src/factory/facets/partner/IPartnerRegistry.sol\":{\"keccak256\":\"0x1fe0cb9bee78697a459c596df3d69809decda8b0176bcba47bfd7b4c3db4440f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a0ffc7ccacc24be9dd81545fb6bf2d2b63698c6ac0c54def86aac1513d04dcf\",\"dweb:/ipfs/QmRRSWiMV9XyZZdhHR9jo3FdVqHYAB63Egpq8jiabTJdrp\"]},\"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol\":{\"keccak256\":\"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86\",\"dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT\"]},\"contracts/src/factory/facets/registry/IImplementationRegistry.sol\":{\"keccak256\":\"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c\",\"dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA\"]},\"contracts/src/factory/facets/wallet-link/IWalletLink.sol\":{\"keccak256\":\"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d\",\"dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC\"]},\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol\":{\"keccak256\":\"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4\",\"dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2\"]},\"contracts/src/spaces/entitlements/user/IUserEntitlement.sol\":{\"keccak256\":\"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a\",\"dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx\"]},\"contracts/src/spaces/facets/Entitled.sol\":{\"keccak256\":\"0x407444b484c8951ee61c5665c18876ce798c8e28b9aa9d4599b4a027d892870c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78692dc68fe28f7d1bd3deea97534f3f4ef92e17cf443cad12c74989370ca689\",\"dweb:/ipfs/QmWRDxd6jZjA1DR7N15pNZtqa5P7mHnB1wQSBHfSabCnSd\"]},\"contracts/src/spaces/facets/Permissions.sol\":{\"keccak256\":\"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634\",\"dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x\"]},\"contracts/src/spaces/facets/banning/BanningBase.sol\":{\"keccak256\":\"0x38c44494221f96568f3efb540a8a6c7af141de95f25caf26df6e8a8333f31249\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cf1f509347cab5090655ff8272443d18f9716fea5ef27cd86269ccbd2570aa7e\",\"dweb:/ipfs/QmbF8StzLRGnVvVXWYBowvdULoPPqQkU5hZR548cnRzuVs\"]},\"contracts/src/spaces/facets/banning/BanningStorage.sol\":{\"keccak256\":\"0xcfbf5c113056e569abf23158853ff4877744b22a4bf2bf49a282d04dab23ab17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f825e97ca65c9cd3bd5885d2fa8b8e5f8f0dcbe227dec064abbbab645685fbe\",\"dweb:/ipfs/QmXAMntxrjzeNUKh9WcyHvzDmnV89vrJ9PkKRceqxJSxZp\"]},\"contracts/src/spaces/facets/banning/IBanning.sol\":{\"keccak256\":\"0x350ec182a95a86a41335979cd7212132858c5cfcd366602b2f6cd0ec0694b63e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ecb4ad0c5a1086c38448b3e279733f33edc0cc39648368e5cb43dfff139ff7e8\",\"dweb:/ipfs/QmWYfYE8Haqk9kBRxmLijfQSfqbfxf7LB3wQ24d3pG5PE3\"]},\"contracts/src/spaces/facets/channels/ChannelService.sol\":{\"keccak256\":\"0xd99752d8c031a33e075b257fe1863a269d470c8ad18052cdca6faeb5370d2169\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45bdecec56344c7cd8dceb7a47d5c66cd5b2c4e1eb006ed8b222a198e9f41f55\",\"dweb:/ipfs/QmSFhLzHvYsYj3Py976SQDqzfSz3nnsyYc7hWBp61WPdjK\"]},\"contracts/src/spaces/facets/channels/ChannelStorage.sol\":{\"keccak256\":\"0xeb4174513a652b1571b3a92cbefa80e9d450144e8d07bfb29c863d7d9de9313c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c3b73c84a2b4a56fcc8bd1fbaa0a8896a2dfc62a7fde07b13c6d8b05dcf8fe6\",\"dweb:/ipfs/QmRPukfmps5ESAR5saLNLJp6GEg1nNCTq5qChGeAjgtLV4\"]},\"contracts/src/spaces/facets/delegation/WalletLinkProxyBase.sol\":{\"keccak256\":\"0xffef403556b46744bd1833e5df57b02eb79e010841b16610e1740bc0dac929b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1afa30929e8c6b0c69528d328774c98789825a8de53e5945a1e95092bee2ad08\",\"dweb:/ipfs/QmTbCqLJTBHgcMuFwWSTbrgR7uaASJqwqYuku4YkGzTWW1\"]},\"contracts/src/spaces/facets/delegation/WalletLinkProxyStorage.sol\":{\"keccak256\":\"0x9667e475b9ad9f1130583840c9b0594a7512f7edd33163b926b3db21f70d9909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6271ce56258b1e9150378872d250cfaeb4501b5d0288e8f19f02096114c687f\",\"dweb:/ipfs/QmXSBA2CpLL9BdvZb994JYStgB9fJfsHwgcke6gsD3zybW\"]},\"contracts/src/spaces/facets/dispatcher/DispatcherBase.sol\":{\"keccak256\":\"0xd38bbf0e7de9af52f640f1a7af44f907ab230c68fd5731a30cb2957f7d508fbc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7537729ca5991c9b9d86417868e7c559c057840e2db29e14dbc8ff61f6e8ac9\",\"dweb:/ipfs/QmeMMMxpqEC1D5reauz5Q8hKc6Lx84Rxt2aQj3SL2fRfvs\"]},\"contracts/src/spaces/facets/dispatcher/DispatcherStorage.sol\":{\"keccak256\":\"0x0173a174a8241b5fee8610af734f25e92f311e4a66ad08d21c5897cc8895d543\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a25813aa9421f1dca29a7013f7d8be1d37d53d97791633c3c822ccb8fb42758a\",\"dweb:/ipfs/QmXHKAa6G8pEm3tUsVukLzgZDuEAcsKJwpjkKhR4pRwf5v\"]},\"contracts/src/spaces/facets/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0xe619f5b6c184d7cb894aa3463309a411fb46ef80c3d4fa5199fb619ec1443e33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a49ac3d978c21a7b27e871a4db7ec9bf82029d5bdd585c1a20b0d240293872\",\"dweb:/ipfs/QmadJaz3dx5qcykfnZa1W52WqEo8d83v3SA5X5UiyxUie1\"]},\"contracts/src/spaces/facets/entitlements/EntitlementsManagerService.sol\":{\"keccak256\":\"0x85433740dc34b5a8c76e512f168e5eec3c03b9ed8683ce0c0acb5368150d5c3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10706ddceeecee6b1d429175430f3439c25e59070ad3cf5918cf9795c113f501\",\"dweb:/ipfs/QmRS5ag8k4GSatGkWMKVvCBfxo2HPgh917UndkaF4VKCWa\"]},\"contracts/src/spaces/facets/entitlements/EntitlementsManagerStorage.sol\":{\"keccak256\":\"0x932608993bef144e63002ddef41a5c3cd3e800b49f7b18e0614da4912800d22d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97e1e32435b60f4697a98679884b36c6912cc31a942bf2c92af6590c58c64ca9\",\"dweb:/ipfs/QmNWcuZvzPqgQk2cLsmq7T71oMZGh22Mx1BwKz6Sj1cMAu\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol\":{\"keccak256\":\"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df\",\"dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol\":{\"keccak256\":\"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3\",\"dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo\"]},\"contracts/src/spaces/facets/gated/IEntitlementGated.sol\":{\"keccak256\":\"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec\",\"dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT\"]},\"contracts/src/spaces/facets/membership/IMembership.sol\":{\"keccak256\":\"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6\",\"dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84\"]},\"contracts/src/spaces/facets/membership/MembershipBase.sol\":{\"keccak256\":\"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2\",\"dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC\"]},\"contracts/src/spaces/facets/membership/MembershipFacet.sol\":{\"keccak256\":\"0x131bfb10e19e8fdcf6880723f1d0395c14a224f6d7e1aec26fde86dfaf1ca7cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2aededc4332470f7e993eb3b2a27b6f83c179bc5667f8c60c172d424e2c89ec3\",\"dweb:/ipfs/QmfPzTtSH9ScPWk84jAjW3R1p8FzNPVphYedEYPkBkxfNf\"]},\"contracts/src/spaces/facets/membership/MembershipStorage.sol\":{\"keccak256\":\"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd\",\"dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa\"]},\"contracts/src/spaces/facets/membership/join/MembershipJoin.sol\":{\"keccak256\":\"0x3c8b34517a8912a9951a6ec7a6ae15074d75d40eb1485a5ab690271b8945d53e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6196d6690aa9d58a53ab303917eacd4a70c8e124908e9a18cdbef628029c24ce\",\"dweb:/ipfs/Qmes1T9LiYYyRZF6iHUVYFJ6WetECv5CduYa9oVdXcHgN7\"]},\"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol\":{\"keccak256\":\"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc\",\"dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF\"]},\"contracts/src/spaces/facets/owner/ISpaceOwner.sol\":{\"keccak256\":\"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a\",\"dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw\"]},\"contracts/src/spaces/facets/prepay/IPrepay.sol\":{\"keccak256\":\"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15\",\"dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT\"]},\"contracts/src/spaces/facets/prepay/PrepayBase.sol\":{\"keccak256\":\"0x07fbb598088d52ff90a2dc5c3fea344823ae240f39b104f8db8a0b3953752ba3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d34b9a5703ac33b27f91049a81f106bdf327ac57f4ac5886e21f3782104a5084\",\"dweb:/ipfs/QmR8ds7bpXxSLZX6QNhVRVYY8Fk2xHVFNqcAD1fY38kERs\"]},\"contracts/src/spaces/facets/prepay/PrepayStorage.sol\":{\"keccak256\":\"0x5daebdd10dafc3bc3552064a2fecd4a2639226b1af240351dd2e005a7ab270b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06cf75e08e360a74822cd846728c5d9f8440698bb43d29a8bcab3c0cebbec336\",\"dweb:/ipfs/QmZ4UfwTNqQg88A7mHmXM3ZExjTJQhPf3qvFLGzcVaGwwG\"]},\"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol\":{\"keccak256\":\"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769\",\"dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW\"]},\"contracts/src/spaces/facets/referrals/IReferrals.sol\":{\"keccak256\":\"0x58ec271dbc2fc4c179f20874f9ec97f97e5d6bad0083b2e83b0c3b11fa21a796\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ab4e180cafd33e37039ffb004d20abe9c8b133a22cd50cfcf8898dd3177eb9a\",\"dweb:/ipfs/QmcBSq323rdgNfGue7WgcqDcZ2hceduHuBQmpDWgfChMP2\"]},\"contracts/src/spaces/facets/referrals/ReferralsBase.sol\":{\"keccak256\":\"0x9085aa7742524adbb7f32a320fa4a4c803ae39e4b406c7f3c41022e83c8d218e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37fdef0cd5ddb6ba1304d43420c4141d5b92dacb52efbee6d768a1c0dc17111a\",\"dweb:/ipfs/Qmdxdzz6bAc3LrXx2PRR1BZaRcNnJ4jLPos1eFZoF6xwjR\"]},\"contracts/src/spaces/facets/referrals/ReferralsStorage.sol\":{\"keccak256\":\"0x92d60431a4403fb15701cacf5ce4fb01a3cdd04120fa73f3eb9fc935d1ae2cbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b25afae2092460be64e8ce9f146eedeabe908738ebfe16062d2ea15200b4d3f6\",\"dweb:/ipfs/QmanSxLPMpcCJjdM5rNeXLLQ7AQeZTJAbrZ3sh79LNAbmr\"]},\"contracts/src/spaces/facets/roles/IRoles.sol\":{\"keccak256\":\"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed\",\"dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3\"]},\"contracts/src/spaces/facets/roles/RolesBase.sol\":{\"keccak256\":\"0xc847fa3ca60c268fc9ae30160b22092757e336d00e899f4002a68558eaf4c5f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65284c01e6bae841b51f0a53161d9e88c46b207b8eefdf98cd3c582f2312963e\",\"dweb:/ipfs/QmNcxd1hKiyYmKfVjjbwEHrydRJFLQYpjgeC6jMUosbcsY\"]},\"contracts/src/spaces/facets/roles/RolesStorage.sol\":{\"keccak256\":\"0xb7cd94235e366821c3dbdaa7dda9f66c6a0f55ced761a0cafc0de0ee2af41385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f667b95874e4299f93064815001f7f1170e3268e677bb969c70e909f0086d53f\",\"dweb:/ipfs/QmRpEpYsMN4C3yB9ujW3MRa8VxwQRoFHP1qoyFEko7W575\"]},\"contracts/src/utils/StringSet.sol\":{\"keccak256\":\"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605\",\"dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu\"]},\"contracts/src/utils/Validator.sol\":{\"keccak256\":\"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3\",\"dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG\"]},\"contracts/src/utils/interfaces/IWETH.sol\":{\"keccak256\":\"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5\",\"dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6\"]},\"contracts/src/utils/libraries/BasisPoints.sol\":{\"keccak256\":\"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e\",\"dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L\"]},\"contracts/src/utils/libraries/CurrencyTransfer.sol\":{\"keccak256\":\"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4\",\"dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr\"]},\"contracts/src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7\",\"dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875\",\"dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e\",\"dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol\":{\"keccak256\":\"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37\",\"dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol\":{\"keccak256\":\"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711\",\"dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol\":{\"keccak256\":\"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf\",\"dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F\"]},\"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol\":{\"keccak256\":\"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684\",\"dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol\":{\"keccak256\":\"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3\",\"dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol\":{\"keccak256\":\"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd\",\"dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj\"]},\"node_modules/@river-build/diamond/src/primitive/AllowanceMap.sol\":{\"keccak256\":\"0x12e8d3902e7206b89e54a16d1f8fb4ba4a1b819584c2baa01177b8e6de82155a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d0f4677070fec923c45e590abbe87fe21ec4b99d34b1ed51cdd14d9691de369\",\"dweb:/ipfs/Qmdv3b3GzPFMrEobgaBVviTnFz9xRh4BcnQumpRAWPXof1\"]},\"node_modules/@river-build/diamond/src/primitive/BalanceMap.sol\":{\"keccak256\":\"0xabc75038e0fb72da4da89abac8de68dddebc96180b15f78a1c930a5c0bed2a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9d3cf8f296c283eb16485b4088586a6b195bbcdfedb9de61ddc83ed4f2139c0\",\"dweb:/ipfs/Qmar9aZpDespjEPB3KPDyzVkw4Lu5Haw4YSN6MAyc1AeAJ\"]},\"node_modules/@river-build/diamond/src/primitive/ERC20.sol\":{\"keccak256\":\"0x4b433d379322c68241a596b8d2d2a349d2fb9f12b2365068067a11b6bcffc60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d412623852c32dfa28b3b46b3bff4b1881472f9a23e54fa9ee5d1795eb6a2213\",\"dweb:/ipfs/QmY2xoZHHtWnTvHfQ49WSLgZq7JfNtCZiDFdoDsWWYgcCU\"]},\"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol\":{\"keccak256\":\"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1\",\"dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV\"]},\"node_modules/solady/src/utils/FixedPointMathLib.sol\":{\"keccak256\":\"0x7afe0e9230d62d21b7bcaf26003b489e451fa91f73a50437a6cb506975ff5d91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://105454301879d0d8774b639f75bbf6dd7afcdc3d647f0026d85967e756394caa\",\"dweb:/ipfs/QmddrUdQkVpjHtj8XZxbPU3iqkttdwFs4uDoWfnxU1SCee\"]},\"node_modules/solady/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98\",\"dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi\"]},\"node_modules/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c\",\"dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ApprovalCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"ApprovalQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"BalanceQueryForZeroAddress"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__AlreadyBanned"},{"inputs":[],"type":"error","name":"Banning__CannotBanOwner"},{"inputs":[],"type":"error","name":"Banning__CannotBanSelf"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__InvalidTokenId"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__NotBanned"},{"inputs":[],"type":"error","name":"Dispatcher__InvalidCaller"},{"inputs":[],"type":"error","name":"Dispatcher__InvalidValue"},{"inputs":[],"type":"error","name":"Dispatcher__TransactionAlreadyExists"},{"inputs":[],"type":"error","name":"ERC5643__DurationZero"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC5643__InvalidTokenId"},{"inputs":[],"type":"error","name":"ERC5643__NotApprovedOrOwner"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC5643__SubscriptionNotRenewable"},{"inputs":[],"type":"error","name":"EntitlementGated_InvalidAddress"},{"inputs":[],"type":"error","name":"EntitlementGated_NodeAlreadyVoted"},{"inputs":[],"type":"error","name":"EntitlementGated_NodeNotFound"},{"inputs":[],"type":"error","name":"EntitlementGated_TransactionCheckAlreadyCompleted"},{"inputs":[],"type":"error","name":"EntitlementGated_TransactionCheckAlreadyRegistered"},{"inputs":[],"type":"error","name":"EntitlementGated_TransactionNotRegistered"},{"inputs":[],"type":"error","name":"Entitlement__InvalidValue"},{"inputs":[],"type":"error","name":"Entitlement__NotAllowed"},{"inputs":[],"type":"error","name":"Entitlement__NotMember"},{"inputs":[],"type":"error","name":"Entitlement__ValueAlreadyExists"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[],"type":"error","name":"Membership__AlreadyMember"},{"inputs":[],"type":"error","name":"Membership__Banned"},{"inputs":[],"type":"error","name":"Membership__InsufficientAllowance"},{"inputs":[],"type":"error","name":"Membership__InsufficientPayment"},{"inputs":[],"type":"error","name":"Membership__InvalidAddress"},{"inputs":[],"type":"error","name":"Membership__InvalidCurrency"},{"inputs":[],"type":"error","name":"Membership__InvalidDuration"},{"inputs":[],"type":"error","name":"Membership__InvalidFeeRecipient"},{"inputs":[],"type":"error","name":"Membership__InvalidFreeAllocation"},{"inputs":[],"type":"error","name":"Membership__InvalidLimit"},{"inputs":[],"type":"error","name":"Membership__InvalidMaxSupply"},{"inputs":[],"type":"error","name":"Membership__InvalidPayment"},{"inputs":[],"type":"error","name":"Membership__InvalidPrice"},{"inputs":[],"type":"error","name":"Membership__InvalidPricingModule"},{"inputs":[],"type":"error","name":"Membership__InvalidTokenId"},{"inputs":[],"type":"error","name":"Membership__InvalidTransactionType"},{"inputs":[],"type":"error","name":"Membership__MaxSupplyReached"},{"inputs":[],"type":"error","name":"Membership__NotExpired"},{"inputs":[],"type":"error","name":"Membership__PriceTooLow"},{"inputs":[],"type":"error","name":"MintERC2309QuantityExceedsLimit"},{"inputs":[],"type":"error","name":"MintToZeroAddress"},{"inputs":[],"type":"error","name":"MintZeroQuantity"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[],"type":"error","name":"OwnerQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"OwnershipNotInitializedForExtraData"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"type":"error","name":"PartnerRegistry__InvalidPartnerFee"},{"inputs":[],"type":"error","name":"PartnerRegistry__InvalidRecipient"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"PartnerRegistry__NotPartnerAccount"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"PartnerRegistry__PartnerAlreadyRegistered"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"PartnerRegistry__PartnerNotActive"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"PartnerRegistry__PartnerNotRegistered"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"type":"error","name":"PartnerRegistry__RegistryFeeNotPaid"},{"inputs":[],"type":"error","name":"Pausable__NotPaused"},{"inputs":[],"type":"error","name":"Pausable__Paused"},{"inputs":[],"type":"error","name":"Prepay__InvalidAddress"},{"inputs":[],"type":"error","name":"Prepay__InvalidAmount"},{"inputs":[],"type":"error","name":"Prepay__InvalidMembership"},{"inputs":[],"type":"error","name":"Prepay__InvalidSupplyAmount"},{"inputs":[],"type":"error","name":"Reentrancy"},{"inputs":[],"type":"error","name":"Referrals__InvalidBasisPoints"},{"inputs":[],"type":"error","name":"Referrals__InvalidBpsFee"},{"inputs":[],"type":"error","name":"Referrals__InvalidRecipient"},{"inputs":[],"type":"error","name":"Referrals__InvalidReferralCode"},{"inputs":[],"type":"error","name":"Referrals__ReferralAlreadyExists"},{"inputs":[],"type":"error","name":"Roles__EntitlementAlreadyExists"},{"inputs":[],"type":"error","name":"Roles__EntitlementDoesNotExist"},{"inputs":[],"type":"error","name":"Roles__InvalidEntitlementAddress"},{"inputs":[],"type":"error","name":"Roles__InvalidPermission"},{"inputs":[],"type":"error","name":"Roles__PermissionAlreadyExists"},{"inputs":[],"type":"error","name":"Roles__PermissionDoesNotExist"},{"inputs":[],"type":"error","name":"Roles__RoleDoesNotExist"},{"inputs":[],"type":"error","name":"TransferCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"TransferFromIncorrectOwner"},{"inputs":[],"type":"error","name":"TransferToNonERC721ReceiverImplementer"},{"inputs":[],"type":"error","name":"TransferToZeroAddress"},{"inputs":[],"type":"error","name":"URIQueryForNonexistentToken"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"moderator","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Banned","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"uint256","name":"defaultBpsFee","type":"uint256","indexed":false}],"type":"event","name":"DefaultBpsFeeUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"transactionId","type":"bytes32","indexed":true},{"internalType":"enum IEntitlementGatedBase.NodeVoteStatus","name":"result","type":"uint8","indexed":false}],"type":"event","name":"EntitlementCheckResultPosted","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"uint256","name":"maxBpsFee","type":"uint256","indexed":false}],"type":"event","name":"MaxBpsFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"MaxPartnerFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"currency","type":"address","indexed":true}],"type":"event","name":"MembershipCurrencyUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true}],"type":"event","name":"MembershipFeeRecipientUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"allocation","type":"uint256","indexed":true}],"type":"event","name":"MembershipFreeAllocationUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256","indexed":true}],"type":"event","name":"MembershipLimitUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"price","type":"uint256","indexed":true}],"type":"event","name":"MembershipPriceUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"MembershipTokenIssued","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true}],"type":"event","name":"MembershipTokenRejected","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"MembershipWithdrawal","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true}],"type":"event","name":"PartnerRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true}],"type":"event","name":"PartnerRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true}],"type":"event","name":"PartnerUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsAddedToChannelRole","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsRemovedFromChannelRole","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsUpdatedForChannelRole","anonymous":false},{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256","indexed":false}],"type":"event","name":"Prepay__Prepaid","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"referralCode","type":"bytes32","indexed":false},{"internalType":"uint256","name":"basisPoints","type":"uint256","indexed":false},{"internalType":"address","name":"recipient","type":"address","indexed":false}],"type":"event","name":"ReferralRegistered","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"referralCode","type":"bytes32","indexed":false}],"type":"event","name":"ReferralRemoved","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"referralCode","type":"bytes32","indexed":false},{"internalType":"uint256","name":"basisPoints","type":"uint256","indexed":false},{"internalType":"address","name":"recipient","type":"address","indexed":false}],"type":"event","name":"ReferralUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"RegistryFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"remover","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint64","name":"expiration","type":"uint64","indexed":false}],"type":"event","name":"SubscriptionUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"moderator","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Unbanned","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"expiresAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipCurrency","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipDuration","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipFreeAllocation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipImage","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipPricingModule","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMembershipRenewalPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSpaceFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"stateMutability":"payable","type":"function","name":"joinSpace"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"struct IMembershipBase.ReferralTypes","name":"referral","type":"tuple","components":[{"internalType":"address","name":"partner","type":"address"},{"internalType":"address","name":"userReferral","type":"address"},{"internalType":"string","name":"referralCode","type":"string"}]}],"stateMutability":"payable","type":"function","name":"joinSpaceWithReferral"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"renewMembership"},{"inputs":[],"stateMutability":"view","type":"function","name":"revenue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"newAllocation","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMembershipFreeAllocation"},{"inputs":[{"internalType":"string","name":"newImage","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setMembershipImage"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMembershipLimit"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMembershipPrice"},{"inputs":[{"internalType":"address","name":"pricingModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setMembershipPricingModule"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"}],"devdoc":{"kind":"dev","methods":{"expiresAt(uint256)":{"params":{"tokenId":"The token id of the membership"}},"getMembershipCurrency()":{"returns":{"_0":"The membership currency"}},"getMembershipDuration()":{"returns":{"_0":"The membership duration"}},"getMembershipFreeAllocation()":{"returns":{"_0":"The membership free allocation"}},"getMembershipImage()":{"returns":{"_0":"The membership image"}},"getMembershipLimit()":{"returns":{"_0":"The membership limit"}},"getMembershipPrice()":{"returns":{"_0":"The membership price"}},"getMembershipPricingModule()":{"returns":{"_0":"The membership pricing module"}},"getMembershipRenewalPrice(uint256)":{"params":{"tokenId":"The token id of the membership"},"returns":{"_0":"The membership renewal price"}},"getSpaceFactory()":{"returns":{"_0":"The space factory"}},"joinSpace(address)":{"params":{"receiver":"The address of the receiver"}},"joinSpaceWithReferral(address,(address,address,string))":{"params":{"receiver":"The address of the receiver","referral":"The referral data"}},"renewMembership(uint256)":{"params":{"tokenId":"The token id of the membership"}},"revenue()":{"returns":{"_0":"The current balance of funds held by the space"}},"setMembershipFreeAllocation(uint256)":{"params":{"newAllocation":"The new membership free allocation"}},"setMembershipLimit(uint256)":{"params":{"newLimit":"The new membership limit"}},"setMembershipPrice(uint256)":{"params":{"newPrice":"The new membership price"}},"setMembershipPricingModule(address)":{"params":{"pricingModule":"The new pricing module"}},"withdraw(address)":{"params":{"receiver":"The address to receive the withdrawn funds"}}},"version":1},"userdoc":{"kind":"user","methods":{"expiresAt(uint256)":{"notice":"Return the expiration date of a membership"},"getMembershipCurrency()":{"notice":"Get the membership currency"},"getMembershipDuration()":{"notice":"Get the membership duration"},"getMembershipFreeAllocation()":{"notice":"Get the membership free allocation"},"getMembershipImage()":{"notice":"Get the membership image"},"getMembershipLimit()":{"notice":"Get the membership limit"},"getMembershipPrice()":{"notice":"Get the membership price"},"getMembershipPricingModule()":{"notice":"Get the membership pricing module"},"getMembershipRenewalPrice(uint256)":{"notice":"Get the membership renewal price"},"getSpaceFactory()":{"notice":"Get the space factory"},"joinSpace(address)":{"notice":"Join a space"},"joinSpaceWithReferral(address,(address,address,string))":{"notice":"Join a space with a referral"},"renewMembership(uint256)":{"notice":"Renew a space membership"},"revenue()":{"notice":"Get the current balance of funds held by the space"},"setMembershipFreeAllocation(uint256)":{"notice":"Set the membership free allocation"},"setMembershipLimit(uint256)":{"notice":"Set the membership limit"},"setMembershipPrice(uint256)":{"notice":"Set the membership price"},"setMembershipPricingModule(address)":{"notice":"Set the membership pricing module"},"withdraw(address)":{"notice":"Withdraws the balance of the contract"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/spaces/facets/membership/MembershipFacet.sol":"MembershipFacet"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/airdrop/points/CheckIn.sol":{"keccak256":"0x10d34b8a6fcb2ab6ae4745a6aaac478cb7856df6b8b7c5f2fda4096a24247a4f","urls":["bzz-raw://3c6c52b784e76b81cdcfa86545a9390e628394dcd949c160a7fca8194750b915","dweb:/ipfs/QmXUz1XR61ztZLDe4FxLJg6oqohzbyjPZXsvq4cibwV4jU"],"license":"MIT"},"contracts/src/airdrop/points/ITownsPoints.sol":{"keccak256":"0xf507ad2a91ab58166c2e850b93085320bc483e12a3fe2aef808c0b254a0b656e","urls":["bzz-raw://5dc159159e4cbe755e18661831ce80a4ca183a43edc21a01504585e73e595ebc","dweb:/ipfs/QmUELy6xZ8fpcpYfV1VV7oGbF5UAButoYteUNMX1ZAUsj7"],"license":"MIT"},"contracts/src/airdrop/points/TownsPoints.sol":{"keccak256":"0x946df87486a5c9dc357d1ed6dd66a5910b058e3f39ee1406772788751cfc5adf","urls":["bzz-raw://418a07b0b0cddc9780b72a4efdf8af04210770ab0ecc504e8ec97beff58fe6f3","dweb:/ipfs/QmPKzX3Ep18KZ7LqXKummvb2Jkvc1Weperpp8e6wBKckNU"],"license":"MIT"},"contracts/src/airdrop/points/TownsPointsStorage.sol":{"keccak256":"0x7ea8ca73f728347c6872c229975632d0ea5a60cfde533d4ddb7c4bd0f37091a0","urls":["bzz-raw://bc87378a8ac74719ac4f96ad6245a544e0d5b81bb3a0d5674e90e46720f3e37e","dweb:/ipfs/QmeRjXzUvsicS7g5xAcz9XKTbcyK38p5B7j4m389Bs6MrG"],"license":"MIT"},"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol":{"keccak256":"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204","urls":["bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d","dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/ERC5643Base.sol":{"keccak256":"0x21d3c281732e54c93520a4f2cc72cc5af38c517f2a150ee67aa84704a3d78627","urls":["bzz-raw://52ce7c061da0142a4d775bb85896410d363d4a28c0275d3171a70872344fc9a4","dweb:/ipfs/Qmdwgs3TaC4b83JVn6RG5pJJdCrxb74ZMRqZbYSe5DuqZf"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/ERC5643Storage.sol":{"keccak256":"0x68cbff071e6a6a6b91b675af567616799435676fbbbebf4f9226e1226d6128b2","urls":["bzz-raw://2e2c7aee6ef32477733a50ba667cc510c8c165b9a9e146609b1f800acd0e4832","dweb:/ipfs/QmcWAz74x3AR6kpzWdyPWw3iLQ1yHBT3ZVoK6jT7T3LwXq"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol":{"keccak256":"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224","urls":["bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615","dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol":{"keccak256":"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62","urls":["bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba","dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol":{"keccak256":"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4","urls":["bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04","dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol":{"keccak256":"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782","urls":["bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d","dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"],"license":"MIT"},"contracts/src/factory/facets/architect/IArchitect.sol":{"keccak256":"0x5d790cabaad08df5dda57b8055dbf21ed103bd10ad0e4d684a0e690f9c240a24","urls":["bzz-raw://8ff954eb61db93e8b7b58d542f73d75b2e9ee856896a07d436bbc8101b4e9aea","dweb:/ipfs/QmdgzSC3JooGsWA6BTgyXQU7YA6byFFLuVkyZqs7mEgRCm"],"license":"MIT"},"contracts/src/factory/facets/architect/pricing/IPricingModules.sol":{"keccak256":"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171","urls":["bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786","dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm"],"license":"MIT"},"contracts/src/factory/facets/partner/IPartnerRegistry.sol":{"keccak256":"0x1fe0cb9bee78697a459c596df3d69809decda8b0176bcba47bfd7b4c3db4440f","urls":["bzz-raw://4a0ffc7ccacc24be9dd81545fb6bf2d2b63698c6ac0c54def86aac1513d04dcf","dweb:/ipfs/QmRRSWiMV9XyZZdhHR9jo3FdVqHYAB63Egpq8jiabTJdrp"],"license":"MIT"},"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol":{"keccak256":"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6","urls":["bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86","dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT"],"license":"MIT"},"contracts/src/factory/facets/registry/IImplementationRegistry.sol":{"keccak256":"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7","urls":["bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c","dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA"],"license":"MIT"},"contracts/src/factory/facets/wallet-link/IWalletLink.sol":{"keccak256":"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c","urls":["bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d","dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC"],"license":"MIT"},"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol":{"keccak256":"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b","urls":["bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4","dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2"],"license":"MIT"},"contracts/src/spaces/entitlements/user/IUserEntitlement.sol":{"keccak256":"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9","urls":["bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a","dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx"],"license":"MIT"},"contracts/src/spaces/facets/Entitled.sol":{"keccak256":"0x407444b484c8951ee61c5665c18876ce798c8e28b9aa9d4599b4a027d892870c","urls":["bzz-raw://78692dc68fe28f7d1bd3deea97534f3f4ef92e17cf443cad12c74989370ca689","dweb:/ipfs/QmWRDxd6jZjA1DR7N15pNZtqa5P7mHnB1wQSBHfSabCnSd"],"license":"MIT"},"contracts/src/spaces/facets/Permissions.sol":{"keccak256":"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e","urls":["bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634","dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x"],"license":"MIT"},"contracts/src/spaces/facets/banning/BanningBase.sol":{"keccak256":"0x38c44494221f96568f3efb540a8a6c7af141de95f25caf26df6e8a8333f31249","urls":["bzz-raw://cf1f509347cab5090655ff8272443d18f9716fea5ef27cd86269ccbd2570aa7e","dweb:/ipfs/QmbF8StzLRGnVvVXWYBowvdULoPPqQkU5hZR548cnRzuVs"],"license":"MIT"},"contracts/src/spaces/facets/banning/BanningStorage.sol":{"keccak256":"0xcfbf5c113056e569abf23158853ff4877744b22a4bf2bf49a282d04dab23ab17","urls":["bzz-raw://4f825e97ca65c9cd3bd5885d2fa8b8e5f8f0dcbe227dec064abbbab645685fbe","dweb:/ipfs/QmXAMntxrjzeNUKh9WcyHvzDmnV89vrJ9PkKRceqxJSxZp"],"license":"MIT"},"contracts/src/spaces/facets/banning/IBanning.sol":{"keccak256":"0x350ec182a95a86a41335979cd7212132858c5cfcd366602b2f6cd0ec0694b63e","urls":["bzz-raw://ecb4ad0c5a1086c38448b3e279733f33edc0cc39648368e5cb43dfff139ff7e8","dweb:/ipfs/QmWYfYE8Haqk9kBRxmLijfQSfqbfxf7LB3wQ24d3pG5PE3"],"license":"MIT"},"contracts/src/spaces/facets/channels/ChannelService.sol":{"keccak256":"0xd99752d8c031a33e075b257fe1863a269d470c8ad18052cdca6faeb5370d2169","urls":["bzz-raw://45bdecec56344c7cd8dceb7a47d5c66cd5b2c4e1eb006ed8b222a198e9f41f55","dweb:/ipfs/QmSFhLzHvYsYj3Py976SQDqzfSz3nnsyYc7hWBp61WPdjK"],"license":"MIT"},"contracts/src/spaces/facets/channels/ChannelStorage.sol":{"keccak256":"0xeb4174513a652b1571b3a92cbefa80e9d450144e8d07bfb29c863d7d9de9313c","urls":["bzz-raw://6c3b73c84a2b4a56fcc8bd1fbaa0a8896a2dfc62a7fde07b13c6d8b05dcf8fe6","dweb:/ipfs/QmRPukfmps5ESAR5saLNLJp6GEg1nNCTq5qChGeAjgtLV4"],"license":"MIT"},"contracts/src/spaces/facets/delegation/WalletLinkProxyBase.sol":{"keccak256":"0xffef403556b46744bd1833e5df57b02eb79e010841b16610e1740bc0dac929b2","urls":["bzz-raw://1afa30929e8c6b0c69528d328774c98789825a8de53e5945a1e95092bee2ad08","dweb:/ipfs/QmTbCqLJTBHgcMuFwWSTbrgR7uaASJqwqYuku4YkGzTWW1"],"license":"MIT"},"contracts/src/spaces/facets/delegation/WalletLinkProxyStorage.sol":{"keccak256":"0x9667e475b9ad9f1130583840c9b0594a7512f7edd33163b926b3db21f70d9909","urls":["bzz-raw://d6271ce56258b1e9150378872d250cfaeb4501b5d0288e8f19f02096114c687f","dweb:/ipfs/QmXSBA2CpLL9BdvZb994JYStgB9fJfsHwgcke6gsD3zybW"],"license":"MIT"},"contracts/src/spaces/facets/dispatcher/DispatcherBase.sol":{"keccak256":"0xd38bbf0e7de9af52f640f1a7af44f907ab230c68fd5731a30cb2957f7d508fbc","urls":["bzz-raw://d7537729ca5991c9b9d86417868e7c559c057840e2db29e14dbc8ff61f6e8ac9","dweb:/ipfs/QmeMMMxpqEC1D5reauz5Q8hKc6Lx84Rxt2aQj3SL2fRfvs"],"license":"MIT"},"contracts/src/spaces/facets/dispatcher/DispatcherStorage.sol":{"keccak256":"0x0173a174a8241b5fee8610af734f25e92f311e4a66ad08d21c5897cc8895d543","urls":["bzz-raw://a25813aa9421f1dca29a7013f7d8be1d37d53d97791633c3c822ccb8fb42758a","dweb:/ipfs/QmXHKAa6G8pEm3tUsVukLzgZDuEAcsKJwpjkKhR4pRwf5v"],"license":"MIT"},"contracts/src/spaces/facets/dispatcher/IDispatcher.sol":{"keccak256":"0xe619f5b6c184d7cb894aa3463309a411fb46ef80c3d4fa5199fb619ec1443e33","urls":["bzz-raw://d6a49ac3d978c21a7b27e871a4db7ec9bf82029d5bdd585c1a20b0d240293872","dweb:/ipfs/QmadJaz3dx5qcykfnZa1W52WqEo8d83v3SA5X5UiyxUie1"],"license":"MIT"},"contracts/src/spaces/facets/entitlements/EntitlementsManagerService.sol":{"keccak256":"0x85433740dc34b5a8c76e512f168e5eec3c03b9ed8683ce0c0acb5368150d5c3d","urls":["bzz-raw://10706ddceeecee6b1d429175430f3439c25e59070ad3cf5918cf9795c113f501","dweb:/ipfs/QmRS5ag8k4GSatGkWMKVvCBfxo2HPgh917UndkaF4VKCWa"],"license":"MIT"},"contracts/src/spaces/facets/entitlements/EntitlementsManagerStorage.sol":{"keccak256":"0x932608993bef144e63002ddef41a5c3cd3e800b49f7b18e0614da4912800d22d","urls":["bzz-raw://97e1e32435b60f4697a98679884b36c6912cc31a942bf2c92af6590c58c64ca9","dweb:/ipfs/QmNWcuZvzPqgQk2cLsmq7T71oMZGh22Mx1BwKz6Sj1cMAu"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol":{"keccak256":"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045","urls":["bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df","dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol":{"keccak256":"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84","urls":["bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3","dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo"],"license":"MIT"},"contracts/src/spaces/facets/gated/IEntitlementGated.sol":{"keccak256":"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74","urls":["bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec","dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT"],"license":"MIT"},"contracts/src/spaces/facets/membership/IMembership.sol":{"keccak256":"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b","urls":["bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6","dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipBase.sol":{"keccak256":"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8","urls":["bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2","dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipFacet.sol":{"keccak256":"0x131bfb10e19e8fdcf6880723f1d0395c14a224f6d7e1aec26fde86dfaf1ca7cb","urls":["bzz-raw://2aededc4332470f7e993eb3b2a27b6f83c179bc5667f8c60c172d424e2c89ec3","dweb:/ipfs/QmfPzTtSH9ScPWk84jAjW3R1p8FzNPVphYedEYPkBkxfNf"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipStorage.sol":{"keccak256":"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972","urls":["bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd","dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa"],"license":"MIT"},"contracts/src/spaces/facets/membership/join/MembershipJoin.sol":{"keccak256":"0x3c8b34517a8912a9951a6ec7a6ae15074d75d40eb1485a5ab690271b8945d53e","urls":["bzz-raw://6196d6690aa9d58a53ab303917eacd4a70c8e124908e9a18cdbef628029c24ce","dweb:/ipfs/Qmes1T9LiYYyRZF6iHUVYFJ6WetECv5CduYa9oVdXcHgN7"],"license":"MIT"},"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol":{"keccak256":"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4","urls":["bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc","dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF"],"license":"MIT"},"contracts/src/spaces/facets/owner/ISpaceOwner.sol":{"keccak256":"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4","urls":["bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a","dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw"],"license":"MIT"},"contracts/src/spaces/facets/prepay/IPrepay.sol":{"keccak256":"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa","urls":["bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15","dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT"],"license":"MIT"},"contracts/src/spaces/facets/prepay/PrepayBase.sol":{"keccak256":"0x07fbb598088d52ff90a2dc5c3fea344823ae240f39b104f8db8a0b3953752ba3","urls":["bzz-raw://d34b9a5703ac33b27f91049a81f106bdf327ac57f4ac5886e21f3782104a5084","dweb:/ipfs/QmR8ds7bpXxSLZX6QNhVRVYY8Fk2xHVFNqcAD1fY38kERs"],"license":"MIT"},"contracts/src/spaces/facets/prepay/PrepayStorage.sol":{"keccak256":"0x5daebdd10dafc3bc3552064a2fecd4a2639226b1af240351dd2e005a7ab270b4","urls":["bzz-raw://06cf75e08e360a74822cd846728c5d9f8440698bb43d29a8bcab3c0cebbec336","dweb:/ipfs/QmZ4UfwTNqQg88A7mHmXM3ZExjTJQhPf3qvFLGzcVaGwwG"],"license":"MIT"},"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol":{"keccak256":"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207","urls":["bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769","dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW"],"license":"MIT"},"contracts/src/spaces/facets/referrals/IReferrals.sol":{"keccak256":"0x58ec271dbc2fc4c179f20874f9ec97f97e5d6bad0083b2e83b0c3b11fa21a796","urls":["bzz-raw://6ab4e180cafd33e37039ffb004d20abe9c8b133a22cd50cfcf8898dd3177eb9a","dweb:/ipfs/QmcBSq323rdgNfGue7WgcqDcZ2hceduHuBQmpDWgfChMP2"],"license":"MIT"},"contracts/src/spaces/facets/referrals/ReferralsBase.sol":{"keccak256":"0x9085aa7742524adbb7f32a320fa4a4c803ae39e4b406c7f3c41022e83c8d218e","urls":["bzz-raw://37fdef0cd5ddb6ba1304d43420c4141d5b92dacb52efbee6d768a1c0dc17111a","dweb:/ipfs/Qmdxdzz6bAc3LrXx2PRR1BZaRcNnJ4jLPos1eFZoF6xwjR"],"license":"MIT"},"contracts/src/spaces/facets/referrals/ReferralsStorage.sol":{"keccak256":"0x92d60431a4403fb15701cacf5ce4fb01a3cdd04120fa73f3eb9fc935d1ae2cbf","urls":["bzz-raw://b25afae2092460be64e8ce9f146eedeabe908738ebfe16062d2ea15200b4d3f6","dweb:/ipfs/QmanSxLPMpcCJjdM5rNeXLLQ7AQeZTJAbrZ3sh79LNAbmr"],"license":"MIT"},"contracts/src/spaces/facets/roles/IRoles.sol":{"keccak256":"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65","urls":["bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed","dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3"],"license":"MIT"},"contracts/src/spaces/facets/roles/RolesBase.sol":{"keccak256":"0xc847fa3ca60c268fc9ae30160b22092757e336d00e899f4002a68558eaf4c5f1","urls":["bzz-raw://65284c01e6bae841b51f0a53161d9e88c46b207b8eefdf98cd3c582f2312963e","dweb:/ipfs/QmNcxd1hKiyYmKfVjjbwEHrydRJFLQYpjgeC6jMUosbcsY"],"license":"MIT"},"contracts/src/spaces/facets/roles/RolesStorage.sol":{"keccak256":"0xb7cd94235e366821c3dbdaa7dda9f66c6a0f55ced761a0cafc0de0ee2af41385","urls":["bzz-raw://f667b95874e4299f93064815001f7f1170e3268e677bb969c70e909f0086d53f","dweb:/ipfs/QmRpEpYsMN4C3yB9ujW3MRa8VxwQRoFHP1qoyFEko7W575"],"license":"MIT"},"contracts/src/utils/StringSet.sol":{"keccak256":"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6","urls":["bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605","dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu"],"license":"MIT"},"contracts/src/utils/Validator.sol":{"keccak256":"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f","urls":["bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3","dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG"],"license":"MIT"},"contracts/src/utils/interfaces/IWETH.sol":{"keccak256":"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0","urls":["bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5","dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6"],"license":"MIT"},"contracts/src/utils/libraries/BasisPoints.sol":{"keccak256":"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b","urls":["bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e","dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L"],"license":"MIT"},"contracts/src/utils/libraries/CurrencyTransfer.sol":{"keccak256":"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083","urls":["bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4","dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr"],"license":"MIT"},"contracts/src/utils/libraries/CustomRevert.sol":{"keccak256":"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059","urls":["bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7","dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2","urls":["bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875","dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd","urls":["bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e","dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol":{"keccak256":"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397","urls":["bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37","dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol":{"keccak256":"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83","urls":["bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711","dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol":{"keccak256":"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479","urls":["bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf","dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol":{"keccak256":"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1","urls":["bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684","dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol":{"keccak256":"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0","urls":["bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3","dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol":{"keccak256":"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f","urls":["bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd","dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj"],"license":"MIT"},"node_modules/@river-build/diamond/src/primitive/AllowanceMap.sol":{"keccak256":"0x12e8d3902e7206b89e54a16d1f8fb4ba4a1b819584c2baa01177b8e6de82155a","urls":["bzz-raw://9d0f4677070fec923c45e590abbe87fe21ec4b99d34b1ed51cdd14d9691de369","dweb:/ipfs/Qmdv3b3GzPFMrEobgaBVviTnFz9xRh4BcnQumpRAWPXof1"],"license":"MIT"},"node_modules/@river-build/diamond/src/primitive/BalanceMap.sol":{"keccak256":"0xabc75038e0fb72da4da89abac8de68dddebc96180b15f78a1c930a5c0bed2a7c","urls":["bzz-raw://a9d3cf8f296c283eb16485b4088586a6b195bbcdfedb9de61ddc83ed4f2139c0","dweb:/ipfs/Qmar9aZpDespjEPB3KPDyzVkw4Lu5Haw4YSN6MAyc1AeAJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/primitive/ERC20.sol":{"keccak256":"0x4b433d379322c68241a596b8d2d2a349d2fb9f12b2365068067a11b6bcffc60a","urls":["bzz-raw://d412623852c32dfa28b3b46b3bff4b1881472f9a23e54fa9ee5d1795eb6a2213","dweb:/ipfs/QmY2xoZHHtWnTvHfQ49WSLgZq7JfNtCZiDFdoDsWWYgcCU"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol":{"keccak256":"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01","urls":["bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1","dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV"],"license":"MIT"},"node_modules/solady/src/utils/FixedPointMathLib.sol":{"keccak256":"0x7afe0e9230d62d21b7bcaf26003b489e451fa91f73a50437a6cb506975ff5d91","urls":["bzz-raw://105454301879d0d8774b639f75bbf6dd7afcdc3d647f0026d85967e756394caa","dweb:/ipfs/QmddrUdQkVpjHtj8XZxbPU3iqkttdwFs4uDoWfnxU1SCee"],"license":"MIT"},"node_modules/solady/src/utils/ReentrancyGuard.sol":{"keccak256":"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8","urls":["bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98","dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi"],"license":"MIT"},"node_modules/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210","urls":["bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c","dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR"],"license":"MIT"}},"version":1},"id":245} \ No newline at end of file +{"abi":[{"type":"function","name":"expiresAt","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipCurrency","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMembershipDuration","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getMembershipFreeAllocation","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipImage","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMembershipLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipPrice","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipPricingModule","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMembershipRenewalPrice","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpaceFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"joinSpace","inputs":[{"name":"receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"joinSpaceWithReferral","inputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"referral","type":"tuple","internalType":"struct IMembershipBase.ReferralTypes","components":[{"name":"partner","type":"address","internalType":"address"},{"name":"userReferral","type":"address","internalType":"address"},{"name":"referralCode","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renewMembership","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revenue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setMembershipFreeAllocation","inputs":[{"name":"newAllocation","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipImage","inputs":[{"name":"newImage","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipLimit","inputs":[{"name":"newLimit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipPrice","inputs":[{"name":"newPrice","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipPricingModule","inputs":[{"name":"pricingModule","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Banned","inputs":[{"name":"moderator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DefaultBpsFeeUpdated","inputs":[{"name":"defaultBpsFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EntitlementCheckResultPosted","inputs":[{"name":"transactionId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"result","type":"uint8","indexed":false,"internalType":"enum IEntitlementGatedBase.NodeVoteStatus"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"MaxBpsFeeUpdated","inputs":[{"name":"maxBpsFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MaxPartnerFeeSet","inputs":[{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipCurrencyUpdated","inputs":[{"name":"currency","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MembershipFeeRecipientUpdated","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MembershipFreeAllocationUpdated","inputs":[{"name":"allocation","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipLimitUpdated","inputs":[{"name":"limit","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipPriceUpdated","inputs":[{"name":"price","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipTokenIssued","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipTokenRejected","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MembershipWithdrawal","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PartnerRegistered","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PartnerRemoved","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PartnerUpdated","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PermissionsAddedToChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PermissionsRemovedFromChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PermissionsUpdatedForChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Prepay__Prepaid","inputs":[{"name":"supply","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ReferralRegistered","inputs":[{"name":"referralCode","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"basisPoints","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReferralRemoved","inputs":[{"name":"referralCode","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"ReferralUpdated","inputs":[{"name":"referralCode","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"basisPoints","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryFeeSet","inputs":[{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleCreated","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleRemoved","inputs":[{"name":"remover","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleUpdated","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SubscriptionUpdate","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"expiration","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unbanned","inputs":[{"name":"moderator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ApprovalCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"ApprovalQueryForNonexistentToken","inputs":[]},{"type":"error","name":"BalanceQueryForZeroAddress","inputs":[]},{"type":"error","name":"Banning__AlreadyBanned","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Banning__CannotBanOwner","inputs":[]},{"type":"error","name":"Banning__CannotBanSelf","inputs":[]},{"type":"error","name":"Banning__InvalidTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Banning__NotBanned","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Dispatcher__InvalidCaller","inputs":[]},{"type":"error","name":"Dispatcher__InvalidValue","inputs":[]},{"type":"error","name":"Dispatcher__TransactionAlreadyExists","inputs":[]},{"type":"error","name":"ERC5643__DurationZero","inputs":[]},{"type":"error","name":"ERC5643__InvalidTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC5643__NotApprovedOrOwner","inputs":[]},{"type":"error","name":"ERC5643__SubscriptionNotRenewable","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"EntitlementGated_InvalidAddress","inputs":[]},{"type":"error","name":"EntitlementGated_NodeAlreadyVoted","inputs":[]},{"type":"error","name":"EntitlementGated_NodeNotFound","inputs":[]},{"type":"error","name":"EntitlementGated_TransactionCheckAlreadyCompleted","inputs":[]},{"type":"error","name":"EntitlementGated_TransactionCheckAlreadyRegistered","inputs":[]},{"type":"error","name":"EntitlementGated_TransactionNotRegistered","inputs":[]},{"type":"error","name":"Entitlement__InvalidValue","inputs":[]},{"type":"error","name":"Entitlement__NotAllowed","inputs":[]},{"type":"error","name":"Entitlement__NotMember","inputs":[]},{"type":"error","name":"Entitlement__ValueAlreadyExists","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"Membership__AlreadyMember","inputs":[]},{"type":"error","name":"Membership__Banned","inputs":[]},{"type":"error","name":"Membership__InsufficientAllowance","inputs":[]},{"type":"error","name":"Membership__InsufficientPayment","inputs":[]},{"type":"error","name":"Membership__InvalidAddress","inputs":[]},{"type":"error","name":"Membership__InvalidCurrency","inputs":[]},{"type":"error","name":"Membership__InvalidDuration","inputs":[]},{"type":"error","name":"Membership__InvalidFeeRecipient","inputs":[]},{"type":"error","name":"Membership__InvalidFreeAllocation","inputs":[]},{"type":"error","name":"Membership__InvalidLimit","inputs":[]},{"type":"error","name":"Membership__InvalidMaxSupply","inputs":[]},{"type":"error","name":"Membership__InvalidPayment","inputs":[]},{"type":"error","name":"Membership__InvalidPrice","inputs":[]},{"type":"error","name":"Membership__InvalidPricingModule","inputs":[]},{"type":"error","name":"Membership__InvalidTokenId","inputs":[]},{"type":"error","name":"Membership__InvalidTransactionType","inputs":[]},{"type":"error","name":"Membership__MaxSupplyReached","inputs":[]},{"type":"error","name":"Membership__NotExpired","inputs":[]},{"type":"error","name":"Membership__PriceTooLow","inputs":[]},{"type":"error","name":"MintERC2309QuantityExceedsLimit","inputs":[]},{"type":"error","name":"MintToZeroAddress","inputs":[]},{"type":"error","name":"MintZeroQuantity","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]},{"type":"error","name":"OwnerQueryForNonexistentToken","inputs":[]},{"type":"error","name":"OwnershipNotInitializedForExtraData","inputs":[]},{"type":"error","name":"PartnerRegistry__InvalidPartnerFee","inputs":[{"name":"fee","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PartnerRegistry__InvalidRecipient","inputs":[]},{"type":"error","name":"PartnerRegistry__NotPartnerAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__PartnerAlreadyRegistered","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__PartnerNotActive","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__PartnerNotRegistered","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__RegistryFeeNotPaid","inputs":[{"name":"fee","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Pausable__NotPaused","inputs":[]},{"type":"error","name":"Pausable__Paused","inputs":[]},{"type":"error","name":"Prepay__InvalidAddress","inputs":[]},{"type":"error","name":"Prepay__InvalidAmount","inputs":[]},{"type":"error","name":"Prepay__InvalidMembership","inputs":[]},{"type":"error","name":"Prepay__InvalidSupplyAmount","inputs":[]},{"type":"error","name":"Reentrancy","inputs":[]},{"type":"error","name":"Referrals__InvalidBasisPoints","inputs":[]},{"type":"error","name":"Referrals__InvalidBpsFee","inputs":[]},{"type":"error","name":"Referrals__InvalidRecipient","inputs":[]},{"type":"error","name":"Referrals__InvalidReferralCode","inputs":[]},{"type":"error","name":"Referrals__ReferralAlreadyExists","inputs":[]},{"type":"error","name":"Roles__EntitlementAlreadyExists","inputs":[]},{"type":"error","name":"Roles__EntitlementDoesNotExist","inputs":[]},{"type":"error","name":"Roles__InvalidEntitlementAddress","inputs":[]},{"type":"error","name":"Roles__InvalidPermission","inputs":[]},{"type":"error","name":"Roles__PermissionAlreadyExists","inputs":[]},{"type":"error","name":"Roles__PermissionDoesNotExist","inputs":[]},{"type":"error","name":"Roles__RoleDoesNotExist","inputs":[]},{"type":"error","name":"TransferCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"TransferFromIncorrectOwner","inputs":[]},{"type":"error","name":"TransferToNonERC721ReceiverImplementer","inputs":[]},{"type":"error","name":"TransferToZeroAddress","inputs":[]},{"type":"error","name":"URIQueryForNonexistentToken","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b506200001c62000022565b620000ca565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200006f576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff9081161015620000c757805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b61415980620000da6000396000f3fe60806040526004361061011f5760003560e01c8063706b8e09116100a057806393b13cb71161006457806393b13cb71461031557806395d600c81461033757806397fb7c1e1461034c578063df9a9fe61461036c578063e847abdd1461038c57600080fd5b8063706b8e091461029857806379dda585146102ad5780637c9669ac146102c25780638120f0ba146102d55780638c625b061461030257600080fd5b80635803909f116100e75780635803909f146101f85780635becd24a14610218578063657e45e814610238578063686f76841461026557806369d5f38a1461027857600080fd5b80630ef1be5f146101245780631278076a1461014657806317c957091461016e5780633e9491a2146101c357806351cff8d9146101d8575b600080fd5b34801561013057600080fd5b5061014461013f3660046136ff565b6103a1565b005b34801561015257600080fd5b5061015b610424565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5061015b610189366004613770565b60009081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060205260409020546001600160401b031690565b3480156101cf57600080fd5b5061015b61043b565b3480156101e457600080fd5b506101446101f336600461379e565b610445565b34801561020457600080fd5b5061015b610213366004613770565b61052c565b34801561022457600080fd5b50610144610233366004613770565b610545565b34801561024457600080fd5b5061024d6105ca565b6040516001600160a01b039091168152602001610165565b610144610273366004613850565b6105d4565b34801561028457600080fd5b50610144610293366004613770565b610619565b3480156102a457600080fd5b5061015b6106c7565b3480156102b957600080fd5b5061024d6106d1565b6101446102d0366004613770565b6106db565b3480156102e157600080fd5b506102ea610814565b6040516001600160401b039091168152602001610165565b61014461031036600461379e565b61081e565b34801561032157600080fd5b5061032a61086f565b604051610165919061398a565b34801561034357600080fd5b5061015b610879565b34801561035857600080fd5b50610144610367366004613770565b610883565b34801561037857600080fd5b5061014461038736600461379e565b6108db565b34801561039857600080fd5b5061024d610928565b6103a9610932565b6001600160a01b0316336001600160a01b0316146103e1576040516365f4906560e01b81523360048201526024015b60405180910390fd5b61042082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109cf92505050565b5050565b60006104366104316109e6565b610a1c565b905090565b6000610436610ba8565b61044d610932565b6001600160a01b0316336001600160a01b031614610480576040516365f4906560e01b81523360048201526024016103d8565b3068929eee149b4bd21268540361049f5763ab143c066000526004601cfd5b3068929eee149b4bd21268556001600160a01b0381166104d257604051635fbd571760e01b815260040160405180910390fd5b60006104dc610ba8565b9050806000036104ff57604051635894b54560e11b815260040160405180910390fd5b6105096000610bbb565b61051c610514610bcb565b308484610be7565b503868929eee149b4bd212685550565b600061053f8261053a6109e6565b610c33565b92915050565b61054d610932565b6001600160a01b0316336001600160a01b031614610580576040516365f4906560e01b81523360048201526024016103d8565b600061058a610c81565b9050801580159061059a57508082115b156105b85760405163c3983b9160e01b815260040160405180910390fd5b6105c182610c94565b61042082610d39565b6000610436610bcb565b3068929eee149b4bd2126854036105f35763ab143c066000526004601cfd5b3068929eee149b4bd21268556106098282610d8b565b3868929eee149b4bd21268555050565b610621610932565b6001600160a01b0316336001600160a01b031614610654576040516365f4906560e01b81523360048201526024016103d8565b61065d81610ef3565b610665610f81565b6001600160a01b03166391b7f5ed826040518263ffffffff1660e01b815260040161069291815260200190565b600060405180830381600087803b1580156106ac57600080fd5b505af11580156106c0573d6000803e3d6000fd5b5050505050565b6000610436610f9d565b600061043661103a565b3068929eee149b4bd2126854036106fa5763ab143c066000526004601cfd5b3068929eee149b4bd2126855600061071182611056565b90506001600160a01b03811661073a57604051635fbd571760e01b815260040160405180910390fd5b60008281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060205260409020546001600160401b0316610779611061565b6001600160401b031661078c42836139b3565b106107aa5760405163dce9a1d360e01b815260040160405180910390fd5b60006107b88461053a6109e6565b905080156107f15760006107cc84836110e7565b905060006107da82846139b3565b905080156107ee576107ec8582611193565b505b50505b610802846107fd611061565b611331565b5050503868929eee149b4bd212685550565b6000610436611061565b3068929eee149b4bd21268540361083d5763ab143c066000526004601cfd5b3068929eee149b4bd21268556040805160608082018352600080835260208301529181019190915261051c8282610d8b565b60606104366113fa565b6000610436610c81565b61088b610932565b6001600160a01b0316336001600160a01b0316146108be576040516365f4906560e01b81523360048201526024016103d8565b6108cf816108ca6109e6565b611495565b6108d8816114b6565b50565b6108e3610932565b6001600160a01b0316336001600160a01b031614610916576040516365f4906560e01b81523360048201526024016103d8565b61091f816114c6565b6108d88161157e565b6000610436610f81565b6000807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040516331a9108f60e11b815260048101919091529192506001600160a01b031690636352211e90602401602060405180830381865afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c991906139c6565b91505090565b806109d86115ab565b600c01906104209082613a67565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01546000805160206140f9833981519152540390565b600080610a276115ab565b90506000610a33610f9d565b6008830154604051635cf4ee9160e01b815260048101839052602481018790529192506000916001600160a01b0390911690635cf4ee9190604401602060405180830381865afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf9190613b26565b90506000610abb61103a565b90506000816001600160a01b0316631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190613b26565b90506000826001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190613b26565b905081841015610b9c57979650505050505050565b50919695505050505050565b6000610bb26115ab565b600a0154905090565b80610bc46115ab565b600a015550565b6000610bd56115ab565b600401546001600160a01b0316919050565b8015610c2d5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601610c2157610c1c82826115cf565b610c2d565b610c2d848484846115e2565b50505050565b600080610c3e6115ab565b600085815260098201602052604090205490915015610c7057600084815260099091016020526040902054905061053f565b610c7983610a1c565b949350505050565b6000610c8b6115ab565b60030154905090565b6000610c9e6115ab565b90508060060160009054906101000a90046001600160a01b03166001600160a01b0316632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d199190613b26565b8211156104205760405163c3983b9160e01b815260040160405180910390fd5b6000610d436115ab565b60078101839055600d8101805460ff1916600117905560405190915082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f90600090a25050565b610d9482611635565b610d9c61169e565b610da682826116d2565b336000610db283611733565b9050600081610de05783604051602001610dcc9190613b3f565b604051602081830303815290604052610df1565b604051806020016040528060008152505b9050600082610e0757631a1bdda160e21b610e10565b6346312d8360e11b5b90506000610e2a87610e2484888b8861176a565b3461179c565b9050600080610e3989846118b0565b9150915080610ee8578115610e90576000610e52611acf565b90508015610e77578615610e6e57610e6984611b2a565b610e81565b610e6984611bf4565b610e818489611d1e565b610e8a8a611d5a565b50610ee8565b610ea98360405180602001604052806000815250611dcb565b610eb38388611d1e565b6040516001600160a01b038a16907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f90600090a25b505050505050505050565b6000610efd61103a565b6001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613b26565b90508082101561042057604051631a23d64760e11b815260040160405180910390fd5b6000610f8b6115ab565b600801546001600160a01b0316919050565b600080610fa86115ab565b600d81015490915060ff1615610fc15760070154919050565b8060060160009054906101000a90046001600160a01b03166001600160a01b0316632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190613b26565b60006110446115ab565b600601546001600160a01b0316919050565b600061053f82611e12565b60008061106c6115ab565b90508060060160009054906101000a90046001600160a01b03166001600160a01b0316638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190613b7a565b6000806110f26115ab565b6006810154600480830154604080516301332c8360e61b815290519495506001600160a01b039384169493909116926000928592634ccb20c092818301926020928290030181865afa15801561114c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117091906139c6565b905061117b86611ecb565b945061118982888388610be7565b5050505092915050565b60008061119e6115ab565b905060006111aa610bcb565b905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016111f5578382600a0160008282546111e59190613ba3565b9091555084935061053f92505050565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112629190613b26565b905061127083883089610be7565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156112b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112db9190613b26565b905060006112e983836139b3565b905087811461130b57604051635894b54560e11b815260040160405180910390fd5b8086600a01600082825461131f9190613ba3565b90915550909998505050505050505050565b60008281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce006020819052604082205490916001600160401b0390911690818103611387576113808442613bb6565b9050611394565b6113918483613bb6565b90505b60008581526020848152604091829020805467ffffffffffffffff19166001600160401b038516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b60606114046115ab565b600c018054611412906139e3565b80601f016020809104026020016040519081016040528092919081815260200182805461143e906139e3565b801561148b5780601f106114605761010080835404028352916020019161148b565b820191906000526020600020905b81548152906001019060200180831161146e57829003601f168201915b5050505050905090565b8082101561042057604051636664d51760e11b815260040160405180910390fd5b806114bf6115ab565b6003015550565b6001600160a01b0381166114ed57604051630e88bf4b60e01b815260040160405180910390fd5b6114f561103a565b6040516346fc05eb60e11b81526001600160a01b0383811660048301529190911690638df80bd690602401602060405180830381865afa15801561153d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115619190613bf2565b6108d857604051630e88bf4b60e01b815260040160405180910390fd5b806115876115ab565b60080180546001600160a01b0319166001600160a01b039290921691909117905550565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60090565b6104206001600160a01b0383168261202c565b816001600160a01b0316836001600160a01b03160315610c2d57306001600160a01b0384160361162057610c1c6001600160a01b0385168383612048565b610c2d6001600160a01b038516848484612098565b6001600160a01b03811661165c57604051635fbd571760e01b815260040160405180910390fd5b611664610c81565b158015906116805750611675610c81565b61167d6109e6565b10155b156108d857604051637efcdb4960e01b815260040160405180910390fd5b34156116d05760006116ae6120f6565b90508034146108d8576040516334a7a93d60e01b815260040160405180910390fd5b565b60208101516001600160a01b03161561042057816001600160a01b031681602001516001600160a01b03161480611715575060208101516001600160a01b031633145b1561042057604051635fbd571760e01b815260040160405180910390fd5b80516000906001600160a01b0316158015611759575060208201516001600160a01b0316155b801561053f57505060400151511590565b6060848484846040516020016117839493929190613c0d565b6040516020818303038152906040529050949350505050565b6040516bffffffffffffffffffffffff19606085901b1660208201524360348201526000908190605401604051602081830303815290604052805190602001209050600061185e8261183284896117f28761214d565b604080516020808201959095526001600160a01b039390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b9050600061186b82612182565b51111561188b5760405163f82e65c360e01b815260040160405180910390fd5b6118958186611dcb565b83156118a5576118a58185612253565b9150505b9392505050565b60008060006118df604051806040016040528060098152602001684a6f696e537061636560b81b8152506122d9565b905060006118ec8661247b565b825190915060005b81811015611ac357600084828151811061191057611910613c53565b6020026020010151905080604001511561192a5750611abb565b60005b816080015151811015611ab85760008260800151828151811061195257611952613c53565b60200260200101519050806001600160a01b0316630cf0b5336000801b88604051806040016040528060098152602001684a6f696e537061636560b81b8152506040516020016119a29190613c69565b6040516020818303038152906040526119ba90613c85565b6040518463ffffffff1660e01b81526004016119d893929190613cee565b602060405180830381865afa1580156119f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a199190613bf2565b15611a3357506001975060009650611ac895505050505050565b806001600160a01b0316632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a959190613bf2565b15611aaf57611aaa8b8b8386600001516126e3565b600197505b5060010161192d565b50505b6001016118f4565b505050505b9250929050565b600080611ada6109e6565b90506000611ae6610f9d565b90506000611af26129d0565b905082821115611b06576000935050505090565b8015611b2057611b1660016129fa565b6000935050505090565b6001935050505090565b6000818152600080516020614139833981519152602052604081205490819003611b6757604051635894b54560e11b815260040160405180910390fd5b6000806000611b7585612182565b806020019051810190611b889190613d5f565b50919450925090506001600160e01b031983166346312d8360e11b14611bc15760405163da6153bd60e01b815260040160405180910390fd5b6000611bcd83866110e7565b90506000611bdb82876139b3565b9050611beb878585898587612a38565b50505050505050565b6000818152600080516020614139833981519152602052604081205490819003611c3157604051635894b54560e11b815260040160405180910390fd5b600080600080611c4086612182565b806020019051810190611c539190613d5f565b929650909450925090506001600160e01b03198416631a1bdda160e21b14611c8e5760405163da6153bd60e01b815260040160405180910390fd5b600081806020019051810190611ca49190613de7565b90506000611cb285886110e7565b90506000611cc58684600001518a612c6b565b90506000611cdd87856020015186604001518c612d47565b905060008183611ced868d6139b3565b611cf791906139b3565b611d0191906139b3565b9050611d118b89898d8589612a38565b5050505050505050505050565b600082815260008051602061413983398151915260205260409020548015611d5557611d4a8382612e34565b611d55610514610bcb565b505050565b6000611d64612e6f565b9050611d7a81611d756104316109e6565b612e85565b611d85826001612ea5565b611d91816107fd611061565b60405181906001600160a01b038416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b57690600090a35050565b60008281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040902060008051602061411983398151915290610c2d8382613a67565b60008181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054906000805160206140f983398151915290600160e01b83169003611eb15781600003611eab5780548310611e8757604051636f96cda160e11b815260040160405180910390fd5b5b600019909201600081815260048401602052604090205490929091508115611e88575b50919050565b50604051636f96cda160e11b815260040160405180910390fd5b600080611ed661103a565b90506000816001600160a01b0316631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3c9190613b26565b90506000826001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa29190613b26565b905081851015611fb457949350505050565b61202385846001600160a01b0316639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201a9190613e90565b61ffff16612ebf565b95945050505050565b60003860003884865af16104205763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af1806001600051141661208d57803d853b15171061208d576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af180600160005114166120e757803d873b1517106120e757637939f4246000526004601cfd5b50600060605260405250505050565b6000806121016129d0565b9050801561211157600091505090565b600061211e6104316109e6565b9050806000036121315760009250505090565b600061213c82611ecb565b828118908310029091189392505050565b60008181526000805160206141198339815191526020819052604082208054908361217783613eb4565b909155509392505050565b60008181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090208054606091600080516020614119833981519152916121cd906139e3565b80601f01602080910402602001604051908101604052809291908181526020018280546121f9906139e3565b80156122465780601f1061221b57610100808354040283529160200191612246565b820191906000526020600020905b81548152906001019060200180831161222957829003601f168201915b5050505050915050919050565b806000036122745760405163acdc0d4960e01b815260040160405180910390fd5b8034146122945760405163acdc0d4960e01b815260040160405180910390fd5b6000828152600080516020614139833981519152602052604081208054600080516020614119833981519152928492916122cf908490613ba3565b9091555050505050565b606060006122e5612f34565b80519091506000816001600160401b03811115612304576123046137bb565b60405190808252806020026020018201604052801561236957816020015b6123566040518060a00160405280600081526020016060815260200160001515815260200160608152602001606081525090565b8152602001906001900390816123225790505b5085516020870120909150600090815b8481101561246f576000806000806123a98a868151811061239c5761239c613c53565b6020026020010151612f5f565b935093509350935060005b825181101561245e57868382815181106123d0576123d0613c53565b60200260200101518051906020012003612456576040518060a001604052808c888151811061240157612401613c53565b6020026020010151815260200186815260200185151581526020018481526020018381525089898151811061243857612438613c53565b6020026020010181905250878061244e90613eb4565b98505061245e565b6001016123b4565b505060019093019250612379915050565b50508152949350505050565b606060006124876115ab565b6006015460405162468b7360e31b81526001600160a01b038581166004830152909116915060009082906302345b9890602401600060405180830381865afa1580156124d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124ff9190810190613ecd565b604051631f04207360e31b81526001600160a01b03868116600483015291925060009184169063f821039890602401602060405180830381865afa15801561254b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256f91906139c6565b90508151600014801561258a57506001600160a01b03811615155b156126045760405162468b7360e31b81526001600160a01b03808316600483015291955085918416906302345b9890602401600060405180830381865afa1580156125d9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126019190810190613ecd565b91505b81516000612613826001613ba3565b6001600160401b0381111561262a5761262a6137bb565b604051908082528060200260200182016040528015612653578160200160208202803683370190505b50905060005b828110156126ad5784818151811061267357612673613c53565b602002602001015182828151811061268d5761268d613c53565b6001600160a01b0390921660209283029190910190910152600101612659565b50868183815181106126c1576126c1613c53565b6001600160a01b03909216602092830291909101909101529695505050505050565b60008381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040902080547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00919060ff161561279757600481015460005b81811015612794578483600401828154811061276357612763613c53565b90600052602060002001540361278c576040516301ab53df60e31b815260040160405180910390fd5b600101612745565b50505b81546001600160a01b03166127ae576127ae613081565b8154604051634f84544560e01b8152600560048201526000916001600160a01b031690634f84544590602401600060405180830381865afa1580156127f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261281f9190810190613ecd565b825490915060ff1661286a5781546003830180546001600160a01b038089166001600160a01b0319909216919091179091558816610100026001600160a81b03199091161760011782555b600482018054600181810183556000928352602080842090920187905583518784529085019091526040822090915b8281101561295d578160405180604001604052808684815181106128bf576128bf613c53565b60200260200101516001600160a01b03168152602001600060028111156128e8576128e8613f7e565b9052815460018101835560009283526020928390208251910180546001600160a01b031981166001600160a01b03909316928317825593830151929390929183916001600160a81b03191617600160a01b83600281111561294b5761294b613f7e565b02179055505050806001019050612899565b50845460405163541da4e560e01b81526001600160a01b039091169063541da4e590612993908c908c908b908990600401613f94565b600060405180830381600087803b1580156129ad57600080fd5b505af11580156129c1573d6000803e3d6000fd5b50505050505050505050505050565b60007f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005b54919050565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c00805482908290600090612a2f9084906139b3565b90915550505050565b8115612a4a57612a488583611193565b505b612a548684612e34565b612a6d8660405180602001604052806000815250611dcb565b6000612a7761103a565b604051628956cd60e71b81526b0526976657241697264726f760a41b60048201526001600160a01b0391909116906344ab668090602401602060405180830381865afa158015612acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aef91906139c6565b90506000816001600160a01b031663dc69fdde600085604051602001612b1791815260200190565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401612b43929190613fc1565b602060405180830381865afa158015612b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b849190613b26565b6040516340c10f1960e01b81526001600160a01b03888116600483015260248201839052919250908316906340c10f1990604401600060405180830381600087803b158015612bd257600080fd5b505af1158015612be6573d6000803e3d6000fd5b50505050816001600160a01b03166340c10f19612c01610932565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015612c4957600080fd5b505af1158015612c5d573d6000803e3d6000fd5b505050505050505050505050565b60006001600160a01b038316612c83575060006118a9565b6000612c8d61103a565b604051630b969ea960e31b81526001600160a01b0386811660048301529190911690635cb4f54890602401608060405180830381865afa158015612cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf99190613ff8565b90508060400151600003612d115760009150506118a9565b604081015160208201516000612d278684612ebf565b9050612d3c612d34610bcb565b898484610be7565b979650505050505050565b6000808351600014612dbc576000612d5e85613147565b60408101519091506001600160a01b03161580612d7d57506020810151155b15612d8d57600092505050610c79565b6020810151612d9c8582612ebf565b9250612db5612da9610bcb565b89846040015186610be7565b5050612023565b6001600160a01b0385161561202357856001600160a01b0316856001600160a01b031603612dee576000915050610c79565b612e1f83612e1a7faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b612ebf565b9050612023612e2c610bcb565b878784610be7565b6000828152600080516020614139833981519152602052604081208054600080516020614119833981519152928492916122cf9084906139b3565b60006000805160206140f98339815191526129f4565b80612e8e6115ab565b600093845260090160205260409092209190915550565b6104208282604051806020016040528060008152506131d8565b6000612710821115612f1d5760405162461bcd60e51b815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f30306044820152600360fc1b60648201526084016103d8565b612710612f2a8385614071565b6118a99190614088565b60606104367f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01613258565b60008181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260408120805460609291839182917f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0091612fc1906139e3565b80601f0160208091040260200160405190810160405280929190818152602001828054612fed906139e3565b801561303a5780601f1061300f5761010080835404028352916020019161303a565b820191906000526020600020905b81548152906001019060200180831161301d57829003601f168201915b50505060008981526003850160205260409020600181015493985060ff909316965061306c9260020191506132659050565b925061307786613270565b9150509193509193565b7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0060006130ac6115ab565b60060154604051628956cd60e71b81526c29b830b1b2a7b832b930ba37b960991b60048201526001600160a01b03909116906344ab668090602401602060405180830381865afa158015613104573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312891906139c6565b82546001600160a01b0319166001600160a01b03919091161790915550565b6131746040518060600160405280606081526020016000815260200160006001600160a01b031681525090565b50805160208083019190912060009081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e900802825260409081902081516060810183529384528054928401929092526001909101546001600160a01b03169082015290565b6131e2838361334d565b6001600160a01b0383163b15611d55576000805160206140f9833981519152548281035b61321960008683806001019450866134a3565b613236576040516368d2bf6b60e11b815260040160405180910390fd5b81811061320657816000805160206140f983398151915254146106c057600080fd5b606060006118a98361358b565b606061053f826135e7565b60008181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604081206060916004909101906132af826136c4565b90506000816001600160401b038111156132cb576132cb6137bb565b6040519080825280602002602001820160405280156132f4578160200160208202803683370190505b50905060005b8281101561334457600061330e85836136ce565b90508083838151811061332357613323613c53565b6001600160a01b0390921660209283029190910190910152506001016132fa565b50949350505050565b6000805160206140f983398151915254600082900361337f5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461346c57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101613434565b508160000361348d57604051622e076360e81b815260040160405180910390fd5b6000805160206140f98339815191525550505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906134d89033908990889088906004016140aa565b6020604051808303816000875af1925050508015613513575060408051601f3d908101601f19168201909252613510918101906140dd565b60015b613571573d808015613541576040519150601f19603f3d011682016040523d82523d6000602084013e613546565b606091505b508051600003613569576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610c79565b6060816000018054806020026020016040519081016040528092919081815260200182805480156135db57602002820191906000526020600020905b8154815260200190600101908083116135c7575b50505050509050919050565b606081600001805480602002602001604051908101604052809291908181526020016000905b828210156136b957838290600052602060002001805461362c906139e3565b80601f0160208091040260200160405190810160405280929190818152602001828054613658906139e3565b80156136a55780601f1061367a576101008083540402835291602001916136a5565b820191906000526020600020905b81548152906001019060200180831161368857829003601f168201915b50505050508152602001906001019061360d565b505050509050919050565b600061053f825490565b60006118a9838360008260000182815481106136ec576136ec613c53565b9060005260206000200154905092915050565b6000806020838503121561371257600080fd5b82356001600160401b038082111561372957600080fd5b818501915085601f83011261373d57600080fd5b81358181111561374c57600080fd5b86602082850101111561375e57600080fd5b60209290920196919550909350505050565b60006020828403121561378257600080fd5b5035919050565b6001600160a01b03811681146108d857600080fd5b6000602082840312156137b057600080fd5b81356118a981613789565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156137f3576137f36137bb565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613821576138216137bb565b604052919050565b60006001600160401b03821115613842576138426137bb565b50601f01601f191660200190565b6000806040838503121561386357600080fd5b823561386e81613789565b91506020838101356001600160401b038082111561388b57600080fd5b908501906060828803121561389f57600080fd5b6138a76137d1565b82356138b281613789565b8152828401356138c181613789565b818501526040830135828111156138d757600080fd5b80840193505087601f8401126138ec57600080fd5b823591506139016138fc83613829565b6137f9565b828152888584860101111561391557600080fd5b8285850186830137600085848301015280604083015250809450505050509250929050565b60005b8381101561395557818101518382015260200161393d565b50506000910152565b6000815180845261397681602086016020860161393a565b601f01601f19169290920160200192915050565b6020815260006118a9602083018461395e565b634e487b7160e01b600052601160045260246000fd5b8181038181111561053f5761053f61399d565b6000602082840312156139d857600080fd5b81516118a981613789565b600181811c908216806139f757607f821691505b602082108103611eab57634e487b7160e01b600052602260045260246000fd5b601f821115611d55576000816000526020600020601f850160051c81016020861015613a405750805b601f850160051c820191505b81811015613a5f57828155600101613a4c565b505050505050565b81516001600160401b03811115613a8057613a806137bb565b613a9481613a8e84546139e3565b84613a17565b602080601f831160018114613ac95760008415613ab15750858301515b600019600386901b1c1916600185901b178555613a5f565b600085815260208120601f198616915b82811015613af857888601518255948401946001909101908401613ad9565b5085821015613b165787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215613b3857600080fd5b5051919050565b60208152600060018060a01b03808451166020840152806020850151166040840152506040830151606080840152610c79608084018261395e565b600060208284031215613b8c57600080fd5b81516001600160401b03811681146118a957600080fd5b8082018082111561053f5761053f61399d565b6001600160401b03818116838216019080821115613bd657613bd661399d565b5092915050565b80518015158114613bed57600080fd5b919050565b600060208284031215613c0457600080fd5b6118a982613bdd565b6001600160e01b0319851681526001600160a01b03848116602083015283166040820152608060608201819052600090613c499083018461395e565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b60008251613c7b81846020870161393a565b9190910192915050565b80516020808301519190811015611eab5760001960209190910360031b1b16919050565b60008151808452602080850194506020840160005b83811015613ce35781516001600160a01b031687529582019590820190600101613cbe565b509495945050505050565b838152606060208201526000613d076060830185613ca9565b9050826040830152949350505050565b80516001600160e01b031981168114613bed57600080fd5b6000613d3d6138fc84613829565b9050828152838383011115613d5157600080fd5b6118a983602083018461393a565b60008060008060808587031215613d7557600080fd5b613d7e85613d17565b93506020850151613d8e81613789565b6040860151909350613d9f81613789565b60608601519092506001600160401b03811115613dbb57600080fd5b8501601f81018713613dcc57600080fd5b613ddb87825160208401613d2f565b91505092959194509250565b600060208284031215613df957600080fd5b81516001600160401b0380821115613e1057600080fd5b9083019060608286031215613e2457600080fd5b613e2c6137d1565b8251613e3781613789565b81526020830151613e4781613789565b6020820152604083015182811115613e5e57600080fd5b80840193505085601f840112613e7357600080fd5b613e8286845160208601613d2f565b604082015295945050505050565b600060208284031215613ea257600080fd5b815161ffff811681146118a957600080fd5b600060018201613ec657613ec661399d565b5060010190565b60006020808385031215613ee057600080fd5b82516001600160401b0380821115613ef757600080fd5b818501915085601f830112613f0b57600080fd5b815181811115613f1d57613f1d6137bb565b8060051b9150613f2e8483016137f9565b8181529183018401918481019088841115613f4857600080fd5b938501935b83851015613f725784519250613f6283613789565b8282529385019390850190613f4d565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b60018060a01b0385168152836020820152826040820152608060608201526000613c496080830184613ca9565b600060028410613fe157634e487b7160e01b600052602160045260246000fd5b83825260406020830152610c79604083018461395e565b60006080828403121561400a57600080fd5b604051608081018181106001600160401b038211171561402c5761402c6137bb565b604052825161403a81613789565b8152602083015161404a81613789565b60208201526040838101519082015261406560608401613bdd565b60608201529392505050565b808202811582820484141761053f5761053f61399d565b6000826140a557634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613c499083018461395e565b6000602082840312156140ef57600080fd5b6118a982613d1756fe6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0034516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0034516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e01","sourceMap":"491:6640:245:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;491:6640:245;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;491:6640:245;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061011f5760003560e01c8063706b8e09116100a057806393b13cb71161006457806393b13cb71461031557806395d600c81461033757806397fb7c1e1461034c578063df9a9fe61461036c578063e847abdd1461038c57600080fd5b8063706b8e091461029857806379dda585146102ad5780637c9669ac146102c25780638120f0ba146102d55780638c625b061461030257600080fd5b80635803909f116100e75780635803909f146101f85780635becd24a14610218578063657e45e814610238578063686f76841461026557806369d5f38a1461027857600080fd5b80630ef1be5f146101245780631278076a1461014657806317c957091461016e5780633e9491a2146101c357806351cff8d9146101d8575b600080fd5b34801561013057600080fd5b5061014461013f3660046136ff565b6103a1565b005b34801561015257600080fd5b5061015b610424565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5061015b610189366004613770565b60009081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060205260409020546001600160401b031690565b3480156101cf57600080fd5b5061015b61043b565b3480156101e457600080fd5b506101446101f336600461379e565b610445565b34801561020457600080fd5b5061015b610213366004613770565b61052c565b34801561022457600080fd5b50610144610233366004613770565b610545565b34801561024457600080fd5b5061024d6105ca565b6040516001600160a01b039091168152602001610165565b610144610273366004613850565b6105d4565b34801561028457600080fd5b50610144610293366004613770565b610619565b3480156102a457600080fd5b5061015b6106c7565b3480156102b957600080fd5b5061024d6106d1565b6101446102d0366004613770565b6106db565b3480156102e157600080fd5b506102ea610814565b6040516001600160401b039091168152602001610165565b61014461031036600461379e565b61081e565b34801561032157600080fd5b5061032a61086f565b604051610165919061398a565b34801561034357600080fd5b5061015b610879565b34801561035857600080fd5b50610144610367366004613770565b610883565b34801561037857600080fd5b5061014461038736600461379e565b6108db565b34801561039857600080fd5b5061024d610928565b6103a9610932565b6001600160a01b0316336001600160a01b0316146103e1576040516365f4906560e01b81523360048201526024015b60405180910390fd5b61042082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109cf92505050565b5050565b60006104366104316109e6565b610a1c565b905090565b6000610436610ba8565b61044d610932565b6001600160a01b0316336001600160a01b031614610480576040516365f4906560e01b81523360048201526024016103d8565b3068929eee149b4bd21268540361049f5763ab143c066000526004601cfd5b3068929eee149b4bd21268556001600160a01b0381166104d257604051635fbd571760e01b815260040160405180910390fd5b60006104dc610ba8565b9050806000036104ff57604051635894b54560e11b815260040160405180910390fd5b6105096000610bbb565b61051c610514610bcb565b308484610be7565b503868929eee149b4bd212685550565b600061053f8261053a6109e6565b610c33565b92915050565b61054d610932565b6001600160a01b0316336001600160a01b031614610580576040516365f4906560e01b81523360048201526024016103d8565b600061058a610c81565b9050801580159061059a57508082115b156105b85760405163c3983b9160e01b815260040160405180910390fd5b6105c182610c94565b61042082610d39565b6000610436610bcb565b3068929eee149b4bd2126854036105f35763ab143c066000526004601cfd5b3068929eee149b4bd21268556106098282610d8b565b3868929eee149b4bd21268555050565b610621610932565b6001600160a01b0316336001600160a01b031614610654576040516365f4906560e01b81523360048201526024016103d8565b61065d81610ef3565b610665610f81565b6001600160a01b03166391b7f5ed826040518263ffffffff1660e01b815260040161069291815260200190565b600060405180830381600087803b1580156106ac57600080fd5b505af11580156106c0573d6000803e3d6000fd5b5050505050565b6000610436610f9d565b600061043661103a565b3068929eee149b4bd2126854036106fa5763ab143c066000526004601cfd5b3068929eee149b4bd2126855600061071182611056565b90506001600160a01b03811661073a57604051635fbd571760e01b815260040160405180910390fd5b60008281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060205260409020546001600160401b0316610779611061565b6001600160401b031661078c42836139b3565b106107aa5760405163dce9a1d360e01b815260040160405180910390fd5b60006107b88461053a6109e6565b905080156107f15760006107cc84836110e7565b905060006107da82846139b3565b905080156107ee576107ec8582611193565b505b50505b610802846107fd611061565b611331565b5050503868929eee149b4bd212685550565b6000610436611061565b3068929eee149b4bd21268540361083d5763ab143c066000526004601cfd5b3068929eee149b4bd21268556040805160608082018352600080835260208301529181019190915261051c8282610d8b565b60606104366113fa565b6000610436610c81565b61088b610932565b6001600160a01b0316336001600160a01b0316146108be576040516365f4906560e01b81523360048201526024016103d8565b6108cf816108ca6109e6565b611495565b6108d8816114b6565b50565b6108e3610932565b6001600160a01b0316336001600160a01b031614610916576040516365f4906560e01b81523360048201526024016103d8565b61091f816114c6565b6108d88161157e565b6000610436610f81565b6000807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040516331a9108f60e11b815260048101919091529192506001600160a01b031690636352211e90602401602060405180830381865afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c991906139c6565b91505090565b806109d86115ab565b600c01906104209082613a67565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01546000805160206140f9833981519152540390565b600080610a276115ab565b90506000610a33610f9d565b6008830154604051635cf4ee9160e01b815260048101839052602481018790529192506000916001600160a01b0390911690635cf4ee9190604401602060405180830381865afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf9190613b26565b90506000610abb61103a565b90506000816001600160a01b0316631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190613b26565b90506000826001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190613b26565b905081841015610b9c57979650505050505050565b50919695505050505050565b6000610bb26115ab565b600a0154905090565b80610bc46115ab565b600a015550565b6000610bd56115ab565b600401546001600160a01b0316919050565b8015610c2d5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601610c2157610c1c82826115cf565b610c2d565b610c2d848484846115e2565b50505050565b600080610c3e6115ab565b600085815260098201602052604090205490915015610c7057600084815260099091016020526040902054905061053f565b610c7983610a1c565b949350505050565b6000610c8b6115ab565b60030154905090565b6000610c9e6115ab565b90508060060160009054906101000a90046001600160a01b03166001600160a01b0316632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d199190613b26565b8211156104205760405163c3983b9160e01b815260040160405180910390fd5b6000610d436115ab565b60078101839055600d8101805460ff1916600117905560405190915082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f90600090a25050565b610d9482611635565b610d9c61169e565b610da682826116d2565b336000610db283611733565b9050600081610de05783604051602001610dcc9190613b3f565b604051602081830303815290604052610df1565b604051806020016040528060008152505b9050600082610e0757631a1bdda160e21b610e10565b6346312d8360e11b5b90506000610e2a87610e2484888b8861176a565b3461179c565b9050600080610e3989846118b0565b9150915080610ee8578115610e90576000610e52611acf565b90508015610e77578615610e6e57610e6984611b2a565b610e81565b610e6984611bf4565b610e818489611d1e565b610e8a8a611d5a565b50610ee8565b610ea98360405180602001604052806000815250611dcb565b610eb38388611d1e565b6040516001600160a01b038a16907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f90600090a25b505050505050505050565b6000610efd61103a565b6001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613b26565b90508082101561042057604051631a23d64760e11b815260040160405180910390fd5b6000610f8b6115ab565b600801546001600160a01b0316919050565b600080610fa86115ab565b600d81015490915060ff1615610fc15760070154919050565b8060060160009054906101000a90046001600160a01b03166001600160a01b0316632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190613b26565b60006110446115ab565b600601546001600160a01b0316919050565b600061053f82611e12565b60008061106c6115ab565b90508060060160009054906101000a90046001600160a01b03166001600160a01b0316638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190613b7a565b6000806110f26115ab565b6006810154600480830154604080516301332c8360e61b815290519495506001600160a01b039384169493909116926000928592634ccb20c092818301926020928290030181865afa15801561114c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117091906139c6565b905061117b86611ecb565b945061118982888388610be7565b5050505092915050565b60008061119e6115ab565b905060006111aa610bcb565b905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016111f5578382600a0160008282546111e59190613ba3565b9091555084935061053f92505050565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112629190613b26565b905061127083883089610be7565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156112b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112db9190613b26565b905060006112e983836139b3565b905087811461130b57604051635894b54560e11b815260040160405180910390fd5b8086600a01600082825461131f9190613ba3565b90915550909998505050505050505050565b60008281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce006020819052604082205490916001600160401b0390911690818103611387576113808442613bb6565b9050611394565b6113918483613bb6565b90505b60008581526020848152604091829020805467ffffffffffffffff19166001600160401b038516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b60606114046115ab565b600c018054611412906139e3565b80601f016020809104026020016040519081016040528092919081815260200182805461143e906139e3565b801561148b5780601f106114605761010080835404028352916020019161148b565b820191906000526020600020905b81548152906001019060200180831161146e57829003601f168201915b5050505050905090565b8082101561042057604051636664d51760e11b815260040160405180910390fd5b806114bf6115ab565b6003015550565b6001600160a01b0381166114ed57604051630e88bf4b60e01b815260040160405180910390fd5b6114f561103a565b6040516346fc05eb60e11b81526001600160a01b0383811660048301529190911690638df80bd690602401602060405180830381865afa15801561153d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115619190613bf2565b6108d857604051630e88bf4b60e01b815260040160405180910390fd5b806115876115ab565b60080180546001600160a01b0319166001600160a01b039290921691909117905550565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60090565b6104206001600160a01b0383168261202c565b816001600160a01b0316836001600160a01b03160315610c2d57306001600160a01b0384160361162057610c1c6001600160a01b0385168383612048565b610c2d6001600160a01b038516848484612098565b6001600160a01b03811661165c57604051635fbd571760e01b815260040160405180910390fd5b611664610c81565b158015906116805750611675610c81565b61167d6109e6565b10155b156108d857604051637efcdb4960e01b815260040160405180910390fd5b34156116d05760006116ae6120f6565b90508034146108d8576040516334a7a93d60e01b815260040160405180910390fd5b565b60208101516001600160a01b03161561042057816001600160a01b031681602001516001600160a01b03161480611715575060208101516001600160a01b031633145b1561042057604051635fbd571760e01b815260040160405180910390fd5b80516000906001600160a01b0316158015611759575060208201516001600160a01b0316155b801561053f57505060400151511590565b6060848484846040516020016117839493929190613c0d565b6040516020818303038152906040529050949350505050565b6040516bffffffffffffffffffffffff19606085901b1660208201524360348201526000908190605401604051602081830303815290604052805190602001209050600061185e8261183284896117f28761214d565b604080516020808201959095526001600160a01b039390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b9050600061186b82612182565b51111561188b5760405163f82e65c360e01b815260040160405180910390fd5b6118958186611dcb565b83156118a5576118a58185612253565b9150505b9392505050565b60008060006118df604051806040016040528060098152602001684a6f696e537061636560b81b8152506122d9565b905060006118ec8661247b565b825190915060005b81811015611ac357600084828151811061191057611910613c53565b6020026020010151905080604001511561192a5750611abb565b60005b816080015151811015611ab85760008260800151828151811061195257611952613c53565b60200260200101519050806001600160a01b0316630cf0b5336000801b88604051806040016040528060098152602001684a6f696e537061636560b81b8152506040516020016119a29190613c69565b6040516020818303038152906040526119ba90613c85565b6040518463ffffffff1660e01b81526004016119d893929190613cee565b602060405180830381865afa1580156119f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a199190613bf2565b15611a3357506001975060009650611ac895505050505050565b806001600160a01b0316632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a959190613bf2565b15611aaf57611aaa8b8b8386600001516126e3565b600197505b5060010161192d565b50505b6001016118f4565b505050505b9250929050565b600080611ada6109e6565b90506000611ae6610f9d565b90506000611af26129d0565b905082821115611b06576000935050505090565b8015611b2057611b1660016129fa565b6000935050505090565b6001935050505090565b6000818152600080516020614139833981519152602052604081205490819003611b6757604051635894b54560e11b815260040160405180910390fd5b6000806000611b7585612182565b806020019051810190611b889190613d5f565b50919450925090506001600160e01b031983166346312d8360e11b14611bc15760405163da6153bd60e01b815260040160405180910390fd5b6000611bcd83866110e7565b90506000611bdb82876139b3565b9050611beb878585898587612a38565b50505050505050565b6000818152600080516020614139833981519152602052604081205490819003611c3157604051635894b54560e11b815260040160405180910390fd5b600080600080611c4086612182565b806020019051810190611c539190613d5f565b929650909450925090506001600160e01b03198416631a1bdda160e21b14611c8e5760405163da6153bd60e01b815260040160405180910390fd5b600081806020019051810190611ca49190613de7565b90506000611cb285886110e7565b90506000611cc58684600001518a612c6b565b90506000611cdd87856020015186604001518c612d47565b905060008183611ced868d6139b3565b611cf791906139b3565b611d0191906139b3565b9050611d118b89898d8589612a38565b5050505050505050505050565b600082815260008051602061413983398151915260205260409020548015611d5557611d4a8382612e34565b611d55610514610bcb565b505050565b6000611d64612e6f565b9050611d7a81611d756104316109e6565b612e85565b611d85826001612ea5565b611d91816107fd611061565b60405181906001600160a01b038416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b57690600090a35050565b60008281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040902060008051602061411983398151915290610c2d8382613a67565b60008181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054906000805160206140f983398151915290600160e01b83169003611eb15781600003611eab5780548310611e8757604051636f96cda160e11b815260040160405180910390fd5b5b600019909201600081815260048401602052604090205490929091508115611e88575b50919050565b50604051636f96cda160e11b815260040160405180910390fd5b600080611ed661103a565b90506000816001600160a01b0316631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3c9190613b26565b90506000826001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa29190613b26565b905081851015611fb457949350505050565b61202385846001600160a01b0316639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201a9190613e90565b61ffff16612ebf565b95945050505050565b60003860003884865af16104205763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af1806001600051141661208d57803d853b15171061208d576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af180600160005114166120e757803d873b1517106120e757637939f4246000526004601cfd5b50600060605260405250505050565b6000806121016129d0565b9050801561211157600091505090565b600061211e6104316109e6565b9050806000036121315760009250505090565b600061213c82611ecb565b828118908310029091189392505050565b60008181526000805160206141198339815191526020819052604082208054908361217783613eb4565b909155509392505050565b60008181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090208054606091600080516020614119833981519152916121cd906139e3565b80601f01602080910402602001604051908101604052809291908181526020018280546121f9906139e3565b80156122465780601f1061221b57610100808354040283529160200191612246565b820191906000526020600020905b81548152906001019060200180831161222957829003601f168201915b5050505050915050919050565b806000036122745760405163acdc0d4960e01b815260040160405180910390fd5b8034146122945760405163acdc0d4960e01b815260040160405180910390fd5b6000828152600080516020614139833981519152602052604081208054600080516020614119833981519152928492916122cf908490613ba3565b9091555050505050565b606060006122e5612f34565b80519091506000816001600160401b03811115612304576123046137bb565b60405190808252806020026020018201604052801561236957816020015b6123566040518060a00160405280600081526020016060815260200160001515815260200160608152602001606081525090565b8152602001906001900390816123225790505b5085516020870120909150600090815b8481101561246f576000806000806123a98a868151811061239c5761239c613c53565b6020026020010151612f5f565b935093509350935060005b825181101561245e57868382815181106123d0576123d0613c53565b60200260200101518051906020012003612456576040518060a001604052808c888151811061240157612401613c53565b6020026020010151815260200186815260200185151581526020018481526020018381525089898151811061243857612438613c53565b6020026020010181905250878061244e90613eb4565b98505061245e565b6001016123b4565b505060019093019250612379915050565b50508152949350505050565b606060006124876115ab565b6006015460405162468b7360e31b81526001600160a01b038581166004830152909116915060009082906302345b9890602401600060405180830381865afa1580156124d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124ff9190810190613ecd565b604051631f04207360e31b81526001600160a01b03868116600483015291925060009184169063f821039890602401602060405180830381865afa15801561254b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256f91906139c6565b90508151600014801561258a57506001600160a01b03811615155b156126045760405162468b7360e31b81526001600160a01b03808316600483015291955085918416906302345b9890602401600060405180830381865afa1580156125d9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126019190810190613ecd565b91505b81516000612613826001613ba3565b6001600160401b0381111561262a5761262a6137bb565b604051908082528060200260200182016040528015612653578160200160208202803683370190505b50905060005b828110156126ad5784818151811061267357612673613c53565b602002602001015182828151811061268d5761268d613c53565b6001600160a01b0390921660209283029190910190910152600101612659565b50868183815181106126c1576126c1613c53565b6001600160a01b03909216602092830291909101909101529695505050505050565b60008381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040902080547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00919060ff161561279757600481015460005b81811015612794578483600401828154811061276357612763613c53565b90600052602060002001540361278c576040516301ab53df60e31b815260040160405180910390fd5b600101612745565b50505b81546001600160a01b03166127ae576127ae613081565b8154604051634f84544560e01b8152600560048201526000916001600160a01b031690634f84544590602401600060405180830381865afa1580156127f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261281f9190810190613ecd565b825490915060ff1661286a5781546003830180546001600160a01b038089166001600160a01b0319909216919091179091558816610100026001600160a81b03199091161760011782555b600482018054600181810183556000928352602080842090920187905583518784529085019091526040822090915b8281101561295d578160405180604001604052808684815181106128bf576128bf613c53565b60200260200101516001600160a01b03168152602001600060028111156128e8576128e8613f7e565b9052815460018101835560009283526020928390208251910180546001600160a01b031981166001600160a01b03909316928317825593830151929390929183916001600160a81b03191617600160a01b83600281111561294b5761294b613f7e565b02179055505050806001019050612899565b50845460405163541da4e560e01b81526001600160a01b039091169063541da4e590612993908c908c908b908990600401613f94565b600060405180830381600087803b1580156129ad57600080fd5b505af11580156129c1573d6000803e3d6000fd5b50505050505050505050505050565b60007f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005b54919050565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c00805482908290600090612a2f9084906139b3565b90915550505050565b8115612a4a57612a488583611193565b505b612a548684612e34565b612a6d8660405180602001604052806000815250611dcb565b6000612a7761103a565b604051628956cd60e71b81526b0526976657241697264726f760a41b60048201526001600160a01b0391909116906344ab668090602401602060405180830381865afa158015612acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aef91906139c6565b90506000816001600160a01b031663dc69fdde600085604051602001612b1791815260200190565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401612b43929190613fc1565b602060405180830381865afa158015612b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b849190613b26565b6040516340c10f1960e01b81526001600160a01b03888116600483015260248201839052919250908316906340c10f1990604401600060405180830381600087803b158015612bd257600080fd5b505af1158015612be6573d6000803e3d6000fd5b50505050816001600160a01b03166340c10f19612c01610932565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015612c4957600080fd5b505af1158015612c5d573d6000803e3d6000fd5b505050505050505050505050565b60006001600160a01b038316612c83575060006118a9565b6000612c8d61103a565b604051630b969ea960e31b81526001600160a01b0386811660048301529190911690635cb4f54890602401608060405180830381865afa158015612cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf99190613ff8565b90508060400151600003612d115760009150506118a9565b604081015160208201516000612d278684612ebf565b9050612d3c612d34610bcb565b898484610be7565b979650505050505050565b6000808351600014612dbc576000612d5e85613147565b60408101519091506001600160a01b03161580612d7d57506020810151155b15612d8d57600092505050610c79565b6020810151612d9c8582612ebf565b9250612db5612da9610bcb565b89846040015186610be7565b5050612023565b6001600160a01b0385161561202357856001600160a01b0316856001600160a01b031603612dee576000915050610c79565b612e1f83612e1a7faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b612ebf565b9050612023612e2c610bcb565b878784610be7565b6000828152600080516020614139833981519152602052604081208054600080516020614119833981519152928492916122cf9084906139b3565b60006000805160206140f98339815191526129f4565b80612e8e6115ab565b600093845260090160205260409092209190915550565b6104208282604051806020016040528060008152506131d8565b6000612710821115612f1d5760405162461bcd60e51b815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f30306044820152600360fc1b60648201526084016103d8565b612710612f2a8385614071565b6118a99190614088565b60606104367f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01613258565b60008181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260408120805460609291839182917f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0091612fc1906139e3565b80601f0160208091040260200160405190810160405280929190818152602001828054612fed906139e3565b801561303a5780601f1061300f5761010080835404028352916020019161303a565b820191906000526020600020905b81548152906001019060200180831161301d57829003601f168201915b50505060008981526003850160205260409020600181015493985060ff909316965061306c9260020191506132659050565b925061307786613270565b9150509193509193565b7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0060006130ac6115ab565b60060154604051628956cd60e71b81526c29b830b1b2a7b832b930ba37b960991b60048201526001600160a01b03909116906344ab668090602401602060405180830381865afa158015613104573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312891906139c6565b82546001600160a01b0319166001600160a01b03919091161790915550565b6131746040518060600160405280606081526020016000815260200160006001600160a01b031681525090565b50805160208083019190912060009081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e900802825260409081902081516060810183529384528054928401929092526001909101546001600160a01b03169082015290565b6131e2838361334d565b6001600160a01b0383163b15611d55576000805160206140f9833981519152548281035b61321960008683806001019450866134a3565b613236576040516368d2bf6b60e11b815260040160405180910390fd5b81811061320657816000805160206140f983398151915254146106c057600080fd5b606060006118a98361358b565b606061053f826135e7565b60008181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604081206060916004909101906132af826136c4565b90506000816001600160401b038111156132cb576132cb6137bb565b6040519080825280602002602001820160405280156132f4578160200160208202803683370190505b50905060005b8281101561334457600061330e85836136ce565b90508083838151811061332357613323613c53565b6001600160a01b0390921660209283029190910190910152506001016132fa565b50949350505050565b6000805160206140f983398151915254600082900361337f5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461346c57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101613434565b508160000361348d57604051622e076360e81b815260040160405180910390fd5b6000805160206140f98339815191525550505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906134d89033908990889088906004016140aa565b6020604051808303816000875af1925050508015613513575060408051601f3d908101601f19168201909252613510918101906140dd565b60015b613571573d808015613541576040519150601f19603f3d011682016040523d82523d6000602084013e613546565b606091505b508051600003613569576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610c79565b6060816000018054806020026020016040519081016040528092919081815260200182805480156135db57602002820191906000526020600020905b8154815260200190600101908083116135c7575b50505050509050919050565b606081600001805480602002602001604051908101604052809291908181526020016000905b828210156136b957838290600052602060002001805461362c906139e3565b80601f0160208091040260200160405190810160405280929190818152602001828054613658906139e3565b80156136a55780601f1061367a576101008083540402835291602001916136a5565b820191906000526020600020905b81548152906001019060200180831161368857829003601f168201915b50505050508152602001906001019061360d565b505050509050919050565b600061053f825490565b60006118a9838360008260000182815481106136ec576136ec613c53565b9060005260206000200154905092915050565b6000806020838503121561371257600080fd5b82356001600160401b038082111561372957600080fd5b818501915085601f83011261373d57600080fd5b81358181111561374c57600080fd5b86602082850101111561375e57600080fd5b60209290920196919550909350505050565b60006020828403121561378257600080fd5b5035919050565b6001600160a01b03811681146108d857600080fd5b6000602082840312156137b057600080fd5b81356118a981613789565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156137f3576137f36137bb565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613821576138216137bb565b604052919050565b60006001600160401b03821115613842576138426137bb565b50601f01601f191660200190565b6000806040838503121561386357600080fd5b823561386e81613789565b91506020838101356001600160401b038082111561388b57600080fd5b908501906060828803121561389f57600080fd5b6138a76137d1565b82356138b281613789565b8152828401356138c181613789565b818501526040830135828111156138d757600080fd5b80840193505087601f8401126138ec57600080fd5b823591506139016138fc83613829565b6137f9565b828152888584860101111561391557600080fd5b8285850186830137600085848301015280604083015250809450505050509250929050565b60005b8381101561395557818101518382015260200161393d565b50506000910152565b6000815180845261397681602086016020860161393a565b601f01601f19169290920160200192915050565b6020815260006118a9602083018461395e565b634e487b7160e01b600052601160045260246000fd5b8181038181111561053f5761053f61399d565b6000602082840312156139d857600080fd5b81516118a981613789565b600181811c908216806139f757607f821691505b602082108103611eab57634e487b7160e01b600052602260045260246000fd5b601f821115611d55576000816000526020600020601f850160051c81016020861015613a405750805b601f850160051c820191505b81811015613a5f57828155600101613a4c565b505050505050565b81516001600160401b03811115613a8057613a806137bb565b613a9481613a8e84546139e3565b84613a17565b602080601f831160018114613ac95760008415613ab15750858301515b600019600386901b1c1916600185901b178555613a5f565b600085815260208120601f198616915b82811015613af857888601518255948401946001909101908401613ad9565b5085821015613b165787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215613b3857600080fd5b5051919050565b60208152600060018060a01b03808451166020840152806020850151166040840152506040830151606080840152610c79608084018261395e565b600060208284031215613b8c57600080fd5b81516001600160401b03811681146118a957600080fd5b8082018082111561053f5761053f61399d565b6001600160401b03818116838216019080821115613bd657613bd661399d565b5092915050565b80518015158114613bed57600080fd5b919050565b600060208284031215613c0457600080fd5b6118a982613bdd565b6001600160e01b0319851681526001600160a01b03848116602083015283166040820152608060608201819052600090613c499083018461395e565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b60008251613c7b81846020870161393a565b9190910192915050565b80516020808301519190811015611eab5760001960209190910360031b1b16919050565b60008151808452602080850194506020840160005b83811015613ce35781516001600160a01b031687529582019590820190600101613cbe565b509495945050505050565b838152606060208201526000613d076060830185613ca9565b9050826040830152949350505050565b80516001600160e01b031981168114613bed57600080fd5b6000613d3d6138fc84613829565b9050828152838383011115613d5157600080fd5b6118a983602083018461393a565b60008060008060808587031215613d7557600080fd5b613d7e85613d17565b93506020850151613d8e81613789565b6040860151909350613d9f81613789565b60608601519092506001600160401b03811115613dbb57600080fd5b8501601f81018713613dcc57600080fd5b613ddb87825160208401613d2f565b91505092959194509250565b600060208284031215613df957600080fd5b81516001600160401b0380821115613e1057600080fd5b9083019060608286031215613e2457600080fd5b613e2c6137d1565b8251613e3781613789565b81526020830151613e4781613789565b6020820152604083015182811115613e5e57600080fd5b80840193505085601f840112613e7357600080fd5b613e8286845160208601613d2f565b604082015295945050505050565b600060208284031215613ea257600080fd5b815161ffff811681146118a957600080fd5b600060018201613ec657613ec661399d565b5060010190565b60006020808385031215613ee057600080fd5b82516001600160401b0380821115613ef757600080fd5b818501915085601f830112613f0b57600080fd5b815181811115613f1d57613f1d6137bb565b8060051b9150613f2e8483016137f9565b8181529183018401918481019088841115613f4857600080fd5b938501935b83851015613f725784519250613f6283613789565b8282529385019390850190613f4d565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b60018060a01b0385168152836020820152826040820152608060608201526000613c496080830184613ca9565b600060028410613fe157634e487b7160e01b600052602160045260246000fd5b83825260406020830152610c79604083018461395e565b60006080828403121561400a57600080fd5b604051608081018181106001600160401b038211171561402c5761402c6137bb565b604052825161403a81613789565b8152602083015161404a81613789565b60208201526040838101519082015261406560608401613bdd565b60608201529392505050565b808202811582820484141761053f5761053f61399d565b6000826140a557634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613c499083018461395e565b6000602082840312156140ef57600080fd5b6118a982613d1756fe6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0034516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0034516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e01","sourceMap":"491:6640:245:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6602:113;;;;;;;;;;-1:-1:-1;6602:113:245;;;;;:::i;:::-;;:::i;:::-;;4394:115;;;;;;;;;;;;;:::i;:::-;;;757:25:654;;;745:2;730:18;4394:115:245;;;;;;;;3048:105;;;;;;;;;;-1:-1:-1;3048:105:245;;;;;:::i;:::-;3107:7;1083:43:154;;;290:66:155;1083:43:154;;;;;;-1:-1:-1;;;;;1083:43:154;;3048:105:245;1309:89;;;;;;;;;;;;;:::i;785:490::-;;;;;;;;;;-1:-1:-1;785:490:245;;;;;:::i;:::-;;:::i;4543:161::-;;;;;;;;;;-1:-1:-1;4543:161:245;;;;;:::i;:::-;;:::i;4914:528::-;;;;;;;;;;-1:-1:-1;4914:528:245;;;;;:::i;:::-;;:::i;6320:107::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1530:32:654;;;1512:51;;1500:2;1485:18;6320:107:245;1366:203:654;1802:175:245;;;;;;:::i;:::-;;:::i;4198:162::-;;;;;;;;;;-1:-1:-1;4198:162:245;;;;;:::i;:::-;;:::i;5476:119::-;;;;;;;;;;;;;:::i;7034:95::-;;;;;;;;;;;;;:::i;2185:829::-;;;;;;:::i;:::-;;:::i;3362:106::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3998:31:654;;;3980:50;;3968:2;3953:18;3362:106:245;3836:200:654;1603:165:245;;;;;;:::i;:::-;;:::i;6719:107::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6004:::-;;;;;;;;;;;;;:::i;5811:159::-;;;;;;;;;;-1:-1:-1;5811:159:245;;;;;:::i;:::-;;:::i;3679:170::-;;;;;;;;;;-1:-1:-1;3679:170:245;;;;;:::i;:::-;;:::i;3883:107::-;;;;;;;;;;;;;:::i;6602:113::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;;;;;;;;623:79;6681:29:245::1;6701:8;;6681:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;6681:19:245::1;::::0;-1:-1:-1;;;6681:29:245:i:1;:::-;6602:113:::0;;:::o;4394:115::-;4447:7;4469:35;4489:14;:12;:14::i;:::-;4469:19;:35::i;:::-;4462:42;;4394:115;:::o;1309:89::-;1351:7;1373:20;:18;:20::i;785:490::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;1366:203:654;623:79:572;1635:9:649::1;1610:22;1604:29;1601:44:::0;1598:158:::1;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41:::0;-1:-1:-1;;;;;862:21:245;::::2;858:62;;892:28;;-1:-1:-1::0;;;892:28:245::2;;;;;;;;;;;858:62;950:15;968:20;:18;:20::i;:::-;950:38;;1034:7;1045:1;1034:12:::0;1030:58:::2;;1055:33;;-1:-1:-1::0;;;1055:33:245::2;;;;;;;;;;;1030:58;1120:21;1139:1;1120:18;:21::i;:::-;1148:122;1189:24;:22;:24::i;:::-;1229:4;1242:7;1257;1148:33;:122::i;:::-;852:423;1937:10:649::1;1913:22;1906:42;785:490:245::0;:::o;4543:161::-;4626:7;4648:51;4675:7;4684:14;:12;:14::i;:::-;4648:26;:51::i;:::-;4641:58;4543:161;-1:-1:-1;;4543:161:245:o;4914:528::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;1366:203:654;623:79:572;5039:26:245::1;5068:27;:25;:27::i;:::-;5039:56:::0;-1:-1:-1;5167:23:245;;;::::1;::::0;:61:::1;;;5210:18;5194:13;:34;5167:61;5163:115;;;5243:35;;-1:-1:-1::0;;;5243:35:245::1;;;;;;;;;;;5163:115;5352:36;5374:13;5352:21;:36::i;:::-;5394:43;5423:13;5394:28;:43::i;6320:107::-:0;6376:7;6398:24;:22;:24::i;1802:175::-;1635:9:649;1610:22;1604:29;1601:44;1598:158;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41;1930:42:245::1;1953:8;1963;1930:22;:42::i;:::-;1937:10:649::0;1913:22;1906:42;1802:175:245;;:::o;4198:162::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;1366:203:654;623:79:572;4269:22:245::1;4282:8;4269:12;:22::i;:::-;4316:19;:17;:19::i;:::-;-1:-1:-1::0;;;;;4297:48:245::1;;4346:8;4297:58;;;;;;;;;;;;;757:25:654::0;;745:2;730:18;;611:177;4297:58:245::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4198:162:::0;:::o;5476:119::-;5538:7;5560:30;:28;:30::i;7034:95::-;7084:7;7106:18;:16;:18::i;2185:829::-;1635:9:649;1610:22;1604:29;1601:44;1598:158;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41;2263:16:245::1;2282:17;2291:7;2282:8;:17::i;:::-;2263:36:::0;-1:-1:-1;;;;;;2310:22:245;::::1;2306:63;;2341:28;;-1:-1:-1::0;;;2341:28:245::1;;;;;;;;;;;2306:63;2433:18;1083:43:154::0;;;290:66:155;1083:43:154;;;;;;-1:-1:-1;;;;;1083:43:154;2515:24:245::1;:22;:24::i;:::-;-1:-1:-1::0;;;;;2483:56:245::1;:28;2496:15;2483:10:::0;:28:::1;:::i;:::-;:56;2479:99;;2554:24;;-1:-1:-1::0;;;2554:24:245::1;;;;;;;;;;;2479:99;2630:23;2656:69;2690:7;2705:14;:12;:14::i;2656:69::-;2630:95:::0;-1:-1:-1;2736:19:245;;2732:218:::1;;2765:19;2787:46;2807:8;2817:15;2787:19;:46::i;:::-;2765:68:::0;-1:-1:-1;2841:15:245::1;2859:29;2765:68:::0;2859:15;:29:::1;:::i;:::-;2841:47:::0;-1:-1:-1;2900:11:245;;2896:47:::1;;2913:30;2925:8;2935:7;2913:11;:30::i;:::-;;2896:47;2757:193;;2732:218;2956:53;2975:7;2984:24;:22;:24::i;:::-;2956:18;:53::i;:::-;2257:757;;;1937:10:649::0;1913:22;1906:42;2185:829:245;:::o;3362:106::-;3418:6;3439:24;:22;:24::i;1603:165::-;1635:9:649;1610:22;1604:29;1601:44;1598:158;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1716:47:245::1;1739:8;1749:13;1716:22;:47::i;6719:107::-:0;6772:13;6800:21;:19;:21::i;6004:107::-;6057:7;6079:27;:25;:27::i;5811:159::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;1366:203:654;623:79:572;5882:42:245::1;5899:8;5909:14;:12;:14::i;:::-;5882:16;:42::i;:::-;5930:35;5956:8;5930:25;:35::i;:::-;5811:159:::0;:::o;3679:170::-;641:8:572;:6;:8::i;:::-;-1:-1:-1;;;;;627:22:572;:10;-1:-1:-1;;;;;627:22:572;;623:79;;666:29;;-1:-1:-1;;;666:29:572;;684:10;666:29;;;1512:51:654;1485:18;;666:29:572;1366:203:654;623:79:572;3771:35:245::1;3792:13;3771:20;:35::i;:::-;3812:32;3830:13;3812:17;:32::i;3883:107::-:0;3944:7;3966:19;:17;:19::i;717:190:572:-;758:13;;295:66:574;868:13:572;;;891:10;;;860:42;;-1:-1:-1;;;860:42:572;;;;;757:25:654;;;;868:13:572;;-1:-1:-1;;;;;;868:13:572;;860:30;;730:18:654;;860:42:572;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;853:49;;;717:190;:::o;9268:120:244:-;9378:5;9333:26;:24;:26::i;:::-;:42;;;:50;;:42;:50;:::i;2978:351:158:-;3256:36;;-1:-1:-1;;;;;;;;;;;3208:37:158;:84;;2978:351::o;5376:661:244:-;5465:7;5480:35;5518:26;:24;:26::i;:::-;5480:64;;5578:22;5603:30;:28;:30::i;:::-;5685:16;;;;5666:92;;-1:-1:-1;;;5666:92:244;;;;;8072:25:654;;;8113:18;;;8106:34;;;5578:55:244;;-1:-1:-1;5640:23:244;;-1:-1:-1;;;;;5685:16:244;;;;5666:45;;8045:18:654;;5666:92:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5640:118;;5765:30;5820:18;:16;:18::i;:::-;5765:74;;5846:16;5865:8;-1:-1:-1;;;;;5865:30:244;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5846:51;;5903:16;5922:8;-1:-1:-1;;;;;5922:25:244;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5903:46;;5978:8;5960:15;:26;5956:47;;;5995:8;5376:661;-1:-1:-1;;;;;;;5376:661:244:o;5956:47::-;-1:-1:-1;6017:15:244;;5376:661;-1:-1:-1;;;;;;5376:661:244:o;3568:119::-;3621:7;3643:26;:24;:26::i;:::-;:39;;;3636:46;;3568:119;:::o;3691:120::-;3796:10;3754:26;:24;:26::i;:::-;:39;;:52;-1:-1:-1;3691:120:244:o;8537:129::-;8594:7;8616:26;:24;:26::i;:::-;:45;;;-1:-1:-1;;;;;8616:45:244;;8537:129;-1:-1:-1;8537:129:244:o;1077:315:332:-;1198:38;;1223:7;1198:38;-1:-1:-1;;;;;;;1246:24:332;;;1242:146;;1280:35;1304:2;1308:6;1280:23;:35::i;:::-;1242:146;;;1336:45;1354:8;1364:4;1370:2;1374:6;1336:17;:45::i;:::-;1077:315;;;;:::o;6218:335:244:-;6327:7;6342:35;6380:26;:24;:26::i;:::-;6453:1;6417:33;;;:24;;;:33;;;;;;6342:64;;-1:-1:-1;6417:37:244;6413:89;;6469:33;;;;:24;;;;:33;;;;;;;-1:-1:-1;6462:40:244;;6413:89;6516:32;6536:11;6516:19;:32::i;:::-;6509:39;6218:335;-1:-1:-1;;;;6218:335:244:o;8226:133::-;8286:7;8308:26;:24;:26::i;:::-;:46;;;8301:53;;8226:133;:::o;6733:362::-;6807:35;6845:26;:24;:26::i;:::-;6807:64;;7000:2;:15;;;;;;;;;;-1:-1:-1;;;;;7000:15:244;-1:-1:-1;;;;;6978:61:244;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6956:13;:85;6945:145;;;7055:35;;-1:-1:-1;;;7055:35:244;;;;;;;;;;;7099:278;7175:35;7213:26;:24;:26::i;:::-;7245:17;;;:33;;;7284:24;;;:31;;-1:-1:-1;;7284:31:244;7311:4;7284:31;;;7326:46;;7175:64;;-1:-1:-1;7265:13:244;;7326:46;;7284:24;;7326:46;7169:208;7099:278;:::o;3011:1377:247:-;3119:28;3138:8;3119:18;:28::i;:::-;3153:18;:16;:18::i;:::-;3177:41;3199:8;3209;3177:21;:41::i;:::-;3241:10;3224:14;3278:24;3293:8;3278:14;:24::i;:::-;3257:45;;3309:25;3337:13;:60;;3388:8;3377:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;3337:60;;;3359:9;;;;;;;;;;;;3337:60;3309:88;;3404:15;3422:13;:103;;-1:-1:-1;;;3422:103:247;;;-1:-1:-1;;;3422:103:247;3404:121;;3532:21;3556:129;3584:8;3600:62;3621:8;3631:6;3639:8;3649:12;3600:20;:62::i;:::-;3670:9;3556:20;:129::i;:::-;3532:153;;3693:15;3710:24;3738:60;3763:8;3779:13;3738:17;:60::i;:::-;3692:106;;;;3810:19;3805:579;;3843:10;3839:539;;;3865:17;3885:27;:25;:27::i;:::-;3865:47;;3926:12;3922:265;;;3956:13;3952:159;;;3985:34;4005:13;3985:19;:34::i;:::-;3922:265;;3952:159;4052:46;4084:13;4052:31;:46::i;3922:265::-;4139:37;4154:13;4169:6;4139:14;:37::i;:::-;4197:21;4209:8;4197:11;:21::i;:::-;3855:372;3839:539;;;4243:31;4256:13;4243:31;;;;;;;;;;;;:12;:31::i;:::-;4284:37;4299:13;4314:6;4284:14;:37::i;:::-;4336:33;;-1:-1:-1;;;;;4336:33:247;;;;;;;;3839:539;3113:1275;;;;;;;3011:1377;;:::o;5100:210:244:-;5160:14;5199:18;:16;:18::i;:::-;-1:-1:-1;;;;;5177:65:244;;:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5160:84;;5265:6;5254:8;:17;5250:55;;;5280:25;;-1:-1:-1;;;5280:25:244;;;;;;;;;;;4804:119;4856:7;4878:26;:24;:26::i;:::-;:40;;;-1:-1:-1;;;;;4878:40:244;;4804:119;-1:-1:-1;4804:119:244:o;7381:285::-;7444:7;7459:35;7497:26;:24;:26::i;:::-;7534:24;;;;7459:64;;-1:-1:-1;7534:24:244;;7530:54;;;7567:17;;;;7381:285;-1:-1:-1;7381:285:244:o;7530:54::-;7620:2;:15;;;;;;;;;;-1:-1:-1;;;;;7620:15:244;-1:-1:-1;;;;;7598:61:244;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8843:117::-;8894:7;8916:26;:24;:26::i;:::-;:39;;;-1:-1:-1;;;;;8916:39:244;;8843:117;-1:-1:-1;8843:117:244:o;22038:138:158:-;22104:7;22142:27;22161:7;22142:18;:27::i;3989:215:244:-;4046:6;4060:35;4098:26;:24;:26::i;:::-;4060:64;;4159:2;:15;;;;;;;;;;-1:-1:-1;;;;;4159:15:244;-1:-1:-1;;;;;4137:60:244;;:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1628:626::-;1727:19;1754:35;1792:26;:24;:26::i;:::-;1879:15;;;;1921:21;;;;;1976:26;;;-1:-1:-1;;;1976:26:244;;;;1879:15;;-1:-1:-1;;;;;;1879:15:244;;;;1921:21;;;;;1824:30;;1879:15;;1976:24;;:26;;;;;;;;;;;1879:15;1976:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1948:54;;2022:32;2038:15;2022;:32::i;:::-;2008:46;;2123:126;2164:8;2180:5;2201:17;2232:11;2123:33;:126::i;:::-;1748:506;;;;1628:626;;;;:::o;2682:882::-;2763:7;2778:35;2816:26;:24;:26::i;:::-;2778:64;;2899:16;2918:24;:22;:24::i;:::-;2899:43;-1:-1:-1;;;;;;;;2953:41:244;;;2949:108;;3023:6;3004:2;:15;;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;3044:6:244;;-1:-1:-1;3037:13:244;;-1:-1:-1;;;3037:13:244;2949:108;3151:30;;-1:-1:-1;;;3151:30:244;;3175:4;3151:30;;;1512:51:654;3112:8:244;;3090:12;;-1:-1:-1;;;;;3151:15:244;;;;;1485:18:654;;3151:30:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3127:54;;3187:72;3221:8;3231:4;3245;3252:6;3187:33;:72::i;:::-;3288:30;;-1:-1:-1;;;3288:30:244;;3312:4;3288:30;;;1512:51:654;3265:20:244;;-1:-1:-1;;;;;3288:15:244;;;;;1485:18:654;;3288:30:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3265:53;-1:-1:-1;3375:19:244;3397:28;3412:13;3265:53;3397:28;:::i;:::-;3375:50;;3450:6;3435:11;:21;3431:67;;3465:33;;-1:-1:-1;;;3465:33:244;;;;;;;;;;;3431:67;3524:11;3505:2;:15;;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;3548:11:244;;2682:882;-1:-1:-1;;;;;;;;;2682:882:244:o;249:588:154:-;326:32;418:22;;;290:66:155;418:22:154;;;;;;;;290:66:155;;-1:-1:-1;;;;;418:22:154;;;;477;;;473:261;;525:34;551:8;532:15;525:34;:::i;:::-;509:50;;473:261;;;699:28;719:8;699:17;:28;:::i;:::-;683:44;;473:261;740:13;:22;;;;;;;;;;;;:38;;-1:-1:-1;;740:38:154;-1:-1:-1;;;;;740:38:154;;;;;;;;790:42;;3980:50:654;;;740:22:154;;790:42;;3953:18:654;790:42:154;;;;;;;320:517;;;249:588;;:::o;9135:129:244:-;9189:13;9217:26;:24;:26::i;:::-;:42;;9210:49;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9135:129;:::o;7851:237::-;8033:11;8022:8;:22;8018:65;;;8053:30;;-1:-1:-1;;;8053:30:244;;;;;;;;;;;8092:130;8209:8;8160:26;:24;:26::i;:::-;:46;;:57;-1:-1:-1;8092:130:244:o;4385:279::-;-1:-1:-1;;;;;4462:27:244;;4458:74;;4498:34;;-1:-1:-1;;;4498:34:244;;;;;;;;;;;4458:74;4560:18;:16;:18::i;:::-;4544:66;;-1:-1:-1;;;4544:66:244;;-1:-1:-1;;;;;1530:32:654;;;4544:66:244;;;1512:51:654;4544::244;;;;;;;1485:18:654;;4544:66:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4539:120;;4625:34;;-1:-1:-1;;;4625:34:244;;;;;;;;;;;4668:132;4779:16;4736:26;:24;:26::i;:::-;:40;;:59;;-1:-1:-1;;;;;;4736:59:244;-1:-1:-1;;;;;4736:59:244;;;;;;;;;;-1:-1:-1;4668:132:244:o;935:139:246:-;287:66;;935:139::o;3165:105:332:-;3240:25;-1:-1:-1;;;;;3240:18:332;;3259:5;3240:18;:25::i;2807:299::-;2938:2;-1:-1:-1;;;;;2930:10:332;:4;-1:-1:-1;;;;;2930:10:332;;2926:37;2950:7;2926:37;2989:4;-1:-1:-1;;;;;2973:21:332;;;2969:133;;3004:30;-1:-1:-1;;;;;3004:18:332;;3023:2;3027:6;3004:18;:30::i;2969:133::-;3055:40;-1:-1:-1;;;;;3055:22:332;;3078:4;3084:2;3088:6;3055:22;:40::i;11586:282:247:-;-1:-1:-1;;;;;11656:22:247;;11652:63;;11687:28;;-1:-1:-1;;;11687:28:247;;;;;;;;;;;11652:63;11732:27;:25;:27::i;:::-;:32;;;;:87;;;11792:27;:25;:27::i;:::-;11774:14;:12;:14::i;:::-;:45;;11732:87;11721:142;;;11833:30;;-1:-1:-1;;;11833:30:247;;;;;;;;;;;5079:207;5131:9;:13;5127:155;;5154:22;5179:20;:18;:20::i;:::-;5154:45;;5224:14;5211:9;:27;5207:68;;5247:28;;-1:-1:-1;;;5247:28:247;;;;;;;;;;;5127:155;5079:207::o;5290:319::-;5406:21;;;;-1:-1:-1;;;;;5406:35:247;;5402:203;;5489:8;-1:-1:-1;;;;;5464:33:247;:8;:21;;;-1:-1:-1;;;;;5464:33:247;;:72;;;-1:-1:-1;5501:21:247;;;;-1:-1:-1;;;;;5501:35:247;5526:10;5501:35;5464:72;5451:148;;;5562:28;;-1:-1:-1;;;5562:28:247;;;;;;;;;;;5613:241;5724:16;;5699:4;;-1:-1:-1;;;;;5724:30:247;;:75;;;;-1:-1:-1;5764:21:247;;;;-1:-1:-1;;;;;5764:35:247;;5724:75;:125;;;;-1:-1:-1;;5815:21:247;;;5809:35;:40;;5613:241::o;2583:235::-;2734:12;2772:8;2782:6;2790:8;2800:12;2761:52;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2754:59;;2583:235;;;;;;:::o;2211:643:225:-;2368:38;;-1:-1:-1;;10555:2:654;10551:15;;;10547:53;2368:38:225;;;10535:66:654;2393:12:225;10617::654;;;10610:28;2325:7:225;;;;10654:12:654;;2368:38:225;;;;;;;;;;;;2358:49;;;;;;2340:67;;2414:21;2438:111;2461:7;2476:67;2499:7;2508:6;2516:26;2534:7;2516:17;:26::i;:::-;1989:37;;;;;;;16584:25:654;;;;-1:-1:-1;;;;;16645:32:654;;;;16625:18;;;16618:60;16694:18;;;;16687:34;;;;1989:37:225;;;;;;;;;;16557:18:654;;;;1989:37:225;;;1979:48;;;;;;1827:206;2476:67;2165:36;;;;;;;16889:19:654;;;;16924:12;;;16917:28;;;;2165:36:225;;;;;;;;;16961:12:654;;;;2165:36:225;;2155:47;;;;;;2037:170;2438:111;2414:135;;2649:1;2608:31;2625:13;2608:16;:31::i;:::-;:38;:42;2604:108;;;2667:38;;-1:-1:-1;;;2667:38:225;;;;;;;;;;;2604:108;2718:33;2731:13;2746:4;2718:12;:33::i;:::-;2761:10;;2757:66;;2781:35;2795:13;2810:5;2781:13;:35::i;:::-;2836:13;-1:-1:-1;;2211:643:225;;;;;;:::o;6355:1084:247:-;6453:15;6470:24;6502:30;6535:58;6566:21;;;;;;;;;;;;;-1:-1:-1;;;6566:21:247;;;6535:23;:58::i;:::-;6502:91;;6599:30;6632:35;6658:8;6632:25;:35::i;:::-;6695:12;;6599:68;;-1:-1:-1;6674:18:247;6714:674;6738:10;6734:1;:14;6714:674;;;6763:16;6782:5;6788:1;6782:8;;;;;;;;:::i;:::-;;;;;;;6763:27;;6802:4;:13;;;6798:27;;;6817:8;;;6798:27;6839:9;6834:548;6858:4;:17;;;:24;6854:1;:28;6834:548;;;6899:24;6939:4;:17;;;6957:1;6939:20;;;;;;;;:::i;:::-;;;;;;;6899:61;;6975:11;-1:-1:-1;;;;;6975:22:247;;1444:3:212;6998:7:247;;7007:13;2240:21;;;;;;;;;;;;;-1:-1:-1;;;2240:21:247;;;2223:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;2215:48;;;:::i;:::-;6975:58;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6971:142;;;-1:-1:-1;7060:4:247;;-1:-1:-1;7096:5:247;;-1:-1:-1;7076:26:247;;-1:-1:-1;;;;;;7076:26:247;6971:142;7127:11;-1:-1:-1;;;;;7127:24:247;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7123:251;;;7167:158;7205:8;7227:13;7279:11;7306:4;:7;;;7167:24;:158::i;:::-;7359:4;7337:26;;7123:251;-1:-1:-1;6884:3:247;;6834:548;;;;6755:633;6714:674;6750:3;;6714:674;;;;7394:40;;;6355:1084;;;;;;:::o;7603:396::-;7658:17;7683:19;7705:14;:12;:14::i;:::-;7683:36;;7725:22;7750:30;:28;:30::i;:::-;7725:55;;7786:21;7810:19;:17;:19::i;:::-;7786:43;;7857:11;7840:14;:28;7836:61;;;7885:5;7878:12;;;;;7603:396;:::o;7836:61::-;7907:17;;7903:74;;7934:16;7948:1;7934:13;:16::i;:::-;7965:5;7958:12;;;;;7603:396;:::o;7903:74::-;7990:4;7983:11;;;;;7603:396;:::o;8150:704::-;8217:15;1396:36:225;;;-1:-1:-1;;;;;;;;;;;1396:36:225;;;;;;;8277:12:247;;;8273:58;;8298:33;;-1:-1:-1;;;8298:33:247;;;;;;;;;;;8273:58;8339:15;8356:14;8372:16;8412:31;8429:13;8412:16;:31::i;:::-;8394:96;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8338:152:247;;-1:-1:-1;8338:152:247;-1:-1:-1;8338:152:247;-1:-1:-1;;;;;;;8501:42:247;;-1:-1:-1;;;8501:42:247;8497:106;;8560:36;;-1:-1:-1;;;8560:36:247;;;;;;;;;;;8497:106;8609:19;8631:36;8651:6;8659:7;8631:19;:36::i;:::-;8609:58;-1:-1:-1;8673:15:247;8691:21;8609:58;8691:7;:21;:::i;:::-;8673:39;;8719:130;8751:13;8772:6;8786:8;8802:7;8817;8832:11;8719:24;:130::i;:::-;8211:643;;;;;;8150:704;:::o;9002:1123::-;9081:15;1396:36:225;;;-1:-1:-1;;;;;;;;;;;1396:36:225;;;;;;;9141:12:247;;;9137:58;;9162:33;;-1:-1:-1;;;9162:33:247;;;;;;;;;;;9137:58;9210:15;9233:14;9255:16;9279:25;9333:31;9350:13;9333:16;:31::i;:::-;9313:102;;;;;;;;;;;;:::i;:::-;9202:213;;-1:-1:-1;9202:213:247;;-1:-1:-1;9202:213:247;-1:-1:-1;9202:213:247;-1:-1:-1;;;;;;;9426:54:247;;-1:-1:-1;;;9426:54:247;9422:118;;9497:36;;-1:-1:-1;;;9497:36:247;;;;;;;;;;;9422:118;9546:29;9589:12;9578:41;;;;;;;;;;;;:::i;:::-;9546:73;;9626:19;9648:36;9668:6;9676:7;9648:19;:36::i;:::-;9626:58;;9691:18;9712:53;9731:6;9739:8;:16;;;9757:7;9712:18;:53::i;:::-;9691:74;;9772:19;9794:116;9825:6;9839:8;:21;;;9868:8;:21;;;9897:7;9794:23;:116::i;:::-;9772:138;-1:-1:-1;9917:15:247;9772:138;9959:10;9935:21;9945:11;9935:7;:21;:::i;:::-;:34;;;;:::i;:::-;:48;;;;:::i;:::-;9917:66;;9990:130;10022:13;10043:6;10057:8;10073:7;10088;10103:11;9990:24;:130::i;:::-;9075:1050;;;;;;;;;;9002:1123;:::o;12064:362::-;12142:17;1396:36:225;;;-1:-1:-1;;;;;;;;;;;1396:36:225;;;;;;12204:13:247;;12200:222;;12227:47;12249:13;12264:9;12227:21;:47::i;:::-;12282:133;12325:24;:22;:24::i;12282:133::-;12136:290;12064:362;;:::o;11013:443::-;11087:15;11105:14;:12;:14::i;:::-;11087:32;;11161:72;11188:7;11197:35;11217:14;:12;:14::i;11197:35::-;11161:26;:72::i;:::-;11263:22;11273:8;11283:1;11263:9;:22::i;:::-;11328:53;11347:7;11356:24;:22;:24::i;11328:53::-;11411:40;;11443:7;;-1:-1:-1;;;;;11411:40:247;;;;;;;;11061:395;11013:443;:::o;267:194:225:-;346:35;416:33;;;:18;:33;;;;;-1:-1:-1;;;;;;;;;;;289:66:226;416:40:225;452:4;416:33;:40;:::i;7829:1501:158:-;7967:32;8043:29;;;:20;:29;;;;;;;-1:-1:-1;;;;;;;;;;;293:66:160;-1:-1:-1;;;8108:24:158;;:29;;8104:1172;;8229:6;8239:1;8229:11;8225:791;;8269:16;;8258:27;;8254:83;;8306:31;;-1:-1:-1;;;8306:31:158;;;;;;;;;;;8254:83;8824:182;-1:-1:-1;;8903:9:158;;;8882:31;;;;:20;;;:31;;;;;;8903:9;;8882:31;;-1:-1:-1;8941:25:158;;8824:182;8941:25;;8980:13;7829:1501;;;:::o;8104:1172::-;7959:1323;9294:31;;-1:-1:-1;;;9294:31:158;;;;;;;;;;;2258:420:244;2339:7;2354:30;2409:18;:16;:18::i;:::-;2354:74;;2435:16;2454:8;-1:-1:-1;;;;;2454:30:244;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:51;;2492:16;2511:8;-1:-1:-1;;;;;2511:25:244;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:46;;2567:8;2549:15;:26;2545:47;;;2584:8;2258:420;-1:-1:-1;;;;2258:420:244:o;2545:47::-;2606:67;2628:15;2645:8;-1:-1:-1;;;;;2645:25:244;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2606:67;;:21;:67::i;:::-;2599:74;2258:420;-1:-1:-1;;;;;2258:420:244:o;4001:342:651:-;4203:4;4191:10;4185:4;4173:10;4165:6;4161:2;4154:5;4149:59;4139:188;;4241:10;4235:4;4228:24;4308:4;4302;4295:18;13217:887;13380:2;13374:4;13367:16;13437:6;13431:4;13424:20;-1:-1:-1;;;13496:4:651;13489:48;13698:4;13692;13686;13680;13677:1;13670:5;13663;13658:45;13750:7;13746:1;13739:4;13733:11;13730:18;13726:32;13716:275;;13841:7;13822:16;13813:5;13801:18;13794:26;13791:48;13788:61;13778:199;;13886:10;13880:4;13873:24;13954:4;13948;13941:18;13778:199;13716:275;14017:1;14011:4;14004:15;13217:887;;;:::o;9079:1026::-;9262:4;9256:11;9327:6;9321:4;9314:20;9392:2;9386:4;9379:16;9457:4;9453:2;9449:13;9443:4;9436:27;-1:-1:-1;;;9513:4:651;9506:48;9666:4;9660;9654;9648;9645:1;9638:5;9631;9626:45;9718:7;9714:1;9707:4;9701:11;9698:18;9694:32;9684:279;;9809:7;9790:16;9781:5;9769:18;9762:26;9759:48;9756:61;9746:203;;9854:10;9848:4;9841:24;9926:4;9920;9913:18;9746:203;-1:-1:-1;9989:1:651;9983:4;9976:15;10045:4;10038:15;-1:-1:-1;;;;9079:1026:651:o;4392:683:247:-;4445:7;4520:21;4544:19;:17;:19::i;:::-;4520:43;-1:-1:-1;4573:17:247;;4569:31;;4599:1;4592:8;;;4392:683;:::o;4569:31::-;4725:13;4741:35;4761:14;:12;:14::i;4741:35::-;4725:51;;4786:5;4795:1;4786:10;4782:24;;4805:1;4798:8;;;;4392:683;:::o;4782:24::-;4895:11;4909:22;4925:5;4909:15;:22::i;:::-;47492:9:643;;;-1:-1:-1;;;47488:24:643;47481:32;;;;4392:683:247;-1:-1:-1;;;4392:683:247:o;1634:189:225:-;1696:7;1788:28;;;-1:-1:-1;;;;;;;;;;;1788:28:225;;;;;;;:30;;;1696:7;1788:30;;;:::i;:::-;;;;-1:-1:-1;1781:37:225;1634:189;-1:-1:-1;;;1634:189:225:o;465:215::-;565:35;642:33;;;:18;:33;;;;;635:40;;545:12;;-1:-1:-1;;;;;;;;;;;289:66:226;635:40:225;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;465:215;;;:::o;684:315::-;764:5;773:1;764:10;760:49;;783:26;;-1:-1:-1;;;783:26:225;;;;;;;;;;;760:49;832:5;819:9;:18;815:57;;846:26;;-1:-1:-1;;;846:26:225;;;;;;;;;;;815:57;879:35;949:36;;;-1:-1:-1;;;;;;;;;;;949:36:225;;;;;:45;;-1:-1:-1;;;;;;;;;;;289:66:226;989:5:225;;949:36;:45;;989:5;;949:45;:::i;:::-;;;;-1:-1:-1;;;;;684:315:225:o;2755:1124:274:-;2845:13;2866:24;2893:13;:11;:13::i;:::-;2932:14;;2866:40;;-1:-1:-1;2912:17:274;2932:14;-1:-1:-1;;;;;2988:21:274;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2988:21:274;;;;;;;;;;;;;;;;-1:-1:-1;3069:28:274;;;;;;2952:57;;-1:-1:-1;3015:13:274;;;3104:628;3128:9;3124:1;:13;3104:628;;;3162:18;3190:16;3216:27;3253:34;3298:20;3307:7;3315:1;3307:10;;;;;;;;:::i;:::-;;;;;;;3298:8;:20::i;:::-;3152:166;;;;;;;;3332:9;3327:399;3351:11;:18;3347:1;:22;3327:399;;;3426:19;3406:11;3418:1;3406:14;;;;;;;;:::i;:::-;;;;;;;3390:32;;;;;;:55;3386:332;;3488:183;;;;;;;;3511:7;3519:1;3511:10;;;;;;;;:::i;:::-;;;;;;;3488:183;;;;3541:4;3488:183;;;;3569:11;3488:183;;;;;;3607:11;3488:183;;;;3646:12;3488:183;;;3459:19;3479:5;3459:26;;;;;;;;:::i;:::-;;;;;;:212;;;;3683:7;;;;;:::i;:::-;;;;3702:5;;3386:332;3371:3;;3327:399;;;-1:-1:-1;;3139:3:274;;;;;-1:-1:-1;3104:628:274;;-1:-1:-1;;3104:628:274;;-1:-1:-1;;3802:34:274;;3809:19;2755:1124;-1:-1:-1;;;;2755:1124:274:o;4526:861:212:-;4609:16;4633:14;4662:26;:24;:26::i;:::-;:39;;;4741:31;;-1:-1:-1;;;4741:31:212;;-1:-1:-1;;;;;1530:32:654;;;4741:31:212;;;1512:51:654;4662:39:212;;;;-1:-1:-1;4662:39:212;;;;4741:22;;1485:18:654;;4741:31:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4741:31:212;;;;;;;;;;;;:::i;:::-;4893;;-1:-1:-1;;;4893:31:212;;-1:-1:-1;;;;;1530:32:654;;;4893:31:212;;;1512:51:654;4708:64:212;;-1:-1:-1;4866:24:212;;4893:22;;;;;1485:18:654;;4893:31:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4866:58;;4934:13;:20;4958:1;4934:25;:59;;;;-1:-1:-1;;;;;;4963:30:212;;;;4934:59;4930:161;;;5053:31;;-1:-1:-1;;;5053:31:212;;-1:-1:-1;;;;;1530:32:654;;;5053:31:212;;;1512:51:654;5013:16:212;;-1:-1:-1;5013:16:212;;5053:22;;;;;1485:18:654;;5053:31:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5053:31:212;;;;;;;;;;;;:::i;:::-;5037:47;;4930:161;5127:20;;5097:27;5195:23;5127:20;5217:1;5195:23;:::i;:::-;-1:-1:-1;;;;;5181:38:212;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5181:38:212;;5154:65;;5230:9;5225:94;5249:19;5245:1;:23;5225:94;;;5296:13;5310:1;5296:16;;;;;;;;:::i;:::-;;;;;;;5283:7;5291:1;5283:10;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5283:29:212;;;:10;;;;;;;;;;;:29;5270:3;;5225:94;;;;5355:7;5324;5332:19;5324:28;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5324:38:212;;;:28;;;;;;;;;;;:38;5375:7;4526:861;-1:-1:-1;;;;;;4526:861:212:o;1442:1457:236:-;1603:41;1727:30;;;:15;:30;;;;;1768:21;;462:66:237;;1727:30:236;1768:21;;1764:265;;;1817:19;;;:26;1799:15;1851:172;1871:7;1867:1;:11;1851:172;;;1925:6;1899:11;:19;;1919:1;1899:22;;;;;;;;:::i;:::-;;;;;;;;;:32;1895:120;;1952:52;;-1:-1:-1;;;1952:52:236;;;;;;;;;;;1895:120;1880:3;;1851:172;;;;1791:238;1764:265;2106:21;;-1:-1:-1;;;;;2106:21:236;2094:97;;2152:32;:30;:32::i;:::-;2230:21;;:39;;-1:-1:-1;;;2230:39:236;;2267:1;2230:39;;;757:25:654;2197:30:236;;-1:-1:-1;;;;;2230:21:236;;:36;;730:18:654;;2230:39:236;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:39:236;;;;;;;;;;;;:::i;:::-;2281:21;;2197:72;;-1:-1:-1;2281:21:236;;2276:165;;2312:28;;2348:23;;;:37;;-1:-1:-1;;;;;2348:37:236;;;-1:-1:-1;;;;;;2348:37:236;;;;;;;;;;2393:41;;2312:28;2393:41;-1:-1:-1;;;;;;2393:41:236;;;;2336:4;2393:41;;;2276:165;2447:19;;;:32;;;;;;;;-1:-1:-1;2447:32:236;;;;;;;;;;;;;2503:20;;2567:34;;;:26;;;:34;;;;;;2503:20;;2607:153;2627:6;2623:1;:10;2607:153;;;2648:16;2679:66;;;;;;;;2695:13;2709:1;2695:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;2679:66:236;;;;;2719:24;2679:66;;;;;;;;:::i;:::-;;;2648:105;;;;;;;-1:-1:-1;2648:105:236;;;;;;;;;;;;;;-1:-1:-1;;;;;;2648:105:236;;-1:-1:-1;;;;;2648:105:236;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2648:105:236;;-1:-1:-1;;;2648:105:236;;;;;;;;;:::i;:::-;;;;;;;;2635:3;;;;;2607:153;;;-1:-1:-1;2766:21:236;;:128;;-1:-1:-1;;;2766:128:236;;-1:-1:-1;;;;;2766:21:236;;;;:45;;:128;;2819:13;;2840;;2861:6;;2875:13;;2766:128;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1597:1302;;;;;1442:1457;;;;:::o;562:108:262:-;614:7;272:66:264;636:22:262;:29;;562:108;-1:-1:-1;562:108:262:o;418:140::-;272:66:264;534:19:262;;547:6;;272:66:264;;472:31:262;;534:19;;547:6;;534:19;:::i;:::-;;;;-1:-1:-1;;;;418:140:262:o;10129:751:247:-;10322:11;;10318:60;;10343:28;10355:6;10363:7;10343:11;:28::i;:::-;;10318:60;10384:45;10406:13;10421:7;10384:21;:45::i;:::-;10435:31;10448:13;10435:31;;;;;;;;;;;;:12;:31::i;:::-;10513:23;10582:18;:16;:18::i;:::-;10558:108;;-1:-1:-1;;;10558:108:247;;-1:-1:-1;;;10558:108:247;;;757:25:654;-1:-1:-1;;;;;10558:67:247;;;;;;;730:18:654;;10558:108:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10513:159;;10678:14;10695:11;-1:-1:-1;;;;;10695:21:247;;10724:33;10776:11;10765:23;;;;;;757:25:654;;745:2;730:18;;611:177;10765:23:247;;;;;;;;;;;;;10695:99;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10801:34;;-1:-1:-1;;;10801:34:247;;-1:-1:-1;;;;;19660:32:654;;;10801:34:247;;;19642:51:654;19709:18;;;19702:34;;;10678:116:247;;-1:-1:-1;10801:16:247;;;;;;19615:18:654;;10801:34:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10841:11;-1:-1:-1;;;;;10841:16:247;;10858:8;:6;:8::i;:::-;10841:34;;-1:-1:-1;;;;;;10841:34:247;;;;;;;-1:-1:-1;;;;;19660:32:654;;;10841:34:247;;;19642:51:654;19709:18;;;19702:34;;;19615:18;;10841:34:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10312:568;;10129:751;;;;;;:::o;13977:676::-;14097:7;-1:-1:-1;;;;;14116:21:247;;14112:35;;-1:-1:-1;14146:1:247;14139:8;;14112:35;14154:26;14200:18;:16;:18::i;:::-;14183:64;;-1:-1:-1;;;14183:64:247;;-1:-1:-1;;;;;1530:32:654;;;14183:64:247;;;1512:51:654;14183:55:247;;;;;;;1485:18:654;;14183:64:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14154:93;;14258:11;:15;;;14277:1;14258:20;14254:34;;14287:1;14280:8;;;;;14254:34;14349:15;;;;14390:21;;;;14328:18;14441:50;14463:15;14349;14441:21;:50::i;:::-;14417:74;;14498:123;14539:24;:22;:24::i;:::-;14571:6;14585:9;14602:13;14498:33;:123::i;:::-;14635:13;13977:676;-1:-1:-1;;;;;;;13977:676:247:o;12687:1032::-;12849:7;12864:22;12903:12;12897:26;12927:1;12897:31;12893:794;;12938:24;12965:27;12979:12;12965:13;:27::i;:::-;13005:18;;;;12938:54;;-1:-1:-1;;;;;;13005:32:247;;;:61;;-1:-1:-1;13041:20:247;;;;:25;13005:61;13001:83;;;13083:1;13076:8;;;;;;13001:83;13115:20;;;;13160:51;13182:15;13115:20;13160:21;:51::i;:::-;13143:68;;13220:143;13263:24;:22;:24::i;:::-;13297:6;13313:8;:18;;;13341:14;13220:33;:143::i;:::-;12930:440;;12893:794;;;-1:-1:-1;;;;;13380:26:247;;;13376:311;;13436:6;-1:-1:-1;;;;;13420:22:247;:12;-1:-1:-1;;;;;13420:22:247;;13416:36;;13451:1;13444:8;;;;;13416:36;13478:56;13500:15;13517:16;2976:56:269;;;2905:132;13517:16:247;13478:21;:56::i;:::-;13461:73;;13543:137;13586:24;:22;:24::i;:::-;13620:6;13636:12;13658:14;13543:33;:137::i;1003:216:225:-;1099:35;1169:36;;;-1:-1:-1;;;;;;;;;;;1169:36:225;;;;;:45;;-1:-1:-1;;;;;;;;;;;289:66:226;1209:5:225;;1169:36;:45;;1209:5;;1169:45;:::i;4035:119:158:-;4090:7;-1:-1:-1;;;;;;;;;;;4112:23:158;1689:139:160;6041:173:244;6200:9;6140:26;:24;:26::i;:::-;:57;;;;:48;;:57;;;;;;:69;;;;-1:-1:-1;6041:173:244:o;21749:104:158:-;21821:27;21831:2;21835:8;21821:27;;;;;;;;;;;;:9;:27::i;361:224:331:-;452:7;116:6;475:11;:22;;467:68;;;;-1:-1:-1;;;467:68:331;;20737:2:654;467:68:331;;;20719:21:654;20776:2;20756:18;;;20749:30;20815:34;20795:18;;;20788:62;-1:-1:-1;;;20866:18:654;;;20859:31;20907:19;;467:68:331;20535:397:654;467:68:331;116:6;549:20;558:11;549:6;:20;:::i;:::-;548:32;;;;:::i;12640:126:274:-;12686:24;12725:36;:27;:34;:36::i;12159:477::-;12269:16;12445:19;;;:11;:19;;;;;12438:31;;12243:18;;12269:16;12243:18;;;;427:66:275;;12438:31:274;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12489:19:274;;;;:11;;;:19;;;;;:31;;;;12438;;-1:-1:-1;12489:31:274;;;;;-1:-1:-1;12540:40:274;;:31;;;-1:-1:-1;12540:38:274;;-1:-1:-1;12540:40:274:i;:::-;12526:54;;12601:30;12624:6;12601:22;:30::i;:::-;12586:45;;12371:265;12159:477;;;;;:::o;6841:366:236:-;462:66:237;6898:41:236;7047:26;:24;:26::i;:::-;:39;;;7016:117;;-1:-1:-1;;;7016:117:236;;-1:-1:-1;;;7016:117:236;;;21541:34:654;-1:-1:-1;;;;;7047:39:236;;;;7016:100;;21514:18:654;;7016:117:236;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7139:63;;-1:-1:-1;;;;;;7139:63:236;-1:-1:-1;;;;;7139:63:236;;;;;;;;-1:-1:-1;6841:366:236:o;1266:332:269:-;1348:15;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1348:15:269;-1:-1:-1;1472:30:269;;;;;;;;;;1371:48;1422:81;;;:49;:81;;;;;;;1522:71;;;;;;;;;;1545:21;;1522:71;;;;;;;1568:24;;;;;-1:-1:-1;;;;;1568:24:269;1522:71;;;;;1266:332::o;21081:597:158:-;21189:19;21195:2;21199:8;21189:5;:19::i;:::-;-1:-1:-1;;;;;21237:14:158;;;:19;21233:435;;-1:-1:-1;;;;;;;;;;;21282:37:158;21345:14;;;21369:189;21389:62;21428:1;21432:2;21436:7;;;;;;21445:5;21389:30;:62::i;:::-;21384:143;;21474:40;;-1:-1:-1;;;21474:40:158;;;;;;;;;;;21384:143;21553:3;21545:5;:11;21369:189;;21646:3;-1:-1:-1;;;;;;;;;;;21605:37:158;:44;21601:58;;21651:8;;;12617:270:511;12677:16;12705:22;12730:19;12738:3;12730:7;:19::i;5591:103:315:-;5647:15;5677:12;5685:3;5677:7;:12::i;12770:588:274:-;12878:45;12926:52;;;:44;:52;;;;;12849:21;;12926:72;;;;;13030:21;12926:72;13030:19;:21::i;:::-;13005:46;;13058:39;13126:14;-1:-1:-1;;;;;13100:46:274;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13100:46:274;;13058:88;;13158:9;13153:170;13177:14;13173:1;:18;13153:170;;;13206:26;13235:18;:12;13251:1;13235:15;:18::i;:::-;13206:47;;13297:18;13261:17;13279:1;13261:20;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13261:55:274;;;:20;;;;;;;;;;;:55;-1:-1:-1;13193:3:274;;13153:170;;;-1:-1:-1;13336:17:274;12770:588;-1:-1:-1;;;;12770:588:274:o;15799:2642:158:-;-1:-1:-1;;;;;;;;;;;15890:37:158;15867:20;15937:13;;;15933:44;;15959:18;;-1:-1:-1;;;15959:18:158;;;;;;;;;;;15933:44;-1:-1:-1;;;;;16396:46:158;;;;;;:42;:46;;;;;;;;:111;;16474:32;16454:53;;16396:111;;;16707:71;;;:41;:71;;;;;-1:-1:-1;10624:15:158;;10598:24;10594:46;10229:11;10204:23;10200:41;10197:52;10187:63;;16707:188;;16942:23;;;;16707:71;;16396:46;;17602:25;16396:46;;17488:260;18026:1;18012:12;18008:20;17977:275;18058:3;18049:7;18046:16;17977:275;;18234:7;18224:8;18221:1;18194:25;18191:1;18188;18183:59;18100:1;18087:15;17977:275;;;17981:57;18271:8;18283:1;18271:13;18267:45;;18293:19;;-1:-1:-1;;;18293:19:158;;;;;;;;;;;18267:45;-1:-1:-1;;;;;;;;;;;18321:43:158;-1:-1:-1;12136:290:247;12064:362;;:::o;14707:674:158:-;14870:139;;-1:-1:-1;;;14870:139:158;;14848:4;;-1:-1:-1;;;;;14870:56:158;;;;;:139;;29364:10;;14965:4;;14979:7;;14996:5;;14870:139;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14870:139:158;;;;;;;;-1:-1:-1;;14870:139:158;;;;;;;;;;;;:::i;:::-;;;14860:517;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15192:6;:13;15209:1;15192:18;15188:183;;15229:40;;-1:-1:-1;;;15229:40:158;;;;;;;;;;;15188:183;15345:6;15339:13;15330:6;15326:2;15322:15;15315:38;14860:517;-1:-1:-1;;;;;;15061:83:158;-1:-1:-1;;;15061:83:158;;-1:-1:-1;15046:98:158;;5581:109:511;5637:16;5672:3;:11;;5665:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5581:109;;;:::o;3597:102:315:-;3653:15;3683:3;:11;;3676:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3597:102;;;:::o;9090:115:511:-;9153:7;9179:19;9187:3;4556:18;;4474:107;9547:156;9621:7;9671:22;9675:3;9687:5;4990:7;5016:3;:11;;5028:5;5016:18;;;;;;;;:::i;:::-;;;;;;;;;5009:25;;4923:118;;;;:::o;14:592:654:-;85:6;93;146:2;134:9;125:7;121:23;117:32;114:52;;;162:1;159;152:12;114:52;202:9;189:23;-1:-1:-1;;;;;272:2:654;264:6;261:14;258:34;;;288:1;285;278:12;258:34;326:6;315:9;311:22;301:32;;371:7;364:4;360:2;356:13;352:27;342:55;;393:1;390;383:12;342:55;433:2;420:16;459:2;451:6;448:14;445:34;;;475:1;472;465:12;445:34;520:7;515:2;506:6;502:2;498:15;494:24;491:37;488:57;;;541:1;538;531:12;488:57;572:2;564:11;;;;;594:6;;-1:-1:-1;14:592:654;;-1:-1:-1;;;;14:592:654:o;793:180::-;852:6;905:2;893:9;884:7;880:23;876:32;873:52;;;921:1;918;911:12;873:52;-1:-1:-1;944:23:654;;793:180;-1:-1:-1;793:180:654:o;978:131::-;-1:-1:-1;;;;;1053:31:654;;1043:42;;1033:70;;1099:1;1096;1089:12;1114:247;1173:6;1226:2;1214:9;1205:7;1201:23;1197:32;1194:52;;;1242:1;1239;1232:12;1194:52;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;1574:127::-;1635:10;1630:3;1626:20;1623:1;1616:31;1666:4;1663:1;1656:15;1690:4;1687:1;1680:15;1706:253;1778:2;1772:9;1820:4;1808:17;;-1:-1:-1;;;;;1840:34:654;;1876:22;;;1837:62;1834:88;;;1902:18;;:::i;:::-;1938:2;1931:22;1706:253;:::o;1964:275::-;2035:2;2029:9;2100:2;2081:13;;-1:-1:-1;;2077:27:654;2065:40;;-1:-1:-1;;;;;2120:34:654;;2156:22;;;2117:62;2114:88;;;2182:18;;:::i;:::-;2218:2;2211:22;1964:275;;-1:-1:-1;1964:275:654:o;2244:187::-;2293:4;-1:-1:-1;;;;;2318:6:654;2315:30;2312:56;;;2348:18;;:::i;:::-;-1:-1:-1;2414:2:654;2393:15;-1:-1:-1;;2389:29:654;2420:4;2385:40;;2244:187::o;2436:1395::-;2536:6;2544;2597:2;2585:9;2576:7;2572:23;2568:32;2565:52;;;2613:1;2610;2603:12;2565:52;2652:9;2639:23;2671:31;2696:5;2671:31;:::i;:::-;2721:5;-1:-1:-1;2745:2:654;2783:18;;;2770:32;-1:-1:-1;;;;;2851:14:654;;;2848:34;;;2878:1;2875;2868:12;2848:34;2901:22;;;;2957:4;2939:16;;;2935:27;2932:47;;;2975:1;2972;2965:12;2932:47;3003:22;;:::i;:::-;3062:2;3049:16;3074:33;3099:7;3074:33;:::i;:::-;3116:24;;3177:11;;;3164:25;3198:33;3164:25;3198:33;:::i;:::-;3247:16;;;3240:33;3319:2;3311:11;;3298:25;3335:16;;;3332:36;;;3364:1;3361;3354:12;3332:36;3395:8;3391:2;3387:17;3377:27;;;3442:7;3435:4;3431:2;3427:13;3423:27;3413:55;;3464:1;3461;3454:12;3413:55;3500:2;3487:16;3477:26;;3525:49;3541:32;3570:2;3541:32;:::i;:::-;3525:49;:::i;:::-;3597:2;3590:5;3583:17;3637:7;3632:2;3627;3623;3619:11;3615:20;3612:33;3609:53;;;3658:1;3655;3648:12;3609:53;3713:2;3708;3704;3700:11;3695:2;3688:5;3684:14;3671:45;3757:1;3752:2;3747;3740:5;3736:14;3732:23;3725:34;3793:5;3788:2;3779:7;3775:16;3768:31;;3818:7;3808:17;;;;;;2436:1395;;;;;:::o;4041:250::-;4126:1;4136:113;4150:6;4147:1;4144:13;4136:113;;;4226:11;;;4220:18;4207:11;;;4200:39;4172:2;4165:10;4136:113;;;-1:-1:-1;;4283:1:654;4265:16;;4258:27;4041:250::o;4296:271::-;4338:3;4376:5;4370:12;4403:6;4398:3;4391:19;4419:76;4488:6;4481:4;4476:3;4472:14;4465:4;4458:5;4454:16;4419:76;:::i;:::-;4549:2;4528:15;-1:-1:-1;;4524:29:654;4515:39;;;;4556:4;4511:50;;4296:271;-1:-1:-1;;4296:271:654:o;4572:220::-;4721:2;4710:9;4703:21;4684:4;4741:45;4782:2;4771:9;4767:18;4759:6;4741:45;:::i;4797:127::-;4858:10;4853:3;4849:20;4846:1;4839:31;4889:4;4886:1;4879:15;4913:4;4910:1;4903:15;4929:128;4996:9;;;5017:11;;;5014:37;;;5031:18;;:::i;5062:251::-;5132:6;5185:2;5173:9;5164:7;5160:23;5156:32;5153:52;;;5201:1;5198;5191:12;5153:52;5233:9;5227:16;5252:31;5277:5;5252:31;:::i;5318:380::-;5397:1;5393:12;;;;5440;;;5461:61;;5515:4;5507:6;5503:17;5493:27;;5461:61;5568:2;5560:6;5557:14;5537:18;5534:38;5531:161;;5614:10;5609:3;5605:20;5602:1;5595:31;5649:4;5646:1;5639:15;5677:4;5674:1;5667:15;5829:543;5931:2;5926:3;5923:11;5920:446;;;5967:1;5991:5;5988:1;5981:16;6035:4;6032:1;6022:18;6105:2;6093:10;6089:19;6086:1;6082:27;6076:4;6072:38;6141:4;6129:10;6126:20;6123:47;;;-1:-1:-1;6164:4:654;6123:47;6219:2;6214:3;6210:12;6207:1;6203:20;6197:4;6193:31;6183:41;;6274:82;6292:2;6285:5;6282:13;6274:82;;;6337:17;;;6318:1;6307:13;6274:82;;;6278:3;;;5829:543;;;:::o;6548:1345::-;6674:3;6668:10;-1:-1:-1;;;;;6693:6:654;6690:30;6687:56;;;6723:18;;:::i;:::-;6752:97;6842:6;6802:38;6834:4;6828:11;6802:38;:::i;:::-;6796:4;6752:97;:::i;:::-;6904:4;;6961:2;6950:14;;6978:1;6973:663;;;;7680:1;7697:6;7694:89;;;-1:-1:-1;7749:19:654;;;7743:26;7694:89;-1:-1:-1;;6505:1:654;6501:11;;;6497:24;6493:29;6483:40;6529:1;6525:11;;;6480:57;7796:81;;6943:944;;6973:663;5776:1;5769:14;;;5813:4;5800:18;;-1:-1:-1;;7009:20:654;;;7127:236;7141:7;7138:1;7135:14;7127:236;;;7230:19;;;7224:26;7209:42;;7322:27;;;;7290:1;7278:14;;;;7157:19;;7127:236;;;7131:3;7391:6;7382:7;7379:19;7376:201;;;7452:19;;;7446:26;-1:-1:-1;;7535:1:654;7531:14;;;7547:3;7527:24;7523:37;7519:42;7504:58;7489:74;;7376:201;-1:-1:-1;;;;;7623:1:654;7607:14;;;7603:22;7590:36;;-1:-1:-1;6548:1345:654:o;8151:184::-;8221:6;8274:2;8262:9;8253:7;8249:23;8245:32;8242:52;;;8290:1;8287;8280:12;8242:52;-1:-1:-1;8313:16:654;;8151:184;-1:-1:-1;8151:184:654:o;8340:530::-;8533:2;8522:9;8515:21;8496:4;8572:1;8568;8563:3;8559:11;8555:19;8629:2;8620:6;8614:13;8610:22;8605:2;8594:9;8590:18;8583:50;8697:2;8691;8683:6;8679:15;8673:22;8669:31;8664:2;8653:9;8649:18;8642:59;;8748:2;8740:6;8736:15;8730:22;8790:4;8783;8772:9;8768:20;8761:34;8812:52;8859:3;8848:9;8844:19;8830:12;8812:52;:::i;8875:288::-;8944:6;8997:2;8985:9;8976:7;8972:23;8968:32;8965:52;;;9013:1;9010;9003:12;8965:52;9045:9;9039:16;-1:-1:-1;;;;;9088:5:654;9084:30;9077:5;9074:41;9064:69;;9129:1;9126;9119:12;9168:125;9233:9;;;9254:10;;;9251:36;;;9267:18;;:::i;9298:180::-;-1:-1:-1;;;;;9403:10:654;;;9415;;;9399:27;;9438:11;;;9435:37;;;9452:18;;:::i;:::-;9435:37;9298:180;;;;:::o;9483:164::-;9559:13;;9608;;9601:21;9591:32;;9581:60;;9637:1;9634;9627:12;9581:60;9483:164;;;:::o;9652:202::-;9719:6;9772:2;9760:9;9751:7;9747:23;9743:32;9740:52;;;9788:1;9785;9778:12;9740:52;9811:37;9838:9;9811:37;:::i;9859:514::-;-1:-1:-1;;;;;;10088:33:654;;10070:52;;-1:-1:-1;;;;;10196:15:654;;;10191:2;10176:18;;10169:43;10248:15;;10243:2;10228:18;;10221:43;10300:3;10295:2;10280:18;;10273:31;;;10051:4;;10321:46;;10347:19;;10339:6;10321:46;:::i;:::-;10313:54;9859:514;-1:-1:-1;;;;;;9859:514:654:o;10677:127::-;10738:10;10733:3;10729:20;10726:1;10719:31;10769:4;10766:1;10759:15;10793:4;10790:1;10783:15;10809:289;10940:3;10978:6;10972:13;10994:66;11053:6;11048:3;11041:4;11033:6;11029:17;10994:66;:::i;:::-;11076:16;;;;;10809:289;-1:-1:-1;;10809:289:654:o;11103:297::-;11221:12;;11268:4;11257:16;;;11251:23;;11221:12;11286:16;;11283:111;;;-1:-1:-1;;11360:4:654;11356:17;;;;11353:1;11349:25;11345:38;11334:50;;11103:297;-1:-1:-1;11103:297:654:o;11405:465::-;11458:3;11496:5;11490:12;11523:6;11518:3;11511:19;11549:4;11578;11573:3;11569:14;11562:21;;11617:4;11610:5;11606:16;11640:1;11650:195;11664:6;11661:1;11658:13;11650:195;;;11729:13;;-1:-1:-1;;;;;11725:39:654;11713:52;;11785:12;;;;11820:15;;;;11761:1;11679:9;11650:195;;;-1:-1:-1;11861:3:654;;11405:465;-1:-1:-1;;;;;11405:465:654:o;11875:403::-;12110:6;12099:9;12092:25;12153:2;12148;12137:9;12133:18;12126:30;12073:4;12173:56;12225:2;12214:9;12210:18;12202:6;12173:56;:::i;:::-;12165:64;;12265:6;12260:2;12249:9;12245:18;12238:34;11875:403;;;;;;:::o;12283:177::-;12361:13;;-1:-1:-1;;;;;;12403:32:654;;12393:43;;12383:71;;12450:1;12447;12440:12;12465:321;12540:5;12569:53;12585:36;12614:6;12585:36;:::i;12569:53::-;12560:62;;12645:6;12638:5;12631:21;12685:3;12676:6;12671:3;12667:16;12664:25;12661:45;;;12702:1;12699;12692:12;12661:45;12715:65;12773:6;12766:4;12759:5;12755:16;12750:3;12715:65;:::i;12791:819::-;12912:6;12920;12928;12936;12989:3;12977:9;12968:7;12964:23;12960:33;12957:53;;;13006:1;13003;12996:12;12957:53;13029:39;13058:9;13029:39;:::i;:::-;13019:49;;13111:2;13100:9;13096:18;13090:25;13124:31;13149:5;13124:31;:::i;:::-;13224:2;13209:18;;13203:25;13174:5;;-1:-1:-1;13237:33:654;13203:25;13237:33;:::i;:::-;13340:2;13325:18;;13319:25;13289:7;;-1:-1:-1;;;;;;13356:30:654;;13353:50;;;13399:1;13396;13389:12;13353:50;13422:22;;13475:4;13467:13;;13463:27;-1:-1:-1;13453:55:654;;13504:1;13501;13494:12;13453:55;13527:77;13596:7;13591:2;13585:9;13580:2;13576;13572:11;13527:77;:::i;:::-;13517:87;;;12791:819;;;;;;;:::o;13615:993::-;13717:6;13770:2;13758:9;13749:7;13745:23;13741:32;13738:52;;;13786:1;13783;13776:12;13738:52;13819:9;13813:16;-1:-1:-1;;;;;13889:2:654;13881:6;13878:14;13875:34;;;13905:1;13902;13895:12;13875:34;13928:22;;;;13984:4;13966:16;;;13962:27;13959:47;;;14002:1;13999;13992:12;13959:47;14028:22;;:::i;:::-;14080:2;14074:9;14092:33;14117:7;14092:33;:::i;:::-;14134:22;;14194:2;14186:11;;14180:18;14207:33;14180:18;14207:33;:::i;:::-;14267:2;14256:14;;14249:31;14319:2;14311:11;;14305:18;14335:16;;;14332:36;;;14364:1;14361;14354:12;14332:36;14395:8;14391:2;14387:17;14377:27;;;14442:7;14435:4;14431:2;14427:13;14423:27;14413:55;;14464:1;14461;14454:12;14413:55;14500:77;14569:7;14564:2;14558:9;14553:2;14549;14545:11;14500:77;:::i;:::-;14495:2;14484:14;;14477:101;14488:5;13615:993;-1:-1:-1;;;;;13615:993:654:o;15961:276::-;16030:6;16083:2;16071:9;16062:7;16058:23;16054:32;16051:52;;;16099:1;16096;16089:12;16051:52;16131:9;16125:16;16181:6;16174:5;16170:18;16163:5;16160:29;16150:57;;16203:1;16200;16193:12;16242:135;16281:3;16302:17;;;16299:43;;16322:18;;:::i;:::-;-1:-1:-1;16369:1:654;16358:13;;16242:135::o;16984:1011::-;17079:6;17110:2;17153;17141:9;17132:7;17128:23;17124:32;17121:52;;;17169:1;17166;17159:12;17121:52;17202:9;17196:16;-1:-1:-1;;;;;17272:2:654;17264:6;17261:14;17258:34;;;17288:1;17285;17278:12;17258:34;17326:6;17315:9;17311:22;17301:32;;17371:7;17364:4;17360:2;17356:13;17352:27;17342:55;;17393:1;17390;17383:12;17342:55;17422:2;17416:9;17444:2;17440;17437:10;17434:36;;;17450:18;;:::i;:::-;17496:2;17493:1;17489:10;17479:20;;17519:28;17543:2;17539;17535:11;17519:28;:::i;:::-;17581:15;;;17651:11;;;17647:20;;;17612:12;;;;17679:19;;;17676:39;;;17711:1;17708;17701:12;17676:39;17735:11;;;;17755:210;17771:6;17766:3;17763:15;17755:210;;;17844:3;17838:10;17825:23;;17861:31;17886:5;17861:31;:::i;:::-;17905:18;;;17788:12;;;;17943;;;;17755:210;;;17984:5;16984:1011;-1:-1:-1;;;;;;;;16984:1011:654:o;18190:127::-;18251:10;18246:3;18242:20;18239:1;18232:31;18282:4;18279:1;18272:15;18306:4;18303:1;18296:15;18322:502;18614:1;18610;18605:3;18601:11;18597:19;18589:6;18585:32;18574:9;18567:51;18654:6;18649:2;18638:9;18634:18;18627:34;18697:6;18692:2;18681:9;18677:18;18670:34;18740:3;18735:2;18724:9;18720:18;18713:31;18548:4;18761:57;18813:3;18802:9;18798:19;18790:6;18761:57;:::i;19011:452::-;19159:4;19199:1;19191:6;19188:13;19178:144;;19244:10;19239:3;19235:20;19232:1;19225:31;19279:4;19276:1;19269:15;19307:4;19304:1;19297:15;19178:144;19349:6;19338:9;19331:25;19392:2;19387;19376:9;19372:18;19365:30;19412:45;19453:2;19442:9;19438:18;19430:6;19412:45;:::i;19747:783::-;19843:6;19896:3;19884:9;19875:7;19871:23;19867:33;19864:53;;;19913:1;19910;19903:12;19864:53;19946:2;19940:9;19988:3;19980:6;19976:16;20058:6;20046:10;20043:22;-1:-1:-1;;;;;20010:10:654;20007:34;20004:62;20001:88;;;20069:18;;:::i;:::-;20105:2;20098:22;20142:16;;20167:31;20142:16;20167:31;:::i;:::-;20207:21;;20273:2;20258:18;;20252:25;20286:33;20252:25;20286:33;:::i;:::-;20347:2;20335:15;;20328:32;20414:2;20399:18;;;20393:25;20376:15;;;20369:50;20452:46;20494:2;20479:18;;20452:46;:::i;:::-;20447:2;20435:15;;20428:71;20439:6;19747:783;-1:-1:-1;;;19747:783:654:o;20937:168::-;21010:9;;;21041;;21058:15;;;21052:22;;21038:37;21028:71;;21079:18;;:::i;21110:217::-;21150:1;21176;21166:132;;21220:10;21215:3;21211:20;21208:1;21201:31;21255:4;21252:1;21245:15;21283:4;21280:1;21273:15;21166:132;-1:-1:-1;21312:9:654;;21110:217::o;21586:489::-;-1:-1:-1;;;;;21855:15:654;;;21837:34;;21907:15;;21902:2;21887:18;;21880:43;21954:2;21939:18;;21932:34;;;22002:3;21997:2;21982:18;;21975:31;;;21780:4;;22023:46;;22049:19;;22041:6;22023:46;:::i;22080:206::-;22149:6;22202:2;22190:9;22181:7;22177:23;22173:32;22170:52;;;22218:1;22215;22208:12;22170:52;22241:39;22270:9;22241:39;:::i","linkReferences":{}},"methodIdentifiers":{"expiresAt(uint256)":"17c95709","getMembershipCurrency()":"657e45e8","getMembershipDuration()":"8120f0ba","getMembershipFreeAllocation()":"706b8e09","getMembershipImage()":"93b13cb7","getMembershipLimit()":"95d600c8","getMembershipPrice()":"1278076a","getMembershipPricingModule()":"e847abdd","getMembershipRenewalPrice(uint256)":"5803909f","getSpaceFactory()":"79dda585","joinSpace(address)":"8c625b06","joinSpaceWithReferral(address,(address,address,string))":"686f7684","renewMembership(uint256)":"7c9669ac","revenue()":"3e9491a2","setMembershipFreeAllocation(uint256)":"5becd24a","setMembershipImage(string)":"0ef1be5f","setMembershipLimit(uint256)":"97fb7c1e","setMembershipPrice(uint256)":"69d5f38a","setMembershipPricingModule(address)":"df9a9fe6","withdraw(address)":"51cff8d9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ApprovalCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ApprovalQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BalanceQueryForZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__AlreadyBanned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Banning__CannotBanOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Banning__CannotBanSelf\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__InvalidTokenId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__NotBanned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Dispatcher__InvalidCaller\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Dispatcher__InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Dispatcher__TransactionAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC5643__DurationZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC5643__InvalidTokenId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC5643__NotApprovedOrOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC5643__SubscriptionNotRenewable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_NodeAlreadyVoted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_NodeNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_TransactionCheckAlreadyCompleted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_TransactionCheckAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EntitlementGated_TransactionNotRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__ValueAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__AlreadyMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__Banned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InsufficientPayment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidCurrency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidFeeRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidFreeAllocation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidMaxSupply\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidPayment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidPrice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidPricingModule\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidTokenId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__InvalidTransactionType\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__MaxSupplyReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__NotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Membership__PriceTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintERC2309QuantityExceedsLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintZeroQuantity\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnershipNotInitializedForExtraData\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PartnerRegistry__InvalidPartnerFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PartnerRegistry__InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRegistry__NotPartnerAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRegistry__PartnerAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRegistry__PartnerNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRegistry__PartnerNotRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PartnerRegistry__RegistryFeeNotPaid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__NotPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__Paused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidMembership\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidSupplyAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Reentrancy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Referrals__InvalidBasisPoints\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Referrals__InvalidBpsFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Referrals__InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Referrals__InvalidReferralCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Referrals__ReferralAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__EntitlementAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__EntitlementDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__InvalidEntitlementAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__InvalidPermission\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__PermissionAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__PermissionDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Roles__RoleDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFromIncorrectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToNonERC721ReceiverImplementer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"URIQueryForNonexistentToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultBpsFee\",\"type\":\"uint256\"}],\"name\":\"DefaultBpsFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enum IEntitlementGatedBase.NodeVoteStatus\",\"name\":\"result\",\"type\":\"uint8\"}],\"name\":\"EntitlementCheckResultPosted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxBpsFee\",\"type\":\"uint256\"}],\"name\":\"MaxBpsFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"MaxPartnerFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"MembershipCurrencyUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"MembershipFeeRecipientUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"allocation\",\"type\":\"uint256\"}],\"name\":\"MembershipFreeAllocationUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"MembershipLimitUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"MembershipPriceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"MembershipTokenIssued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"MembershipTokenRejected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MembershipWithdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PartnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsAddedToChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsRemovedFromChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"PermissionsUpdatedForChannelRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}],\"name\":\"Prepay__Prepaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"referralCode\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"basisPoints\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"ReferralRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"referralCode\",\"type\":\"bytes32\"}],\"name\":\"ReferralRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"referralCode\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"basisPoints\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"ReferralUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"RegistryFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"remover\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"RoleUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"expiration\",\"type\":\"uint64\"}],\"name\":\"SubscriptionUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Unbanned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"expiresAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipCurrency\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipDuration\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipFreeAllocation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipImage\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMembershipPricingModule\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getMembershipRenewalPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSpaceFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"joinSpace\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"partner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"userReferral\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"referralCode\",\"type\":\"string\"}],\"internalType\":\"struct IMembershipBase.ReferralTypes\",\"name\":\"referral\",\"type\":\"tuple\"}],\"name\":\"joinSpaceWithReferral\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"renewMembership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revenue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newAllocation\",\"type\":\"uint256\"}],\"name\":\"setMembershipFreeAllocation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newImage\",\"type\":\"string\"}],\"name\":\"setMembershipImage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newLimit\",\"type\":\"uint256\"}],\"name\":\"setMembershipLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"}],\"name\":\"setMembershipPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pricingModule\",\"type\":\"address\"}],\"name\":\"setMembershipPricingModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Reentrancy()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"ConsecutiveTransfer(uint256,uint256,address,address)\":{\"details\":\"Emitted when tokens in `fromTokenId` to `toTokenId` (inclusive) is transferred from `from` to `to`, as defined in the [ERC2309](https://eips.ethereum.org/EIPS/eip-2309) standard. See {_mintERC2309} for more details.\"},\"DefaultBpsFeeUpdated(uint256)\":{\"params\":{\"defaultBpsFee\":\"The new default bps fee\"}},\"MaxBpsFeeUpdated(uint256)\":{\"params\":{\"maxBpsFee\":\"The new max bps fee\"}},\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"},\"PermissionsAddedToChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"PermissionsRemovedFromChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"PermissionsUpdatedForChannelRole(address,uint256,bytes32)\":{\"params\":{\"channelId\":\"Unique identifier of the channel\",\"roleId\":\"Unique identifier of the role\",\"updater\":\"Address of the updater\"}},\"ReferralRegistered(bytes32,uint256,address)\":{\"params\":{\"basisPoints\":\"Percentage of the referral reward in basis points\",\"recipient\":\"Address to receive the referral reward\",\"referralCode\":\"Unique identifier for the referral\"}},\"ReferralRemoved(bytes32)\":{\"params\":{\"referralCode\":\"Unique identifier for the referral\"}},\"ReferralUpdated(bytes32,uint256,address)\":{\"params\":{\"basisPoints\":\"Updated percentage of the referral reward in basis points\",\"recipient\":\"Updated address to receive the referral reward\",\"referralCode\":\"Unique identifier for the referral\"}},\"RoleCreated(address,uint256)\":{\"params\":{\"creator\":\"Address of the role creator\",\"roleId\":\"Unique identifier of the created role\"}},\"RoleRemoved(address,uint256)\":{\"params\":{\"remover\":\"Address of the role remover\",\"roleId\":\"Unique identifier of the removed role\"}},\"RoleUpdated(address,uint256)\":{\"params\":{\"roleId\":\"Unique identifier of the updated role\",\"updater\":\"Address of the role updater\"}},\"SubscriptionUpdate(uint256,uint64)\":{\"details\":\"When a subscription is canceled, the expiration value should also be 0.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"expiresAt(uint256)\":{\"params\":{\"tokenId\":\"The token id of the membership\"}},\"getMembershipCurrency()\":{\"returns\":{\"_0\":\"The membership currency\"}},\"getMembershipDuration()\":{\"returns\":{\"_0\":\"The membership duration\"}},\"getMembershipFreeAllocation()\":{\"returns\":{\"_0\":\"The membership free allocation\"}},\"getMembershipImage()\":{\"returns\":{\"_0\":\"The membership image\"}},\"getMembershipLimit()\":{\"returns\":{\"_0\":\"The membership limit\"}},\"getMembershipPrice()\":{\"returns\":{\"_0\":\"The membership price\"}},\"getMembershipPricingModule()\":{\"returns\":{\"_0\":\"The membership pricing module\"}},\"getMembershipRenewalPrice(uint256)\":{\"params\":{\"tokenId\":\"The token id of the membership\"},\"returns\":{\"_0\":\"The membership renewal price\"}},\"getSpaceFactory()\":{\"returns\":{\"_0\":\"The space factory\"}},\"joinSpace(address)\":{\"params\":{\"receiver\":\"The address of the receiver\"}},\"joinSpaceWithReferral(address,(address,address,string))\":{\"params\":{\"receiver\":\"The address of the receiver\",\"referral\":\"The referral data\"}},\"renewMembership(uint256)\":{\"params\":{\"tokenId\":\"The token id of the membership\"}},\"revenue()\":{\"returns\":{\"_0\":\"The current balance of funds held by the space\"}},\"setMembershipFreeAllocation(uint256)\":{\"params\":{\"newAllocation\":\"The new membership free allocation\"}},\"setMembershipLimit(uint256)\":{\"params\":{\"newLimit\":\"The new membership limit\"}},\"setMembershipPrice(uint256)\":{\"params\":{\"newPrice\":\"The new membership price\"}},\"setMembershipPricingModule(address)\":{\"params\":{\"pricingModule\":\"The new pricing module\"}},\"withdraw(address)\":{\"params\":{\"receiver\":\"The address to receive the withdrawn funds\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"ApprovalCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"ApprovalQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"BalanceQueryForZeroAddress()\":[{\"notice\":\"Cannot query the balance for the zero address.\"}],\"MintERC2309QuantityExceedsLimit()\":[{\"notice\":\"The `quantity` minted with ERC2309 exceeds the safety limit.\"}],\"MintToZeroAddress()\":[{\"notice\":\"Cannot mint to the zero address.\"}],\"MintZeroQuantity()\":[{\"notice\":\"The quantity of tokens minted must be more than zero.\"}],\"OwnerQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"OwnershipNotInitializedForExtraData()\":[{\"notice\":\"The `extraData` cannot be set on an unintialized ownership slot.\"}],\"Referrals__InvalidBasisPoints()\":[{\"notice\":\"Error thrown when invalid basis points are provided\"}],\"Referrals__InvalidBpsFee()\":[{\"notice\":\"Error thrown when an invalid bps fee is provided\"}],\"Referrals__InvalidRecipient()\":[{\"notice\":\"Error thrown when an invalid recipient address is provided\"}],\"Referrals__InvalidReferralCode()\":[{\"notice\":\"Error thrown when an invalid referral code is provided\"}],\"Referrals__ReferralAlreadyExists()\":[{\"notice\":\"Error thrown when a referral already exists\"}],\"Roles__EntitlementAlreadyExists()\":[{\"notice\":\"Error thrown when an entitlement already exists\"}],\"Roles__EntitlementDoesNotExist()\":[{\"notice\":\"Error thrown when an entitlement does not exist\"}],\"Roles__InvalidEntitlementAddress()\":[{\"notice\":\"Error thrown when an invalid entitlement address is provided\"}],\"Roles__InvalidPermission()\":[{\"notice\":\"Error thrown when an invalid permission is provided\"}],\"Roles__PermissionAlreadyExists()\":[{\"notice\":\"Error thrown when a permission already exists\"}],\"Roles__PermissionDoesNotExist()\":[{\"notice\":\"Error thrown when a permission does not exist\"}],\"Roles__RoleDoesNotExist()\":[{\"notice\":\"Error thrown when a role does not exist\"}],\"TransferCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"TransferFromIncorrectOwner()\":[{\"notice\":\"The token must be owned by `from`.\"}],\"TransferToNonERC721ReceiverImplementer()\":[{\"notice\":\"Cannot safely transfer to a contract that does not implement the ERC721Receiver interface.\"}],\"TransferToZeroAddress()\":[{\"notice\":\"Cannot transfer to the zero address.\"}],\"URIQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}]},\"events\":{\"DefaultBpsFeeUpdated(uint256)\":{\"notice\":\"Event emitted when the default bps fee is updated\"},\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"},\"MaxBpsFeeUpdated(uint256)\":{\"notice\":\"Event emitted when the max bps fee is updated\"},\"PermissionsAddedToChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are added to a channel role\"},\"PermissionsRemovedFromChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are removed from a channel role\"},\"PermissionsUpdatedForChannelRole(address,uint256,bytes32)\":{\"notice\":\"Emitted when permissions are updated for a channel role\"},\"ReferralRegistered(bytes32,uint256,address)\":{\"notice\":\"Event emitted when a new referral is registered\"},\"ReferralRemoved(bytes32)\":{\"notice\":\"Event emitted when a referral is removed\"},\"ReferralUpdated(bytes32,uint256,address)\":{\"notice\":\"Event emitted when a referral is updated\"},\"RoleCreated(address,uint256)\":{\"notice\":\"Emitted when a new role is created\"},\"RoleRemoved(address,uint256)\":{\"notice\":\"Emitted when a role is removed\"},\"RoleUpdated(address,uint256)\":{\"notice\":\"Emitted when a role is updated\"},\"SubscriptionUpdate(uint256,uint64)\":{\"notice\":\"Emitted when a subscription expiration changes\"}},\"kind\":\"user\",\"methods\":{\"expiresAt(uint256)\":{\"notice\":\"Return the expiration date of a membership\"},\"getMembershipCurrency()\":{\"notice\":\"Get the membership currency\"},\"getMembershipDuration()\":{\"notice\":\"Get the membership duration\"},\"getMembershipFreeAllocation()\":{\"notice\":\"Get the membership free allocation\"},\"getMembershipImage()\":{\"notice\":\"Get the membership image\"},\"getMembershipLimit()\":{\"notice\":\"Get the membership limit\"},\"getMembershipPrice()\":{\"notice\":\"Get the membership price\"},\"getMembershipPricingModule()\":{\"notice\":\"Get the membership pricing module\"},\"getMembershipRenewalPrice(uint256)\":{\"notice\":\"Get the membership renewal price\"},\"getSpaceFactory()\":{\"notice\":\"Get the space factory\"},\"joinSpace(address)\":{\"notice\":\"Join a space\"},\"joinSpaceWithReferral(address,(address,address,string))\":{\"notice\":\"Join a space with a referral\"},\"renewMembership(uint256)\":{\"notice\":\"Renew a space membership\"},\"revenue()\":{\"notice\":\"Get the current balance of funds held by the space\"},\"setMembershipFreeAllocation(uint256)\":{\"notice\":\"Set the membership free allocation\"},\"setMembershipLimit(uint256)\":{\"notice\":\"Set the membership limit\"},\"setMembershipPrice(uint256)\":{\"notice\":\"Set the membership price\"},\"setMembershipPricingModule(address)\":{\"notice\":\"Set the membership pricing module\"},\"withdraw(address)\":{\"notice\":\"Withdraws the balance of the contract\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/spaces/facets/membership/MembershipFacet.sol\":\"MembershipFacet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/airdrop/points/CheckIn.sol\":{\"keccak256\":\"0x10d34b8a6fcb2ab6ae4745a6aaac478cb7856df6b8b7c5f2fda4096a24247a4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c6c52b784e76b81cdcfa86545a9390e628394dcd949c160a7fca8194750b915\",\"dweb:/ipfs/QmXUz1XR61ztZLDe4FxLJg6oqohzbyjPZXsvq4cibwV4jU\"]},\"contracts/src/airdrop/points/ITownsPoints.sol\":{\"keccak256\":\"0xf507ad2a91ab58166c2e850b93085320bc483e12a3fe2aef808c0b254a0b656e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5dc159159e4cbe755e18661831ce80a4ca183a43edc21a01504585e73e595ebc\",\"dweb:/ipfs/QmUELy6xZ8fpcpYfV1VV7oGbF5UAButoYteUNMX1ZAUsj7\"]},\"contracts/src/airdrop/points/TownsPoints.sol\":{\"keccak256\":\"0x946df87486a5c9dc357d1ed6dd66a5910b058e3f39ee1406772788751cfc5adf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://418a07b0b0cddc9780b72a4efdf8af04210770ab0ecc504e8ec97beff58fe6f3\",\"dweb:/ipfs/QmPKzX3Ep18KZ7LqXKummvb2Jkvc1Weperpp8e6wBKckNU\"]},\"contracts/src/airdrop/points/TownsPointsStorage.sol\":{\"keccak256\":\"0x7ea8ca73f728347c6872c229975632d0ea5a60cfde533d4ddb7c4bd0f37091a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc87378a8ac74719ac4f96ad6245a544e0d5b81bb3a0d5674e90e46720f3e37e\",\"dweb:/ipfs/QmeRjXzUvsicS7g5xAcz9XKTbcyK38p5B7j4m389Bs6MrG\"]},\"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol\":{\"keccak256\":\"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d\",\"dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh\"]},\"contracts/src/diamond/facets/token/ERC5643/ERC5643Base.sol\":{\"keccak256\":\"0x21d3c281732e54c93520a4f2cc72cc5af38c517f2a150ee67aa84704a3d78627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52ce7c061da0142a4d775bb85896410d363d4a28c0275d3171a70872344fc9a4\",\"dweb:/ipfs/Qmdwgs3TaC4b83JVn6RG5pJJdCrxb74ZMRqZbYSe5DuqZf\"]},\"contracts/src/diamond/facets/token/ERC5643/ERC5643Storage.sol\":{\"keccak256\":\"0x68cbff071e6a6a6b91b675af567616799435676fbbbebf4f9226e1226d6128b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e2c7aee6ef32477733a50ba667cc510c8c165b9a9e146609b1f800acd0e4832\",\"dweb:/ipfs/QmcWAz74x3AR6kpzWdyPWw3iLQ1yHBT3ZVoK6jT7T3LwXq\"]},\"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol\":{\"keccak256\":\"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615\",\"dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol\":{\"keccak256\":\"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba\",\"dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol\":{\"keccak256\":\"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04\",\"dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey\"]},\"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol\":{\"keccak256\":\"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d\",\"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz\"]},\"contracts/src/factory/facets/architect/IArchitect.sol\":{\"keccak256\":\"0x5d790cabaad08df5dda57b8055dbf21ed103bd10ad0e4d684a0e690f9c240a24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ff954eb61db93e8b7b58d542f73d75b2e9ee856896a07d436bbc8101b4e9aea\",\"dweb:/ipfs/QmdgzSC3JooGsWA6BTgyXQU7YA6byFFLuVkyZqs7mEgRCm\"]},\"contracts/src/factory/facets/architect/pricing/IPricingModules.sol\":{\"keccak256\":\"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786\",\"dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm\"]},\"contracts/src/factory/facets/partner/IPartnerRegistry.sol\":{\"keccak256\":\"0x1fe0cb9bee78697a459c596df3d69809decda8b0176bcba47bfd7b4c3db4440f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a0ffc7ccacc24be9dd81545fb6bf2d2b63698c6ac0c54def86aac1513d04dcf\",\"dweb:/ipfs/QmRRSWiMV9XyZZdhHR9jo3FdVqHYAB63Egpq8jiabTJdrp\"]},\"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol\":{\"keccak256\":\"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86\",\"dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT\"]},\"contracts/src/factory/facets/registry/IImplementationRegistry.sol\":{\"keccak256\":\"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c\",\"dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA\"]},\"contracts/src/factory/facets/wallet-link/IWalletLink.sol\":{\"keccak256\":\"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d\",\"dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC\"]},\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol\":{\"keccak256\":\"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4\",\"dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2\"]},\"contracts/src/spaces/entitlements/user/IUserEntitlement.sol\":{\"keccak256\":\"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a\",\"dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx\"]},\"contracts/src/spaces/facets/Entitled.sol\":{\"keccak256\":\"0x407444b484c8951ee61c5665c18876ce798c8e28b9aa9d4599b4a027d892870c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78692dc68fe28f7d1bd3deea97534f3f4ef92e17cf443cad12c74989370ca689\",\"dweb:/ipfs/QmWRDxd6jZjA1DR7N15pNZtqa5P7mHnB1wQSBHfSabCnSd\"]},\"contracts/src/spaces/facets/Permissions.sol\":{\"keccak256\":\"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634\",\"dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x\"]},\"contracts/src/spaces/facets/banning/BanningBase.sol\":{\"keccak256\":\"0x38c44494221f96568f3efb540a8a6c7af141de95f25caf26df6e8a8333f31249\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cf1f509347cab5090655ff8272443d18f9716fea5ef27cd86269ccbd2570aa7e\",\"dweb:/ipfs/QmbF8StzLRGnVvVXWYBowvdULoPPqQkU5hZR548cnRzuVs\"]},\"contracts/src/spaces/facets/banning/BanningStorage.sol\":{\"keccak256\":\"0xcfbf5c113056e569abf23158853ff4877744b22a4bf2bf49a282d04dab23ab17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f825e97ca65c9cd3bd5885d2fa8b8e5f8f0dcbe227dec064abbbab645685fbe\",\"dweb:/ipfs/QmXAMntxrjzeNUKh9WcyHvzDmnV89vrJ9PkKRceqxJSxZp\"]},\"contracts/src/spaces/facets/banning/IBanning.sol\":{\"keccak256\":\"0x350ec182a95a86a41335979cd7212132858c5cfcd366602b2f6cd0ec0694b63e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ecb4ad0c5a1086c38448b3e279733f33edc0cc39648368e5cb43dfff139ff7e8\",\"dweb:/ipfs/QmWYfYE8Haqk9kBRxmLijfQSfqbfxf7LB3wQ24d3pG5PE3\"]},\"contracts/src/spaces/facets/channels/ChannelService.sol\":{\"keccak256\":\"0xd99752d8c031a33e075b257fe1863a269d470c8ad18052cdca6faeb5370d2169\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45bdecec56344c7cd8dceb7a47d5c66cd5b2c4e1eb006ed8b222a198e9f41f55\",\"dweb:/ipfs/QmSFhLzHvYsYj3Py976SQDqzfSz3nnsyYc7hWBp61WPdjK\"]},\"contracts/src/spaces/facets/channels/ChannelStorage.sol\":{\"keccak256\":\"0xeb4174513a652b1571b3a92cbefa80e9d450144e8d07bfb29c863d7d9de9313c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c3b73c84a2b4a56fcc8bd1fbaa0a8896a2dfc62a7fde07b13c6d8b05dcf8fe6\",\"dweb:/ipfs/QmRPukfmps5ESAR5saLNLJp6GEg1nNCTq5qChGeAjgtLV4\"]},\"contracts/src/spaces/facets/delegation/WalletLinkProxyBase.sol\":{\"keccak256\":\"0xffef403556b46744bd1833e5df57b02eb79e010841b16610e1740bc0dac929b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1afa30929e8c6b0c69528d328774c98789825a8de53e5945a1e95092bee2ad08\",\"dweb:/ipfs/QmTbCqLJTBHgcMuFwWSTbrgR7uaASJqwqYuku4YkGzTWW1\"]},\"contracts/src/spaces/facets/delegation/WalletLinkProxyStorage.sol\":{\"keccak256\":\"0x9667e475b9ad9f1130583840c9b0594a7512f7edd33163b926b3db21f70d9909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6271ce56258b1e9150378872d250cfaeb4501b5d0288e8f19f02096114c687f\",\"dweb:/ipfs/QmXSBA2CpLL9BdvZb994JYStgB9fJfsHwgcke6gsD3zybW\"]},\"contracts/src/spaces/facets/dispatcher/DispatcherBase.sol\":{\"keccak256\":\"0xd38bbf0e7de9af52f640f1a7af44f907ab230c68fd5731a30cb2957f7d508fbc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7537729ca5991c9b9d86417868e7c559c057840e2db29e14dbc8ff61f6e8ac9\",\"dweb:/ipfs/QmeMMMxpqEC1D5reauz5Q8hKc6Lx84Rxt2aQj3SL2fRfvs\"]},\"contracts/src/spaces/facets/dispatcher/DispatcherStorage.sol\":{\"keccak256\":\"0x0173a174a8241b5fee8610af734f25e92f311e4a66ad08d21c5897cc8895d543\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a25813aa9421f1dca29a7013f7d8be1d37d53d97791633c3c822ccb8fb42758a\",\"dweb:/ipfs/QmXHKAa6G8pEm3tUsVukLzgZDuEAcsKJwpjkKhR4pRwf5v\"]},\"contracts/src/spaces/facets/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0xe619f5b6c184d7cb894aa3463309a411fb46ef80c3d4fa5199fb619ec1443e33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a49ac3d978c21a7b27e871a4db7ec9bf82029d5bdd585c1a20b0d240293872\",\"dweb:/ipfs/QmadJaz3dx5qcykfnZa1W52WqEo8d83v3SA5X5UiyxUie1\"]},\"contracts/src/spaces/facets/entitlements/EntitlementsManagerService.sol\":{\"keccak256\":\"0x85433740dc34b5a8c76e512f168e5eec3c03b9ed8683ce0c0acb5368150d5c3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10706ddceeecee6b1d429175430f3439c25e59070ad3cf5918cf9795c113f501\",\"dweb:/ipfs/QmRS5ag8k4GSatGkWMKVvCBfxo2HPgh917UndkaF4VKCWa\"]},\"contracts/src/spaces/facets/entitlements/EntitlementsManagerStorage.sol\":{\"keccak256\":\"0x932608993bef144e63002ddef41a5c3cd3e800b49f7b18e0614da4912800d22d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97e1e32435b60f4697a98679884b36c6912cc31a942bf2c92af6590c58c64ca9\",\"dweb:/ipfs/QmNWcuZvzPqgQk2cLsmq7T71oMZGh22Mx1BwKz6Sj1cMAu\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol\":{\"keccak256\":\"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df\",\"dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol\":{\"keccak256\":\"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3\",\"dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo\"]},\"contracts/src/spaces/facets/gated/IEntitlementGated.sol\":{\"keccak256\":\"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec\",\"dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT\"]},\"contracts/src/spaces/facets/membership/IMembership.sol\":{\"keccak256\":\"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6\",\"dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84\"]},\"contracts/src/spaces/facets/membership/MembershipBase.sol\":{\"keccak256\":\"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2\",\"dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC\"]},\"contracts/src/spaces/facets/membership/MembershipFacet.sol\":{\"keccak256\":\"0x131bfb10e19e8fdcf6880723f1d0395c14a224f6d7e1aec26fde86dfaf1ca7cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2aededc4332470f7e993eb3b2a27b6f83c179bc5667f8c60c172d424e2c89ec3\",\"dweb:/ipfs/QmfPzTtSH9ScPWk84jAjW3R1p8FzNPVphYedEYPkBkxfNf\"]},\"contracts/src/spaces/facets/membership/MembershipStorage.sol\":{\"keccak256\":\"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd\",\"dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa\"]},\"contracts/src/spaces/facets/membership/join/MembershipJoin.sol\":{\"keccak256\":\"0x3c8b34517a8912a9951a6ec7a6ae15074d75d40eb1485a5ab690271b8945d53e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6196d6690aa9d58a53ab303917eacd4a70c8e124908e9a18cdbef628029c24ce\",\"dweb:/ipfs/Qmes1T9LiYYyRZF6iHUVYFJ6WetECv5CduYa9oVdXcHgN7\"]},\"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol\":{\"keccak256\":\"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc\",\"dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF\"]},\"contracts/src/spaces/facets/owner/ISpaceOwner.sol\":{\"keccak256\":\"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a\",\"dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw\"]},\"contracts/src/spaces/facets/prepay/IPrepay.sol\":{\"keccak256\":\"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15\",\"dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT\"]},\"contracts/src/spaces/facets/prepay/PrepayBase.sol\":{\"keccak256\":\"0x07fbb598088d52ff90a2dc5c3fea344823ae240f39b104f8db8a0b3953752ba3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d34b9a5703ac33b27f91049a81f106bdf327ac57f4ac5886e21f3782104a5084\",\"dweb:/ipfs/QmR8ds7bpXxSLZX6QNhVRVYY8Fk2xHVFNqcAD1fY38kERs\"]},\"contracts/src/spaces/facets/prepay/PrepayStorage.sol\":{\"keccak256\":\"0x5daebdd10dafc3bc3552064a2fecd4a2639226b1af240351dd2e005a7ab270b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06cf75e08e360a74822cd846728c5d9f8440698bb43d29a8bcab3c0cebbec336\",\"dweb:/ipfs/QmZ4UfwTNqQg88A7mHmXM3ZExjTJQhPf3qvFLGzcVaGwwG\"]},\"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol\":{\"keccak256\":\"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769\",\"dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW\"]},\"contracts/src/spaces/facets/referrals/IReferrals.sol\":{\"keccak256\":\"0x58ec271dbc2fc4c179f20874f9ec97f97e5d6bad0083b2e83b0c3b11fa21a796\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ab4e180cafd33e37039ffb004d20abe9c8b133a22cd50cfcf8898dd3177eb9a\",\"dweb:/ipfs/QmcBSq323rdgNfGue7WgcqDcZ2hceduHuBQmpDWgfChMP2\"]},\"contracts/src/spaces/facets/referrals/ReferralsBase.sol\":{\"keccak256\":\"0x9085aa7742524adbb7f32a320fa4a4c803ae39e4b406c7f3c41022e83c8d218e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37fdef0cd5ddb6ba1304d43420c4141d5b92dacb52efbee6d768a1c0dc17111a\",\"dweb:/ipfs/Qmdxdzz6bAc3LrXx2PRR1BZaRcNnJ4jLPos1eFZoF6xwjR\"]},\"contracts/src/spaces/facets/referrals/ReferralsStorage.sol\":{\"keccak256\":\"0x92d60431a4403fb15701cacf5ce4fb01a3cdd04120fa73f3eb9fc935d1ae2cbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b25afae2092460be64e8ce9f146eedeabe908738ebfe16062d2ea15200b4d3f6\",\"dweb:/ipfs/QmanSxLPMpcCJjdM5rNeXLLQ7AQeZTJAbrZ3sh79LNAbmr\"]},\"contracts/src/spaces/facets/roles/IRoles.sol\":{\"keccak256\":\"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed\",\"dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3\"]},\"contracts/src/spaces/facets/roles/RolesBase.sol\":{\"keccak256\":\"0xc847fa3ca60c268fc9ae30160b22092757e336d00e899f4002a68558eaf4c5f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65284c01e6bae841b51f0a53161d9e88c46b207b8eefdf98cd3c582f2312963e\",\"dweb:/ipfs/QmNcxd1hKiyYmKfVjjbwEHrydRJFLQYpjgeC6jMUosbcsY\"]},\"contracts/src/spaces/facets/roles/RolesStorage.sol\":{\"keccak256\":\"0xb7cd94235e366821c3dbdaa7dda9f66c6a0f55ced761a0cafc0de0ee2af41385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f667b95874e4299f93064815001f7f1170e3268e677bb969c70e909f0086d53f\",\"dweb:/ipfs/QmRpEpYsMN4C3yB9ujW3MRa8VxwQRoFHP1qoyFEko7W575\"]},\"contracts/src/utils/StringSet.sol\":{\"keccak256\":\"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605\",\"dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu\"]},\"contracts/src/utils/Validator.sol\":{\"keccak256\":\"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3\",\"dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG\"]},\"contracts/src/utils/interfaces/IWETH.sol\":{\"keccak256\":\"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5\",\"dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6\"]},\"contracts/src/utils/libraries/BasisPoints.sol\":{\"keccak256\":\"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e\",\"dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L\"]},\"contracts/src/utils/libraries/CurrencyTransfer.sol\":{\"keccak256\":\"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4\",\"dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr\"]},\"contracts/src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7\",\"dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875\",\"dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e\",\"dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol\":{\"keccak256\":\"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37\",\"dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol\":{\"keccak256\":\"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711\",\"dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol\":{\"keccak256\":\"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf\",\"dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F\"]},\"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol\":{\"keccak256\":\"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684\",\"dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol\":{\"keccak256\":\"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3\",\"dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol\":{\"keccak256\":\"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd\",\"dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj\"]},\"node_modules/@river-build/diamond/src/primitive/AllowanceMap.sol\":{\"keccak256\":\"0x12e8d3902e7206b89e54a16d1f8fb4ba4a1b819584c2baa01177b8e6de82155a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d0f4677070fec923c45e590abbe87fe21ec4b99d34b1ed51cdd14d9691de369\",\"dweb:/ipfs/Qmdv3b3GzPFMrEobgaBVviTnFz9xRh4BcnQumpRAWPXof1\"]},\"node_modules/@river-build/diamond/src/primitive/BalanceMap.sol\":{\"keccak256\":\"0xabc75038e0fb72da4da89abac8de68dddebc96180b15f78a1c930a5c0bed2a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9d3cf8f296c283eb16485b4088586a6b195bbcdfedb9de61ddc83ed4f2139c0\",\"dweb:/ipfs/Qmar9aZpDespjEPB3KPDyzVkw4Lu5Haw4YSN6MAyc1AeAJ\"]},\"node_modules/@river-build/diamond/src/primitive/ERC20.sol\":{\"keccak256\":\"0x4b433d379322c68241a596b8d2d2a349d2fb9f12b2365068067a11b6bcffc60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d412623852c32dfa28b3b46b3bff4b1881472f9a23e54fa9ee5d1795eb6a2213\",\"dweb:/ipfs/QmY2xoZHHtWnTvHfQ49WSLgZq7JfNtCZiDFdoDsWWYgcCU\"]},\"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol\":{\"keccak256\":\"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1\",\"dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV\"]},\"node_modules/solady/src/utils/FixedPointMathLib.sol\":{\"keccak256\":\"0x08ab121a1074161b4470c48dadcd6ed71eeb33db1adbefe514771e03cf380fba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b8d7a3b1dd013ee2b1f56d55b58f1d0b09ae3bcbe630e5a122f8998072c1ecad\",\"dweb:/ipfs/QmNRnBQ6me4s6xDeejdHRjn9Drb5MgcRtfwit9HbYhkJkk\"]},\"node_modules/solady/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98\",\"dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi\"]},\"node_modules/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333\",\"dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ApprovalCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"ApprovalQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"BalanceQueryForZeroAddress"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__AlreadyBanned"},{"inputs":[],"type":"error","name":"Banning__CannotBanOwner"},{"inputs":[],"type":"error","name":"Banning__CannotBanSelf"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__InvalidTokenId"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__NotBanned"},{"inputs":[],"type":"error","name":"Dispatcher__InvalidCaller"},{"inputs":[],"type":"error","name":"Dispatcher__InvalidValue"},{"inputs":[],"type":"error","name":"Dispatcher__TransactionAlreadyExists"},{"inputs":[],"type":"error","name":"ERC5643__DurationZero"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC5643__InvalidTokenId"},{"inputs":[],"type":"error","name":"ERC5643__NotApprovedOrOwner"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC5643__SubscriptionNotRenewable"},{"inputs":[],"type":"error","name":"EntitlementGated_InvalidAddress"},{"inputs":[],"type":"error","name":"EntitlementGated_NodeAlreadyVoted"},{"inputs":[],"type":"error","name":"EntitlementGated_NodeNotFound"},{"inputs":[],"type":"error","name":"EntitlementGated_TransactionCheckAlreadyCompleted"},{"inputs":[],"type":"error","name":"EntitlementGated_TransactionCheckAlreadyRegistered"},{"inputs":[],"type":"error","name":"EntitlementGated_TransactionNotRegistered"},{"inputs":[],"type":"error","name":"Entitlement__InvalidValue"},{"inputs":[],"type":"error","name":"Entitlement__NotAllowed"},{"inputs":[],"type":"error","name":"Entitlement__NotMember"},{"inputs":[],"type":"error","name":"Entitlement__ValueAlreadyExists"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[],"type":"error","name":"Membership__AlreadyMember"},{"inputs":[],"type":"error","name":"Membership__Banned"},{"inputs":[],"type":"error","name":"Membership__InsufficientAllowance"},{"inputs":[],"type":"error","name":"Membership__InsufficientPayment"},{"inputs":[],"type":"error","name":"Membership__InvalidAddress"},{"inputs":[],"type":"error","name":"Membership__InvalidCurrency"},{"inputs":[],"type":"error","name":"Membership__InvalidDuration"},{"inputs":[],"type":"error","name":"Membership__InvalidFeeRecipient"},{"inputs":[],"type":"error","name":"Membership__InvalidFreeAllocation"},{"inputs":[],"type":"error","name":"Membership__InvalidLimit"},{"inputs":[],"type":"error","name":"Membership__InvalidMaxSupply"},{"inputs":[],"type":"error","name":"Membership__InvalidPayment"},{"inputs":[],"type":"error","name":"Membership__InvalidPrice"},{"inputs":[],"type":"error","name":"Membership__InvalidPricingModule"},{"inputs":[],"type":"error","name":"Membership__InvalidTokenId"},{"inputs":[],"type":"error","name":"Membership__InvalidTransactionType"},{"inputs":[],"type":"error","name":"Membership__MaxSupplyReached"},{"inputs":[],"type":"error","name":"Membership__NotExpired"},{"inputs":[],"type":"error","name":"Membership__PriceTooLow"},{"inputs":[],"type":"error","name":"MintERC2309QuantityExceedsLimit"},{"inputs":[],"type":"error","name":"MintToZeroAddress"},{"inputs":[],"type":"error","name":"MintZeroQuantity"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[],"type":"error","name":"OwnerQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"OwnershipNotInitializedForExtraData"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"type":"error","name":"PartnerRegistry__InvalidPartnerFee"},{"inputs":[],"type":"error","name":"PartnerRegistry__InvalidRecipient"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"PartnerRegistry__NotPartnerAccount"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"PartnerRegistry__PartnerAlreadyRegistered"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"PartnerRegistry__PartnerNotActive"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"PartnerRegistry__PartnerNotRegistered"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"type":"error","name":"PartnerRegistry__RegistryFeeNotPaid"},{"inputs":[],"type":"error","name":"Pausable__NotPaused"},{"inputs":[],"type":"error","name":"Pausable__Paused"},{"inputs":[],"type":"error","name":"Prepay__InvalidAddress"},{"inputs":[],"type":"error","name":"Prepay__InvalidAmount"},{"inputs":[],"type":"error","name":"Prepay__InvalidMembership"},{"inputs":[],"type":"error","name":"Prepay__InvalidSupplyAmount"},{"inputs":[],"type":"error","name":"Reentrancy"},{"inputs":[],"type":"error","name":"Referrals__InvalidBasisPoints"},{"inputs":[],"type":"error","name":"Referrals__InvalidBpsFee"},{"inputs":[],"type":"error","name":"Referrals__InvalidRecipient"},{"inputs":[],"type":"error","name":"Referrals__InvalidReferralCode"},{"inputs":[],"type":"error","name":"Referrals__ReferralAlreadyExists"},{"inputs":[],"type":"error","name":"Roles__EntitlementAlreadyExists"},{"inputs":[],"type":"error","name":"Roles__EntitlementDoesNotExist"},{"inputs":[],"type":"error","name":"Roles__InvalidEntitlementAddress"},{"inputs":[],"type":"error","name":"Roles__InvalidPermission"},{"inputs":[],"type":"error","name":"Roles__PermissionAlreadyExists"},{"inputs":[],"type":"error","name":"Roles__PermissionDoesNotExist"},{"inputs":[],"type":"error","name":"Roles__RoleDoesNotExist"},{"inputs":[],"type":"error","name":"TransferCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"TransferFromIncorrectOwner"},{"inputs":[],"type":"error","name":"TransferToNonERC721ReceiverImplementer"},{"inputs":[],"type":"error","name":"TransferToZeroAddress"},{"inputs":[],"type":"error","name":"URIQueryForNonexistentToken"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"moderator","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Banned","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"uint256","name":"defaultBpsFee","type":"uint256","indexed":false}],"type":"event","name":"DefaultBpsFeeUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"transactionId","type":"bytes32","indexed":true},{"internalType":"enum IEntitlementGatedBase.NodeVoteStatus","name":"result","type":"uint8","indexed":false}],"type":"event","name":"EntitlementCheckResultPosted","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"uint256","name":"maxBpsFee","type":"uint256","indexed":false}],"type":"event","name":"MaxBpsFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"MaxPartnerFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"currency","type":"address","indexed":true}],"type":"event","name":"MembershipCurrencyUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true}],"type":"event","name":"MembershipFeeRecipientUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"allocation","type":"uint256","indexed":true}],"type":"event","name":"MembershipFreeAllocationUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256","indexed":true}],"type":"event","name":"MembershipLimitUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"price","type":"uint256","indexed":true}],"type":"event","name":"MembershipPriceUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"MembershipTokenIssued","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true}],"type":"event","name":"MembershipTokenRejected","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"MembershipWithdrawal","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true}],"type":"event","name":"PartnerRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true}],"type":"event","name":"PartnerRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true}],"type":"event","name":"PartnerUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsAddedToChannelRole","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsRemovedFromChannelRole","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":true}],"type":"event","name":"PermissionsUpdatedForChannelRole","anonymous":false},{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256","indexed":false}],"type":"event","name":"Prepay__Prepaid","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"referralCode","type":"bytes32","indexed":false},{"internalType":"uint256","name":"basisPoints","type":"uint256","indexed":false},{"internalType":"address","name":"recipient","type":"address","indexed":false}],"type":"event","name":"ReferralRegistered","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"referralCode","type":"bytes32","indexed":false}],"type":"event","name":"ReferralRemoved","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"referralCode","type":"bytes32","indexed":false},{"internalType":"uint256","name":"basisPoints","type":"uint256","indexed":false},{"internalType":"address","name":"recipient","type":"address","indexed":false}],"type":"event","name":"ReferralUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"RegistryFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"remover","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"updater","type":"address","indexed":true},{"internalType":"uint256","name":"roleId","type":"uint256","indexed":true}],"type":"event","name":"RoleUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint64","name":"expiration","type":"uint64","indexed":false}],"type":"event","name":"SubscriptionUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"moderator","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Unbanned","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"expiresAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipCurrency","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipDuration","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipFreeAllocation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipImage","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMembershipPricingModule","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMembershipRenewalPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSpaceFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"stateMutability":"payable","type":"function","name":"joinSpace"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"struct IMembershipBase.ReferralTypes","name":"referral","type":"tuple","components":[{"internalType":"address","name":"partner","type":"address"},{"internalType":"address","name":"userReferral","type":"address"},{"internalType":"string","name":"referralCode","type":"string"}]}],"stateMutability":"payable","type":"function","name":"joinSpaceWithReferral"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"renewMembership"},{"inputs":[],"stateMutability":"view","type":"function","name":"revenue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"newAllocation","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMembershipFreeAllocation"},{"inputs":[{"internalType":"string","name":"newImage","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setMembershipImage"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMembershipLimit"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMembershipPrice"},{"inputs":[{"internalType":"address","name":"pricingModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setMembershipPricingModule"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"}],"devdoc":{"kind":"dev","methods":{"expiresAt(uint256)":{"params":{"tokenId":"The token id of the membership"}},"getMembershipCurrency()":{"returns":{"_0":"The membership currency"}},"getMembershipDuration()":{"returns":{"_0":"The membership duration"}},"getMembershipFreeAllocation()":{"returns":{"_0":"The membership free allocation"}},"getMembershipImage()":{"returns":{"_0":"The membership image"}},"getMembershipLimit()":{"returns":{"_0":"The membership limit"}},"getMembershipPrice()":{"returns":{"_0":"The membership price"}},"getMembershipPricingModule()":{"returns":{"_0":"The membership pricing module"}},"getMembershipRenewalPrice(uint256)":{"params":{"tokenId":"The token id of the membership"},"returns":{"_0":"The membership renewal price"}},"getSpaceFactory()":{"returns":{"_0":"The space factory"}},"joinSpace(address)":{"params":{"receiver":"The address of the receiver"}},"joinSpaceWithReferral(address,(address,address,string))":{"params":{"receiver":"The address of the receiver","referral":"The referral data"}},"renewMembership(uint256)":{"params":{"tokenId":"The token id of the membership"}},"revenue()":{"returns":{"_0":"The current balance of funds held by the space"}},"setMembershipFreeAllocation(uint256)":{"params":{"newAllocation":"The new membership free allocation"}},"setMembershipLimit(uint256)":{"params":{"newLimit":"The new membership limit"}},"setMembershipPrice(uint256)":{"params":{"newPrice":"The new membership price"}},"setMembershipPricingModule(address)":{"params":{"pricingModule":"The new pricing module"}},"withdraw(address)":{"params":{"receiver":"The address to receive the withdrawn funds"}}},"version":1},"userdoc":{"kind":"user","methods":{"expiresAt(uint256)":{"notice":"Return the expiration date of a membership"},"getMembershipCurrency()":{"notice":"Get the membership currency"},"getMembershipDuration()":{"notice":"Get the membership duration"},"getMembershipFreeAllocation()":{"notice":"Get the membership free allocation"},"getMembershipImage()":{"notice":"Get the membership image"},"getMembershipLimit()":{"notice":"Get the membership limit"},"getMembershipPrice()":{"notice":"Get the membership price"},"getMembershipPricingModule()":{"notice":"Get the membership pricing module"},"getMembershipRenewalPrice(uint256)":{"notice":"Get the membership renewal price"},"getSpaceFactory()":{"notice":"Get the space factory"},"joinSpace(address)":{"notice":"Join a space"},"joinSpaceWithReferral(address,(address,address,string))":{"notice":"Join a space with a referral"},"renewMembership(uint256)":{"notice":"Renew a space membership"},"revenue()":{"notice":"Get the current balance of funds held by the space"},"setMembershipFreeAllocation(uint256)":{"notice":"Set the membership free allocation"},"setMembershipLimit(uint256)":{"notice":"Set the membership limit"},"setMembershipPrice(uint256)":{"notice":"Set the membership price"},"setMembershipPricingModule(address)":{"notice":"Set the membership pricing module"},"withdraw(address)":{"notice":"Withdraws the balance of the contract"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/spaces/facets/membership/MembershipFacet.sol":"MembershipFacet"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/airdrop/points/CheckIn.sol":{"keccak256":"0x10d34b8a6fcb2ab6ae4745a6aaac478cb7856df6b8b7c5f2fda4096a24247a4f","urls":["bzz-raw://3c6c52b784e76b81cdcfa86545a9390e628394dcd949c160a7fca8194750b915","dweb:/ipfs/QmXUz1XR61ztZLDe4FxLJg6oqohzbyjPZXsvq4cibwV4jU"],"license":"MIT"},"contracts/src/airdrop/points/ITownsPoints.sol":{"keccak256":"0xf507ad2a91ab58166c2e850b93085320bc483e12a3fe2aef808c0b254a0b656e","urls":["bzz-raw://5dc159159e4cbe755e18661831ce80a4ca183a43edc21a01504585e73e595ebc","dweb:/ipfs/QmUELy6xZ8fpcpYfV1VV7oGbF5UAButoYteUNMX1ZAUsj7"],"license":"MIT"},"contracts/src/airdrop/points/TownsPoints.sol":{"keccak256":"0x946df87486a5c9dc357d1ed6dd66a5910b058e3f39ee1406772788751cfc5adf","urls":["bzz-raw://418a07b0b0cddc9780b72a4efdf8af04210770ab0ecc504e8ec97beff58fe6f3","dweb:/ipfs/QmPKzX3Ep18KZ7LqXKummvb2Jkvc1Weperpp8e6wBKckNU"],"license":"MIT"},"contracts/src/airdrop/points/TownsPointsStorage.sol":{"keccak256":"0x7ea8ca73f728347c6872c229975632d0ea5a60cfde533d4ddb7c4bd0f37091a0","urls":["bzz-raw://bc87378a8ac74719ac4f96ad6245a544e0d5b81bb3a0d5674e90e46720f3e37e","dweb:/ipfs/QmeRjXzUvsicS7g5xAcz9XKTbcyK38p5B7j4m389Bs6MrG"],"license":"MIT"},"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol":{"keccak256":"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204","urls":["bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d","dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/ERC5643Base.sol":{"keccak256":"0x21d3c281732e54c93520a4f2cc72cc5af38c517f2a150ee67aa84704a3d78627","urls":["bzz-raw://52ce7c061da0142a4d775bb85896410d363d4a28c0275d3171a70872344fc9a4","dweb:/ipfs/Qmdwgs3TaC4b83JVn6RG5pJJdCrxb74ZMRqZbYSe5DuqZf"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/ERC5643Storage.sol":{"keccak256":"0x68cbff071e6a6a6b91b675af567616799435676fbbbebf4f9226e1226d6128b2","urls":["bzz-raw://2e2c7aee6ef32477733a50ba667cc510c8c165b9a9e146609b1f800acd0e4832","dweb:/ipfs/QmcWAz74x3AR6kpzWdyPWw3iLQ1yHBT3ZVoK6jT7T3LwXq"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol":{"keccak256":"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224","urls":["bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615","dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol":{"keccak256":"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62","urls":["bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba","dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol":{"keccak256":"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4","urls":["bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04","dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol":{"keccak256":"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782","urls":["bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d","dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"],"license":"MIT"},"contracts/src/factory/facets/architect/IArchitect.sol":{"keccak256":"0x5d790cabaad08df5dda57b8055dbf21ed103bd10ad0e4d684a0e690f9c240a24","urls":["bzz-raw://8ff954eb61db93e8b7b58d542f73d75b2e9ee856896a07d436bbc8101b4e9aea","dweb:/ipfs/QmdgzSC3JooGsWA6BTgyXQU7YA6byFFLuVkyZqs7mEgRCm"],"license":"MIT"},"contracts/src/factory/facets/architect/pricing/IPricingModules.sol":{"keccak256":"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171","urls":["bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786","dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm"],"license":"MIT"},"contracts/src/factory/facets/partner/IPartnerRegistry.sol":{"keccak256":"0x1fe0cb9bee78697a459c596df3d69809decda8b0176bcba47bfd7b4c3db4440f","urls":["bzz-raw://4a0ffc7ccacc24be9dd81545fb6bf2d2b63698c6ac0c54def86aac1513d04dcf","dweb:/ipfs/QmRRSWiMV9XyZZdhHR9jo3FdVqHYAB63Egpq8jiabTJdrp"],"license":"MIT"},"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol":{"keccak256":"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6","urls":["bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86","dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT"],"license":"MIT"},"contracts/src/factory/facets/registry/IImplementationRegistry.sol":{"keccak256":"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7","urls":["bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c","dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA"],"license":"MIT"},"contracts/src/factory/facets/wallet-link/IWalletLink.sol":{"keccak256":"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c","urls":["bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d","dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC"],"license":"MIT"},"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol":{"keccak256":"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b","urls":["bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4","dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2"],"license":"MIT"},"contracts/src/spaces/entitlements/user/IUserEntitlement.sol":{"keccak256":"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9","urls":["bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a","dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx"],"license":"MIT"},"contracts/src/spaces/facets/Entitled.sol":{"keccak256":"0x407444b484c8951ee61c5665c18876ce798c8e28b9aa9d4599b4a027d892870c","urls":["bzz-raw://78692dc68fe28f7d1bd3deea97534f3f4ef92e17cf443cad12c74989370ca689","dweb:/ipfs/QmWRDxd6jZjA1DR7N15pNZtqa5P7mHnB1wQSBHfSabCnSd"],"license":"MIT"},"contracts/src/spaces/facets/Permissions.sol":{"keccak256":"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e","urls":["bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634","dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x"],"license":"MIT"},"contracts/src/spaces/facets/banning/BanningBase.sol":{"keccak256":"0x38c44494221f96568f3efb540a8a6c7af141de95f25caf26df6e8a8333f31249","urls":["bzz-raw://cf1f509347cab5090655ff8272443d18f9716fea5ef27cd86269ccbd2570aa7e","dweb:/ipfs/QmbF8StzLRGnVvVXWYBowvdULoPPqQkU5hZR548cnRzuVs"],"license":"MIT"},"contracts/src/spaces/facets/banning/BanningStorage.sol":{"keccak256":"0xcfbf5c113056e569abf23158853ff4877744b22a4bf2bf49a282d04dab23ab17","urls":["bzz-raw://4f825e97ca65c9cd3bd5885d2fa8b8e5f8f0dcbe227dec064abbbab645685fbe","dweb:/ipfs/QmXAMntxrjzeNUKh9WcyHvzDmnV89vrJ9PkKRceqxJSxZp"],"license":"MIT"},"contracts/src/spaces/facets/banning/IBanning.sol":{"keccak256":"0x350ec182a95a86a41335979cd7212132858c5cfcd366602b2f6cd0ec0694b63e","urls":["bzz-raw://ecb4ad0c5a1086c38448b3e279733f33edc0cc39648368e5cb43dfff139ff7e8","dweb:/ipfs/QmWYfYE8Haqk9kBRxmLijfQSfqbfxf7LB3wQ24d3pG5PE3"],"license":"MIT"},"contracts/src/spaces/facets/channels/ChannelService.sol":{"keccak256":"0xd99752d8c031a33e075b257fe1863a269d470c8ad18052cdca6faeb5370d2169","urls":["bzz-raw://45bdecec56344c7cd8dceb7a47d5c66cd5b2c4e1eb006ed8b222a198e9f41f55","dweb:/ipfs/QmSFhLzHvYsYj3Py976SQDqzfSz3nnsyYc7hWBp61WPdjK"],"license":"MIT"},"contracts/src/spaces/facets/channels/ChannelStorage.sol":{"keccak256":"0xeb4174513a652b1571b3a92cbefa80e9d450144e8d07bfb29c863d7d9de9313c","urls":["bzz-raw://6c3b73c84a2b4a56fcc8bd1fbaa0a8896a2dfc62a7fde07b13c6d8b05dcf8fe6","dweb:/ipfs/QmRPukfmps5ESAR5saLNLJp6GEg1nNCTq5qChGeAjgtLV4"],"license":"MIT"},"contracts/src/spaces/facets/delegation/WalletLinkProxyBase.sol":{"keccak256":"0xffef403556b46744bd1833e5df57b02eb79e010841b16610e1740bc0dac929b2","urls":["bzz-raw://1afa30929e8c6b0c69528d328774c98789825a8de53e5945a1e95092bee2ad08","dweb:/ipfs/QmTbCqLJTBHgcMuFwWSTbrgR7uaASJqwqYuku4YkGzTWW1"],"license":"MIT"},"contracts/src/spaces/facets/delegation/WalletLinkProxyStorage.sol":{"keccak256":"0x9667e475b9ad9f1130583840c9b0594a7512f7edd33163b926b3db21f70d9909","urls":["bzz-raw://d6271ce56258b1e9150378872d250cfaeb4501b5d0288e8f19f02096114c687f","dweb:/ipfs/QmXSBA2CpLL9BdvZb994JYStgB9fJfsHwgcke6gsD3zybW"],"license":"MIT"},"contracts/src/spaces/facets/dispatcher/DispatcherBase.sol":{"keccak256":"0xd38bbf0e7de9af52f640f1a7af44f907ab230c68fd5731a30cb2957f7d508fbc","urls":["bzz-raw://d7537729ca5991c9b9d86417868e7c559c057840e2db29e14dbc8ff61f6e8ac9","dweb:/ipfs/QmeMMMxpqEC1D5reauz5Q8hKc6Lx84Rxt2aQj3SL2fRfvs"],"license":"MIT"},"contracts/src/spaces/facets/dispatcher/DispatcherStorage.sol":{"keccak256":"0x0173a174a8241b5fee8610af734f25e92f311e4a66ad08d21c5897cc8895d543","urls":["bzz-raw://a25813aa9421f1dca29a7013f7d8be1d37d53d97791633c3c822ccb8fb42758a","dweb:/ipfs/QmXHKAa6G8pEm3tUsVukLzgZDuEAcsKJwpjkKhR4pRwf5v"],"license":"MIT"},"contracts/src/spaces/facets/dispatcher/IDispatcher.sol":{"keccak256":"0xe619f5b6c184d7cb894aa3463309a411fb46ef80c3d4fa5199fb619ec1443e33","urls":["bzz-raw://d6a49ac3d978c21a7b27e871a4db7ec9bf82029d5bdd585c1a20b0d240293872","dweb:/ipfs/QmadJaz3dx5qcykfnZa1W52WqEo8d83v3SA5X5UiyxUie1"],"license":"MIT"},"contracts/src/spaces/facets/entitlements/EntitlementsManagerService.sol":{"keccak256":"0x85433740dc34b5a8c76e512f168e5eec3c03b9ed8683ce0c0acb5368150d5c3d","urls":["bzz-raw://10706ddceeecee6b1d429175430f3439c25e59070ad3cf5918cf9795c113f501","dweb:/ipfs/QmRS5ag8k4GSatGkWMKVvCBfxo2HPgh917UndkaF4VKCWa"],"license":"MIT"},"contracts/src/spaces/facets/entitlements/EntitlementsManagerStorage.sol":{"keccak256":"0x932608993bef144e63002ddef41a5c3cd3e800b49f7b18e0614da4912800d22d","urls":["bzz-raw://97e1e32435b60f4697a98679884b36c6912cc31a942bf2c92af6590c58c64ca9","dweb:/ipfs/QmNWcuZvzPqgQk2cLsmq7T71oMZGh22Mx1BwKz6Sj1cMAu"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol":{"keccak256":"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045","urls":["bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df","dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol":{"keccak256":"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84","urls":["bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3","dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo"],"license":"MIT"},"contracts/src/spaces/facets/gated/IEntitlementGated.sol":{"keccak256":"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74","urls":["bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec","dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT"],"license":"MIT"},"contracts/src/spaces/facets/membership/IMembership.sol":{"keccak256":"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b","urls":["bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6","dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipBase.sol":{"keccak256":"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8","urls":["bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2","dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipFacet.sol":{"keccak256":"0x131bfb10e19e8fdcf6880723f1d0395c14a224f6d7e1aec26fde86dfaf1ca7cb","urls":["bzz-raw://2aededc4332470f7e993eb3b2a27b6f83c179bc5667f8c60c172d424e2c89ec3","dweb:/ipfs/QmfPzTtSH9ScPWk84jAjW3R1p8FzNPVphYedEYPkBkxfNf"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipStorage.sol":{"keccak256":"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972","urls":["bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd","dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa"],"license":"MIT"},"contracts/src/spaces/facets/membership/join/MembershipJoin.sol":{"keccak256":"0x3c8b34517a8912a9951a6ec7a6ae15074d75d40eb1485a5ab690271b8945d53e","urls":["bzz-raw://6196d6690aa9d58a53ab303917eacd4a70c8e124908e9a18cdbef628029c24ce","dweb:/ipfs/Qmes1T9LiYYyRZF6iHUVYFJ6WetECv5CduYa9oVdXcHgN7"],"license":"MIT"},"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol":{"keccak256":"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4","urls":["bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc","dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF"],"license":"MIT"},"contracts/src/spaces/facets/owner/ISpaceOwner.sol":{"keccak256":"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4","urls":["bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a","dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw"],"license":"MIT"},"contracts/src/spaces/facets/prepay/IPrepay.sol":{"keccak256":"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa","urls":["bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15","dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT"],"license":"MIT"},"contracts/src/spaces/facets/prepay/PrepayBase.sol":{"keccak256":"0x07fbb598088d52ff90a2dc5c3fea344823ae240f39b104f8db8a0b3953752ba3","urls":["bzz-raw://d34b9a5703ac33b27f91049a81f106bdf327ac57f4ac5886e21f3782104a5084","dweb:/ipfs/QmR8ds7bpXxSLZX6QNhVRVYY8Fk2xHVFNqcAD1fY38kERs"],"license":"MIT"},"contracts/src/spaces/facets/prepay/PrepayStorage.sol":{"keccak256":"0x5daebdd10dafc3bc3552064a2fecd4a2639226b1af240351dd2e005a7ab270b4","urls":["bzz-raw://06cf75e08e360a74822cd846728c5d9f8440698bb43d29a8bcab3c0cebbec336","dweb:/ipfs/QmZ4UfwTNqQg88A7mHmXM3ZExjTJQhPf3qvFLGzcVaGwwG"],"license":"MIT"},"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol":{"keccak256":"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207","urls":["bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769","dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW"],"license":"MIT"},"contracts/src/spaces/facets/referrals/IReferrals.sol":{"keccak256":"0x58ec271dbc2fc4c179f20874f9ec97f97e5d6bad0083b2e83b0c3b11fa21a796","urls":["bzz-raw://6ab4e180cafd33e37039ffb004d20abe9c8b133a22cd50cfcf8898dd3177eb9a","dweb:/ipfs/QmcBSq323rdgNfGue7WgcqDcZ2hceduHuBQmpDWgfChMP2"],"license":"MIT"},"contracts/src/spaces/facets/referrals/ReferralsBase.sol":{"keccak256":"0x9085aa7742524adbb7f32a320fa4a4c803ae39e4b406c7f3c41022e83c8d218e","urls":["bzz-raw://37fdef0cd5ddb6ba1304d43420c4141d5b92dacb52efbee6d768a1c0dc17111a","dweb:/ipfs/Qmdxdzz6bAc3LrXx2PRR1BZaRcNnJ4jLPos1eFZoF6xwjR"],"license":"MIT"},"contracts/src/spaces/facets/referrals/ReferralsStorage.sol":{"keccak256":"0x92d60431a4403fb15701cacf5ce4fb01a3cdd04120fa73f3eb9fc935d1ae2cbf","urls":["bzz-raw://b25afae2092460be64e8ce9f146eedeabe908738ebfe16062d2ea15200b4d3f6","dweb:/ipfs/QmanSxLPMpcCJjdM5rNeXLLQ7AQeZTJAbrZ3sh79LNAbmr"],"license":"MIT"},"contracts/src/spaces/facets/roles/IRoles.sol":{"keccak256":"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65","urls":["bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed","dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3"],"license":"MIT"},"contracts/src/spaces/facets/roles/RolesBase.sol":{"keccak256":"0xc847fa3ca60c268fc9ae30160b22092757e336d00e899f4002a68558eaf4c5f1","urls":["bzz-raw://65284c01e6bae841b51f0a53161d9e88c46b207b8eefdf98cd3c582f2312963e","dweb:/ipfs/QmNcxd1hKiyYmKfVjjbwEHrydRJFLQYpjgeC6jMUosbcsY"],"license":"MIT"},"contracts/src/spaces/facets/roles/RolesStorage.sol":{"keccak256":"0xb7cd94235e366821c3dbdaa7dda9f66c6a0f55ced761a0cafc0de0ee2af41385","urls":["bzz-raw://f667b95874e4299f93064815001f7f1170e3268e677bb969c70e909f0086d53f","dweb:/ipfs/QmRpEpYsMN4C3yB9ujW3MRa8VxwQRoFHP1qoyFEko7W575"],"license":"MIT"},"contracts/src/utils/StringSet.sol":{"keccak256":"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6","urls":["bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605","dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu"],"license":"MIT"},"contracts/src/utils/Validator.sol":{"keccak256":"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f","urls":["bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3","dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG"],"license":"MIT"},"contracts/src/utils/interfaces/IWETH.sol":{"keccak256":"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0","urls":["bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5","dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6"],"license":"MIT"},"contracts/src/utils/libraries/BasisPoints.sol":{"keccak256":"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b","urls":["bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e","dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L"],"license":"MIT"},"contracts/src/utils/libraries/CurrencyTransfer.sol":{"keccak256":"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083","urls":["bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4","dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr"],"license":"MIT"},"contracts/src/utils/libraries/CustomRevert.sol":{"keccak256":"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059","urls":["bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7","dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2","urls":["bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875","dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd","urls":["bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e","dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol":{"keccak256":"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397","urls":["bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37","dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol":{"keccak256":"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83","urls":["bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711","dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol":{"keccak256":"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479","urls":["bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf","dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol":{"keccak256":"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1","urls":["bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684","dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol":{"keccak256":"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0","urls":["bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3","dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol":{"keccak256":"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f","urls":["bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd","dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj"],"license":"MIT"},"node_modules/@river-build/diamond/src/primitive/AllowanceMap.sol":{"keccak256":"0x12e8d3902e7206b89e54a16d1f8fb4ba4a1b819584c2baa01177b8e6de82155a","urls":["bzz-raw://9d0f4677070fec923c45e590abbe87fe21ec4b99d34b1ed51cdd14d9691de369","dweb:/ipfs/Qmdv3b3GzPFMrEobgaBVviTnFz9xRh4BcnQumpRAWPXof1"],"license":"MIT"},"node_modules/@river-build/diamond/src/primitive/BalanceMap.sol":{"keccak256":"0xabc75038e0fb72da4da89abac8de68dddebc96180b15f78a1c930a5c0bed2a7c","urls":["bzz-raw://a9d3cf8f296c283eb16485b4088586a6b195bbcdfedb9de61ddc83ed4f2139c0","dweb:/ipfs/Qmar9aZpDespjEPB3KPDyzVkw4Lu5Haw4YSN6MAyc1AeAJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/primitive/ERC20.sol":{"keccak256":"0x4b433d379322c68241a596b8d2d2a349d2fb9f12b2365068067a11b6bcffc60a","urls":["bzz-raw://d412623852c32dfa28b3b46b3bff4b1881472f9a23e54fa9ee5d1795eb6a2213","dweb:/ipfs/QmY2xoZHHtWnTvHfQ49WSLgZq7JfNtCZiDFdoDsWWYgcCU"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol":{"keccak256":"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01","urls":["bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1","dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV"],"license":"MIT"},"node_modules/solady/src/utils/FixedPointMathLib.sol":{"keccak256":"0x08ab121a1074161b4470c48dadcd6ed71eeb33db1adbefe514771e03cf380fba","urls":["bzz-raw://b8d7a3b1dd013ee2b1f56d55b58f1d0b09ae3bcbe630e5a122f8998072c1ecad","dweb:/ipfs/QmNRnBQ6me4s6xDeejdHRjn9Drb5MgcRtfwit9HbYhkJkk"],"license":"MIT"},"node_modules/solady/src/utils/ReentrancyGuard.sol":{"keccak256":"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8","urls":["bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98","dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi"],"license":"MIT"},"node_modules/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3","urls":["bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333","dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH"],"license":"MIT"}},"version":1},"id":245} \ No newline at end of file diff --git a/packages/generated/dev/abis/MembershipFacet.metadata.json b/packages/generated/dev/abis/MembershipFacet.metadata.json index fb7dd6dfea..960c7c988b 100644 --- a/packages/generated/dev/abis/MembershipFacet.metadata.json +++ b/packages/generated/dev/abis/MembershipFacet.metadata.json @@ -2362,10 +2362,10 @@ "license": "MIT" }, "node_modules/solady/src/utils/FixedPointMathLib.sol": { - "keccak256": "0x7afe0e9230d62d21b7bcaf26003b489e451fa91f73a50437a6cb506975ff5d91", + "keccak256": "0x08ab121a1074161b4470c48dadcd6ed71eeb33db1adbefe514771e03cf380fba", "urls": [ - "bzz-raw://105454301879d0d8774b639f75bbf6dd7afcdc3d647f0026d85967e756394caa", - "dweb:/ipfs/QmddrUdQkVpjHtj8XZxbPU3iqkttdwFs4uDoWfnxU1SCee" + "bzz-raw://b8d7a3b1dd013ee2b1f56d55b58f1d0b09ae3bcbe630e5a122f8998072c1ecad", + "dweb:/ipfs/QmNRnBQ6me4s6xDeejdHRjn9Drb5MgcRtfwit9HbYhkJkk" ], "license": "MIT" }, @@ -2378,10 +2378,10 @@ "license": "MIT" }, "node_modules/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210", + "keccak256": "0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3", "urls": [ - "bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c", - "dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR" + "bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333", + "dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH" ], "license": "MIT" } diff --git a/packages/generated/dev/abis/MockLegacyArchitect.json b/packages/generated/dev/abis/MockLegacyArchitect.json index f48e4c1947..eceeee68d6 100644 --- a/packages/generated/dev/abis/MockLegacyArchitect.json +++ b/packages/generated/dev/abis/MockLegacyArchitect.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"__Architect_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createSpace","inputs":[{"name":"spaceInfo","type":"tuple","internalType":"struct ILegacyArchitectBase.SpaceInfo","components":[{"name":"name","type":"string","internalType":"string"},{"name":"uri","type":"string","internalType":"string"},{"name":"shortDescription","type":"string","internalType":"string"},{"name":"longDescription","type":"string","internalType":"string"},{"name":"membership","type":"tuple","internalType":"struct ILegacyArchitectBase.Membership","components":[{"name":"settings","type":"tuple","internalType":"struct IMembershipBase.Membership","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"maxSupply","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint64","internalType":"uint64"},{"name":"currency","type":"address","internalType":"address"},{"name":"feeRecipient","type":"address","internalType":"address"},{"name":"freeAllocation","type":"uint256","internalType":"uint256"},{"name":"pricingModule","type":"address","internalType":"address"}]},{"name":"requirements","type":"tuple","internalType":"struct ILegacyArchitectBase.MembershipRequirements","components":[{"name":"everyone","type":"bool","internalType":"bool"},{"name":"users","type":"address[]","internalType":"address[]"},{"name":"ruleData","type":"tuple","internalType":"struct IRuleEntitlementBase.RuleData","components":[{"name":"operations","type":"tuple[]","internalType":"struct IRuleEntitlementBase.Operation[]","components":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlementBase.CombinedOperationType"},{"name":"index","type":"uint8","internalType":"uint8"}]},{"name":"checkOperations","type":"tuple[]","internalType":"struct IRuleEntitlementBase.CheckOperation[]","components":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlementBase.CheckOperationType"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"threshold","type":"uint256","internalType":"uint256"}]},{"name":"logicalOperations","type":"tuple[]","internalType":"struct IRuleEntitlementBase.LogicalOperation[]","components":[{"name":"logOpType","type":"uint8","internalType":"enum IRuleEntitlementBase.LogicalOperationType"},{"name":"leftOperationIndex","type":"uint8","internalType":"uint8"},{"name":"rightOperationIndex","type":"uint8","internalType":"uint8"}]}]},{"name":"syncEntitlements","type":"bool","internalType":"bool"}]},{"name":"permissions","type":"string[]","internalType":"string[]"}]},{"name":"channel","type":"tuple","internalType":"struct ILegacyArchitectBase.ChannelInfo","components":[{"name":"metadata","type":"string","internalType":"string"}]}]}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceCreated","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"space","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"Architect__InvalidAddress","inputs":[]},{"type":"error","name":"Architect__InvalidNetworkId","inputs":[]},{"type":"error","name":"Architect__InvalidStringLength","inputs":[]},{"type":"error","name":"Architect__NotContract","inputs":[]},{"type":"error","name":"Factory__FailedDeployment","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"Pausable__NotPaused","inputs":[]},{"type":"error","name":"Pausable__Paused","inputs":[]},{"type":"error","name":"Reentrancy","inputs":[]},{"type":"error","name":"Validator__InvalidAddress","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001961001e565b6100c4565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff161561006a576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156100c157805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b612aa680620000d46000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063ade4c8fa146200003f578063e8546e071462000072575b600080fd5b6200005662000050366004620017c1565b6200007e565b6040516001600160a01b03909116815260200160405180910390f35b6200007c6200010d565b005b60003068929eee149b4bd212685403620000a05763ab143c066000526004601cfd5b3068929eee149b4bd21268557fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615620000f0576040516302ca8ced60e11b815260040160405180910390fd5b620000fb826200016c565b3868929eee149b4bd212685592915050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166200015857604051630ef4733760e31b815260040160405180910390fd5b6200016a6356f2647d60e11b6200052d565b565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00805460408051631d5e528f60e21b815290516000937f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f000093909285926001600160a01b03909216916375794a3c916004808201926020929091908290030181865afa15801562000200573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002269190620018f8565b90506200023881866080015162000608565b83549094508360006200024b8362001912565b90915550506000818152600284016020908152604080832080546001600160a01b0319166001600160a01b0389811691821790925584526001870183529281902084905584548851928901518983015160608b01519351630efd6e3d60e21b81529290951694633bf5b8f494620002cb9490938b9291906004016200198e565b6020604051808303816000875af1158015620002eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003119190620018f8565b5060018201546000906200032f906001600160a01b03168662000634565b60058401549091506000906200034f906001600160a01b03168762000634565b604080516002808252606082018352929350600092909160208301908036833701905050905082816000815181106200038c576200038c620019fe565b60200260200101906001600160a01b031690816001600160a01b0316815250508181600181518110620003c357620003c3620019fe565b6001600160a01b039283166020918202929092010152604051638bfc820f60e01b815290881690638bfc820f906200040090849060040162001a14565b600060405180830381600087803b1580156200041b57600080fd5b505af115801562000430573d6000803e3d6000fd5b505050506200044a8784848b6080015160200151620006f1565b5060808801518051516040909101516000916200046b918a91908762000b24565b90506200047e88828b60a0015162000cb4565b8554604051632142170760e11b8152306004820152336024820152604481018790526001600160a01b03909116906342842e0e90606401600060405180830381600087803b158015620004d057600080fd5b505af1158015620004e5573d6000803e3d6000fd5b50506040516001600160a01b038b16925087915033907fe50fc3942f8a2d7e5a7c8fb9488499eba5255b41e18bc3f1b4791402976d1d0b90600090a450505050505050919050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16620005b7576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055620005d0565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b600080600062000619858562000db5565b9150915062000629828262000f1f565b925050505b92915050565b60008060405180602001620006499062000f9a565b601f1982820381018352601f9091011660408190526001600160a01b0385166024820152859060440160408051601f19818403018152918152602080830180516001600160e01b031663189acdbd60e31b1790529051620006ad9392910162001a63565b60408051601f1981840301815290829052620006cd929160200162001a89565b6040516020818303038152906040529050620006e98162000f45565b949350505050565b604080516001808252818301909252600091829190816020015b60608152602001906001900390816200070b579050509050604051806040016040528060098152602001684a6f696e537061636560b81b815250816000815181106200075b576200075b620019fe565b6020026020010181905250856001600160a01b0316638fcd793d6040518060400160405280600681526020016526b4b73a32b960d11b8152508360006001600160401b03811115620007b157620007b162000fb6565b604051908082528060200260200182016040528015620007f957816020015b604080518082019091526000815260606020820152815260200190600190039081620007d05790505b506040518463ffffffff1660e01b81526004016200081a9392919062001ae5565b6020604051808303816000875af11580156200083a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008609190620018f8565b8351909250156200096e5760408051600180825281830190925260009160208083019080368337019050509050600181600081518110620008a557620008a5620019fe565b60200260200101906001600160a01b031690816001600160a01b031681525050866001600160a01b031663ba201ba88460405180604001604052808a6001600160a01b031681526020018560405160200162000902919062001a14565b6040516020818303038152906040528152506040518363ffffffff1660e01b81526004016200093392919062001bb7565b600060405180830381600087803b1580156200094e57600080fd5b505af115801562000963573d6000803e3d6000fd5b505050505062000b1b565b6020830151511562000a675760005b836020015151811015620009bf57620009b684602001518281518110620009a857620009a8620019fe565b602002602001015162000f6f565b6001016200097d565b50856001600160a01b031663ba201ba8836040518060400160405280896001600160a01b03168152602001876020015160405160200162000a01919062001a14565b6040516020818303038152906040528152506040518363ffffffff1660e01b815260040162000a3292919062001bb7565b600060405180830381600087803b15801562000a4d57600080fd5b505af115801562000a62573d6000803e3d6000fd5b505050505b604083015151511562000b1b57856001600160a01b031663ba201ba8836040518060400160405280886001600160a01b03168152602001876040015160405160200162000ab5919062001ccf565b6040516020818303038152906040528152506040518363ffffffff1660e01b815260040162000ae692919062001bb7565b600060405180830381600087803b15801562000b0157600080fd5b505af115801562000b16573d6000803e3d6000fd5b505050505b50949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905060018160008151811062000b615762000b61620019fe565b6001600160a01b039290921660209283029190910190910152604080516001808252818301909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908162000b91579050509050838160008151811062000bd35762000bd3620019fe565b6020908102919091018101516001600160a01b0390921690915260405162000bfe9184910162001a14565b6040516020818303038152906040528160008151811062000c235762000c23620019fe565b6020908102919091018101510152604051638fcd793d60e01b81526001600160a01b03881690638fcd793d9062000c639089908990869060040162001ae5565b6020604051808303816000875af115801562000c83573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ca99190620018f8565b979650505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811062000ced5762000ced620019fe565b602090810291909101810191909152604051600160fd1b918101919091526bffffffffffffffffffffffff19606086901b16602182015260009060350160405160208183030381529060405262000d449062001d7a565b835160405163921f717560e01b81529192506001600160a01b0387169163921f71759162000d7a91859190879060040162001da2565b600060405180830381600087803b15801562000d9557600080fd5b505af115801562000daa573d6000803e3d6000fd5b505050505050505050565b60408051336020808301919091528183018590524260608381019190915283518084038201815260809093019093528151910120825160c08101517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0091906001600160a01b031662000e28573360c08201525b60068201546040516001600160a01b039091169062000e4a6020820162000fa8565b601f19828203810183526040601f90920116818101825263dc9cc64560e01b81523060208281018290528351808501855288546001600160a01b031681529081018c905292519192859262000ea89233929091899060240162001e03565b60408051601f19818403018152918152602080830180516001600160e01b03166320723eff60e11b179052905162000ee4949392910162001ee9565b60408051601f198184030181529082905262000f04929160200162001a89565b60405160208183030381529060405294505050509250929050565b60008260200183518381836000f592505050806200062e5763ef35ca196000526004601cfd5b600081602001825180826000f0925050508062000f6a5763ef35ca196000526004601cfd5b919050565b6001600160a01b03811662000f97576040516302e47d1560e41b815260040160405180910390fd5b50565b6103d48062001f3a83390190565b610798806200230e83390190565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405290565b604051606081016001600160401b038111828210171562000ff15762000ff162000fb6565b604080519081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405161012081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405160c081016001600160401b038111828210171562000ff15762000ff162000fb6565b604051601f8201601f191681016001600160401b0381118282101715620010b757620010b762000fb6565b604052919050565b600082601f830112620010d157600080fd5b81356001600160401b03811115620010ed57620010ed62000fb6565b62001102601f8201601f19166020016200108c565b8181528460208386010111156200111857600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160401b038116811462000f6a57600080fd5b80356001600160a01b038116811462000f6a57600080fd5b8035801515811462000f6a57600080fd5b60006001600160401b0382111562001192576200119262000fb6565b5060051b60200190565b6003811062000f9757600080fd5b803560ff8116811462000f6a57600080fd5b600082601f830112620011ce57600080fd5b81356020620011e7620011e18362001176565b6200108c565b828152600792831b85018201928282019190878511156200120757600080fd5b8387015b8581101562001276576080818a031215620012265760008081fd5b6200123062000fcc565b8135838110620012405760008081fd5b815281860135868201526040620012598184016200114d565b90820152606082810135908201528452928401926080016200120b565b5090979650505050505050565b600082601f8301126200129557600080fd5b81356020620012a8620011e18362001176565b82815260609283028501820192828201919087851115620012c857600080fd5b8387015b85811015620012765781818a031215620012e65760008081fd5b620012f062000ff7565b8135620012fd816200119c565b81526200130c828701620011aa565b8682015260406200131f818401620011aa565b908201528452928401928101620012cc565b6000606082840312156200134457600080fd5b6200134e62000ff7565b905081356001600160401b03808211156200136857600080fd5b818401915084601f8301126200137d57600080fd5b8135602062001390620011e18362001176565b82815260069290921b84018101918181019088841115620013b057600080fd5b948201945b838610156200140d576040868a031215620013d05760008081fd5b620013da6200101c565b8635620013e7816200119c565b8152620013f6878501620011aa565b8185015282526040959095019490820190620013b5565b865250858101359350828411156200142457600080fd5b6200143287858801620011bc565b908501525060408401359150808211156200144c57600080fd5b506200145b8482850162001283565b60408301525092915050565b6000608082840312156200147a57600080fd5b6200148462000fcc565b9050620014918262001165565b81526020808301356001600160401b0380821115620014af57600080fd5b818501915085601f830112620014c457600080fd5b8135620014d5620011e18262001176565b81815260059190911b83018401908481019088831115620014f557600080fd5b938501935b828510156200151e576200150e856200114d565b82529385019390850190620014fa565b808688015250505060408501359250808311156200153b57600080fd5b50506200154b8482850162001331565b6040830152506200155f6060830162001165565b606082015292915050565b600082601f8301126200157c57600080fd5b813560206200158f620011e18362001176565b82815260059290921b84018101918181019086841115620015af57600080fd5b8286015b84811015620015f35780356001600160401b03811115620015d45760008081fd5b620015e48986838b0101620010bf565b845250918301918301620015b3565b509695505050505050565b6000606082840312156200161157600080fd5b6200161b62000ff7565b905081356001600160401b03808211156200163557600080fd5b9083019061012082860312156200164b57600080fd5b6200165562001041565b8235828111156200166557600080fd5b6200167387828601620010bf565b8252506020830135828111156200168957600080fd5b6200169787828601620010bf565b6020830152506040830135604082015260608301356060820152620016bf6080840162001135565b6080820152620016d260a084016200114d565b60a0820152620016e560c084016200114d565b60c082015260e083013560e0820152610100620017048185016200114d565b90820152835260208401359150808211156200171f57600080fd5b6200172d8583860162001467565b602084015260408401359150808211156200174757600080fd5b506200145b848285016200156a565b6000602082840312156200176957600080fd5b604051602081016001600160401b0382821081831117156200178f576200178f62000fb6565b816040528293508435915080821115620017a857600080fd5b50620017b785828601620010bf565b8252505092915050565b600060208284031215620017d457600080fd5b81356001600160401b0380821115620017ec57600080fd5b9083019060c082860312156200180157600080fd5b6200180b62001067565b8235828111156200181b57600080fd5b6200182987828601620010bf565b8252506020830135828111156200183f57600080fd5b6200184d87828601620010bf565b6020830152506040830135828111156200186657600080fd5b6200187487828601620010bf565b6040830152506060830135828111156200188d57600080fd5b6200189b87828601620010bf565b606083015250608083013582811115620018b457600080fd5b620018c287828601620015fe565b60808301525060a083013582811115620018db57600080fd5b620018e98782860162001756565b60a08301525095945050505050565b6000602082840312156200190b57600080fd5b5051919050565b6000600182016200193357634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620019575781810151838201526020016200193d565b50506000910152565b600081518084526200197a8160208601602086016200193a565b601f01601f19169290920160200192915050565b60a081526000620019a360a083018862001960565b8281036020840152620019b7818862001960565b6001600160a01b038716604085015283810360608501529050620019dc818662001960565b90508281036080840152620019f2818562001960565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101562001a575783516001600160a01b03168352928401929184019160010162001a30565b50909695505050505050565b6001600160a01b0383168152604060208201819052600090620006e99083018462001960565b6000835162001a9d8184602088016200193a565b83519083019062001ab38183602088016200193a565b01949350505050565b60018060a01b0381511682526000602082015160406020850152620006e9604085018262001960565b60608152600062001afa606083018662001960565b6020838203818501528186518084528284019150828160051b85010183890160005b8381101562001b4e57601f1987840301855262001b3b83835162001960565b9486019492509085019060010162001b1c565b50508681036040880152875180825284820195509250600583901b81018401915083880160005b8481101562001ba757601f1983850301875262001b9484835162001abc565b9686019693509085019060010162001b75565b50919a9950505050505050505050565b828152604060208201526000620006e9604083018462001abc565b634e487b7160e01b600052602160045260246000fd5b6003811062000f975762000f9762001bd2565b60008151808452602080850194506020840160005b8381101562001c6a57815180516007811062001c305762001c3062001bd2565b885280840151848901526040808201516001600160a01b031690890152606090810151908801526080909601959082019060010162001c10565b509495945050505050565b60008151808452602080850194506020840160005b8381101562001c6a578151805162001ca28162001be8565b88528084015160ff908116858a015260409182015116908801526060909601959082019060010162001c8a565b6020808252825160608383015280516080840181905260009291820190839060a08601905b8083101562001d2f578351805162001d0c8162001be8565b835285015160ff1685830152928401926001929092019160409091019062001cf4565b50838701519350601f1992508286820301604087015262001d51818562001bfb565b9350505060408501518185840301606086015262001d70838262001c75565b9695505050505050565b8051602080830151919081101562001d9c576000198160200360031b1b821691505b50919050565b838152600060206060602084015262001dbf606084018662001960565b83810360408501528451808252602080870192019060005b8181101562001df55783518352928401929184019160010162001dd7565b509098975050505050505050565b600060018060a01b0380871683528086166020840152808551166040840152506020840151606083015260a0608083015282516101208060a085015262001e4f6101c085018362001960565b91506020850151609f198584030160c086015262001e6e838262001960565b925050604085015160e0850152606085015161010081818701526080870151915062001ea4838701836001600160401b03169052565b60a08701516001600160a01b0390811661014088015260c0880151811661016088015260e0880151610180880152908701519081166101a08701529150620015f39050565b83516001600160e01b03191681526020808501516001600160a01b03908116918301919091528316604082015260806060820181905260009062001f309083018462001960565b9594505050505056fe60806040526040516103d43803806103d483398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b6074806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fd608060405234801561001057600080fd5b5060405161079838038061079883398101604081905261002f91610259565b6100958380517f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0080546020909301516001600160a01b03166001600160a01b031960e09390931c600160a01b02929092166001600160c01b031990931692909217179055565b61009f82826100a8565b50505050610366565b6060600080846001600160a01b0316846040516100c5919061034a565b600060405180830381855af49150503d8060008114610100576040519150601f19603f3d011682016040523d82523d6000602084013e610105565b606091505b50909250905061011685838361011f565b95945050505050565b6060826101345761012f82610182565b61017b565b815115801561014b57506001600160a01b0384163b155b1561017857604051639996b31560e01b81526001600160a01b038516600482015260240160405180910390fd5b50805b9392505050565b8051156101925780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156101e3576101e36101ab565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610211576102116101ab565b604052919050565b80516001600160a01b038116811461023057600080fd5b919050565b60005b83811015610250578181015183820152602001610238565b50506000910152565b6000806000838503608081121561026f57600080fd5b604081121561027d57600080fd5b506102866101c1565b84516001600160e01b03198116811461029e57600080fd5b815260206102ad868201610219565b818301528194506102c060408701610219565b606087015190945091506001600160401b03808311156102df57600080fd5b828701925087601f8401126102f357600080fd5b825181811115610305576103056101ab565b610317601f8201601f191684016101e9565b9150808252888382860101111561032d57600080fd5b61033c81848401858701610235565b508093505050509250925092565b6000825161035c818460208701610235565b9190910192915050565b610423806103756000396000f3fe6080604052600436106100225760003560e01c8063ac9650d81461003357610029565b3661002957005b61003161005c565b005b6100466100413660046102c4565b6100b7565b604051610053919061035d565b60405180910390f35b60006100666100dc565b9050806001600160a01b03163b600003610093576040516321f27f0d60e21b815260040160405180910390fd5b3660008037600080366000845af43d6000803e8080156100b2573d6000f35b3d6000fd5b606034156100c457600080fd5b6100d66100d18484610222565b6102b3565b92915050565b7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0054600090600160a01b900460e01b818061013e7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a00546001600160a01b031690565b6040516001600160e01b03196000351660248201526001600160a01b039190911690849060440160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516101a391906103d7565b600060405180830381855afa9150503d80600081146101de576040519150601f19603f3d011682016040523d82523d6000602084013e6101e3565b606091505b5091509150816102065760405163391aa44560e01b815260040160405180910390fd5b8080602001905181019061021a91906103f3565b935050505090565b600060405190506020815281816020015280604001808360051b8086843782018085156102a1575b835187018035602082018337600038823584305af461026c573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061024a575b60408181521b90931795945050505050565b8060401c8167ffffffffffffffff16f35b600080602083850312156102d757600080fd5b823567ffffffffffffffff808211156102ef57600080fd5b818501915085601f83011261030357600080fd5b81358181111561031257600080fd5b8660208260051b850101111561032757600080fd5b60209290920196919550909350505050565b60005b8381101561035457818101518382015260200161033c565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156103ca57878503603f19018452815180518087526103ab818989018a8501610339565b601f01601f191695909501860194509285019290850190600101610384565b5092979650505050505050565b600082516103e9818460208701610339565b9190910192915050565b60006020828403121561040557600080fd5b81516001600160a01b038116811461041c57600080fd5b939250505056","sourceMap":"448:566:391:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;448:566:391;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;448:566:391;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063ade4c8fa146200003f578063e8546e071462000072575b600080fd5b6200005662000050366004620017c1565b6200007e565b6040516001600160a01b03909116815260200160405180910390f35b6200007c6200010d565b005b60003068929eee149b4bd212685403620000a05763ab143c066000526004601cfd5b3068929eee149b4bd21268557fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615620000f0576040516302ca8ced60e11b815260040160405180910390fd5b620000fb826200016c565b3868929eee149b4bd212685592915050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166200015857604051630ef4733760e31b815260040160405180910390fd5b6200016a6356f2647d60e11b6200052d565b565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00805460408051631d5e528f60e21b815290516000937f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f000093909285926001600160a01b03909216916375794a3c916004808201926020929091908290030181865afa15801562000200573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002269190620018f8565b90506200023881866080015162000608565b83549094508360006200024b8362001912565b90915550506000818152600284016020908152604080832080546001600160a01b0319166001600160a01b0389811691821790925584526001870183529281902084905584548851928901518983015160608b01519351630efd6e3d60e21b81529290951694633bf5b8f494620002cb9490938b9291906004016200198e565b6020604051808303816000875af1158015620002eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003119190620018f8565b5060018201546000906200032f906001600160a01b03168662000634565b60058401549091506000906200034f906001600160a01b03168762000634565b604080516002808252606082018352929350600092909160208301908036833701905050905082816000815181106200038c576200038c620019fe565b60200260200101906001600160a01b031690816001600160a01b0316815250508181600181518110620003c357620003c3620019fe565b6001600160a01b039283166020918202929092010152604051638bfc820f60e01b815290881690638bfc820f906200040090849060040162001a14565b600060405180830381600087803b1580156200041b57600080fd5b505af115801562000430573d6000803e3d6000fd5b505050506200044a8784848b6080015160200151620006f1565b5060808801518051516040909101516000916200046b918a91908762000b24565b90506200047e88828b60a0015162000cb4565b8554604051632142170760e11b8152306004820152336024820152604481018790526001600160a01b03909116906342842e0e90606401600060405180830381600087803b158015620004d057600080fd5b505af1158015620004e5573d6000803e3d6000fd5b50506040516001600160a01b038b16925087915033907fe50fc3942f8a2d7e5a7c8fb9488499eba5255b41e18bc3f1b4791402976d1d0b90600090a450505050505050919050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16620005b7576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055620005d0565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b600080600062000619858562000db5565b9150915062000629828262000f1f565b925050505b92915050565b60008060405180602001620006499062000f9a565b601f1982820381018352601f9091011660408190526001600160a01b0385166024820152859060440160408051601f19818403018152918152602080830180516001600160e01b031663189acdbd60e31b1790529051620006ad9392910162001a63565b60408051601f1981840301815290829052620006cd929160200162001a89565b6040516020818303038152906040529050620006e98162000f45565b949350505050565b604080516001808252818301909252600091829190816020015b60608152602001906001900390816200070b579050509050604051806040016040528060098152602001684a6f696e537061636560b81b815250816000815181106200075b576200075b620019fe565b6020026020010181905250856001600160a01b0316638fcd793d6040518060400160405280600681526020016526b4b73a32b960d11b8152508360006001600160401b03811115620007b157620007b162000fb6565b604051908082528060200260200182016040528015620007f957816020015b604080518082019091526000815260606020820152815260200190600190039081620007d05790505b506040518463ffffffff1660e01b81526004016200081a9392919062001ae5565b6020604051808303816000875af11580156200083a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008609190620018f8565b8351909250156200096e5760408051600180825281830190925260009160208083019080368337019050509050600181600081518110620008a557620008a5620019fe565b60200260200101906001600160a01b031690816001600160a01b031681525050866001600160a01b031663ba201ba88460405180604001604052808a6001600160a01b031681526020018560405160200162000902919062001a14565b6040516020818303038152906040528152506040518363ffffffff1660e01b81526004016200093392919062001bb7565b600060405180830381600087803b1580156200094e57600080fd5b505af115801562000963573d6000803e3d6000fd5b505050505062000b1b565b6020830151511562000a675760005b836020015151811015620009bf57620009b684602001518281518110620009a857620009a8620019fe565b602002602001015162000f6f565b6001016200097d565b50856001600160a01b031663ba201ba8836040518060400160405280896001600160a01b03168152602001876020015160405160200162000a01919062001a14565b6040516020818303038152906040528152506040518363ffffffff1660e01b815260040162000a3292919062001bb7565b600060405180830381600087803b15801562000a4d57600080fd5b505af115801562000a62573d6000803e3d6000fd5b505050505b604083015151511562000b1b57856001600160a01b031663ba201ba8836040518060400160405280886001600160a01b03168152602001876040015160405160200162000ab5919062001ccf565b6040516020818303038152906040528152506040518363ffffffff1660e01b815260040162000ae692919062001bb7565b600060405180830381600087803b15801562000b0157600080fd5b505af115801562000b16573d6000803e3d6000fd5b505050505b50949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905060018160008151811062000b615762000b61620019fe565b6001600160a01b039290921660209283029190910190910152604080516001808252818301909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908162000b91579050509050838160008151811062000bd35762000bd3620019fe565b6020908102919091018101516001600160a01b0390921690915260405162000bfe9184910162001a14565b6040516020818303038152906040528160008151811062000c235762000c23620019fe565b6020908102919091018101510152604051638fcd793d60e01b81526001600160a01b03881690638fcd793d9062000c639089908990869060040162001ae5565b6020604051808303816000875af115801562000c83573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ca99190620018f8565b979650505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811062000ced5762000ced620019fe565b602090810291909101810191909152604051600160fd1b918101919091526bffffffffffffffffffffffff19606086901b16602182015260009060350160405160208183030381529060405262000d449062001d7a565b835160405163921f717560e01b81529192506001600160a01b0387169163921f71759162000d7a91859190879060040162001da2565b600060405180830381600087803b15801562000d9557600080fd5b505af115801562000daa573d6000803e3d6000fd5b505050505050505050565b60408051336020808301919091528183018590524260608381019190915283518084038201815260809093019093528151910120825160c08101517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0091906001600160a01b031662000e28573360c08201525b60068201546040516001600160a01b039091169062000e4a6020820162000fa8565b601f19828203810183526040601f90920116818101825263dc9cc64560e01b81523060208281018290528351808501855288546001600160a01b031681529081018c905292519192859262000ea89233929091899060240162001e03565b60408051601f19818403018152918152602080830180516001600160e01b03166320723eff60e11b179052905162000ee4949392910162001ee9565b60408051601f198184030181529082905262000f04929160200162001a89565b60405160208183030381529060405294505050509250929050565b60008260200183518381836000f592505050806200062e5763ef35ca196000526004601cfd5b600081602001825180826000f0925050508062000f6a5763ef35ca196000526004601cfd5b919050565b6001600160a01b03811662000f97576040516302e47d1560e41b815260040160405180910390fd5b50565b6103d48062001f3a83390190565b610798806200230e83390190565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405290565b604051606081016001600160401b038111828210171562000ff15762000ff162000fb6565b604080519081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405161012081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405160c081016001600160401b038111828210171562000ff15762000ff162000fb6565b604051601f8201601f191681016001600160401b0381118282101715620010b757620010b762000fb6565b604052919050565b600082601f830112620010d157600080fd5b81356001600160401b03811115620010ed57620010ed62000fb6565b62001102601f8201601f19166020016200108c565b8181528460208386010111156200111857600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160401b038116811462000f6a57600080fd5b80356001600160a01b038116811462000f6a57600080fd5b8035801515811462000f6a57600080fd5b60006001600160401b0382111562001192576200119262000fb6565b5060051b60200190565b6003811062000f9757600080fd5b803560ff8116811462000f6a57600080fd5b600082601f830112620011ce57600080fd5b81356020620011e7620011e18362001176565b6200108c565b828152600792831b85018201928282019190878511156200120757600080fd5b8387015b8581101562001276576080818a031215620012265760008081fd5b6200123062000fcc565b8135838110620012405760008081fd5b815281860135868201526040620012598184016200114d565b90820152606082810135908201528452928401926080016200120b565b5090979650505050505050565b600082601f8301126200129557600080fd5b81356020620012a8620011e18362001176565b82815260609283028501820192828201919087851115620012c857600080fd5b8387015b85811015620012765781818a031215620012e65760008081fd5b620012f062000ff7565b8135620012fd816200119c565b81526200130c828701620011aa565b8682015260406200131f818401620011aa565b908201528452928401928101620012cc565b6000606082840312156200134457600080fd5b6200134e62000ff7565b905081356001600160401b03808211156200136857600080fd5b818401915084601f8301126200137d57600080fd5b8135602062001390620011e18362001176565b82815260069290921b84018101918181019088841115620013b057600080fd5b948201945b838610156200140d576040868a031215620013d05760008081fd5b620013da6200101c565b8635620013e7816200119c565b8152620013f6878501620011aa565b8185015282526040959095019490820190620013b5565b865250858101359350828411156200142457600080fd5b6200143287858801620011bc565b908501525060408401359150808211156200144c57600080fd5b506200145b8482850162001283565b60408301525092915050565b6000608082840312156200147a57600080fd5b6200148462000fcc565b9050620014918262001165565b81526020808301356001600160401b0380821115620014af57600080fd5b818501915085601f830112620014c457600080fd5b8135620014d5620011e18262001176565b81815260059190911b83018401908481019088831115620014f557600080fd5b938501935b828510156200151e576200150e856200114d565b82529385019390850190620014fa565b808688015250505060408501359250808311156200153b57600080fd5b50506200154b8482850162001331565b6040830152506200155f6060830162001165565b606082015292915050565b600082601f8301126200157c57600080fd5b813560206200158f620011e18362001176565b82815260059290921b84018101918181019086841115620015af57600080fd5b8286015b84811015620015f35780356001600160401b03811115620015d45760008081fd5b620015e48986838b0101620010bf565b845250918301918301620015b3565b509695505050505050565b6000606082840312156200161157600080fd5b6200161b62000ff7565b905081356001600160401b03808211156200163557600080fd5b9083019061012082860312156200164b57600080fd5b6200165562001041565b8235828111156200166557600080fd5b6200167387828601620010bf565b8252506020830135828111156200168957600080fd5b6200169787828601620010bf565b6020830152506040830135604082015260608301356060820152620016bf6080840162001135565b6080820152620016d260a084016200114d565b60a0820152620016e560c084016200114d565b60c082015260e083013560e0820152610100620017048185016200114d565b90820152835260208401359150808211156200171f57600080fd5b6200172d8583860162001467565b602084015260408401359150808211156200174757600080fd5b506200145b848285016200156a565b6000602082840312156200176957600080fd5b604051602081016001600160401b0382821081831117156200178f576200178f62000fb6565b816040528293508435915080821115620017a857600080fd5b50620017b785828601620010bf565b8252505092915050565b600060208284031215620017d457600080fd5b81356001600160401b0380821115620017ec57600080fd5b9083019060c082860312156200180157600080fd5b6200180b62001067565b8235828111156200181b57600080fd5b6200182987828601620010bf565b8252506020830135828111156200183f57600080fd5b6200184d87828601620010bf565b6020830152506040830135828111156200186657600080fd5b6200187487828601620010bf565b6040830152506060830135828111156200188d57600080fd5b6200189b87828601620010bf565b606083015250608083013582811115620018b457600080fd5b620018c287828601620015fe565b60808301525060a083013582811115620018db57600080fd5b620018e98782860162001756565b60a08301525095945050505050565b6000602082840312156200190b57600080fd5b5051919050565b6000600182016200193357634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620019575781810151838201526020016200193d565b50506000910152565b600081518084526200197a8160208601602086016200193a565b601f01601f19169290920160200192915050565b60a081526000620019a360a083018862001960565b8281036020840152620019b7818862001960565b6001600160a01b038716604085015283810360608501529050620019dc818662001960565b90508281036080840152620019f2818562001960565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101562001a575783516001600160a01b03168352928401929184019160010162001a30565b50909695505050505050565b6001600160a01b0383168152604060208201819052600090620006e99083018462001960565b6000835162001a9d8184602088016200193a565b83519083019062001ab38183602088016200193a565b01949350505050565b60018060a01b0381511682526000602082015160406020850152620006e9604085018262001960565b60608152600062001afa606083018662001960565b6020838203818501528186518084528284019150828160051b85010183890160005b8381101562001b4e57601f1987840301855262001b3b83835162001960565b9486019492509085019060010162001b1c565b50508681036040880152875180825284820195509250600583901b81018401915083880160005b8481101562001ba757601f1983850301875262001b9484835162001abc565b9686019693509085019060010162001b75565b50919a9950505050505050505050565b828152604060208201526000620006e9604083018462001abc565b634e487b7160e01b600052602160045260246000fd5b6003811062000f975762000f9762001bd2565b60008151808452602080850194506020840160005b8381101562001c6a57815180516007811062001c305762001c3062001bd2565b885280840151848901526040808201516001600160a01b031690890152606090810151908801526080909601959082019060010162001c10565b509495945050505050565b60008151808452602080850194506020840160005b8381101562001c6a578151805162001ca28162001be8565b88528084015160ff908116858a015260409182015116908801526060909601959082019060010162001c8a565b6020808252825160608383015280516080840181905260009291820190839060a08601905b8083101562001d2f578351805162001d0c8162001be8565b835285015160ff1685830152928401926001929092019160409091019062001cf4565b50838701519350601f1992508286820301604087015262001d51818562001bfb565b9350505060408501518185840301606086015262001d70838262001c75565b9695505050505050565b8051602080830151919081101562001d9c576000198160200360031b1b821691505b50919050565b838152600060206060602084015262001dbf606084018662001960565b83810360408501528451808252602080870192019060005b8181101562001df55783518352928401929184019160010162001dd7565b509098975050505050505050565b600060018060a01b0380871683528086166020840152808551166040840152506020840151606083015260a0608083015282516101208060a085015262001e4f6101c085018362001960565b91506020850151609f198584030160c086015262001e6e838262001960565b925050604085015160e0850152606085015161010081818701526080870151915062001ea4838701836001600160401b03169052565b60a08701516001600160a01b0390811661014088015260c0880151811661016088015260e0880151610180880152908701519081166101a08701529150620015f39050565b83516001600160e01b03191681526020808501516001600160a01b03908116918301919091528316604082015260806060820181905260009062001f309083018462001960565b9594505050505056fe60806040526040516103d43803806103d483398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b6074806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fd608060405234801561001057600080fd5b5060405161079838038061079883398101604081905261002f91610259565b6100958380517f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0080546020909301516001600160a01b03166001600160a01b031960e09390931c600160a01b02929092166001600160c01b031990931692909217179055565b61009f82826100a8565b50505050610366565b6060600080846001600160a01b0316846040516100c5919061034a565b600060405180830381855af49150503d8060008114610100576040519150601f19603f3d011682016040523d82523d6000602084013e610105565b606091505b50909250905061011685838361011f565b95945050505050565b6060826101345761012f82610182565b61017b565b815115801561014b57506001600160a01b0384163b155b1561017857604051639996b31560e01b81526001600160a01b038516600482015260240160405180910390fd5b50805b9392505050565b8051156101925780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156101e3576101e36101ab565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610211576102116101ab565b604052919050565b80516001600160a01b038116811461023057600080fd5b919050565b60005b83811015610250578181015183820152602001610238565b50506000910152565b6000806000838503608081121561026f57600080fd5b604081121561027d57600080fd5b506102866101c1565b84516001600160e01b03198116811461029e57600080fd5b815260206102ad868201610219565b818301528194506102c060408701610219565b606087015190945091506001600160401b03808311156102df57600080fd5b828701925087601f8401126102f357600080fd5b825181811115610305576103056101ab565b610317601f8201601f191684016101e9565b9150808252888382860101111561032d57600080fd5b61033c81848401858701610235565b508093505050509250925092565b6000825161035c818460208701610235565b9190910192915050565b610423806103756000396000f3fe6080604052600436106100225760003560e01c8063ac9650d81461003357610029565b3661002957005b61003161005c565b005b6100466100413660046102c4565b6100b7565b604051610053919061035d565b60405180910390f35b60006100666100dc565b9050806001600160a01b03163b600003610093576040516321f27f0d60e21b815260040160405180910390fd5b3660008037600080366000845af43d6000803e8080156100b2573d6000f35b3d6000fd5b606034156100c457600080fd5b6100d66100d18484610222565b6102b3565b92915050565b7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0054600090600160a01b900460e01b818061013e7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a00546001600160a01b031690565b6040516001600160e01b03196000351660248201526001600160a01b039190911690849060440160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516101a391906103d7565b600060405180830381855afa9150503d80600081146101de576040519150601f19603f3d011682016040523d82523d6000602084013e6101e3565b606091505b5091509150816102065760405163391aa44560e01b815260040160405180910390fd5b8080602001905181019061021a91906103f3565b935050505090565b600060405190506020815281816020015280604001808360051b8086843782018085156102a1575b835187018035602082018337600038823584305af461026c573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061024a575b60408181521b90931795945050505050565b8060401c8167ffffffffffffffff16f35b600080602083850312156102d757600080fd5b823567ffffffffffffffff808211156102ef57600080fd5b818501915085601f83011261030357600080fd5b81358181111561031257600080fd5b8660208260051b850101111561032757600080fd5b60209290920196919550909350505050565b60005b8381101561035457818101518382015260200161033c565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156103ca57878503603f19018452815180518087526103ab818989018a8501610339565b601f01601f191695909501860194509285019290850190600101610384565b5092979650505050505050565b600082516103e9818460208701610339565b9190910192915050565b60006020828403121561040557600080fd5b81516001600160a01b038116811461041c57600080fd5b939250505056","sourceMap":"448:566:391:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;860:152;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;13642:32:654;;;13624:51;;13612:2;13597:18;860:152:391;;;;;;;570:114;;;:::i;:::-;;860:152;962:7;1635:9:649;1610:22;1604:29;1601:44;1598:158;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41;286:66:578;519:31:576;;;286:55:::1;;;316:18;;-1:-1:-1::0;;;316:18:576::1;;;;;;;;;;;286:55;984:23:391::2;997:9;984:12;:23::i;:::-;1937:10:649::0;1913:22;1906:42;977:30:391;860:152;-1:-1:-1;;860:152:391:o;570:114::-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;630:49:391::1;-1:-1:-1::0;;;630:13:391::1;:49::i;:::-;570:114::o:0;2812:2199:392:-;961:66:170;3129:14:392;;:28;;;-1:-1:-1;;;3129:28:392;;;;2888:20;;274:66:168;;961::170;;2888:20:392;;-1:-1:-1;;;;;3129:14:392;;;;:26;;:28;;;;;;;;;;;;;;;:14;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3106:51;;3199:48;3212:12;3226:9;:20;;;3199:12;:48::i;:::-;3288:15;;3184:63;;-1:-1:-1;3288:2:392;:13;:15;;;:::i;:::-;;;;-1:-1:-1;;3334:31:392;;;;:17;;;:31;;;;;;;;:46;;-1:-1:-1;;;;;;3334:46:392;-1:-1:-1;;;;;3334:46:392;;;;;;;;;3386:31;;-1:-1:-1;3386:17:392;;:31;;;;;;:46;;;3486:14;;3518;;3540:13;;;;3581:26;;;;3615:25;;;;3486:160;;-1:-1:-1;;;3486:160:392;;:14;;;;;:24;;:160;;3518:14;;3334:46;;3581:26;3615:25;3486:160;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3762:19:392;;;;3684:32;;3743:53;;-1:-1:-1;;;;;3762:19:392;3783:12;3743:18;:53::i;:::-;3919:25;;;;3684:118;;-1:-1:-1;3841:32:392;;3900:59;;-1:-1:-1;;;;;3919:25:392;3946:12;3900:18;:59::i;:::-;4004:16;;;4018:1;4004:16;;;;;;;;3841:124;;-1:-1:-1;3972:29:392;;4004:16;;;;;;;;;;;;-1:-1:-1;4004:16:392;3972:48;;4052:15;4026:12;4039:1;4026:15;;;;;;;;:::i;:::-;;;;;;:42;-1:-1:-1;;;;;4026:42:392;;;-1:-1:-1;;;;;4026:42:392;;;;;4100:15;4074:12;4087:1;4074:15;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4074:42:392;;;:15;;;;;;;;;:42;4160:73;;-1:-1:-1;;;4160:73:392;;:59;;;;;;:73;;4220:12;;4160:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4284:137;4316:12;4336:15;4359;4382:9;:20;;;:33;;;4284:24;:137::i;:::-;-1:-1:-1;4564:20:392;;;;:29;;:34;4606:32;;;;;4489:20;;4512:155;;4544:12;;4564:34;4646:15;4512:24;:155::i;:::-;4489:178;;4704:68;4726:12;4740;4754:9;:17;;;4704:21;:68::i;:::-;4826:14;;4809:115;;-1:-1:-1;;;4809:115:392;;4875:4;4809:115;;;16492:34:654;4888:10:392;16542:18:654;;;16535:43;16594:18;;;16587:34;;;-1:-1:-1;;;;;4826:14:392;;;;4809:50;;16427:18:654;;4809:115:392;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4954:52:392;;-1:-1:-1;;;;;4954:52:392;;;-1:-1:-1;4979:12:392;;-1:-1:-1;4967:10:392;;4954:52;;;;;2910:2101;;;;;;;2812:2199;;;:::o;456:282:557:-;-1:-1:-1;;;;;;1119:62:557;;1100:4;1119:62;;;296:66:559;1119:62:557;;;;;;;;514:182;;-1:-1:-1;;;;;;560:62:557;;:49;:62;;;296:66:559;560:62:557;;;;;:69;;-1:-1:-1;;560:69:557;625:4;560:69;;;514:182;;;657:32;;-1:-1:-1;;;657:32:557;;;;;;;;;;;514:182;706:27;;-1:-1:-1;;;;;;706:27:557;;;;;;;;456:282;:::o;8558:300:392:-;8662:13;8711:21;8734:12;8750:67;8781:12;8801:10;8750:23;:67::i;:::-;8710:107;;;;8830:23;8838:8;8848:4;8830:7;:23::i;:::-;8823:30;;;;8558:300;;;;;:::o;8862:381::-;8968:7;9010:21;9058:31;;;;;;;;:::i;:::-;-1:-1:-1;;9058:31:392;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13642:32:654;;9138:55:392;;;13624:51:654;9117:11:392;;13597:18:654;;9138:55:392;;;-1:-1:-1;;9138:55:392;;;;;;;;;;;;;;;-1:-1:-1;;;;;9138:55:392;-1:-1:-1;;;9138:55:392;;;9097:104;;;;;9138:55;9097:104;;:::i;:::-;;;;-1:-1:-1;;9097:104:392;;;;;;;;;;9034:173;;;9097:104;9034:173;;:::i;:::-;;;;;;;;;;;;;9010:197;;9221:17;9229:8;9221:7;:17::i;:::-;9214:24;8862:381;-1:-1:-1;;;;8862:381:392:o;6180:1589::-;6442:15;;;6455:1;6442:15;;;;;;;;;6386:14;;;;6442:15;;;;;;;;;;;;;;;;;;;;;6408:49;;6484:21;;;;;;;;;;;;;-1:-1:-1;;;6484:21:392;;;6463:15;6479:1;6463:18;;;;;;;;:::i;:::-;;;;;;:42;;;;6528:12;-1:-1:-1;;;;;6521:31:392;;6560:11;;;;;;;;;;;;;-1:-1:-1;;;6560:11:392;;;6579:15;6637:1;-1:-1:-1;;;;;6602:37:392;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;6602:37:392;;;;;;;;;;;;;;;;6521:124;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6656:21;;6512:133;;-1:-1:-1;6652:1094:392;;;6712:16;;;6726:1;6712:16;;;;;;;;;6687:22;;6712:16;;;;;;;;;;;-1:-1:-1;6712:16:392;6687:41;;2240:1;6736:5;6742:1;6736:8;;;;;;;;:::i;:::-;;;;;;:27;-1:-1:-1;;;;;6736:27:392;;;-1:-1:-1;;;;;6736:27:392;;;;;6779:12;-1:-1:-1;;;;;6772:41:392;;6823:6;6839:110;;;;;;;;6888:15;-1:-1:-1;;;;;6839:110:392;;;;;6932:5;6921:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;6839:110;;;6772:185;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6679:285;6652:1094;;;6982:18;;;;:25;:30;6978:473;;7055:9;7050:172;7074:12;:18;;;:25;7070:1;:29;7050:172;;;7115:45;7138:12;:18;;;7157:1;7138:21;;;;;;;;:::i;:::-;;;;;;;7115:22;:45::i;:::-;7196:3;;7050:172;;;;7239:12;-1:-1:-1;;;;;7232:41:392;;7285:6;7303:129;;;;;;;;7354:15;-1:-1:-1;;;;;7303:129:392;;;;;7400:12;:18;;;7389:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;7303:129;;;7232:210;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6978:473;7463:21;;;;:32;:39;:43;7459:281;;7525:12;-1:-1:-1;;;;;7518:41:392;;7571:6;7589:132;;;;;;;;7640:15;-1:-1:-1;;;;;7589:132:392;;;;;7686:12;:21;;;7675:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;7589:132;;;7518:213;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7459:281;7751:13;6180:1589;;;;;;:::o;7773:601::-;8009:16;;;8023:1;8009:16;;;;;;;;;7962:14;;;;8009:16;;;;;;;;;;;;-1:-1:-1;8009:16:392;7984:41;;2240:1;8031:5;8037:1;8031:8;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8031:27:392;;;;:8;;;;;;;;;;;:27;8124:37;;;8159:1;8124:37;;;;;;;;;8065:56;;8124:37;;;;-1:-1:-1;;;;;;;;;;;;;;;;;8124:37:392;;;;;;;;;;;;;;;8065:96;;8192:15;8167:12;8180:1;8167:15;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;8167:40:392;;;;;;8236:17;;;;8247:5;;8236:17;;:::i;:::-;;;;;;;;;;;;;8213:12;8226:1;8213:15;;;;;;;;:::i;:::-;;;;;;;;;;;;:20;:40;8269:100;;-1:-1:-1;;;8269:100:392;;-1:-1:-1;;;;;8269:31:392;;;;;:100;;8308:10;;8326:17;;8351:12;;8269:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8260:109;7773:601;-1:-1:-1;;;;;;;7773:601:392:o;5584:406::-;5736:16;;;5750:1;5736:16;;;;;;;;;5709:24;;5736:16;;;;;;;;;;;-1:-1:-1;5736:16:392;5709:43;;5771:6;5758:7;5766:1;5758:10;;;;;;;;:::i;:::-;;;;;;;;;;;:19;;;;5826:44;;-1:-1:-1;;;5826:44:392;;;23199:39:654;;;;-1:-1:-1;;5855:14:392;;;;23267:44:654;23254:11;;;23247:65;5784:24:392;;23328:12:654;;5826:44:392;;;;;;;;;;;;5811:65;;;:::i;:::-;5944:20;;5883:102;;-1:-1:-1;;;5883:102:392;;5784:92;;-1:-1:-1;;;;;;5883:29:392;;;;;:102;;5784:92;;5944:20;5972:7;;5883:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5703:287;;5584:406;;;:::o;9247:1241::-;9528:53;;;9539:10;9528:53;;;;24694:51:654;;;;24761:18;;;24754:34;;;9565:15:392;9367:21;24804:18:654;;;24797:34;;;;9528:53:392;;;;;;;;;24667:18:654;;;;9528:53:392;;;9518:64;;;;;9644:19;;9673:31;;;;961:66:170;;9644:19:392;-1:-1:-1;;;;;9673:45:392;9669:110;;9762:10;9728:31;;;:44;9669:110;9820:19;;;;9909:29;;-1:-1:-1;;;;;9820:19:392;;;;9909:29;;;;;:::i;:::-;-1:-1:-1;;9909:29:392;;;;;;;;;;;;;9966:145;;;;;-1:-1:-1;;;9966:145:392;;10095:4;9909:29;9966:145;;;;;;10282:133;;;;;;;10349:13;;-1:-1:-1;;;;;10349:13:392;10282:133;;;;;;;;10147:322;;9909:29;;10121:16;;10147:322;;10231:10;;10095:4;;10429:18;;10147:322;;;:::i;:::-;;;;-1:-1:-1;;10147:322:392;;;;;;;;;;;;;;;-1:-1:-1;;;;;10147:322:392;-1:-1:-1;;;10147:322:392;;;9946:531;;;;;;10147:322;9946:531;;:::i;:::-;;;;-1:-1:-1;;9946:531:392;;;;;;;;;;9885:598;;;9946:531;9885:598;;:::i;:::-;;;;;;;;;;;;;9874:609;;9404:1084;;;9247:1241;;;;;:::o;1185:432:306:-;1269:18;1358:8;1352:4;1348:19;1400:8;1394:15;1469:4;1455:12;1441;1438:1;1430:44;1416:58;;;;1491:10;1481:126;;1523:10;1520:1;1513:21;1594:4;1588;1581:18;447:407;513:18;602:8;596:4;592:19;644:8;638:15;698:12;684;681:1;674:37;660:51;;;;728:10;718:126;;760:10;757:1;750:21;831:4;825;818:18;718:126;447:407;;;:::o;740:119:316:-;-1:-1:-1;;;;;800:18:316;;796:58;;827:27;;-1:-1:-1;;;827:27:316;;;;;;;;;;;796:58;740:119;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:127:654:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:253;218:2;212:9;260:4;248:17;;-1:-1:-1;;;;;280:34:654;;316:22;;;277:62;274:88;;;342:18;;:::i;:::-;378:2;371:22;146:253;:::o;404:::-;476:2;470:9;518:4;506:17;;-1:-1:-1;;;;;538:34:654;;574:22;;;535:62;532:88;;;600:18;;:::i;662:257::-;734:4;728:11;;;766:17;;-1:-1:-1;;;;;798:34:654;;834:22;;;795:62;792:88;;;860:18;;:::i;924:255::-;996:2;990:9;1038:6;1026:19;;-1:-1:-1;;;;;1060:34:654;;1096:22;;;1057:62;1054:88;;;1122:18;;:::i;1184:253::-;1256:2;1250:9;1298:4;1286:17;;-1:-1:-1;;;;;1318:34:654;;1354:22;;;1315:62;1312:88;;;1380:18;;:::i;1442:275::-;1513:2;1507:9;1578:2;1559:13;;-1:-1:-1;;1555:27:654;1543:40;;-1:-1:-1;;;;;1598:34:654;;1634:22;;;1595:62;1592:88;;;1660:18;;:::i;:::-;1696:2;1689:22;1442:275;;-1:-1:-1;1442:275:654:o;1722:531::-;1765:5;1818:3;1811:4;1803:6;1799:17;1795:27;1785:55;;1836:1;1833;1826:12;1785:55;1872:6;1859:20;-1:-1:-1;;;;;1894:2:654;1891:26;1888:52;;;1920:18;;:::i;:::-;1964:55;2007:2;1988:13;;-1:-1:-1;;1984:27:654;2013:4;1980:38;1964:55;:::i;:::-;2044:2;2035:7;2028:19;2090:3;2083:4;2078:2;2070:6;2066:15;2062:26;2059:35;2056:55;;;2107:1;2104;2097:12;2056:55;2172:2;2165:4;2157:6;2153:17;2146:4;2137:7;2133:18;2120:55;2220:1;2195:16;;;2213:4;2191:27;2184:38;;;;2199:7;1722:531;-1:-1:-1;;;1722:531:654:o;2258:171::-;2325:20;;-1:-1:-1;;;;;2374:30:654;;2364:41;;2354:69;;2419:1;2416;2409:12;2434:173;2502:20;;-1:-1:-1;;;;;2551:31:654;;2541:42;;2531:70;;2597:1;2594;2587:12;2612:160;2677:20;;2733:13;;2726:21;2716:32;;2706:60;;2762:1;2759;2752:12;2777:183;2837:4;-1:-1:-1;;;;;2862:6:654;2859:30;2856:56;;;2892:18;;:::i;:::-;-1:-1:-1;2937:1:654;2933:14;2949:4;2929:25;;2777:183::o;2965:120::-;3059:1;3052:5;3049:12;3039:40;;3075:1;3072;3065:12;3090:156;3156:20;;3216:4;3205:16;;3195:27;;3185:55;;3236:1;3233;3226:12;3251:1312;3319:5;3372:3;3365:4;3357:6;3353:17;3349:27;3339:55;;3390:1;3387;3380:12;3339:55;3426:6;3413:20;3452:4;3476:60;3492:43;3532:2;3492:43;:::i;:::-;3476:60;:::i;:::-;3570:15;;;3632:1;3672:10;;;3660:23;;3656:32;;;3601:12;;;;3558:3;3700:15;;;3697:35;;;3728:1;3725;3718:12;3697:35;3764:2;3756:6;3752:15;3776:758;3792:6;3787:3;3784:15;3776:758;;;3870:4;3864:3;3859;3855:13;3851:24;3848:114;;;3916:1;3945:2;3941;3934:14;3848:114;3988:22;;:::i;:::-;4051:3;4038:17;4090:2;4081:7;4078:15;4068:113;;4135:1;4164:2;4160;4153:14;4068:113;4194:22;;4265:12;;;4252:26;4236:14;;;4229:50;4302:2;4340:32;4359:12;;;4340:32;:::i;:::-;4324:14;;;4317:56;4396:2;4447:12;;;4434:26;4418:14;;;4411:50;4474:18;;4512:12;;;;3818:4;3809:14;3776:758;;;-1:-1:-1;4552:5:654;;3251:1312;-1:-1:-1;;;;;;;3251:1312:654:o;4568:1169::-;4638:5;4691:3;4684:4;4676:6;4672:17;4668:27;4658:55;;4709:1;4706;4699:12;4658:55;4745:6;4732:20;4771:4;4795:60;4811:43;4851:2;4811:43;:::i;4795:60::-;4889:15;;;4951:4;4994:13;;;4982:26;;4978:35;;;4920:12;;;;4877:3;5025:15;;;5022:35;;;5053:1;5050;5043:12;5022:35;5089:2;5081:6;5077:15;5101:607;5117:6;5112:3;5109:15;5101:607;;;5193:2;5187:3;5182;5178:13;5174:22;5171:112;;;5237:1;5266:2;5262;5255:14;5171:112;5309:22;;:::i;:::-;5372:3;5359:17;5389:52;5433:7;5389:52;:::i;:::-;5454:22;;5512:30;5529:12;;;5512:30;:::i;:::-;5507:2;5500:5;5496:14;5489:54;5566:2;5604:30;5630:2;5625:3;5621:12;5604:30;:::i;:::-;5588:14;;;5581:54;5648:18;;5686:12;;;;5134;;5101:607;;5742:1726;5797:5;5845:4;5833:9;5828:3;5824:19;5820:30;5817:50;;;5863:1;5860;5853:12;5817:50;5885:22;;:::i;:::-;5876:31;;5943:9;5930:23;-1:-1:-1;;;;;6013:2:654;6005:6;6002:14;5999:34;;;6029:1;6026;6019:12;5999:34;6067:6;6056:9;6052:22;6042:32;;6112:3;6105:4;6101:2;6097:13;6093:23;6083:51;;6130:1;6127;6120:12;6083:51;6166:2;6153:16;6188:4;6212:60;6228:43;6268:2;6228:43;:::i;6212:60::-;6306:15;;;6388:1;6384:10;;;;6376:19;;6372:28;;;6337:12;;;;6412:15;;;6409:35;;;6440:1;6437;6430:12;6409:35;6464:11;;;;6484:527;6500:6;6495:3;6492:15;6484:527;;;6578:4;6572:3;6567;6563:13;6559:24;6556:114;;;6624:1;6653:2;6649;6642:14;6556:114;6698:22;;:::i;:::-;6761:3;6748:17;6778:52;6822:7;6778:52;:::i;:::-;6843:24;;6905:30;6922:12;;;6905:30;:::i;:::-;6887:16;;;6880:56;6949:20;;6526:4;6517:14;;;;;6989:12;;;;6484:527;;;7020:20;;-1:-1:-1;7078:18:654;;;7065:32;;-1:-1:-1;7109:16:654;;;7106:36;;;7138:1;7135;7128:12;7106:36;7174:73;7243:3;7232:8;7221:9;7217:24;7174:73;:::i;:::-;7158:14;;;7151:97;-1:-1:-1;7301:4:654;7286:20;;7273:34;;-1:-1:-1;7319:16:654;;;7316:36;;;7348:1;7345;7338:12;7316:36;;7386:75;7457:3;7446:8;7435:9;7431:24;7386:75;:::i;:::-;7379:4;7372:5;7368:16;7361:101;;5742:1726;;;;:::o;7473:1265::-;7542:5;7590:4;7578:9;7573:3;7569:19;7565:30;7562:50;;;7608:1;7605;7598:12;7562:50;7630:22;;:::i;:::-;7621:31;;7675:26;7691:9;7675:26;:::i;:::-;7668:5;7661:41;7721:2;7774;7763:9;7759:18;7746:32;-1:-1:-1;;;;;7838:2:654;7830:6;7827:14;7824:34;;;7854:1;7851;7844:12;7824:34;7892:6;7881:9;7877:22;7867:32;;7937:3;7930:4;7926:2;7922:13;7918:23;7908:51;;7955:1;7952;7945:12;7908:51;7991:2;7978:16;8014:60;8030:43;8070:2;8030:43;:::i;8014:60::-;8108:15;;;8190:1;8186:10;;;;8178:19;;8174:28;;;8139:12;;;;8214:15;;;8211:35;;;8242:1;8239;8232:12;8211:35;8266:11;;;;8286:148;8302:6;8297:3;8294:15;8286:148;;;8368:23;8387:3;8368:23;:::i;:::-;8356:36;;8319:12;;;;8412;;;;8286:148;;;8466:5;8461:2;8454:5;8450:14;8443:29;;;;8525:2;8514:9;8510:18;8497:32;8481:48;;8554:2;8544:8;8541:16;8538:36;;;8570:1;8567;8560:12;8538:36;;;8606:57;8659:3;8648:8;8637:9;8633:24;8606:57;:::i;:::-;8601:2;8594:5;8590:14;8583:81;;8696:35;8727:2;8716:9;8712:18;8696:35;:::i;:::-;8691:2;8684:5;8680:14;8673:59;7473:1265;;;;:::o;8743:888::-;8796:5;8849:3;8842:4;8834:6;8830:17;8826:27;8816:55;;8867:1;8864;8857:12;8816:55;8903:6;8890:20;8929:4;8953:60;8969:43;9009:2;8969:43;:::i;8953:60::-;9047:15;;;9133:1;9129:10;;;;9117:23;;9113:32;;;9078:12;;;;9157:15;;;9154:35;;;9185:1;9182;9175:12;9154:35;9221:2;9213:6;9209:15;9233:369;9249:6;9244:3;9241:15;9233:369;;;9335:3;9322:17;-1:-1:-1;;;;;9358:11:654;9355:35;9352:125;;;9431:1;9460:2;9456;9449:14;9352:125;9502:57;9555:3;9550:2;9536:11;9528:6;9524:24;9520:33;9502:57;:::i;:::-;9490:70;;-1:-1:-1;9580:12:654;;;;9266;;9233:369;;;-1:-1:-1;9620:5:654;8743:888;-1:-1:-1;;;;;;8743:888:654:o;9636:1671::-;9693:5;9741:4;9729:9;9724:3;9720:19;9716:30;9713:50;;;9759:1;9756;9749:12;9713:50;9781:22;;:::i;:::-;9772:31;;9839:9;9826:23;-1:-1:-1;;;;;9909:2:654;9901:6;9898:14;9895:34;;;9925:1;9922;9915:12;9895:34;9948:22;;;;10000:6;9986:12;;;9982:25;9979:45;;;10020:1;10017;10010:12;9979:45;10048:22;;:::i;:::-;10108:2;10095:16;10136:2;10126:8;10123:16;10120:36;;;10152:1;10149;10142:12;10120:36;10181:41;10218:3;10207:8;10203:2;10199:17;10181:41;:::i;:::-;10172:7;10165:58;;10269:2;10265;10261:11;10248:25;10298:2;10288:8;10285:16;10282:36;;;10314:1;10311;10304:12;10282:36;10352:41;10389:3;10378:8;10374:2;10370:17;10352:41;:::i;:::-;10347:2;10338:7;10334:16;10327:67;;10449:2;10445;10441:11;10428:25;10423:2;10414:7;10410:16;10403:51;10511:4;10507:2;10503:13;10490:27;10483:4;10474:7;10470:18;10463:55;10553:31;10579:3;10575:2;10571:12;10553:31;:::i;:::-;10547:3;10538:7;10534:17;10527:58;10620:32;10647:3;10643:2;10639:12;10620:32;:::i;:::-;10614:3;10605:7;10601:17;10594:59;10688:32;10715:3;10711:2;10707:12;10688:32;:::i;:::-;10682:3;10673:7;10669:17;10662:59;10777:3;10773:2;10769:12;10756:26;10750:3;10741:7;10737:17;10730:53;10802:3;10839:31;10866:2;10862;10858:11;10839:31;:::i;:::-;10821:16;;;10814:57;10880:22;;10955:2;10940:18;;10927:32;;-1:-1:-1;10971:16:654;;;10968:36;;;11000:1;10997;10990:12;10968:36;11036:71;11103:3;11092:8;11081:9;11077:24;11036:71;:::i;:::-;11031:2;11024:5;11020:14;11013:95;11161:2;11150:9;11146:18;11133:32;11117:48;;11190:2;11180:8;11177:16;11174:36;;;11206:1;11203;11196:12;11174:36;;11242:58;11296:3;11285:8;11274:9;11270:24;11242:58;:::i;11312:543::-;11370:5;11418:4;11406:9;11401:3;11397:19;11393:30;11390:50;;;11436:1;11433;11426:12;11390:50;11469:2;11463:9;11511:4;11503:6;11499:17;-1:-1:-1;;;;;11603:6:654;11591:10;11588:22;11583:2;11571:10;11568:18;11565:46;11562:72;;;11614:18;;:::i;:::-;11654:10;11650:2;11643:22;11683:6;11674:15;;11725:9;11712:23;11698:37;;11758:2;11750:6;11747:14;11744:34;;;11774:1;11771;11764:12;11744:34;;11802:46;11844:3;11835:6;11824:9;11820:22;11802:46;:::i;:::-;11794:6;11787:62;;;11312:543;;;;:::o;11860:1504::-;11947:6;12000:2;11988:9;11979:7;11975:23;11971:32;11968:52;;;12016:1;12013;12006:12;11968:52;12056:9;12043:23;-1:-1:-1;;;;;12126:2:654;12118:6;12115:14;12112:34;;;12142:1;12139;12132:12;12112:34;12165:22;;;;12221:4;12203:16;;;12199:27;12196:47;;;12239:1;12236;12229:12;12196:47;12265:22;;:::i;:::-;12325:2;12312:16;12353:2;12343:8;12340:16;12337:36;;;12369:1;12366;12359:12;12337:36;12396:45;12433:7;12422:8;12418:2;12414:17;12396:45;:::i;:::-;12389:5;12382:60;;12488:2;12484;12480:11;12467:25;12517:2;12507:8;12504:16;12501:36;;;12533:1;12530;12523:12;12501:36;12569:45;12606:7;12595:8;12591:2;12587:17;12569:45;:::i;:::-;12564:2;12557:5;12553:14;12546:69;;12661:2;12657;12653:11;12640:25;12690:2;12680:8;12677:16;12674:36;;;12706:1;12703;12696:12;12674:36;12742:45;12779:7;12768:8;12764:2;12760:17;12742:45;:::i;:::-;12737:2;12730:5;12726:14;12719:69;;12834:2;12830;12826:11;12813:25;12863:2;12853:8;12850:16;12847:36;;;12879:1;12876;12869:12;12847:36;12915:45;12952:7;12941:8;12937:2;12933:17;12915:45;:::i;:::-;12910:2;12903:5;12899:14;12892:69;;13007:3;13003:2;12999:12;12986:26;13037:2;13027:8;13024:16;13021:36;;;13053:1;13050;13043:12;13021:36;13090:56;13138:7;13127:8;13123:2;13119:17;13090:56;:::i;:::-;13084:3;13077:5;13073:15;13066:81;;13193:3;13189:2;13185:12;13172:26;13223:2;13213:8;13210:16;13207:36;;;13239:1;13236;13229:12;13207:36;13276:57;13325:7;13314:8;13310:2;13306:17;13276:57;:::i;:::-;13270:3;13259:15;;13252:82;-1:-1:-1;13263:5:654;11860:1504;-1:-1:-1;;;;;11860:1504:654:o;13686:184::-;13756:6;13809:2;13797:9;13788:7;13784:23;13780:32;13777:52;;;13825:1;13822;13815:12;13777:52;-1:-1:-1;13848:16:654;;13686:184;-1:-1:-1;13686:184:654:o;13875:232::-;13914:3;13935:17;;;13932:140;;13994:10;13989:3;13985:20;13982:1;13975:31;14029:4;14026:1;14019:15;14057:4;14054:1;14047:15;13932:140;-1:-1:-1;14099:1:654;14088:13;;13875:232::o;14112:250::-;14197:1;14207:113;14221:6;14218:1;14215:13;14207:113;;;14297:11;;;14291:18;14278:11;;;14271:39;14243:2;14236:10;14207:113;;;-1:-1:-1;;14354:1:654;14336:16;;14329:27;14112:250::o;14367:271::-;14409:3;14447:5;14441:12;14474:6;14469:3;14462:19;14490:76;14559:6;14552:4;14547:3;14543:14;14536:4;14529:5;14525:16;14490:76;:::i;:::-;14620:2;14599:15;-1:-1:-1;;14595:29:654;14586:39;;;;14627:4;14582:50;;14367:271;-1:-1:-1;;14367:271:654:o;14643:809::-;14964:3;14953:9;14946:22;14927:4;14991:46;15032:3;15021:9;15017:19;15009:6;14991:46;:::i;:::-;15085:9;15077:6;15073:22;15068:2;15057:9;15053:18;15046:50;15119:33;15145:6;15137;15119:33;:::i;:::-;-1:-1:-1;;;;;15188:32:654;;15183:2;15168:18;;15161:60;15257:22;;;15252:2;15237:18;;15230:50;15105:47;-1:-1:-1;15303:33:654;15105:47;15321:6;15303:33;:::i;:::-;15289:47;;15385:9;15377:6;15373:22;15367:3;15356:9;15352:19;15345:51;15413:33;15439:6;15431;15413:33;:::i;:::-;15405:41;14643:809;-1:-1:-1;;;;;;;;14643:809:654:o;15457:127::-;15518:10;15513:3;15509:20;15506:1;15499:31;15549:4;15546:1;15539:15;15573:4;15570:1;15563:15;15589:658;15760:2;15812:21;;;15882:13;;15785:18;;;15904:22;;;15731:4;;15760:2;15983:15;;;;15957:2;15942:18;;;15731:4;16026:195;16040:6;16037:1;16034:13;16026:195;;;16105:13;;-1:-1:-1;;;;;16101:39:654;16089:52;;16196:15;;;;16161:12;;;;16137:1;16055:9;16026:195;;;-1:-1:-1;16238:3:654;;15589:658;-1:-1:-1;;;;;;15589:658:654:o;16632:337::-;-1:-1:-1;;;;;16829:32:654;;16811:51;;16898:2;16893;16878:18;;16871:30;;;-1:-1:-1;;16918:45:654;;16944:18;;16936:6;16918:45;:::i;16974:492::-;17149:3;17187:6;17181:13;17203:66;17262:6;17257:3;17250:4;17242:6;17238:17;17203:66;:::i;:::-;17332:13;;17291:16;;;;17354:70;17332:13;17291:16;17401:4;17389:17;;17354:70;:::i;:::-;17440:20;;16974:492;-1:-1:-1;;;;16974:492:654:o;17471:287::-;17596:1;17592;17587:3;17583:11;17579:19;17571:5;17565:12;17561:38;17556:3;17549:51;17531:3;17646:4;17639:5;17635:16;17629:23;17684:4;17677;17672:3;17668:14;17661:28;17705:47;17746:4;17741:3;17737:14;17723:12;17705:47;:::i;17763:1690::-;18160:2;18149:9;18142:21;18123:4;18186:45;18227:2;18216:9;18212:18;18204:6;18186:45;:::i;:::-;18250:2;18300:9;18292:6;18288:22;18283:2;18272:9;18268:18;18261:50;18331:6;18366;18360:13;18397:6;18389;18382:22;18432:2;18424:6;18420:15;18413:22;;18491:2;18481:6;18478:1;18474:14;18466:6;18462:27;18458:36;18529:2;18521:6;18517:15;18550:1;18560:252;18574:6;18571:1;18568:13;18560:252;;;18664:2;18660:7;18651:6;18643;18639:19;18635:33;18630:3;18623:46;18692:40;18725:6;18716;18710:13;18692:40;:::i;:::-;18790:12;;;;18682:50;-1:-1:-1;18755:15:654;;;;18596:1;18589:9;18560:252;;;-1:-1:-1;;18848:22:654;;;18843:2;18828:18;;18821:50;18924:13;;18946:24;;;18988:15;;;;-1:-1:-1;18924:13:654;-1:-1:-1;19046:1:654;19042:16;;;19030:29;;19026:38;;;-1:-1:-1;19089:15:654;;;19124:1;19134:290;19150:8;19145:3;19142:17;19134:290;;;19248:2;19244:7;19235:6;19227;19223:19;19219:33;19212:5;19205:48;19276:60;19329:6;19318:8;19312:15;19276:60;:::i;:::-;19400:14;;;;19266:70;-1:-1:-1;19361:17:654;;;;19178:1;19169:11;19134:290;;;-1:-1:-1;19441:6:654;;17763:1690;-1:-1:-1;;;;;;;;;;17763:1690:654:o;19458:361::-;19687:6;19676:9;19669:25;19730:2;19725;19714:9;19710:18;19703:30;19650:4;19750:63;19809:2;19798:9;19794:18;19786:6;19750:63;:::i;19824:127::-;19885:10;19880:3;19876:20;19873:1;19866:31;19916:4;19913:1;19906:15;19940:4;19937:1;19930:15;19956:126;20050:1;20043:5;20040:12;20030:46;;20056:18;;:::i;20087:807::-;20154:3;20192:5;20186:12;20219:6;20214:3;20207:19;20245:4;20274;20269:3;20265:14;20258:21;;20313:4;20306:5;20302:16;20336:1;20346:523;20360:6;20357:1;20354:13;20346:523;;;20425:6;20419:13;20461:2;20455:9;20494:1;20490:2;20487:9;20477:43;;20500:18;;:::i;:::-;20533:15;;20588:11;;;20582:18;20568:12;;;20561:40;20624:4;20672:11;;;20666:18;-1:-1:-1;;;;;20662:44:654;20648:12;;;20641:66;20730:4;20774:11;;;20768:18;20754:12;;;20747:40;20816:4;20807:14;;;;20844:15;;;;20703:1;20375:9;20346:523;;;-1:-1:-1;20885:3:654;;20087:807;-1:-1:-1;;;;;20087:807:654:o;20899:797::-;20968:3;21006:5;21000:12;21033:6;21028:3;21021:19;21059:4;21088;21083:3;21079:14;21072:21;;21127:4;21120:5;21116:16;21150:1;21160:511;21174:6;21171:1;21168:13;21160:511;;;21239:6;21233:13;21275:2;21269:9;21291:47;21335:2;21291:47;:::i;:::-;21351:15;;21405:11;;;21399:18;21440:4;21478:21;;;21464:12;;;21457:43;21523:4;21571:11;;;21565:18;21561:27;21547:12;;;21540:49;21618:4;21609:14;;;;21646:15;;;;21196:1;21189:9;21160:511;;21701:1338;21876:2;21887:21;;;21979:13;;22028:4;22008:18;;;22001:32;22082:19;;21946:3;21931:19;;22110:22;;;21847:4;;21876:2;22190:21;;;21847:4;;22163:3;22148:19;;;22239:352;22253:6;22250:1;22247:13;22239:352;;;22318:6;22312:13;22354:2;22348:9;22370:47;22414:2;22370:47;:::i;:::-;22430:15;;22489:11;;22483:18;22503:4;22479:29;22465:12;;;22458:51;22566:15;;;;22275:1;22268:9;;;;;22538:4;22529:14;;;;22239:352;;;22243:3;22640:2;22632:6;22628:15;22622:22;22600:44;;22667:2;22663:7;22653:17;;22733:2;22721:9;22716:3;22712:19;22708:28;22701:4;22690:9;22686:20;22679:58;22760:63;22819:3;22803:14;22760:63;:::i;:::-;22746:77;;;;22872:4;22864:6;22860:17;22854:24;22944:2;22932:9;22924:6;22920:22;22916:31;22909:4;22898:9;22894:20;22887:61;22965:68;23026:6;23010:14;22965:68;:::i;:::-;22957:76;21701:1338;-1:-1:-1;;;;;;21701:1338:654:o;23351:297::-;23469:12;;23516:4;23505:16;;;23499:23;;23469:12;23534:16;;23531:111;;;23628:1;23624:6;23614;23608:4;23604:17;23601:1;23597:25;23593:38;23586:5;23582:50;23573:59;;23531:111;;23351:297;;;:::o;23653:834::-;23908:6;23897:9;23890:25;23871:4;23934:2;23972;23967;23956:9;23952:18;23945:30;23998:45;24039:2;24028:9;24024:18;24016:6;23998:45;:::i;:::-;24079:22;;;24074:2;24059:18;;24052:50;24151:13;;24173:22;;;24223:2;24249:15;;;;24211;;24282:1;24292:169;24306:6;24303:1;24300:13;24292:169;;;24367:13;;24355:26;;24436:15;;;;24401:12;;;;24328:1;24321:9;24292:169;;;-1:-1:-1;24478:3:654;;23653:834;-1:-1:-1;;;;;;;;23653:834:654:o;24949:1695::-;25247:4;25293:1;25289;25284:3;25280:11;25276:19;25334:2;25326:6;25322:15;25311:9;25304:34;25386:2;25378:6;25374:15;25369:2;25358:9;25354:18;25347:43;25445:2;25436:6;25430:13;25426:22;25421:2;25410:9;25406:18;25399:50;;25503:2;25495:6;25491:15;25485:22;25480:2;25469:9;25465:18;25458:50;25545:3;25539;25528:9;25524:19;25517:32;25584:6;25578:13;25610:6;25653:2;25647:3;25636:9;25632:19;25625:31;25679:52;25726:3;25715:9;25711:19;25697:12;25679:52;:::i;:::-;25665:66;;25780:2;25772:6;25768:15;25762:22;25853:3;25849:8;25837:9;25829:6;25825:22;25821:37;25815:3;25804:9;25800:19;25793:66;25882:41;25916:6;25900:14;25882:41;:::i;:::-;25868:55;;;25978:2;25970:6;25966:15;25960:22;25954:3;25943:9;25939:19;25932:51;26020:2;26012:6;26008:15;26002:22;26043:3;26082:2;26077;26066:9;26062:18;26055:30;26134:3;26126:6;26122:16;26116:23;26094:45;;26148:53;26197:2;26186:9;26182:18;26166:14;-1:-1:-1;;;;;24907:30:654;24895:43;;24842:102;26148:53;26250:3;26238:16;;26232:23;-1:-1:-1;;;;;13435:31:654;;;26314:3;26299:19;;13423:44;26368:3;26356:16;;26350:23;13435:31;;26432:3;26417:19;;13423:44;26492:3;26480:16;;26474:23;26468:3;26453:19;;26446:52;26535:15;;;26529:22;13435:31;;;26610:3;26595:19;;13423:44;26529:22;-1:-1:-1;26560:55:654;;-1:-1:-1;13369:104:654;26649:620;26920:13;;-1:-1:-1;;;;;;26916:40:654;26898:59;;27004:4;26992:17;;;26986:24;-1:-1:-1;;;;;27086:21:654;;;27064:20;;;27057:51;;;;27144:15;;27139:2;27124:18;;27117:43;27196:3;27191:2;27176:18;;27169:31;;;26879:4;;27217:46;;27243:19;;27235:6;27217:46;:::i;:::-;27209:54;26649:620;-1:-1:-1;;;;;26649:620:654:o","linkReferences":{}},"methodIdentifiers":{"__Architect_init()":"e8546e07","createSpace((string,string,string,string,((string,string,uint256,uint256,uint64,address,address,uint256,address),(bool,address[],((uint8,uint8)[],(uint8,uint256,address,uint256)[],(uint8,uint8,uint8)[]),bool),string[]),(string)))":"ade4c8fa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Architect__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__InvalidNetworkId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__InvalidStringLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__NotContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Factory__FailedDeployment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__NotPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__Paused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Reentrancy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Validator__InvalidAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"SpaceCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"__Architect_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"shortDescription\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"longDescription\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"duration\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"freeAllocation\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"pricingModule\",\"type\":\"address\"}],\"internalType\":\"struct IMembershipBase.Membership\",\"name\":\"settings\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"everyone\",\"type\":\"bool\"},{\"internalType\":\"address[]\",\"name\":\"users\",\"type\":\"address[]\"},{\"components\":[{\"components\":[{\"internalType\":\"enum IRuleEntitlementBase.CombinedOperationType\",\"name\":\"opType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"index\",\"type\":\"uint8\"}],\"internalType\":\"struct IRuleEntitlementBase.Operation[]\",\"name\":\"operations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum IRuleEntitlementBase.CheckOperationType\",\"name\":\"opType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct IRuleEntitlementBase.CheckOperation[]\",\"name\":\"checkOperations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum IRuleEntitlementBase.LogicalOperationType\",\"name\":\"logOpType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"leftOperationIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"rightOperationIndex\",\"type\":\"uint8\"}],\"internalType\":\"struct IRuleEntitlementBase.LogicalOperation[]\",\"name\":\"logicalOperations\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IRuleEntitlementBase.RuleData\",\"name\":\"ruleData\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"syncEntitlements\",\"type\":\"bool\"}],\"internalType\":\"struct ILegacyArchitectBase.MembershipRequirements\",\"name\":\"requirements\",\"type\":\"tuple\"},{\"internalType\":\"string[]\",\"name\":\"permissions\",\"type\":\"string[]\"}],\"internalType\":\"struct ILegacyArchitectBase.Membership\",\"name\":\"membership\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"metadata\",\"type\":\"string\"}],\"internalType\":\"struct ILegacyArchitectBase.ChannelInfo\",\"name\":\"channel\",\"type\":\"tuple\"}],\"internalType\":\"struct ILegacyArchitectBase.SpaceInfo\",\"name\":\"spaceInfo\",\"type\":\"tuple\"}],\"name\":\"createSpace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Reentrancy()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"events\":{\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"}},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/mocks/legacy/MockLegacyArchitect.sol\":\"MockLegacyArchitect\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol\":{\"keccak256\":\"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d\",\"dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh\"]},\"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol\":{\"keccak256\":\"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615\",\"dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol\":{\"keccak256\":\"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba\",\"dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol\":{\"keccak256\":\"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04\",\"dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey\"]},\"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol\":{\"keccak256\":\"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d\",\"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz\"]},\"contracts/src/factory/facets/architect/ArchitectStorage.sol\":{\"keccak256\":\"0xc62e53da3472373306030cd9bb5621f895b5ebbab23ab5d03311c237fe3fb19c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bc61d6591c8c621fa635c988cdf10716037a0cbaed5fac650ed77af6c7d8561\",\"dweb:/ipfs/QmVwXUiJppdHAU5STPsZjFFGqFNosjyxP5R2NJQSp3yTsd\"]},\"contracts/src/factory/facets/architect/ImplementationStorage.sol\":{\"keccak256\":\"0x439caf29eb65f4b17dac2976e530112d6a8c35242bc39861796b631d6c1aee94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dabd06aceeb34fe9b5931d0468bd35d80ec6900f35b1bb375187ad84e917d66\",\"dweb:/ipfs/QmdqduCPXcmmTEme4YjNbNz48uB1nQkARRusai8BnEXJ4f\"]},\"contracts/src/factory/facets/architect/pricing/IPricingModules.sol\":{\"keccak256\":\"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786\",\"dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm\"]},\"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol\":{\"keccak256\":\"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86\",\"dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT\"]},\"contracts/src/factory/facets/registry/IImplementationRegistry.sol\":{\"keccak256\":\"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c\",\"dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA\"]},\"contracts/src/factory/facets/wallet-link/IWalletLink.sol\":{\"keccak256\":\"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d\",\"dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC\"]},\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol\":{\"keccak256\":\"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4\",\"dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2\"]},\"contracts/src/spaces/entitlements/user/IUserEntitlement.sol\":{\"keccak256\":\"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a\",\"dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx\"]},\"contracts/src/spaces/facets/Permissions.sol\":{\"keccak256\":\"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634\",\"dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x\"]},\"contracts/src/spaces/facets/channels/IChannel.sol\":{\"keccak256\":\"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9\",\"dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA\"]},\"contracts/src/spaces/facets/entitlements/IEntitlementsManager.sol\":{\"keccak256\":\"0x3a706517df398a51e19fac4a3c1987886605b8a8fdff319dbe8acc8efb786d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ba8da65886f17602bad12eac53f57079321b88030d77be1437d5a77b51b7763\",\"dweb:/ipfs/QmZWdoM6Drtd9XaPJ8UxBQLSSrqBPViE5UvukDw3i7rah3\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol\":{\"keccak256\":\"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df\",\"dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol\":{\"keccak256\":\"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3\",\"dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo\"]},\"contracts/src/spaces/facets/gated/IEntitlementGated.sol\":{\"keccak256\":\"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec\",\"dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT\"]},\"contracts/src/spaces/facets/membership/IMembership.sol\":{\"keccak256\":\"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6\",\"dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84\"]},\"contracts/src/spaces/facets/membership/MembershipBase.sol\":{\"keccak256\":\"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2\",\"dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC\"]},\"contracts/src/spaces/facets/membership/MembershipStorage.sol\":{\"keccak256\":\"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd\",\"dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa\"]},\"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol\":{\"keccak256\":\"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc\",\"dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF\"]},\"contracts/src/spaces/facets/owner/ISpaceOwner.sol\":{\"keccak256\":\"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a\",\"dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw\"]},\"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol\":{\"keccak256\":\"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769\",\"dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW\"]},\"contracts/src/spaces/facets/proxy/SpaceProxy.sol\":{\"keccak256\":\"0xb256760835f86cf32d8a751cfab2ffe98e6494a537b17c24050a84ed8db0b55d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ee71adbe1d4a118975cca2bd23be460261f8264131260cf8e7c60a2a6ffae88\",\"dweb:/ipfs/QmXtzdxnSayBQ3kMLzGUeWzymd2pkxXSkjJzEv2oDUm8iR\"]},\"contracts/src/spaces/facets/proxy/SpaceProxyInitializer.sol\":{\"keccak256\":\"0x3682360f3370ec23af23befa812da3c7cd4ca1ab49b05c5df41df727c04051b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://864b46283502de65c86518358539cd77a1950c3a28690a440072ebabd936a3e3\",\"dweb:/ipfs/QmWUmKgCqmEZaGadCan9hwv9SUJou23xRfvcpuZVR6xLXp\"]},\"contracts/src/spaces/facets/roles/IRoles.sol\":{\"keccak256\":\"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed\",\"dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3\"]},\"contracts/src/utils/Factory.sol\":{\"keccak256\":\"0xb85beb5f8320a8a1e860690391d9b34187570c6f22e586b662fcf131f8b24e4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9bfdf5d51b2d9e4c0b74248281fbcc0bd62201421f05539f3fa4673ae909e5c\",\"dweb:/ipfs/Qmd6JNfs3sRcQxdKS9sfvNsRyLtJU5farA1YvaFULxugF4\"]},\"contracts/src/utils/StringSet.sol\":{\"keccak256\":\"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605\",\"dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu\"]},\"contracts/src/utils/Validator.sol\":{\"keccak256\":\"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3\",\"dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG\"]},\"contracts/src/utils/interfaces/IWETH.sol\":{\"keccak256\":\"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5\",\"dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6\"]},\"contracts/src/utils/libraries/BasisPoints.sol\":{\"keccak256\":\"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e\",\"dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L\"]},\"contracts/src/utils/libraries/CurrencyTransfer.sol\":{\"keccak256\":\"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4\",\"dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr\"]},\"contracts/src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7\",\"dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK\"]},\"contracts/test/mocks/legacy/IMockLegacyArchitect.sol\":{\"keccak256\":\"0x523b0507d34e0d8f19ba67c42aa5a1c6d554829ed556ccf47321c44c4d71eace\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://affa4f6cd8970f37e9124073fec37ea0257ad9f968a32aafca375aa90d46f3fa\",\"dweb:/ipfs/Qmf4Bu31zZSt8KvKgenAmo9Xesve9kf6k5AgR54c2cNV3t\"]},\"contracts/test/mocks/legacy/MockLegacyArchitect.sol\":{\"keccak256\":\"0xd45c56eb455afadaa6e16e664a002d2bf4de63839a465ffdd5173dc2525755d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd124f4bf628ea7702ffd3040b193104ba7596014b46f5384492559750b7d5cf\",\"dweb:/ipfs/QmQcDaeWnQvDy5NSPQPzuK6CBAQgksXdu48g3AVjo1ZLNZ\"]},\"contracts/test/mocks/legacy/MockLegacyArchitectBase.sol\":{\"keccak256\":\"0x3a2f69bb10bea0f2e7329bc85da01e63f3f4c097d10c1fcf6de678b572f49d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec4b0ac58ebab15132f2b891a9bccac94207e0cf2a038465c15d70c3674e25f3\",\"dweb:/ipfs/Qmak1V8ZE9ocTcBB7xF6CYBVKEzuv7p8wRGZVmP7A1733Y\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d\",\"dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol\":{\"keccak256\":\"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37\",\"dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol\":{\"keccak256\":\"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711\",\"dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol\":{\"keccak256\":\"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf\",\"dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F\"]},\"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol\":{\"keccak256\":\"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684\",\"dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol\":{\"keccak256\":\"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3\",\"dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol\":{\"keccak256\":\"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd\",\"dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj\"]},\"node_modules/@river-build/diamond/src/proxy/IProxy.sol\":{\"keccak256\":\"0x94506109e5e47fafba65c94f2d74d0c7860e5911fe90fbe3b49817afda3b2145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://969f73c692e96091ef4565e5e7f9d4114ce6d51a619a75f9b1a0703f737e4ceb\",\"dweb:/ipfs/QmbohRzHyVrD36w3b7UdM1jqpPMViSx3DVCHWuXTLkG3bM\"]},\"node_modules/@river-build/diamond/src/proxy/Proxy.sol\":{\"keccak256\":\"0xf11318c1057be9219cf41aa182fcd8c46117c72fea16532f367114058566dbb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce3efbcd31c8a3291500d27933639546f8930afac361536a61f64dc40d117c0\",\"dweb:/ipfs/QmTo2D6WtcvFXAz435CR1JcSygLSSRBeiGzM4FeAgRQdT8\"]},\"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol\":{\"keccak256\":\"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1\",\"dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV\"]},\"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyBase.sol\":{\"keccak256\":\"0x41a4f9d9c94365f9c3838651a538c1b7d957443b56148a10b384583b9cdadc7f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a15904e21dae93676687c5b916ea280b39e9d6e8f30a1ce33e87bb40ea572c5b\",\"dweb:/ipfs/QmUYMT9SSFZgNE66sASzTAnYvLBwhHJB6YZXQCVXJ6vPTx\"]},\"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyStorage.sol\":{\"keccak256\":\"0x2f09ac0009d994e8095003f5a95512b28d008613571861cb0ede96a6af532b1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2160d94085d44c9cae45b051f680a82c865a856e3c7f1ac50c6b6c31243b206\",\"dweb:/ipfs/QmXUzx5RKLmAFKgT1aygcpBmrWS5RzhEZT6fsS8YqdG68J\"]},\"node_modules/@river-build/diamond/src/proxy/manager/IProxyManager.sol\":{\"keccak256\":\"0x827c2e8f933570abed41ccf0dccbf82f9b4a1997fcc773c29bf1234d2c9b6f5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1c3d26d9b1dec8a864f453f151914f2bcf30cbb31c1a3602ac9e8b24f16e47e\",\"dweb:/ipfs/QmUsSGM7mHZZtECoZRTJnZACHymx7jLdpxYsuCNAK8sTxN\"]},\"node_modules/solady/src/utils/LibClone.sol\":{\"keccak256\":\"0x61a00bcf300f7af3850f63de1a6f400629f03652a1f3efa49a17bf6c2272b1df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4c5fc1f3d017372d200803e54167e357402fbacfa40fa7a2c3003c9a5e867ce\",\"dweb:/ipfs/QmTGDqd9wrQH5vCzB9GU9QKwMc955tK89AvfEa9iKJGESw\"]},\"node_modules/solady/src/utils/Multicallable.sol\":{\"keccak256\":\"0xe57db2fda09f92a4b3e68fe6445aac609b868ede70d522a41070167eb7c13e2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://347e573a14849774e062f81a0c24c0ee2359bf06d6954e4b4566ff91e383ca38\",\"dweb:/ipfs/QmYRm2fXSQJtznShtafRTQNqj2hznFKTpuzvfdmbBHfEkj\"]},\"node_modules/solady/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98\",\"dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi\"]},\"node_modules/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c\",\"dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"Architect__InvalidAddress"},{"inputs":[],"type":"error","name":"Architect__InvalidNetworkId"},{"inputs":[],"type":"error","name":"Architect__InvalidStringLength"},{"inputs":[],"type":"error","name":"Architect__NotContract"},{"inputs":[],"type":"error","name":"Factory__FailedDeployment"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[],"type":"error","name":"Pausable__NotPaused"},{"inputs":[],"type":"error","name":"Pausable__Paused"},{"inputs":[],"type":"error","name":"Reentrancy"},{"inputs":[],"type":"error","name":"Validator__InvalidAddress"},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"space","type":"address","indexed":true}],"type":"event","name":"SpaceCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"__Architect_init"},{"inputs":[{"internalType":"struct ILegacyArchitectBase.SpaceInfo","name":"spaceInfo","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"string","name":"shortDescription","type":"string"},{"internalType":"string","name":"longDescription","type":"string"},{"internalType":"struct ILegacyArchitectBase.Membership","name":"membership","type":"tuple","components":[{"internalType":"struct IMembershipBase.Membership","name":"settings","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"maxSupply","type":"uint256"},{"internalType":"uint64","name":"duration","type":"uint64"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"address","name":"feeRecipient","type":"address"},{"internalType":"uint256","name":"freeAllocation","type":"uint256"},{"internalType":"address","name":"pricingModule","type":"address"}]},{"internalType":"struct ILegacyArchitectBase.MembershipRequirements","name":"requirements","type":"tuple","components":[{"internalType":"bool","name":"everyone","type":"bool"},{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"struct IRuleEntitlementBase.RuleData","name":"ruleData","type":"tuple","components":[{"internalType":"struct IRuleEntitlementBase.Operation[]","name":"operations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlementBase.CombinedOperationType","name":"opType","type":"uint8"},{"internalType":"uint8","name":"index","type":"uint8"}]},{"internalType":"struct IRuleEntitlementBase.CheckOperation[]","name":"checkOperations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlementBase.CheckOperationType","name":"opType","type":"uint8"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"threshold","type":"uint256"}]},{"internalType":"struct IRuleEntitlementBase.LogicalOperation[]","name":"logicalOperations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlementBase.LogicalOperationType","name":"logOpType","type":"uint8"},{"internalType":"uint8","name":"leftOperationIndex","type":"uint8"},{"internalType":"uint8","name":"rightOperationIndex","type":"uint8"}]}]},{"internalType":"bool","name":"syncEntitlements","type":"bool"}]},{"internalType":"string[]","name":"permissions","type":"string[]"}]},{"internalType":"struct ILegacyArchitectBase.ChannelInfo","name":"channel","type":"tuple","components":[{"internalType":"string","name":"metadata","type":"string"}]}]}],"stateMutability":"nonpayable","type":"function","name":"createSpace","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/test/mocks/legacy/MockLegacyArchitect.sol":"MockLegacyArchitect"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol":{"keccak256":"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204","urls":["bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d","dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol":{"keccak256":"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224","urls":["bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615","dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol":{"keccak256":"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62","urls":["bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba","dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol":{"keccak256":"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4","urls":["bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04","dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol":{"keccak256":"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782","urls":["bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d","dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"],"license":"MIT"},"contracts/src/factory/facets/architect/ArchitectStorage.sol":{"keccak256":"0xc62e53da3472373306030cd9bb5621f895b5ebbab23ab5d03311c237fe3fb19c","urls":["bzz-raw://1bc61d6591c8c621fa635c988cdf10716037a0cbaed5fac650ed77af6c7d8561","dweb:/ipfs/QmVwXUiJppdHAU5STPsZjFFGqFNosjyxP5R2NJQSp3yTsd"],"license":"MIT"},"contracts/src/factory/facets/architect/ImplementationStorage.sol":{"keccak256":"0x439caf29eb65f4b17dac2976e530112d6a8c35242bc39861796b631d6c1aee94","urls":["bzz-raw://9dabd06aceeb34fe9b5931d0468bd35d80ec6900f35b1bb375187ad84e917d66","dweb:/ipfs/QmdqduCPXcmmTEme4YjNbNz48uB1nQkARRusai8BnEXJ4f"],"license":"MIT"},"contracts/src/factory/facets/architect/pricing/IPricingModules.sol":{"keccak256":"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171","urls":["bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786","dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm"],"license":"MIT"},"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol":{"keccak256":"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6","urls":["bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86","dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT"],"license":"MIT"},"contracts/src/factory/facets/registry/IImplementationRegistry.sol":{"keccak256":"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7","urls":["bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c","dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA"],"license":"MIT"},"contracts/src/factory/facets/wallet-link/IWalletLink.sol":{"keccak256":"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c","urls":["bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d","dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC"],"license":"MIT"},"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol":{"keccak256":"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b","urls":["bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4","dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2"],"license":"MIT"},"contracts/src/spaces/entitlements/user/IUserEntitlement.sol":{"keccak256":"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9","urls":["bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a","dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx"],"license":"MIT"},"contracts/src/spaces/facets/Permissions.sol":{"keccak256":"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e","urls":["bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634","dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x"],"license":"MIT"},"contracts/src/spaces/facets/channels/IChannel.sol":{"keccak256":"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e","urls":["bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9","dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA"],"license":"MIT"},"contracts/src/spaces/facets/entitlements/IEntitlementsManager.sol":{"keccak256":"0x3a706517df398a51e19fac4a3c1987886605b8a8fdff319dbe8acc8efb786d30","urls":["bzz-raw://7ba8da65886f17602bad12eac53f57079321b88030d77be1437d5a77b51b7763","dweb:/ipfs/QmZWdoM6Drtd9XaPJ8UxBQLSSrqBPViE5UvukDw3i7rah3"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol":{"keccak256":"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045","urls":["bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df","dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol":{"keccak256":"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84","urls":["bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3","dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo"],"license":"MIT"},"contracts/src/spaces/facets/gated/IEntitlementGated.sol":{"keccak256":"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74","urls":["bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec","dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT"],"license":"MIT"},"contracts/src/spaces/facets/membership/IMembership.sol":{"keccak256":"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b","urls":["bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6","dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipBase.sol":{"keccak256":"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8","urls":["bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2","dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipStorage.sol":{"keccak256":"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972","urls":["bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd","dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa"],"license":"MIT"},"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol":{"keccak256":"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4","urls":["bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc","dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF"],"license":"MIT"},"contracts/src/spaces/facets/owner/ISpaceOwner.sol":{"keccak256":"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4","urls":["bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a","dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw"],"license":"MIT"},"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol":{"keccak256":"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207","urls":["bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769","dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW"],"license":"MIT"},"contracts/src/spaces/facets/proxy/SpaceProxy.sol":{"keccak256":"0xb256760835f86cf32d8a751cfab2ffe98e6494a537b17c24050a84ed8db0b55d","urls":["bzz-raw://3ee71adbe1d4a118975cca2bd23be460261f8264131260cf8e7c60a2a6ffae88","dweb:/ipfs/QmXtzdxnSayBQ3kMLzGUeWzymd2pkxXSkjJzEv2oDUm8iR"],"license":"MIT"},"contracts/src/spaces/facets/proxy/SpaceProxyInitializer.sol":{"keccak256":"0x3682360f3370ec23af23befa812da3c7cd4ca1ab49b05c5df41df727c04051b3","urls":["bzz-raw://864b46283502de65c86518358539cd77a1950c3a28690a440072ebabd936a3e3","dweb:/ipfs/QmWUmKgCqmEZaGadCan9hwv9SUJou23xRfvcpuZVR6xLXp"],"license":"MIT"},"contracts/src/spaces/facets/roles/IRoles.sol":{"keccak256":"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65","urls":["bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed","dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3"],"license":"MIT"},"contracts/src/utils/Factory.sol":{"keccak256":"0xb85beb5f8320a8a1e860690391d9b34187570c6f22e586b662fcf131f8b24e4c","urls":["bzz-raw://e9bfdf5d51b2d9e4c0b74248281fbcc0bd62201421f05539f3fa4673ae909e5c","dweb:/ipfs/Qmd6JNfs3sRcQxdKS9sfvNsRyLtJU5farA1YvaFULxugF4"],"license":"MIT"},"contracts/src/utils/StringSet.sol":{"keccak256":"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6","urls":["bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605","dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu"],"license":"MIT"},"contracts/src/utils/Validator.sol":{"keccak256":"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f","urls":["bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3","dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG"],"license":"MIT"},"contracts/src/utils/interfaces/IWETH.sol":{"keccak256":"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0","urls":["bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5","dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6"],"license":"MIT"},"contracts/src/utils/libraries/BasisPoints.sol":{"keccak256":"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b","urls":["bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e","dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L"],"license":"MIT"},"contracts/src/utils/libraries/CurrencyTransfer.sol":{"keccak256":"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083","urls":["bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4","dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr"],"license":"MIT"},"contracts/src/utils/libraries/CustomRevert.sol":{"keccak256":"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059","urls":["bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7","dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK"],"license":"MIT"},"contracts/test/mocks/legacy/IMockLegacyArchitect.sol":{"keccak256":"0x523b0507d34e0d8f19ba67c42aa5a1c6d554829ed556ccf47321c44c4d71eace","urls":["bzz-raw://affa4f6cd8970f37e9124073fec37ea0257ad9f968a32aafca375aa90d46f3fa","dweb:/ipfs/Qmf4Bu31zZSt8KvKgenAmo9Xesve9kf6k5AgR54c2cNV3t"],"license":"MIT"},"contracts/test/mocks/legacy/MockLegacyArchitect.sol":{"keccak256":"0xd45c56eb455afadaa6e16e664a002d2bf4de63839a465ffdd5173dc2525755d1","urls":["bzz-raw://bd124f4bf628ea7702ffd3040b193104ba7596014b46f5384492559750b7d5cf","dweb:/ipfs/QmQcDaeWnQvDy5NSPQPzuK6CBAQgksXdu48g3AVjo1ZLNZ"],"license":"MIT"},"contracts/test/mocks/legacy/MockLegacyArchitectBase.sol":{"keccak256":"0x3a2f69bb10bea0f2e7329bc85da01e63f3f4c097d10c1fcf6de678b572f49d63","urls":["bzz-raw://ec4b0ac58ebab15132f2b891a9bccac94207e0cf2a038465c15d70c3674e25f3","dweb:/ipfs/Qmak1V8ZE9ocTcBB7xF6CYBVKEzuv7p8wRGZVmP7A1733Y"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a","urls":["bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d","dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol":{"keccak256":"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397","urls":["bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37","dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol":{"keccak256":"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83","urls":["bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711","dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol":{"keccak256":"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479","urls":["bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf","dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol":{"keccak256":"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1","urls":["bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684","dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol":{"keccak256":"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0","urls":["bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3","dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol":{"keccak256":"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f","urls":["bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd","dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/IProxy.sol":{"keccak256":"0x94506109e5e47fafba65c94f2d74d0c7860e5911fe90fbe3b49817afda3b2145","urls":["bzz-raw://969f73c692e96091ef4565e5e7f9d4114ce6d51a619a75f9b1a0703f737e4ceb","dweb:/ipfs/QmbohRzHyVrD36w3b7UdM1jqpPMViSx3DVCHWuXTLkG3bM"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/Proxy.sol":{"keccak256":"0xf11318c1057be9219cf41aa182fcd8c46117c72fea16532f367114058566dbb6","urls":["bzz-raw://1ce3efbcd31c8a3291500d27933639546f8930afac361536a61f64dc40d117c0","dweb:/ipfs/QmTo2D6WtcvFXAz435CR1JcSygLSSRBeiGzM4FeAgRQdT8"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol":{"keccak256":"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01","urls":["bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1","dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyBase.sol":{"keccak256":"0x41a4f9d9c94365f9c3838651a538c1b7d957443b56148a10b384583b9cdadc7f","urls":["bzz-raw://a15904e21dae93676687c5b916ea280b39e9d6e8f30a1ce33e87bb40ea572c5b","dweb:/ipfs/QmUYMT9SSFZgNE66sASzTAnYvLBwhHJB6YZXQCVXJ6vPTx"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyStorage.sol":{"keccak256":"0x2f09ac0009d994e8095003f5a95512b28d008613571861cb0ede96a6af532b1b","urls":["bzz-raw://d2160d94085d44c9cae45b051f680a82c865a856e3c7f1ac50c6b6c31243b206","dweb:/ipfs/QmXUzx5RKLmAFKgT1aygcpBmrWS5RzhEZT6fsS8YqdG68J"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/manager/IProxyManager.sol":{"keccak256":"0x827c2e8f933570abed41ccf0dccbf82f9b4a1997fcc773c29bf1234d2c9b6f5b","urls":["bzz-raw://a1c3d26d9b1dec8a864f453f151914f2bcf30cbb31c1a3602ac9e8b24f16e47e","dweb:/ipfs/QmUsSGM7mHZZtECoZRTJnZACHymx7jLdpxYsuCNAK8sTxN"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x61a00bcf300f7af3850f63de1a6f400629f03652a1f3efa49a17bf6c2272b1df","urls":["bzz-raw://b4c5fc1f3d017372d200803e54167e357402fbacfa40fa7a2c3003c9a5e867ce","dweb:/ipfs/QmTGDqd9wrQH5vCzB9GU9QKwMc955tK89AvfEa9iKJGESw"],"license":"MIT"},"node_modules/solady/src/utils/Multicallable.sol":{"keccak256":"0xe57db2fda09f92a4b3e68fe6445aac609b868ede70d522a41070167eb7c13e2e","urls":["bzz-raw://347e573a14849774e062f81a0c24c0ee2359bf06d6954e4b4566ff91e383ca38","dweb:/ipfs/QmYRm2fXSQJtznShtafRTQNqj2hznFKTpuzvfdmbBHfEkj"],"license":"MIT"},"node_modules/solady/src/utils/ReentrancyGuard.sol":{"keccak256":"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8","urls":["bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98","dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi"],"license":"MIT"},"node_modules/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210","urls":["bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c","dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR"],"license":"MIT"}},"version":1},"id":391} \ No newline at end of file +{"abi":[{"type":"function","name":"__Architect_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createSpace","inputs":[{"name":"spaceInfo","type":"tuple","internalType":"struct ILegacyArchitectBase.SpaceInfo","components":[{"name":"name","type":"string","internalType":"string"},{"name":"uri","type":"string","internalType":"string"},{"name":"shortDescription","type":"string","internalType":"string"},{"name":"longDescription","type":"string","internalType":"string"},{"name":"membership","type":"tuple","internalType":"struct ILegacyArchitectBase.Membership","components":[{"name":"settings","type":"tuple","internalType":"struct IMembershipBase.Membership","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"maxSupply","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint64","internalType":"uint64"},{"name":"currency","type":"address","internalType":"address"},{"name":"feeRecipient","type":"address","internalType":"address"},{"name":"freeAllocation","type":"uint256","internalType":"uint256"},{"name":"pricingModule","type":"address","internalType":"address"}]},{"name":"requirements","type":"tuple","internalType":"struct ILegacyArchitectBase.MembershipRequirements","components":[{"name":"everyone","type":"bool","internalType":"bool"},{"name":"users","type":"address[]","internalType":"address[]"},{"name":"ruleData","type":"tuple","internalType":"struct IRuleEntitlementBase.RuleData","components":[{"name":"operations","type":"tuple[]","internalType":"struct IRuleEntitlementBase.Operation[]","components":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlementBase.CombinedOperationType"},{"name":"index","type":"uint8","internalType":"uint8"}]},{"name":"checkOperations","type":"tuple[]","internalType":"struct IRuleEntitlementBase.CheckOperation[]","components":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlementBase.CheckOperationType"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"threshold","type":"uint256","internalType":"uint256"}]},{"name":"logicalOperations","type":"tuple[]","internalType":"struct IRuleEntitlementBase.LogicalOperation[]","components":[{"name":"logOpType","type":"uint8","internalType":"enum IRuleEntitlementBase.LogicalOperationType"},{"name":"leftOperationIndex","type":"uint8","internalType":"uint8"},{"name":"rightOperationIndex","type":"uint8","internalType":"uint8"}]}]},{"name":"syncEntitlements","type":"bool","internalType":"bool"}]},{"name":"permissions","type":"string[]","internalType":"string[]"}]},{"name":"channel","type":"tuple","internalType":"struct ILegacyArchitectBase.ChannelInfo","components":[{"name":"metadata","type":"string","internalType":"string"}]}]}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceCreated","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"space","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"Architect__InvalidAddress","inputs":[]},{"type":"error","name":"Architect__InvalidNetworkId","inputs":[]},{"type":"error","name":"Architect__InvalidStringLength","inputs":[]},{"type":"error","name":"Architect__NotContract","inputs":[]},{"type":"error","name":"Factory__FailedDeployment","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"Pausable__NotPaused","inputs":[]},{"type":"error","name":"Pausable__Paused","inputs":[]},{"type":"error","name":"Reentrancy","inputs":[]},{"type":"error","name":"Validator__InvalidAddress","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001961001e565b6100c4565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff161561006a576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156100c157805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b612aa680620000d46000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063ade4c8fa146200003f578063e8546e071462000072575b600080fd5b6200005662000050366004620017c1565b6200007e565b6040516001600160a01b03909116815260200160405180910390f35b6200007c6200010d565b005b60003068929eee149b4bd212685403620000a05763ab143c066000526004601cfd5b3068929eee149b4bd21268557fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615620000f0576040516302ca8ced60e11b815260040160405180910390fd5b620000fb826200016c565b3868929eee149b4bd212685592915050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166200015857604051630ef4733760e31b815260040160405180910390fd5b6200016a6356f2647d60e11b6200052d565b565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00805460408051631d5e528f60e21b815290516000937f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f000093909285926001600160a01b03909216916375794a3c916004808201926020929091908290030181865afa15801562000200573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002269190620018f8565b90506200023881866080015162000608565b83549094508360006200024b8362001912565b90915550506000818152600284016020908152604080832080546001600160a01b0319166001600160a01b0389811691821790925584526001870183529281902084905584548851928901518983015160608b01519351630efd6e3d60e21b81529290951694633bf5b8f494620002cb9490938b9291906004016200198e565b6020604051808303816000875af1158015620002eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003119190620018f8565b5060018201546000906200032f906001600160a01b03168662000634565b60058401549091506000906200034f906001600160a01b03168762000634565b604080516002808252606082018352929350600092909160208301908036833701905050905082816000815181106200038c576200038c620019fe565b60200260200101906001600160a01b031690816001600160a01b0316815250508181600181518110620003c357620003c3620019fe565b6001600160a01b039283166020918202929092010152604051638bfc820f60e01b815290881690638bfc820f906200040090849060040162001a14565b600060405180830381600087803b1580156200041b57600080fd5b505af115801562000430573d6000803e3d6000fd5b505050506200044a8784848b6080015160200151620006f1565b5060808801518051516040909101516000916200046b918a91908762000b24565b90506200047e88828b60a0015162000cb4565b8554604051632142170760e11b8152306004820152336024820152604481018790526001600160a01b03909116906342842e0e90606401600060405180830381600087803b158015620004d057600080fd5b505af1158015620004e5573d6000803e3d6000fd5b50506040516001600160a01b038b16925087915033907fe50fc3942f8a2d7e5a7c8fb9488499eba5255b41e18bc3f1b4791402976d1d0b90600090a450505050505050919050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16620005b7576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055620005d0565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b600080600062000619858562000db5565b9150915062000629828262000f1f565b925050505b92915050565b60008060405180602001620006499062000f9a565b601f1982820381018352601f9091011660408190526001600160a01b0385166024820152859060440160408051601f19818403018152918152602080830180516001600160e01b031663189acdbd60e31b1790529051620006ad9392910162001a63565b60408051601f1981840301815290829052620006cd929160200162001a89565b6040516020818303038152906040529050620006e98162000f45565b949350505050565b604080516001808252818301909252600091829190816020015b60608152602001906001900390816200070b579050509050604051806040016040528060098152602001684a6f696e537061636560b81b815250816000815181106200075b576200075b620019fe565b6020026020010181905250856001600160a01b0316638fcd793d6040518060400160405280600681526020016526b4b73a32b960d11b8152508360006001600160401b03811115620007b157620007b162000fb6565b604051908082528060200260200182016040528015620007f957816020015b604080518082019091526000815260606020820152815260200190600190039081620007d05790505b506040518463ffffffff1660e01b81526004016200081a9392919062001ae5565b6020604051808303816000875af11580156200083a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008609190620018f8565b8351909250156200096e5760408051600180825281830190925260009160208083019080368337019050509050600181600081518110620008a557620008a5620019fe565b60200260200101906001600160a01b031690816001600160a01b031681525050866001600160a01b031663ba201ba88460405180604001604052808a6001600160a01b031681526020018560405160200162000902919062001a14565b6040516020818303038152906040528152506040518363ffffffff1660e01b81526004016200093392919062001bb7565b600060405180830381600087803b1580156200094e57600080fd5b505af115801562000963573d6000803e3d6000fd5b505050505062000b1b565b6020830151511562000a675760005b836020015151811015620009bf57620009b684602001518281518110620009a857620009a8620019fe565b602002602001015162000f6f565b6001016200097d565b50856001600160a01b031663ba201ba8836040518060400160405280896001600160a01b03168152602001876020015160405160200162000a01919062001a14565b6040516020818303038152906040528152506040518363ffffffff1660e01b815260040162000a3292919062001bb7565b600060405180830381600087803b15801562000a4d57600080fd5b505af115801562000a62573d6000803e3d6000fd5b505050505b604083015151511562000b1b57856001600160a01b031663ba201ba8836040518060400160405280886001600160a01b03168152602001876040015160405160200162000ab5919062001ccf565b6040516020818303038152906040528152506040518363ffffffff1660e01b815260040162000ae692919062001bb7565b600060405180830381600087803b15801562000b0157600080fd5b505af115801562000b16573d6000803e3d6000fd5b505050505b50949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905060018160008151811062000b615762000b61620019fe565b6001600160a01b039290921660209283029190910190910152604080516001808252818301909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908162000b91579050509050838160008151811062000bd35762000bd3620019fe565b6020908102919091018101516001600160a01b0390921690915260405162000bfe9184910162001a14565b6040516020818303038152906040528160008151811062000c235762000c23620019fe565b6020908102919091018101510152604051638fcd793d60e01b81526001600160a01b03881690638fcd793d9062000c639089908990869060040162001ae5565b6020604051808303816000875af115801562000c83573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ca99190620018f8565b979650505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811062000ced5762000ced620019fe565b602090810291909101810191909152604051600160fd1b918101919091526bffffffffffffffffffffffff19606086901b16602182015260009060350160405160208183030381529060405262000d449062001d7a565b835160405163921f717560e01b81529192506001600160a01b0387169163921f71759162000d7a91859190879060040162001da2565b600060405180830381600087803b15801562000d9557600080fd5b505af115801562000daa573d6000803e3d6000fd5b505050505050505050565b60408051336020808301919091528183018590524260608381019190915283518084038201815260809093019093528151910120825160c08101517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0091906001600160a01b031662000e28573360c08201525b60068201546040516001600160a01b039091169062000e4a6020820162000fa8565b601f19828203810183526040601f90920116818101825263dc9cc64560e01b81523060208281018290528351808501855288546001600160a01b031681529081018c905292519192859262000ea89233929091899060240162001e03565b60408051601f19818403018152918152602080830180516001600160e01b03166320723eff60e11b179052905162000ee4949392910162001ee9565b60408051601f198184030181529082905262000f04929160200162001a89565b60405160208183030381529060405294505050509250929050565b60008260200183518381836000f592505050806200062e5763ef35ca196000526004601cfd5b600081602001825180826000f0925050508062000f6a5763ef35ca196000526004601cfd5b919050565b6001600160a01b03811662000f97576040516302e47d1560e41b815260040160405180910390fd5b50565b6103d48062001f3a83390190565b610798806200230e83390190565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405290565b604051606081016001600160401b038111828210171562000ff15762000ff162000fb6565b604080519081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405161012081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405160c081016001600160401b038111828210171562000ff15762000ff162000fb6565b604051601f8201601f191681016001600160401b0381118282101715620010b757620010b762000fb6565b604052919050565b600082601f830112620010d157600080fd5b81356001600160401b03811115620010ed57620010ed62000fb6565b62001102601f8201601f19166020016200108c565b8181528460208386010111156200111857600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160401b038116811462000f6a57600080fd5b80356001600160a01b038116811462000f6a57600080fd5b8035801515811462000f6a57600080fd5b60006001600160401b0382111562001192576200119262000fb6565b5060051b60200190565b6003811062000f9757600080fd5b803560ff8116811462000f6a57600080fd5b600082601f830112620011ce57600080fd5b81356020620011e7620011e18362001176565b6200108c565b828152600792831b85018201928282019190878511156200120757600080fd5b8387015b8581101562001276576080818a031215620012265760008081fd5b6200123062000fcc565b8135838110620012405760008081fd5b815281860135868201526040620012598184016200114d565b90820152606082810135908201528452928401926080016200120b565b5090979650505050505050565b600082601f8301126200129557600080fd5b81356020620012a8620011e18362001176565b82815260609283028501820192828201919087851115620012c857600080fd5b8387015b85811015620012765781818a031215620012e65760008081fd5b620012f062000ff7565b8135620012fd816200119c565b81526200130c828701620011aa565b8682015260406200131f818401620011aa565b908201528452928401928101620012cc565b6000606082840312156200134457600080fd5b6200134e62000ff7565b905081356001600160401b03808211156200136857600080fd5b818401915084601f8301126200137d57600080fd5b8135602062001390620011e18362001176565b82815260069290921b84018101918181019088841115620013b057600080fd5b948201945b838610156200140d576040868a031215620013d05760008081fd5b620013da6200101c565b8635620013e7816200119c565b8152620013f6878501620011aa565b8185015282526040959095019490820190620013b5565b865250858101359350828411156200142457600080fd5b6200143287858801620011bc565b908501525060408401359150808211156200144c57600080fd5b506200145b8482850162001283565b60408301525092915050565b6000608082840312156200147a57600080fd5b6200148462000fcc565b9050620014918262001165565b81526020808301356001600160401b0380821115620014af57600080fd5b818501915085601f830112620014c457600080fd5b8135620014d5620011e18262001176565b81815260059190911b83018401908481019088831115620014f557600080fd5b938501935b828510156200151e576200150e856200114d565b82529385019390850190620014fa565b808688015250505060408501359250808311156200153b57600080fd5b50506200154b8482850162001331565b6040830152506200155f6060830162001165565b606082015292915050565b600082601f8301126200157c57600080fd5b813560206200158f620011e18362001176565b82815260059290921b84018101918181019086841115620015af57600080fd5b8286015b84811015620015f35780356001600160401b03811115620015d45760008081fd5b620015e48986838b0101620010bf565b845250918301918301620015b3565b509695505050505050565b6000606082840312156200161157600080fd5b6200161b62000ff7565b905081356001600160401b03808211156200163557600080fd5b9083019061012082860312156200164b57600080fd5b6200165562001041565b8235828111156200166557600080fd5b6200167387828601620010bf565b8252506020830135828111156200168957600080fd5b6200169787828601620010bf565b6020830152506040830135604082015260608301356060820152620016bf6080840162001135565b6080820152620016d260a084016200114d565b60a0820152620016e560c084016200114d565b60c082015260e083013560e0820152610100620017048185016200114d565b90820152835260208401359150808211156200171f57600080fd5b6200172d8583860162001467565b602084015260408401359150808211156200174757600080fd5b506200145b848285016200156a565b6000602082840312156200176957600080fd5b604051602081016001600160401b0382821081831117156200178f576200178f62000fb6565b816040528293508435915080821115620017a857600080fd5b50620017b785828601620010bf565b8252505092915050565b600060208284031215620017d457600080fd5b81356001600160401b0380821115620017ec57600080fd5b9083019060c082860312156200180157600080fd5b6200180b62001067565b8235828111156200181b57600080fd5b6200182987828601620010bf565b8252506020830135828111156200183f57600080fd5b6200184d87828601620010bf565b6020830152506040830135828111156200186657600080fd5b6200187487828601620010bf565b6040830152506060830135828111156200188d57600080fd5b6200189b87828601620010bf565b606083015250608083013582811115620018b457600080fd5b620018c287828601620015fe565b60808301525060a083013582811115620018db57600080fd5b620018e98782860162001756565b60a08301525095945050505050565b6000602082840312156200190b57600080fd5b5051919050565b6000600182016200193357634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620019575781810151838201526020016200193d565b50506000910152565b600081518084526200197a8160208601602086016200193a565b601f01601f19169290920160200192915050565b60a081526000620019a360a083018862001960565b8281036020840152620019b7818862001960565b6001600160a01b038716604085015283810360608501529050620019dc818662001960565b90508281036080840152620019f2818562001960565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101562001a575783516001600160a01b03168352928401929184019160010162001a30565b50909695505050505050565b6001600160a01b0383168152604060208201819052600090620006e99083018462001960565b6000835162001a9d8184602088016200193a565b83519083019062001ab38183602088016200193a565b01949350505050565b60018060a01b0381511682526000602082015160406020850152620006e9604085018262001960565b60608152600062001afa606083018662001960565b6020838203818501528186518084528284019150828160051b85010183890160005b8381101562001b4e57601f1987840301855262001b3b83835162001960565b9486019492509085019060010162001b1c565b50508681036040880152875180825284820195509250600583901b81018401915083880160005b8481101562001ba757601f1983850301875262001b9484835162001abc565b9686019693509085019060010162001b75565b50919a9950505050505050505050565b828152604060208201526000620006e9604083018462001abc565b634e487b7160e01b600052602160045260246000fd5b6003811062000f975762000f9762001bd2565b60008151808452602080850194506020840160005b8381101562001c6a57815180516007811062001c305762001c3062001bd2565b885280840151848901526040808201516001600160a01b031690890152606090810151908801526080909601959082019060010162001c10565b509495945050505050565b60008151808452602080850194506020840160005b8381101562001c6a578151805162001ca28162001be8565b88528084015160ff908116858a015260409182015116908801526060909601959082019060010162001c8a565b6020808252825160608383015280516080840181905260009291820190839060a08601905b8083101562001d2f578351805162001d0c8162001be8565b835285015160ff1685830152928401926001929092019160409091019062001cf4565b50838701519350601f1992508286820301604087015262001d51818562001bfb565b9350505060408501518185840301606086015262001d70838262001c75565b9695505050505050565b8051602080830151919081101562001d9c576000198160200360031b1b821691505b50919050565b838152600060206060602084015262001dbf606084018662001960565b83810360408501528451808252602080870192019060005b8181101562001df55783518352928401929184019160010162001dd7565b509098975050505050505050565b600060018060a01b0380871683528086166020840152808551166040840152506020840151606083015260a0608083015282516101208060a085015262001e4f6101c085018362001960565b91506020850151609f198584030160c086015262001e6e838262001960565b925050604085015160e0850152606085015161010081818701526080870151915062001ea4838701836001600160401b03169052565b60a08701516001600160a01b0390811661014088015260c0880151811661016088015260e0880151610180880152908701519081166101a08701529150620015f39050565b83516001600160e01b03191681526020808501516001600160a01b03908116918301919091528316604082015260806060820181905260009062001f309083018462001960565b9594505050505056fe60806040526040516103d43803806103d483398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b6074806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fd608060405234801561001057600080fd5b5060405161079838038061079883398101604081905261002f91610259565b6100958380517f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0080546020909301516001600160a01b03166001600160a01b031960e09390931c600160a01b02929092166001600160c01b031990931692909217179055565b61009f82826100a8565b50505050610366565b6060600080846001600160a01b0316846040516100c5919061034a565b600060405180830381855af49150503d8060008114610100576040519150601f19603f3d011682016040523d82523d6000602084013e610105565b606091505b50909250905061011685838361011f565b95945050505050565b6060826101345761012f82610182565b61017b565b815115801561014b57506001600160a01b0384163b155b1561017857604051639996b31560e01b81526001600160a01b038516600482015260240160405180910390fd5b50805b9392505050565b8051156101925780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156101e3576101e36101ab565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610211576102116101ab565b604052919050565b80516001600160a01b038116811461023057600080fd5b919050565b60005b83811015610250578181015183820152602001610238565b50506000910152565b6000806000838503608081121561026f57600080fd5b604081121561027d57600080fd5b506102866101c1565b84516001600160e01b03198116811461029e57600080fd5b815260206102ad868201610219565b818301528194506102c060408701610219565b606087015190945091506001600160401b03808311156102df57600080fd5b828701925087601f8401126102f357600080fd5b825181811115610305576103056101ab565b610317601f8201601f191684016101e9565b9150808252888382860101111561032d57600080fd5b61033c81848401858701610235565b508093505050509250925092565b6000825161035c818460208701610235565b9190910192915050565b610423806103756000396000f3fe6080604052600436106100225760003560e01c8063ac9650d81461003357610029565b3661002957005b61003161005c565b005b6100466100413660046102c4565b6100b7565b604051610053919061035d565b60405180910390f35b60006100666100dc565b9050806001600160a01b03163b600003610093576040516321f27f0d60e21b815260040160405180910390fd5b3660008037600080366000845af43d6000803e8080156100b2573d6000f35b3d6000fd5b606034156100c457600080fd5b6100d66100d18484610222565b6102b3565b92915050565b7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0054600090600160a01b900460e01b818061013e7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a00546001600160a01b031690565b6040516001600160e01b03196000351660248201526001600160a01b039190911690849060440160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516101a391906103d7565b600060405180830381855afa9150503d80600081146101de576040519150601f19603f3d011682016040523d82523d6000602084013e6101e3565b606091505b5091509150816102065760405163391aa44560e01b815260040160405180910390fd5b8080602001905181019061021a91906103f3565b935050505090565b600060405190506020815281816020015280604001808360051b8086843782018085156102a1575b835187018035602082018337600038823584305af461026c573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061024a575b60408181521b90931795945050505050565b8060401c8167ffffffffffffffff16f35b600080602083850312156102d757600080fd5b823567ffffffffffffffff808211156102ef57600080fd5b818501915085601f83011261030357600080fd5b81358181111561031257600080fd5b8660208260051b850101111561032757600080fd5b60209290920196919550909350505050565b60005b8381101561035457818101518382015260200161033c565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156103ca57878503603f19018452815180518087526103ab818989018a8501610339565b601f01601f191695909501860194509285019290850190600101610384565b5092979650505050505050565b600082516103e9818460208701610339565b9190910192915050565b60006020828403121561040557600080fd5b81516001600160a01b038116811461041c57600080fd5b939250505056","sourceMap":"448:566:391:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;448:566:391;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;448:566:391;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063ade4c8fa146200003f578063e8546e071462000072575b600080fd5b6200005662000050366004620017c1565b6200007e565b6040516001600160a01b03909116815260200160405180910390f35b6200007c6200010d565b005b60003068929eee149b4bd212685403620000a05763ab143c066000526004601cfd5b3068929eee149b4bd21268557fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615620000f0576040516302ca8ced60e11b815260040160405180910390fd5b620000fb826200016c565b3868929eee149b4bd212685592915050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166200015857604051630ef4733760e31b815260040160405180910390fd5b6200016a6356f2647d60e11b6200052d565b565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00805460408051631d5e528f60e21b815290516000937f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f000093909285926001600160a01b03909216916375794a3c916004808201926020929091908290030181865afa15801562000200573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002269190620018f8565b90506200023881866080015162000608565b83549094508360006200024b8362001912565b90915550506000818152600284016020908152604080832080546001600160a01b0319166001600160a01b0389811691821790925584526001870183529281902084905584548851928901518983015160608b01519351630efd6e3d60e21b81529290951694633bf5b8f494620002cb9490938b9291906004016200198e565b6020604051808303816000875af1158015620002eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003119190620018f8565b5060018201546000906200032f906001600160a01b03168662000634565b60058401549091506000906200034f906001600160a01b03168762000634565b604080516002808252606082018352929350600092909160208301908036833701905050905082816000815181106200038c576200038c620019fe565b60200260200101906001600160a01b031690816001600160a01b0316815250508181600181518110620003c357620003c3620019fe565b6001600160a01b039283166020918202929092010152604051638bfc820f60e01b815290881690638bfc820f906200040090849060040162001a14565b600060405180830381600087803b1580156200041b57600080fd5b505af115801562000430573d6000803e3d6000fd5b505050506200044a8784848b6080015160200151620006f1565b5060808801518051516040909101516000916200046b918a91908762000b24565b90506200047e88828b60a0015162000cb4565b8554604051632142170760e11b8152306004820152336024820152604481018790526001600160a01b03909116906342842e0e90606401600060405180830381600087803b158015620004d057600080fd5b505af1158015620004e5573d6000803e3d6000fd5b50506040516001600160a01b038b16925087915033907fe50fc3942f8a2d7e5a7c8fb9488499eba5255b41e18bc3f1b4791402976d1d0b90600090a450505050505050919050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16620005b7576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055620005d0565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b600080600062000619858562000db5565b9150915062000629828262000f1f565b925050505b92915050565b60008060405180602001620006499062000f9a565b601f1982820381018352601f9091011660408190526001600160a01b0385166024820152859060440160408051601f19818403018152918152602080830180516001600160e01b031663189acdbd60e31b1790529051620006ad9392910162001a63565b60408051601f1981840301815290829052620006cd929160200162001a89565b6040516020818303038152906040529050620006e98162000f45565b949350505050565b604080516001808252818301909252600091829190816020015b60608152602001906001900390816200070b579050509050604051806040016040528060098152602001684a6f696e537061636560b81b815250816000815181106200075b576200075b620019fe565b6020026020010181905250856001600160a01b0316638fcd793d6040518060400160405280600681526020016526b4b73a32b960d11b8152508360006001600160401b03811115620007b157620007b162000fb6565b604051908082528060200260200182016040528015620007f957816020015b604080518082019091526000815260606020820152815260200190600190039081620007d05790505b506040518463ffffffff1660e01b81526004016200081a9392919062001ae5565b6020604051808303816000875af11580156200083a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008609190620018f8565b8351909250156200096e5760408051600180825281830190925260009160208083019080368337019050509050600181600081518110620008a557620008a5620019fe565b60200260200101906001600160a01b031690816001600160a01b031681525050866001600160a01b031663ba201ba88460405180604001604052808a6001600160a01b031681526020018560405160200162000902919062001a14565b6040516020818303038152906040528152506040518363ffffffff1660e01b81526004016200093392919062001bb7565b600060405180830381600087803b1580156200094e57600080fd5b505af115801562000963573d6000803e3d6000fd5b505050505062000b1b565b6020830151511562000a675760005b836020015151811015620009bf57620009b684602001518281518110620009a857620009a8620019fe565b602002602001015162000f6f565b6001016200097d565b50856001600160a01b031663ba201ba8836040518060400160405280896001600160a01b03168152602001876020015160405160200162000a01919062001a14565b6040516020818303038152906040528152506040518363ffffffff1660e01b815260040162000a3292919062001bb7565b600060405180830381600087803b15801562000a4d57600080fd5b505af115801562000a62573d6000803e3d6000fd5b505050505b604083015151511562000b1b57856001600160a01b031663ba201ba8836040518060400160405280886001600160a01b03168152602001876040015160405160200162000ab5919062001ccf565b6040516020818303038152906040528152506040518363ffffffff1660e01b815260040162000ae692919062001bb7565b600060405180830381600087803b15801562000b0157600080fd5b505af115801562000b16573d6000803e3d6000fd5b505050505b50949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905060018160008151811062000b615762000b61620019fe565b6001600160a01b039290921660209283029190910190910152604080516001808252818301909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908162000b91579050509050838160008151811062000bd35762000bd3620019fe565b6020908102919091018101516001600160a01b0390921690915260405162000bfe9184910162001a14565b6040516020818303038152906040528160008151811062000c235762000c23620019fe565b6020908102919091018101510152604051638fcd793d60e01b81526001600160a01b03881690638fcd793d9062000c639089908990869060040162001ae5565b6020604051808303816000875af115801562000c83573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ca99190620018f8565b979650505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811062000ced5762000ced620019fe565b602090810291909101810191909152604051600160fd1b918101919091526bffffffffffffffffffffffff19606086901b16602182015260009060350160405160208183030381529060405262000d449062001d7a565b835160405163921f717560e01b81529192506001600160a01b0387169163921f71759162000d7a91859190879060040162001da2565b600060405180830381600087803b15801562000d9557600080fd5b505af115801562000daa573d6000803e3d6000fd5b505050505050505050565b60408051336020808301919091528183018590524260608381019190915283518084038201815260809093019093528151910120825160c08101517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d0091906001600160a01b031662000e28573360c08201525b60068201546040516001600160a01b039091169062000e4a6020820162000fa8565b601f19828203810183526040601f90920116818101825263dc9cc64560e01b81523060208281018290528351808501855288546001600160a01b031681529081018c905292519192859262000ea89233929091899060240162001e03565b60408051601f19818403018152918152602080830180516001600160e01b03166320723eff60e11b179052905162000ee4949392910162001ee9565b60408051601f198184030181529082905262000f04929160200162001a89565b60405160208183030381529060405294505050509250929050565b60008260200183518381836000f592505050806200062e5763ef35ca196000526004601cfd5b600081602001825180826000f0925050508062000f6a5763ef35ca196000526004601cfd5b919050565b6001600160a01b03811662000f97576040516302e47d1560e41b815260040160405180910390fd5b50565b6103d48062001f3a83390190565b610798806200230e83390190565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405290565b604051606081016001600160401b038111828210171562000ff15762000ff162000fb6565b604080519081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405161012081016001600160401b038111828210171562000ff15762000ff162000fb6565b60405160c081016001600160401b038111828210171562000ff15762000ff162000fb6565b604051601f8201601f191681016001600160401b0381118282101715620010b757620010b762000fb6565b604052919050565b600082601f830112620010d157600080fd5b81356001600160401b03811115620010ed57620010ed62000fb6565b62001102601f8201601f19166020016200108c565b8181528460208386010111156200111857600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160401b038116811462000f6a57600080fd5b80356001600160a01b038116811462000f6a57600080fd5b8035801515811462000f6a57600080fd5b60006001600160401b0382111562001192576200119262000fb6565b5060051b60200190565b6003811062000f9757600080fd5b803560ff8116811462000f6a57600080fd5b600082601f830112620011ce57600080fd5b81356020620011e7620011e18362001176565b6200108c565b828152600792831b85018201928282019190878511156200120757600080fd5b8387015b8581101562001276576080818a031215620012265760008081fd5b6200123062000fcc565b8135838110620012405760008081fd5b815281860135868201526040620012598184016200114d565b90820152606082810135908201528452928401926080016200120b565b5090979650505050505050565b600082601f8301126200129557600080fd5b81356020620012a8620011e18362001176565b82815260609283028501820192828201919087851115620012c857600080fd5b8387015b85811015620012765781818a031215620012e65760008081fd5b620012f062000ff7565b8135620012fd816200119c565b81526200130c828701620011aa565b8682015260406200131f818401620011aa565b908201528452928401928101620012cc565b6000606082840312156200134457600080fd5b6200134e62000ff7565b905081356001600160401b03808211156200136857600080fd5b818401915084601f8301126200137d57600080fd5b8135602062001390620011e18362001176565b82815260069290921b84018101918181019088841115620013b057600080fd5b948201945b838610156200140d576040868a031215620013d05760008081fd5b620013da6200101c565b8635620013e7816200119c565b8152620013f6878501620011aa565b8185015282526040959095019490820190620013b5565b865250858101359350828411156200142457600080fd5b6200143287858801620011bc565b908501525060408401359150808211156200144c57600080fd5b506200145b8482850162001283565b60408301525092915050565b6000608082840312156200147a57600080fd5b6200148462000fcc565b9050620014918262001165565b81526020808301356001600160401b0380821115620014af57600080fd5b818501915085601f830112620014c457600080fd5b8135620014d5620011e18262001176565b81815260059190911b83018401908481019088831115620014f557600080fd5b938501935b828510156200151e576200150e856200114d565b82529385019390850190620014fa565b808688015250505060408501359250808311156200153b57600080fd5b50506200154b8482850162001331565b6040830152506200155f6060830162001165565b606082015292915050565b600082601f8301126200157c57600080fd5b813560206200158f620011e18362001176565b82815260059290921b84018101918181019086841115620015af57600080fd5b8286015b84811015620015f35780356001600160401b03811115620015d45760008081fd5b620015e48986838b0101620010bf565b845250918301918301620015b3565b509695505050505050565b6000606082840312156200161157600080fd5b6200161b62000ff7565b905081356001600160401b03808211156200163557600080fd5b9083019061012082860312156200164b57600080fd5b6200165562001041565b8235828111156200166557600080fd5b6200167387828601620010bf565b8252506020830135828111156200168957600080fd5b6200169787828601620010bf565b6020830152506040830135604082015260608301356060820152620016bf6080840162001135565b6080820152620016d260a084016200114d565b60a0820152620016e560c084016200114d565b60c082015260e083013560e0820152610100620017048185016200114d565b90820152835260208401359150808211156200171f57600080fd5b6200172d8583860162001467565b602084015260408401359150808211156200174757600080fd5b506200145b848285016200156a565b6000602082840312156200176957600080fd5b604051602081016001600160401b0382821081831117156200178f576200178f62000fb6565b816040528293508435915080821115620017a857600080fd5b50620017b785828601620010bf565b8252505092915050565b600060208284031215620017d457600080fd5b81356001600160401b0380821115620017ec57600080fd5b9083019060c082860312156200180157600080fd5b6200180b62001067565b8235828111156200181b57600080fd5b6200182987828601620010bf565b8252506020830135828111156200183f57600080fd5b6200184d87828601620010bf565b6020830152506040830135828111156200186657600080fd5b6200187487828601620010bf565b6040830152506060830135828111156200188d57600080fd5b6200189b87828601620010bf565b606083015250608083013582811115620018b457600080fd5b620018c287828601620015fe565b60808301525060a083013582811115620018db57600080fd5b620018e98782860162001756565b60a08301525095945050505050565b6000602082840312156200190b57600080fd5b5051919050565b6000600182016200193357634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620019575781810151838201526020016200193d565b50506000910152565b600081518084526200197a8160208601602086016200193a565b601f01601f19169290920160200192915050565b60a081526000620019a360a083018862001960565b8281036020840152620019b7818862001960565b6001600160a01b038716604085015283810360608501529050620019dc818662001960565b90508281036080840152620019f2818562001960565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101562001a575783516001600160a01b03168352928401929184019160010162001a30565b50909695505050505050565b6001600160a01b0383168152604060208201819052600090620006e99083018462001960565b6000835162001a9d8184602088016200193a565b83519083019062001ab38183602088016200193a565b01949350505050565b60018060a01b0381511682526000602082015160406020850152620006e9604085018262001960565b60608152600062001afa606083018662001960565b6020838203818501528186518084528284019150828160051b85010183890160005b8381101562001b4e57601f1987840301855262001b3b83835162001960565b9486019492509085019060010162001b1c565b50508681036040880152875180825284820195509250600583901b81018401915083880160005b8481101562001ba757601f1983850301875262001b9484835162001abc565b9686019693509085019060010162001b75565b50919a9950505050505050505050565b828152604060208201526000620006e9604083018462001abc565b634e487b7160e01b600052602160045260246000fd5b6003811062000f975762000f9762001bd2565b60008151808452602080850194506020840160005b8381101562001c6a57815180516007811062001c305762001c3062001bd2565b885280840151848901526040808201516001600160a01b031690890152606090810151908801526080909601959082019060010162001c10565b509495945050505050565b60008151808452602080850194506020840160005b8381101562001c6a578151805162001ca28162001be8565b88528084015160ff908116858a015260409182015116908801526060909601959082019060010162001c8a565b6020808252825160608383015280516080840181905260009291820190839060a08601905b8083101562001d2f578351805162001d0c8162001be8565b835285015160ff1685830152928401926001929092019160409091019062001cf4565b50838701519350601f1992508286820301604087015262001d51818562001bfb565b9350505060408501518185840301606086015262001d70838262001c75565b9695505050505050565b8051602080830151919081101562001d9c576000198160200360031b1b821691505b50919050565b838152600060206060602084015262001dbf606084018662001960565b83810360408501528451808252602080870192019060005b8181101562001df55783518352928401929184019160010162001dd7565b509098975050505050505050565b600060018060a01b0380871683528086166020840152808551166040840152506020840151606083015260a0608083015282516101208060a085015262001e4f6101c085018362001960565b91506020850151609f198584030160c086015262001e6e838262001960565b925050604085015160e0850152606085015161010081818701526080870151915062001ea4838701836001600160401b03169052565b60a08701516001600160a01b0390811661014088015260c0880151811661016088015260e0880151610180880152908701519081166101a08701529150620015f39050565b83516001600160e01b03191681526020808501516001600160a01b03908116918301919091528316604082015260806060820181905260009062001f309083018462001960565b9594505050505056fe60806040526040516103d43803806103d483398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b6074806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fd608060405234801561001057600080fd5b5060405161079838038061079883398101604081905261002f91610259565b6100958380517f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0080546020909301516001600160a01b03166001600160a01b031960e09390931c600160a01b02929092166001600160c01b031990931692909217179055565b61009f82826100a8565b50505050610366565b6060600080846001600160a01b0316846040516100c5919061034a565b600060405180830381855af49150503d8060008114610100576040519150601f19603f3d011682016040523d82523d6000602084013e610105565b606091505b50909250905061011685838361011f565b95945050505050565b6060826101345761012f82610182565b61017b565b815115801561014b57506001600160a01b0384163b155b1561017857604051639996b31560e01b81526001600160a01b038516600482015260240160405180910390fd5b50805b9392505050565b8051156101925780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156101e3576101e36101ab565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610211576102116101ab565b604052919050565b80516001600160a01b038116811461023057600080fd5b919050565b60005b83811015610250578181015183820152602001610238565b50506000910152565b6000806000838503608081121561026f57600080fd5b604081121561027d57600080fd5b506102866101c1565b84516001600160e01b03198116811461029e57600080fd5b815260206102ad868201610219565b818301528194506102c060408701610219565b606087015190945091506001600160401b03808311156102df57600080fd5b828701925087601f8401126102f357600080fd5b825181811115610305576103056101ab565b610317601f8201601f191684016101e9565b9150808252888382860101111561032d57600080fd5b61033c81848401858701610235565b508093505050509250925092565b6000825161035c818460208701610235565b9190910192915050565b610423806103756000396000f3fe6080604052600436106100225760003560e01c8063ac9650d81461003357610029565b3661002957005b61003161005c565b005b6100466100413660046102c4565b6100b7565b604051610053919061035d565b60405180910390f35b60006100666100dc565b9050806001600160a01b03163b600003610093576040516321f27f0d60e21b815260040160405180910390fd5b3660008037600080366000845af43d6000803e8080156100b2573d6000f35b3d6000fd5b606034156100c457600080fd5b6100d66100d18484610222565b6102b3565b92915050565b7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0054600090600160a01b900460e01b818061013e7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a00546001600160a01b031690565b6040516001600160e01b03196000351660248201526001600160a01b039190911690849060440160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516101a391906103d7565b600060405180830381855afa9150503d80600081146101de576040519150601f19603f3d011682016040523d82523d6000602084013e6101e3565b606091505b5091509150816102065760405163391aa44560e01b815260040160405180910390fd5b8080602001905181019061021a91906103f3565b935050505090565b600060405190506020815281816020015280604001808360051b8086843782018085156102a1575b835187018035602082018337600038823584305af461026c573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061024a575b60408181521b90931795945050505050565b8060401c8167ffffffffffffffff16f35b600080602083850312156102d757600080fd5b823567ffffffffffffffff808211156102ef57600080fd5b818501915085601f83011261030357600080fd5b81358181111561031257600080fd5b8660208260051b850101111561032757600080fd5b60209290920196919550909350505050565b60005b8381101561035457818101518382015260200161033c565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156103ca57878503603f19018452815180518087526103ab818989018a8501610339565b601f01601f191695909501860194509285019290850190600101610384565b5092979650505050505050565b600082516103e9818460208701610339565b9190910192915050565b60006020828403121561040557600080fd5b81516001600160a01b038116811461041c57600080fd5b939250505056","sourceMap":"448:566:391:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;860:152;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;13642:32:654;;;13624:51;;13612:2;13597:18;860:152:391;;;;;;;570:114;;;:::i;:::-;;860:152;962:7;1635:9:649;1610:22;1604:29;1601:44;1598:158;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41;286:66:578;519:31:576;;;286:55:::1;;;316:18;;-1:-1:-1::0;;;316:18:576::1;;;;;;;;;;;286:55;984:23:391::2;997:9;984:12;:23::i;:::-;1937:10:649::0;1913:22;1906:42;977:30:391;860:152;-1:-1:-1;;860:152:391:o;570:114::-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;630:49:391::1;-1:-1:-1::0;;;630:13:391::1;:49::i;:::-;570:114::o:0;2812:2199:392:-;961:66:170;3129:14:392;;:28;;;-1:-1:-1;;;3129:28:392;;;;2888:20;;274:66:168;;961::170;;2888:20:392;;-1:-1:-1;;;;;3129:14:392;;;;:26;;:28;;;;;;;;;;;;;;;:14;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3106:51;;3199:48;3212:12;3226:9;:20;;;3199:12;:48::i;:::-;3288:15;;3184:63;;-1:-1:-1;3288:2:392;:13;:15;;;:::i;:::-;;;;-1:-1:-1;;3334:31:392;;;;:17;;;:31;;;;;;;;:46;;-1:-1:-1;;;;;;3334:46:392;-1:-1:-1;;;;;3334:46:392;;;;;;;;;3386:31;;-1:-1:-1;3386:17:392;;:31;;;;;;:46;;;3486:14;;3518;;3540:13;;;;3581:26;;;;3615:25;;;;3486:160;;-1:-1:-1;;;3486:160:392;;:14;;;;;:24;;:160;;3518:14;;3334:46;;3581:26;3615:25;3486:160;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3762:19:392;;;;3684:32;;3743:53;;-1:-1:-1;;;;;3762:19:392;3783:12;3743:18;:53::i;:::-;3919:25;;;;3684:118;;-1:-1:-1;3841:32:392;;3900:59;;-1:-1:-1;;;;;3919:25:392;3946:12;3900:18;:59::i;:::-;4004:16;;;4018:1;4004:16;;;;;;;;3841:124;;-1:-1:-1;3972:29:392;;4004:16;;;;;;;;;;;;-1:-1:-1;4004:16:392;3972:48;;4052:15;4026:12;4039:1;4026:15;;;;;;;;:::i;:::-;;;;;;:42;-1:-1:-1;;;;;4026:42:392;;;-1:-1:-1;;;;;4026:42:392;;;;;4100:15;4074:12;4087:1;4074:15;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4074:42:392;;;:15;;;;;;;;;:42;4160:73;;-1:-1:-1;;;4160:73:392;;:59;;;;;;:73;;4220:12;;4160:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4284:137;4316:12;4336:15;4359;4382:9;:20;;;:33;;;4284:24;:137::i;:::-;-1:-1:-1;4564:20:392;;;;:29;;:34;4606:32;;;;;4489:20;;4512:155;;4544:12;;4564:34;4646:15;4512:24;:155::i;:::-;4489:178;;4704:68;4726:12;4740;4754:9;:17;;;4704:21;:68::i;:::-;4826:14;;4809:115;;-1:-1:-1;;;4809:115:392;;4875:4;4809:115;;;16492:34:654;4888:10:392;16542:18:654;;;16535:43;16594:18;;;16587:34;;;-1:-1:-1;;;;;4826:14:392;;;;4809:50;;16427:18:654;;4809:115:392;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4954:52:392;;-1:-1:-1;;;;;4954:52:392;;;-1:-1:-1;4979:12:392;;-1:-1:-1;4967:10:392;;4954:52;;;;;2910:2101;;;;;;;2812:2199;;;:::o;456:282:557:-;-1:-1:-1;;;;;;1119:62:557;;1100:4;1119:62;;;296:66:559;1119:62:557;;;;;;;;514:182;;-1:-1:-1;;;;;;560:62:557;;:49;:62;;;296:66:559;560:62:557;;;;;:69;;-1:-1:-1;;560:69:557;625:4;560:69;;;514:182;;;657:32;;-1:-1:-1;;;657:32:557;;;;;;;;;;;514:182;706:27;;-1:-1:-1;;;;;;706:27:557;;;;;;;;456:282;:::o;8558:300:392:-;8662:13;8711:21;8734:12;8750:67;8781:12;8801:10;8750:23;:67::i;:::-;8710:107;;;;8830:23;8838:8;8848:4;8830:7;:23::i;:::-;8823:30;;;;8558:300;;;;;:::o;8862:381::-;8968:7;9010:21;9058:31;;;;;;;;:::i;:::-;-1:-1:-1;;9058:31:392;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13642:32:654;;9138:55:392;;;13624:51:654;9117:11:392;;13597:18:654;;9138:55:392;;;-1:-1:-1;;9138:55:392;;;;;;;;;;;;;;;-1:-1:-1;;;;;9138:55:392;-1:-1:-1;;;9138:55:392;;;9097:104;;;;;9138:55;9097:104;;:::i;:::-;;;;-1:-1:-1;;9097:104:392;;;;;;;;;;9034:173;;;9097:104;9034:173;;:::i;:::-;;;;;;;;;;;;;9010:197;;9221:17;9229:8;9221:7;:17::i;:::-;9214:24;8862:381;-1:-1:-1;;;;8862:381:392:o;6180:1589::-;6442:15;;;6455:1;6442:15;;;;;;;;;6386:14;;;;6442:15;;;;;;;;;;;;;;;;;;;;;6408:49;;6484:21;;;;;;;;;;;;;-1:-1:-1;;;6484:21:392;;;6463:15;6479:1;6463:18;;;;;;;;:::i;:::-;;;;;;:42;;;;6528:12;-1:-1:-1;;;;;6521:31:392;;6560:11;;;;;;;;;;;;;-1:-1:-1;;;6560:11:392;;;6579:15;6637:1;-1:-1:-1;;;;;6602:37:392;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;6602:37:392;;;;;;;;;;;;;;;;6521:124;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6656:21;;6512:133;;-1:-1:-1;6652:1094:392;;;6712:16;;;6726:1;6712:16;;;;;;;;;6687:22;;6712:16;;;;;;;;;;;-1:-1:-1;6712:16:392;6687:41;;2240:1;6736:5;6742:1;6736:8;;;;;;;;:::i;:::-;;;;;;:27;-1:-1:-1;;;;;6736:27:392;;;-1:-1:-1;;;;;6736:27:392;;;;;6779:12;-1:-1:-1;;;;;6772:41:392;;6823:6;6839:110;;;;;;;;6888:15;-1:-1:-1;;;;;6839:110:392;;;;;6932:5;6921:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;6839:110;;;6772:185;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6679:285;6652:1094;;;6982:18;;;;:25;:30;6978:473;;7055:9;7050:172;7074:12;:18;;;:25;7070:1;:29;7050:172;;;7115:45;7138:12;:18;;;7157:1;7138:21;;;;;;;;:::i;:::-;;;;;;;7115:22;:45::i;:::-;7196:3;;7050:172;;;;7239:12;-1:-1:-1;;;;;7232:41:392;;7285:6;7303:129;;;;;;;;7354:15;-1:-1:-1;;;;;7303:129:392;;;;;7400:12;:18;;;7389:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;7303:129;;;7232:210;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6978:473;7463:21;;;;:32;:39;:43;7459:281;;7525:12;-1:-1:-1;;;;;7518:41:392;;7571:6;7589:132;;;;;;;;7640:15;-1:-1:-1;;;;;7589:132:392;;;;;7686:12;:21;;;7675:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;7589:132;;;7518:213;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7459:281;7751:13;6180:1589;;;;;;:::o;7773:601::-;8009:16;;;8023:1;8009:16;;;;;;;;;7962:14;;;;8009:16;;;;;;;;;;;;-1:-1:-1;8009:16:392;7984:41;;2240:1;8031:5;8037:1;8031:8;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8031:27:392;;;;:8;;;;;;;;;;;:27;8124:37;;;8159:1;8124:37;;;;;;;;;8065:56;;8124:37;;;;-1:-1:-1;;;;;;;;;;;;;;;;;8124:37:392;;;;;;;;;;;;;;;8065:96;;8192:15;8167:12;8180:1;8167:15;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;8167:40:392;;;;;;8236:17;;;;8247:5;;8236:17;;:::i;:::-;;;;;;;;;;;;;8213:12;8226:1;8213:15;;;;;;;;:::i;:::-;;;;;;;;;;;;:20;:40;8269:100;;-1:-1:-1;;;8269:100:392;;-1:-1:-1;;;;;8269:31:392;;;;;:100;;8308:10;;8326:17;;8351:12;;8269:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8260:109;7773:601;-1:-1:-1;;;;;;;7773:601:392:o;5584:406::-;5736:16;;;5750:1;5736:16;;;;;;;;;5709:24;;5736:16;;;;;;;;;;;-1:-1:-1;5736:16:392;5709:43;;5771:6;5758:7;5766:1;5758:10;;;;;;;;:::i;:::-;;;;;;;;;;;:19;;;;5826:44;;-1:-1:-1;;;5826:44:392;;;23199:39:654;;;;-1:-1:-1;;5855:14:392;;;;23267:44:654;23254:11;;;23247:65;5784:24:392;;23328:12:654;;5826:44:392;;;;;;;;;;;;5811:65;;;:::i;:::-;5944:20;;5883:102;;-1:-1:-1;;;5883:102:392;;5784:92;;-1:-1:-1;;;;;;5883:29:392;;;;;:102;;5784:92;;5944:20;5972:7;;5883:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5703:287;;5584:406;;;:::o;9247:1241::-;9528:53;;;9539:10;9528:53;;;;24694:51:654;;;;24761:18;;;24754:34;;;9565:15:392;9367:21;24804:18:654;;;24797:34;;;;9528:53:392;;;;;;;;;24667:18:654;;;;9528:53:392;;;9518:64;;;;;9644:19;;9673:31;;;;961:66:170;;9644:19:392;-1:-1:-1;;;;;9673:45:392;9669:110;;9762:10;9728:31;;;:44;9669:110;9820:19;;;;9909:29;;-1:-1:-1;;;;;9820:19:392;;;;9909:29;;;;;:::i;:::-;-1:-1:-1;;9909:29:392;;;;;;;;;;;;;9966:145;;;;;-1:-1:-1;;;9966:145:392;;10095:4;9909:29;9966:145;;;;;;10282:133;;;;;;;10349:13;;-1:-1:-1;;;;;10349:13:392;10282:133;;;;;;;;10147:322;;9909:29;;10121:16;;10147:322;;10231:10;;10095:4;;10429:18;;10147:322;;;:::i;:::-;;;;-1:-1:-1;;10147:322:392;;;;;;;;;;;;;;;-1:-1:-1;;;;;10147:322:392;-1:-1:-1;;;10147:322:392;;;9946:531;;;;;;10147:322;9946:531;;:::i;:::-;;;;-1:-1:-1;;9946:531:392;;;;;;;;;;9885:598;;;9946:531;9885:598;;:::i;:::-;;;;;;;;;;;;;9874:609;;9404:1084;;;9247:1241;;;;;:::o;1185:432:306:-;1269:18;1358:8;1352:4;1348:19;1400:8;1394:15;1469:4;1455:12;1441;1438:1;1430:44;1416:58;;;;1491:10;1481:126;;1523:10;1520:1;1513:21;1594:4;1588;1581:18;447:407;513:18;602:8;596:4;592:19;644:8;638:15;698:12;684;681:1;674:37;660:51;;;;728:10;718:126;;760:10;757:1;750:21;831:4;825;818:18;718:126;447:407;;;:::o;740:119:316:-;-1:-1:-1;;;;;800:18:316;;796:58;;827:27;;-1:-1:-1;;;827:27:316;;;;;;;;;;;796:58;740:119;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:127:654:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:253;218:2;212:9;260:4;248:17;;-1:-1:-1;;;;;280:34:654;;316:22;;;277:62;274:88;;;342:18;;:::i;:::-;378:2;371:22;146:253;:::o;404:::-;476:2;470:9;518:4;506:17;;-1:-1:-1;;;;;538:34:654;;574:22;;;535:62;532:88;;;600:18;;:::i;662:257::-;734:4;728:11;;;766:17;;-1:-1:-1;;;;;798:34:654;;834:22;;;795:62;792:88;;;860:18;;:::i;924:255::-;996:2;990:9;1038:6;1026:19;;-1:-1:-1;;;;;1060:34:654;;1096:22;;;1057:62;1054:88;;;1122:18;;:::i;1184:253::-;1256:2;1250:9;1298:4;1286:17;;-1:-1:-1;;;;;1318:34:654;;1354:22;;;1315:62;1312:88;;;1380:18;;:::i;1442:275::-;1513:2;1507:9;1578:2;1559:13;;-1:-1:-1;;1555:27:654;1543:40;;-1:-1:-1;;;;;1598:34:654;;1634:22;;;1595:62;1592:88;;;1660:18;;:::i;:::-;1696:2;1689:22;1442:275;;-1:-1:-1;1442:275:654:o;1722:531::-;1765:5;1818:3;1811:4;1803:6;1799:17;1795:27;1785:55;;1836:1;1833;1826:12;1785:55;1872:6;1859:20;-1:-1:-1;;;;;1894:2:654;1891:26;1888:52;;;1920:18;;:::i;:::-;1964:55;2007:2;1988:13;;-1:-1:-1;;1984:27:654;2013:4;1980:38;1964:55;:::i;:::-;2044:2;2035:7;2028:19;2090:3;2083:4;2078:2;2070:6;2066:15;2062:26;2059:35;2056:55;;;2107:1;2104;2097:12;2056:55;2172:2;2165:4;2157:6;2153:17;2146:4;2137:7;2133:18;2120:55;2220:1;2195:16;;;2213:4;2191:27;2184:38;;;;2199:7;1722:531;-1:-1:-1;;;1722:531:654:o;2258:171::-;2325:20;;-1:-1:-1;;;;;2374:30:654;;2364:41;;2354:69;;2419:1;2416;2409:12;2434:173;2502:20;;-1:-1:-1;;;;;2551:31:654;;2541:42;;2531:70;;2597:1;2594;2587:12;2612:160;2677:20;;2733:13;;2726:21;2716:32;;2706:60;;2762:1;2759;2752:12;2777:183;2837:4;-1:-1:-1;;;;;2862:6:654;2859:30;2856:56;;;2892:18;;:::i;:::-;-1:-1:-1;2937:1:654;2933:14;2949:4;2929:25;;2777:183::o;2965:120::-;3059:1;3052:5;3049:12;3039:40;;3075:1;3072;3065:12;3090:156;3156:20;;3216:4;3205:16;;3195:27;;3185:55;;3236:1;3233;3226:12;3251:1312;3319:5;3372:3;3365:4;3357:6;3353:17;3349:27;3339:55;;3390:1;3387;3380:12;3339:55;3426:6;3413:20;3452:4;3476:60;3492:43;3532:2;3492:43;:::i;:::-;3476:60;:::i;:::-;3570:15;;;3632:1;3672:10;;;3660:23;;3656:32;;;3601:12;;;;3558:3;3700:15;;;3697:35;;;3728:1;3725;3718:12;3697:35;3764:2;3756:6;3752:15;3776:758;3792:6;3787:3;3784:15;3776:758;;;3870:4;3864:3;3859;3855:13;3851:24;3848:114;;;3916:1;3945:2;3941;3934:14;3848:114;3988:22;;:::i;:::-;4051:3;4038:17;4090:2;4081:7;4078:15;4068:113;;4135:1;4164:2;4160;4153:14;4068:113;4194:22;;4265:12;;;4252:26;4236:14;;;4229:50;4302:2;4340:32;4359:12;;;4340:32;:::i;:::-;4324:14;;;4317:56;4396:2;4447:12;;;4434:26;4418:14;;;4411:50;4474:18;;4512:12;;;;3818:4;3809:14;3776:758;;;-1:-1:-1;4552:5:654;;3251:1312;-1:-1:-1;;;;;;;3251:1312:654:o;4568:1169::-;4638:5;4691:3;4684:4;4676:6;4672:17;4668:27;4658:55;;4709:1;4706;4699:12;4658:55;4745:6;4732:20;4771:4;4795:60;4811:43;4851:2;4811:43;:::i;4795:60::-;4889:15;;;4951:4;4994:13;;;4982:26;;4978:35;;;4920:12;;;;4877:3;5025:15;;;5022:35;;;5053:1;5050;5043:12;5022:35;5089:2;5081:6;5077:15;5101:607;5117:6;5112:3;5109:15;5101:607;;;5193:2;5187:3;5182;5178:13;5174:22;5171:112;;;5237:1;5266:2;5262;5255:14;5171:112;5309:22;;:::i;:::-;5372:3;5359:17;5389:52;5433:7;5389:52;:::i;:::-;5454:22;;5512:30;5529:12;;;5512:30;:::i;:::-;5507:2;5500:5;5496:14;5489:54;5566:2;5604:30;5630:2;5625:3;5621:12;5604:30;:::i;:::-;5588:14;;;5581:54;5648:18;;5686:12;;;;5134;;5101:607;;5742:1726;5797:5;5845:4;5833:9;5828:3;5824:19;5820:30;5817:50;;;5863:1;5860;5853:12;5817:50;5885:22;;:::i;:::-;5876:31;;5943:9;5930:23;-1:-1:-1;;;;;6013:2:654;6005:6;6002:14;5999:34;;;6029:1;6026;6019:12;5999:34;6067:6;6056:9;6052:22;6042:32;;6112:3;6105:4;6101:2;6097:13;6093:23;6083:51;;6130:1;6127;6120:12;6083:51;6166:2;6153:16;6188:4;6212:60;6228:43;6268:2;6228:43;:::i;6212:60::-;6306:15;;;6388:1;6384:10;;;;6376:19;;6372:28;;;6337:12;;;;6412:15;;;6409:35;;;6440:1;6437;6430:12;6409:35;6464:11;;;;6484:527;6500:6;6495:3;6492:15;6484:527;;;6578:4;6572:3;6567;6563:13;6559:24;6556:114;;;6624:1;6653:2;6649;6642:14;6556:114;6698:22;;:::i;:::-;6761:3;6748:17;6778:52;6822:7;6778:52;:::i;:::-;6843:24;;6905:30;6922:12;;;6905:30;:::i;:::-;6887:16;;;6880:56;6949:20;;6526:4;6517:14;;;;;6989:12;;;;6484:527;;;7020:20;;-1:-1:-1;7078:18:654;;;7065:32;;-1:-1:-1;7109:16:654;;;7106:36;;;7138:1;7135;7128:12;7106:36;7174:73;7243:3;7232:8;7221:9;7217:24;7174:73;:::i;:::-;7158:14;;;7151:97;-1:-1:-1;7301:4:654;7286:20;;7273:34;;-1:-1:-1;7319:16:654;;;7316:36;;;7348:1;7345;7338:12;7316:36;;7386:75;7457:3;7446:8;7435:9;7431:24;7386:75;:::i;:::-;7379:4;7372:5;7368:16;7361:101;;5742:1726;;;;:::o;7473:1265::-;7542:5;7590:4;7578:9;7573:3;7569:19;7565:30;7562:50;;;7608:1;7605;7598:12;7562:50;7630:22;;:::i;:::-;7621:31;;7675:26;7691:9;7675:26;:::i;:::-;7668:5;7661:41;7721:2;7774;7763:9;7759:18;7746:32;-1:-1:-1;;;;;7838:2:654;7830:6;7827:14;7824:34;;;7854:1;7851;7844:12;7824:34;7892:6;7881:9;7877:22;7867:32;;7937:3;7930:4;7926:2;7922:13;7918:23;7908:51;;7955:1;7952;7945:12;7908:51;7991:2;7978:16;8014:60;8030:43;8070:2;8030:43;:::i;8014:60::-;8108:15;;;8190:1;8186:10;;;;8178:19;;8174:28;;;8139:12;;;;8214:15;;;8211:35;;;8242:1;8239;8232:12;8211:35;8266:11;;;;8286:148;8302:6;8297:3;8294:15;8286:148;;;8368:23;8387:3;8368:23;:::i;:::-;8356:36;;8319:12;;;;8412;;;;8286:148;;;8466:5;8461:2;8454:5;8450:14;8443:29;;;;8525:2;8514:9;8510:18;8497:32;8481:48;;8554:2;8544:8;8541:16;8538:36;;;8570:1;8567;8560:12;8538:36;;;8606:57;8659:3;8648:8;8637:9;8633:24;8606:57;:::i;:::-;8601:2;8594:5;8590:14;8583:81;;8696:35;8727:2;8716:9;8712:18;8696:35;:::i;:::-;8691:2;8684:5;8680:14;8673:59;7473:1265;;;;:::o;8743:888::-;8796:5;8849:3;8842:4;8834:6;8830:17;8826:27;8816:55;;8867:1;8864;8857:12;8816:55;8903:6;8890:20;8929:4;8953:60;8969:43;9009:2;8969:43;:::i;8953:60::-;9047:15;;;9133:1;9129:10;;;;9117:23;;9113:32;;;9078:12;;;;9157:15;;;9154:35;;;9185:1;9182;9175:12;9154:35;9221:2;9213:6;9209:15;9233:369;9249:6;9244:3;9241:15;9233:369;;;9335:3;9322:17;-1:-1:-1;;;;;9358:11:654;9355:35;9352:125;;;9431:1;9460:2;9456;9449:14;9352:125;9502:57;9555:3;9550:2;9536:11;9528:6;9524:24;9520:33;9502:57;:::i;:::-;9490:70;;-1:-1:-1;9580:12:654;;;;9266;;9233:369;;;-1:-1:-1;9620:5:654;8743:888;-1:-1:-1;;;;;;8743:888:654:o;9636:1671::-;9693:5;9741:4;9729:9;9724:3;9720:19;9716:30;9713:50;;;9759:1;9756;9749:12;9713:50;9781:22;;:::i;:::-;9772:31;;9839:9;9826:23;-1:-1:-1;;;;;9909:2:654;9901:6;9898:14;9895:34;;;9925:1;9922;9915:12;9895:34;9948:22;;;;10000:6;9986:12;;;9982:25;9979:45;;;10020:1;10017;10010:12;9979:45;10048:22;;:::i;:::-;10108:2;10095:16;10136:2;10126:8;10123:16;10120:36;;;10152:1;10149;10142:12;10120:36;10181:41;10218:3;10207:8;10203:2;10199:17;10181:41;:::i;:::-;10172:7;10165:58;;10269:2;10265;10261:11;10248:25;10298:2;10288:8;10285:16;10282:36;;;10314:1;10311;10304:12;10282:36;10352:41;10389:3;10378:8;10374:2;10370:17;10352:41;:::i;:::-;10347:2;10338:7;10334:16;10327:67;;10449:2;10445;10441:11;10428:25;10423:2;10414:7;10410:16;10403:51;10511:4;10507:2;10503:13;10490:27;10483:4;10474:7;10470:18;10463:55;10553:31;10579:3;10575:2;10571:12;10553:31;:::i;:::-;10547:3;10538:7;10534:17;10527:58;10620:32;10647:3;10643:2;10639:12;10620:32;:::i;:::-;10614:3;10605:7;10601:17;10594:59;10688:32;10715:3;10711:2;10707:12;10688:32;:::i;:::-;10682:3;10673:7;10669:17;10662:59;10777:3;10773:2;10769:12;10756:26;10750:3;10741:7;10737:17;10730:53;10802:3;10839:31;10866:2;10862;10858:11;10839:31;:::i;:::-;10821:16;;;10814:57;10880:22;;10955:2;10940:18;;10927:32;;-1:-1:-1;10971:16:654;;;10968:36;;;11000:1;10997;10990:12;10968:36;11036:71;11103:3;11092:8;11081:9;11077:24;11036:71;:::i;:::-;11031:2;11024:5;11020:14;11013:95;11161:2;11150:9;11146:18;11133:32;11117:48;;11190:2;11180:8;11177:16;11174:36;;;11206:1;11203;11196:12;11174:36;;11242:58;11296:3;11285:8;11274:9;11270:24;11242:58;:::i;11312:543::-;11370:5;11418:4;11406:9;11401:3;11397:19;11393:30;11390:50;;;11436:1;11433;11426:12;11390:50;11469:2;11463:9;11511:4;11503:6;11499:17;-1:-1:-1;;;;;11603:6:654;11591:10;11588:22;11583:2;11571:10;11568:18;11565:46;11562:72;;;11614:18;;:::i;:::-;11654:10;11650:2;11643:22;11683:6;11674:15;;11725:9;11712:23;11698:37;;11758:2;11750:6;11747:14;11744:34;;;11774:1;11771;11764:12;11744:34;;11802:46;11844:3;11835:6;11824:9;11820:22;11802:46;:::i;:::-;11794:6;11787:62;;;11312:543;;;;:::o;11860:1504::-;11947:6;12000:2;11988:9;11979:7;11975:23;11971:32;11968:52;;;12016:1;12013;12006:12;11968:52;12056:9;12043:23;-1:-1:-1;;;;;12126:2:654;12118:6;12115:14;12112:34;;;12142:1;12139;12132:12;12112:34;12165:22;;;;12221:4;12203:16;;;12199:27;12196:47;;;12239:1;12236;12229:12;12196:47;12265:22;;:::i;:::-;12325:2;12312:16;12353:2;12343:8;12340:16;12337:36;;;12369:1;12366;12359:12;12337:36;12396:45;12433:7;12422:8;12418:2;12414:17;12396:45;:::i;:::-;12389:5;12382:60;;12488:2;12484;12480:11;12467:25;12517:2;12507:8;12504:16;12501:36;;;12533:1;12530;12523:12;12501:36;12569:45;12606:7;12595:8;12591:2;12587:17;12569:45;:::i;:::-;12564:2;12557:5;12553:14;12546:69;;12661:2;12657;12653:11;12640:25;12690:2;12680:8;12677:16;12674:36;;;12706:1;12703;12696:12;12674:36;12742:45;12779:7;12768:8;12764:2;12760:17;12742:45;:::i;:::-;12737:2;12730:5;12726:14;12719:69;;12834:2;12830;12826:11;12813:25;12863:2;12853:8;12850:16;12847:36;;;12879:1;12876;12869:12;12847:36;12915:45;12952:7;12941:8;12937:2;12933:17;12915:45;:::i;:::-;12910:2;12903:5;12899:14;12892:69;;13007:3;13003:2;12999:12;12986:26;13037:2;13027:8;13024:16;13021:36;;;13053:1;13050;13043:12;13021:36;13090:56;13138:7;13127:8;13123:2;13119:17;13090:56;:::i;:::-;13084:3;13077:5;13073:15;13066:81;;13193:3;13189:2;13185:12;13172:26;13223:2;13213:8;13210:16;13207:36;;;13239:1;13236;13229:12;13207:36;13276:57;13325:7;13314:8;13310:2;13306:17;13276:57;:::i;:::-;13270:3;13259:15;;13252:82;-1:-1:-1;13263:5:654;11860:1504;-1:-1:-1;;;;;11860:1504:654:o;13686:184::-;13756:6;13809:2;13797:9;13788:7;13784:23;13780:32;13777:52;;;13825:1;13822;13815:12;13777:52;-1:-1:-1;13848:16:654;;13686:184;-1:-1:-1;13686:184:654:o;13875:232::-;13914:3;13935:17;;;13932:140;;13994:10;13989:3;13985:20;13982:1;13975:31;14029:4;14026:1;14019:15;14057:4;14054:1;14047:15;13932:140;-1:-1:-1;14099:1:654;14088:13;;13875:232::o;14112:250::-;14197:1;14207:113;14221:6;14218:1;14215:13;14207:113;;;14297:11;;;14291:18;14278:11;;;14271:39;14243:2;14236:10;14207:113;;;-1:-1:-1;;14354:1:654;14336:16;;14329:27;14112:250::o;14367:271::-;14409:3;14447:5;14441:12;14474:6;14469:3;14462:19;14490:76;14559:6;14552:4;14547:3;14543:14;14536:4;14529:5;14525:16;14490:76;:::i;:::-;14620:2;14599:15;-1:-1:-1;;14595:29:654;14586:39;;;;14627:4;14582:50;;14367:271;-1:-1:-1;;14367:271:654:o;14643:809::-;14964:3;14953:9;14946:22;14927:4;14991:46;15032:3;15021:9;15017:19;15009:6;14991:46;:::i;:::-;15085:9;15077:6;15073:22;15068:2;15057:9;15053:18;15046:50;15119:33;15145:6;15137;15119:33;:::i;:::-;-1:-1:-1;;;;;15188:32:654;;15183:2;15168:18;;15161:60;15257:22;;;15252:2;15237:18;;15230:50;15105:47;-1:-1:-1;15303:33:654;15105:47;15321:6;15303:33;:::i;:::-;15289:47;;15385:9;15377:6;15373:22;15367:3;15356:9;15352:19;15345:51;15413:33;15439:6;15431;15413:33;:::i;:::-;15405:41;14643:809;-1:-1:-1;;;;;;;;14643:809:654:o;15457:127::-;15518:10;15513:3;15509:20;15506:1;15499:31;15549:4;15546:1;15539:15;15573:4;15570:1;15563:15;15589:658;15760:2;15812:21;;;15882:13;;15785:18;;;15904:22;;;15731:4;;15760:2;15983:15;;;;15957:2;15942:18;;;15731:4;16026:195;16040:6;16037:1;16034:13;16026:195;;;16105:13;;-1:-1:-1;;;;;16101:39:654;16089:52;;16196:15;;;;16161:12;;;;16137:1;16055:9;16026:195;;;-1:-1:-1;16238:3:654;;15589:658;-1:-1:-1;;;;;;15589:658:654:o;16632:337::-;-1:-1:-1;;;;;16829:32:654;;16811:51;;16898:2;16893;16878:18;;16871:30;;;-1:-1:-1;;16918:45:654;;16944:18;;16936:6;16918:45;:::i;16974:492::-;17149:3;17187:6;17181:13;17203:66;17262:6;17257:3;17250:4;17242:6;17238:17;17203:66;:::i;:::-;17332:13;;17291:16;;;;17354:70;17332:13;17291:16;17401:4;17389:17;;17354:70;:::i;:::-;17440:20;;16974:492;-1:-1:-1;;;;16974:492:654:o;17471:287::-;17596:1;17592;17587:3;17583:11;17579:19;17571:5;17565:12;17561:38;17556:3;17549:51;17531:3;17646:4;17639:5;17635:16;17629:23;17684:4;17677;17672:3;17668:14;17661:28;17705:47;17746:4;17741:3;17737:14;17723:12;17705:47;:::i;17763:1690::-;18160:2;18149:9;18142:21;18123:4;18186:45;18227:2;18216:9;18212:18;18204:6;18186:45;:::i;:::-;18250:2;18300:9;18292:6;18288:22;18283:2;18272:9;18268:18;18261:50;18331:6;18366;18360:13;18397:6;18389;18382:22;18432:2;18424:6;18420:15;18413:22;;18491:2;18481:6;18478:1;18474:14;18466:6;18462:27;18458:36;18529:2;18521:6;18517:15;18550:1;18560:252;18574:6;18571:1;18568:13;18560:252;;;18664:2;18660:7;18651:6;18643;18639:19;18635:33;18630:3;18623:46;18692:40;18725:6;18716;18710:13;18692:40;:::i;:::-;18790:12;;;;18682:50;-1:-1:-1;18755:15:654;;;;18596:1;18589:9;18560:252;;;-1:-1:-1;;18848:22:654;;;18843:2;18828:18;;18821:50;18924:13;;18946:24;;;18988:15;;;;-1:-1:-1;18924:13:654;-1:-1:-1;19046:1:654;19042:16;;;19030:29;;19026:38;;;-1:-1:-1;19089:15:654;;;19124:1;19134:290;19150:8;19145:3;19142:17;19134:290;;;19248:2;19244:7;19235:6;19227;19223:19;19219:33;19212:5;19205:48;19276:60;19329:6;19318:8;19312:15;19276:60;:::i;:::-;19400:14;;;;19266:70;-1:-1:-1;19361:17:654;;;;19178:1;19169:11;19134:290;;;-1:-1:-1;19441:6:654;;17763:1690;-1:-1:-1;;;;;;;;;;17763:1690:654:o;19458:361::-;19687:6;19676:9;19669:25;19730:2;19725;19714:9;19710:18;19703:30;19650:4;19750:63;19809:2;19798:9;19794:18;19786:6;19750:63;:::i;19824:127::-;19885:10;19880:3;19876:20;19873:1;19866:31;19916:4;19913:1;19906:15;19940:4;19937:1;19930:15;19956:126;20050:1;20043:5;20040:12;20030:46;;20056:18;;:::i;20087:807::-;20154:3;20192:5;20186:12;20219:6;20214:3;20207:19;20245:4;20274;20269:3;20265:14;20258:21;;20313:4;20306:5;20302:16;20336:1;20346:523;20360:6;20357:1;20354:13;20346:523;;;20425:6;20419:13;20461:2;20455:9;20494:1;20490:2;20487:9;20477:43;;20500:18;;:::i;:::-;20533:15;;20588:11;;;20582:18;20568:12;;;20561:40;20624:4;20672:11;;;20666:18;-1:-1:-1;;;;;20662:44:654;20648:12;;;20641:66;20730:4;20774:11;;;20768:18;20754:12;;;20747:40;20816:4;20807:14;;;;20844:15;;;;20703:1;20375:9;20346:523;;;-1:-1:-1;20885:3:654;;20087:807;-1:-1:-1;;;;;20087:807:654:o;20899:797::-;20968:3;21006:5;21000:12;21033:6;21028:3;21021:19;21059:4;21088;21083:3;21079:14;21072:21;;21127:4;21120:5;21116:16;21150:1;21160:511;21174:6;21171:1;21168:13;21160:511;;;21239:6;21233:13;21275:2;21269:9;21291:47;21335:2;21291:47;:::i;:::-;21351:15;;21405:11;;;21399:18;21440:4;21478:21;;;21464:12;;;21457:43;21523:4;21571:11;;;21565:18;21561:27;21547:12;;;21540:49;21618:4;21609:14;;;;21646:15;;;;21196:1;21189:9;21160:511;;21701:1338;21876:2;21887:21;;;21979:13;;22028:4;22008:18;;;22001:32;22082:19;;21946:3;21931:19;;22110:22;;;21847:4;;21876:2;22190:21;;;21847:4;;22163:3;22148:19;;;22239:352;22253:6;22250:1;22247:13;22239:352;;;22318:6;22312:13;22354:2;22348:9;22370:47;22414:2;22370:47;:::i;:::-;22430:15;;22489:11;;22483:18;22503:4;22479:29;22465:12;;;22458:51;22566:15;;;;22275:1;22268:9;;;;;22538:4;22529:14;;;;22239:352;;;22243:3;22640:2;22632:6;22628:15;22622:22;22600:44;;22667:2;22663:7;22653:17;;22733:2;22721:9;22716:3;22712:19;22708:28;22701:4;22690:9;22686:20;22679:58;22760:63;22819:3;22803:14;22760:63;:::i;:::-;22746:77;;;;22872:4;22864:6;22860:17;22854:24;22944:2;22932:9;22924:6;22920:22;22916:31;22909:4;22898:9;22894:20;22887:61;22965:68;23026:6;23010:14;22965:68;:::i;:::-;22957:76;21701:1338;-1:-1:-1;;;;;;21701:1338:654:o;23351:297::-;23469:12;;23516:4;23505:16;;;23499:23;;23469:12;23534:16;;23531:111;;;23628:1;23624:6;23614;23608:4;23604:17;23601:1;23597:25;23593:38;23586:5;23582:50;23573:59;;23531:111;;23351:297;;;:::o;23653:834::-;23908:6;23897:9;23890:25;23871:4;23934:2;23972;23967;23956:9;23952:18;23945:30;23998:45;24039:2;24028:9;24024:18;24016:6;23998:45;:::i;:::-;24079:22;;;24074:2;24059:18;;24052:50;24151:13;;24173:22;;;24223:2;24249:15;;;;24211;;24282:1;24292:169;24306:6;24303:1;24300:13;24292:169;;;24367:13;;24355:26;;24436:15;;;;24401:12;;;;24328:1;24321:9;24292:169;;;-1:-1:-1;24478:3:654;;23653:834;-1:-1:-1;;;;;;;;23653:834:654:o;24949:1695::-;25247:4;25293:1;25289;25284:3;25280:11;25276:19;25334:2;25326:6;25322:15;25311:9;25304:34;25386:2;25378:6;25374:15;25369:2;25358:9;25354:18;25347:43;25445:2;25436:6;25430:13;25426:22;25421:2;25410:9;25406:18;25399:50;;25503:2;25495:6;25491:15;25485:22;25480:2;25469:9;25465:18;25458:50;25545:3;25539;25528:9;25524:19;25517:32;25584:6;25578:13;25610:6;25653:2;25647:3;25636:9;25632:19;25625:31;25679:52;25726:3;25715:9;25711:19;25697:12;25679:52;:::i;:::-;25665:66;;25780:2;25772:6;25768:15;25762:22;25853:3;25849:8;25837:9;25829:6;25825:22;25821:37;25815:3;25804:9;25800:19;25793:66;25882:41;25916:6;25900:14;25882:41;:::i;:::-;25868:55;;;25978:2;25970:6;25966:15;25960:22;25954:3;25943:9;25939:19;25932:51;26020:2;26012:6;26008:15;26002:22;26043:3;26082:2;26077;26066:9;26062:18;26055:30;26134:3;26126:6;26122:16;26116:23;26094:45;;26148:53;26197:2;26186:9;26182:18;26166:14;-1:-1:-1;;;;;24907:30:654;24895:43;;24842:102;26148:53;26250:3;26238:16;;26232:23;-1:-1:-1;;;;;13435:31:654;;;26314:3;26299:19;;13423:44;26368:3;26356:16;;26350:23;13435:31;;26432:3;26417:19;;13423:44;26492:3;26480:16;;26474:23;26468:3;26453:19;;26446:52;26535:15;;;26529:22;13435:31;;;26610:3;26595:19;;13423:44;26529:22;-1:-1:-1;26560:55:654;;-1:-1:-1;13369:104:654;26649:620;26920:13;;-1:-1:-1;;;;;;26916:40:654;26898:59;;27004:4;26992:17;;;26986:24;-1:-1:-1;;;;;27086:21:654;;;27064:20;;;27057:51;;;;27144:15;;27139:2;27124:18;;27117:43;27196:3;27191:2;27176:18;;27169:31;;;26879:4;;27217:46;;27243:19;;27235:6;27217:46;:::i;:::-;27209:54;26649:620;-1:-1:-1;;;;;26649:620:654:o","linkReferences":{}},"methodIdentifiers":{"__Architect_init()":"e8546e07","createSpace((string,string,string,string,((string,string,uint256,uint256,uint64,address,address,uint256,address),(bool,address[],((uint8,uint8)[],(uint8,uint256,address,uint256)[],(uint8,uint8,uint8)[]),bool),string[]),(string)))":"ade4c8fa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Architect__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__InvalidNetworkId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__InvalidStringLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Architect__NotContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Factory__FailedDeployment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__NotPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__Paused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Reentrancy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Validator__InvalidAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"SpaceCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"__Architect_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"shortDescription\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"longDescription\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"duration\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"freeAllocation\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"pricingModule\",\"type\":\"address\"}],\"internalType\":\"struct IMembershipBase.Membership\",\"name\":\"settings\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"everyone\",\"type\":\"bool\"},{\"internalType\":\"address[]\",\"name\":\"users\",\"type\":\"address[]\"},{\"components\":[{\"components\":[{\"internalType\":\"enum IRuleEntitlementBase.CombinedOperationType\",\"name\":\"opType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"index\",\"type\":\"uint8\"}],\"internalType\":\"struct IRuleEntitlementBase.Operation[]\",\"name\":\"operations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum IRuleEntitlementBase.CheckOperationType\",\"name\":\"opType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct IRuleEntitlementBase.CheckOperation[]\",\"name\":\"checkOperations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum IRuleEntitlementBase.LogicalOperationType\",\"name\":\"logOpType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"leftOperationIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"rightOperationIndex\",\"type\":\"uint8\"}],\"internalType\":\"struct IRuleEntitlementBase.LogicalOperation[]\",\"name\":\"logicalOperations\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IRuleEntitlementBase.RuleData\",\"name\":\"ruleData\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"syncEntitlements\",\"type\":\"bool\"}],\"internalType\":\"struct ILegacyArchitectBase.MembershipRequirements\",\"name\":\"requirements\",\"type\":\"tuple\"},{\"internalType\":\"string[]\",\"name\":\"permissions\",\"type\":\"string[]\"}],\"internalType\":\"struct ILegacyArchitectBase.Membership\",\"name\":\"membership\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"metadata\",\"type\":\"string\"}],\"internalType\":\"struct ILegacyArchitectBase.ChannelInfo\",\"name\":\"channel\",\"type\":\"tuple\"}],\"internalType\":\"struct ILegacyArchitectBase.SpaceInfo\",\"name\":\"spaceInfo\",\"type\":\"tuple\"}],\"name\":\"createSpace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Reentrancy()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"events\":{\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"}},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/mocks/legacy/MockLegacyArchitect.sol\":\"MockLegacyArchitect\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol\":{\"keccak256\":\"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d\",\"dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh\"]},\"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol\":{\"keccak256\":\"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615\",\"dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol\":{\"keccak256\":\"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba\",\"dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol\":{\"keccak256\":\"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04\",\"dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey\"]},\"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol\":{\"keccak256\":\"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d\",\"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz\"]},\"contracts/src/factory/facets/architect/ArchitectStorage.sol\":{\"keccak256\":\"0xc62e53da3472373306030cd9bb5621f895b5ebbab23ab5d03311c237fe3fb19c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bc61d6591c8c621fa635c988cdf10716037a0cbaed5fac650ed77af6c7d8561\",\"dweb:/ipfs/QmVwXUiJppdHAU5STPsZjFFGqFNosjyxP5R2NJQSp3yTsd\"]},\"contracts/src/factory/facets/architect/ImplementationStorage.sol\":{\"keccak256\":\"0x439caf29eb65f4b17dac2976e530112d6a8c35242bc39861796b631d6c1aee94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dabd06aceeb34fe9b5931d0468bd35d80ec6900f35b1bb375187ad84e917d66\",\"dweb:/ipfs/QmdqduCPXcmmTEme4YjNbNz48uB1nQkARRusai8BnEXJ4f\"]},\"contracts/src/factory/facets/architect/pricing/IPricingModules.sol\":{\"keccak256\":\"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786\",\"dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm\"]},\"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol\":{\"keccak256\":\"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86\",\"dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT\"]},\"contracts/src/factory/facets/registry/IImplementationRegistry.sol\":{\"keccak256\":\"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c\",\"dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA\"]},\"contracts/src/factory/facets/wallet-link/IWalletLink.sol\":{\"keccak256\":\"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d\",\"dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC\"]},\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol\":{\"keccak256\":\"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4\",\"dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2\"]},\"contracts/src/spaces/entitlements/user/IUserEntitlement.sol\":{\"keccak256\":\"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a\",\"dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx\"]},\"contracts/src/spaces/facets/Permissions.sol\":{\"keccak256\":\"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634\",\"dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x\"]},\"contracts/src/spaces/facets/channels/IChannel.sol\":{\"keccak256\":\"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9\",\"dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA\"]},\"contracts/src/spaces/facets/entitlements/IEntitlementsManager.sol\":{\"keccak256\":\"0x3a706517df398a51e19fac4a3c1987886605b8a8fdff319dbe8acc8efb786d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ba8da65886f17602bad12eac53f57079321b88030d77be1437d5a77b51b7763\",\"dweb:/ipfs/QmZWdoM6Drtd9XaPJ8UxBQLSSrqBPViE5UvukDw3i7rah3\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol\":{\"keccak256\":\"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df\",\"dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4\"]},\"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol\":{\"keccak256\":\"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3\",\"dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo\"]},\"contracts/src/spaces/facets/gated/IEntitlementGated.sol\":{\"keccak256\":\"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec\",\"dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT\"]},\"contracts/src/spaces/facets/membership/IMembership.sol\":{\"keccak256\":\"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6\",\"dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84\"]},\"contracts/src/spaces/facets/membership/MembershipBase.sol\":{\"keccak256\":\"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2\",\"dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC\"]},\"contracts/src/spaces/facets/membership/MembershipStorage.sol\":{\"keccak256\":\"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd\",\"dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa\"]},\"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol\":{\"keccak256\":\"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc\",\"dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF\"]},\"contracts/src/spaces/facets/owner/ISpaceOwner.sol\":{\"keccak256\":\"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a\",\"dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw\"]},\"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol\":{\"keccak256\":\"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769\",\"dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW\"]},\"contracts/src/spaces/facets/proxy/SpaceProxy.sol\":{\"keccak256\":\"0xb256760835f86cf32d8a751cfab2ffe98e6494a537b17c24050a84ed8db0b55d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ee71adbe1d4a118975cca2bd23be460261f8264131260cf8e7c60a2a6ffae88\",\"dweb:/ipfs/QmXtzdxnSayBQ3kMLzGUeWzymd2pkxXSkjJzEv2oDUm8iR\"]},\"contracts/src/spaces/facets/proxy/SpaceProxyInitializer.sol\":{\"keccak256\":\"0x3682360f3370ec23af23befa812da3c7cd4ca1ab49b05c5df41df727c04051b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://864b46283502de65c86518358539cd77a1950c3a28690a440072ebabd936a3e3\",\"dweb:/ipfs/QmWUmKgCqmEZaGadCan9hwv9SUJou23xRfvcpuZVR6xLXp\"]},\"contracts/src/spaces/facets/roles/IRoles.sol\":{\"keccak256\":\"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed\",\"dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3\"]},\"contracts/src/utils/Factory.sol\":{\"keccak256\":\"0xb85beb5f8320a8a1e860690391d9b34187570c6f22e586b662fcf131f8b24e4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9bfdf5d51b2d9e4c0b74248281fbcc0bd62201421f05539f3fa4673ae909e5c\",\"dweb:/ipfs/Qmd6JNfs3sRcQxdKS9sfvNsRyLtJU5farA1YvaFULxugF4\"]},\"contracts/src/utils/StringSet.sol\":{\"keccak256\":\"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605\",\"dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu\"]},\"contracts/src/utils/Validator.sol\":{\"keccak256\":\"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3\",\"dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG\"]},\"contracts/src/utils/interfaces/IWETH.sol\":{\"keccak256\":\"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5\",\"dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6\"]},\"contracts/src/utils/libraries/BasisPoints.sol\":{\"keccak256\":\"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e\",\"dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L\"]},\"contracts/src/utils/libraries/CurrencyTransfer.sol\":{\"keccak256\":\"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4\",\"dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr\"]},\"contracts/src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7\",\"dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK\"]},\"contracts/test/mocks/legacy/IMockLegacyArchitect.sol\":{\"keccak256\":\"0x523b0507d34e0d8f19ba67c42aa5a1c6d554829ed556ccf47321c44c4d71eace\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://affa4f6cd8970f37e9124073fec37ea0257ad9f968a32aafca375aa90d46f3fa\",\"dweb:/ipfs/Qmf4Bu31zZSt8KvKgenAmo9Xesve9kf6k5AgR54c2cNV3t\"]},\"contracts/test/mocks/legacy/MockLegacyArchitect.sol\":{\"keccak256\":\"0xd45c56eb455afadaa6e16e664a002d2bf4de63839a465ffdd5173dc2525755d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd124f4bf628ea7702ffd3040b193104ba7596014b46f5384492559750b7d5cf\",\"dweb:/ipfs/QmQcDaeWnQvDy5NSPQPzuK6CBAQgksXdu48g3AVjo1ZLNZ\"]},\"contracts/test/mocks/legacy/MockLegacyArchitectBase.sol\":{\"keccak256\":\"0x3a2f69bb10bea0f2e7329bc85da01e63f3f4c097d10c1fcf6de678b572f49d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec4b0ac58ebab15132f2b891a9bccac94207e0cf2a038465c15d70c3674e25f3\",\"dweb:/ipfs/Qmak1V8ZE9ocTcBB7xF6CYBVKEzuv7p8wRGZVmP7A1733Y\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d\",\"dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol\":{\"keccak256\":\"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37\",\"dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol\":{\"keccak256\":\"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711\",\"dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol\":{\"keccak256\":\"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf\",\"dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F\"]},\"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol\":{\"keccak256\":\"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684\",\"dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol\":{\"keccak256\":\"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3\",\"dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol\":{\"keccak256\":\"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd\",\"dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj\"]},\"node_modules/@river-build/diamond/src/proxy/IProxy.sol\":{\"keccak256\":\"0x94506109e5e47fafba65c94f2d74d0c7860e5911fe90fbe3b49817afda3b2145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://969f73c692e96091ef4565e5e7f9d4114ce6d51a619a75f9b1a0703f737e4ceb\",\"dweb:/ipfs/QmbohRzHyVrD36w3b7UdM1jqpPMViSx3DVCHWuXTLkG3bM\"]},\"node_modules/@river-build/diamond/src/proxy/Proxy.sol\":{\"keccak256\":\"0xf11318c1057be9219cf41aa182fcd8c46117c72fea16532f367114058566dbb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce3efbcd31c8a3291500d27933639546f8930afac361536a61f64dc40d117c0\",\"dweb:/ipfs/QmTo2D6WtcvFXAz435CR1JcSygLSSRBeiGzM4FeAgRQdT8\"]},\"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol\":{\"keccak256\":\"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1\",\"dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV\"]},\"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyBase.sol\":{\"keccak256\":\"0x41a4f9d9c94365f9c3838651a538c1b7d957443b56148a10b384583b9cdadc7f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a15904e21dae93676687c5b916ea280b39e9d6e8f30a1ce33e87bb40ea572c5b\",\"dweb:/ipfs/QmUYMT9SSFZgNE66sASzTAnYvLBwhHJB6YZXQCVXJ6vPTx\"]},\"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyStorage.sol\":{\"keccak256\":\"0x2f09ac0009d994e8095003f5a95512b28d008613571861cb0ede96a6af532b1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2160d94085d44c9cae45b051f680a82c865a856e3c7f1ac50c6b6c31243b206\",\"dweb:/ipfs/QmXUzx5RKLmAFKgT1aygcpBmrWS5RzhEZT6fsS8YqdG68J\"]},\"node_modules/@river-build/diamond/src/proxy/manager/IProxyManager.sol\":{\"keccak256\":\"0x827c2e8f933570abed41ccf0dccbf82f9b4a1997fcc773c29bf1234d2c9b6f5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1c3d26d9b1dec8a864f453f151914f2bcf30cbb31c1a3602ac9e8b24f16e47e\",\"dweb:/ipfs/QmUsSGM7mHZZtECoZRTJnZACHymx7jLdpxYsuCNAK8sTxN\"]},\"node_modules/solady/src/utils/LibClone.sol\":{\"keccak256\":\"0x5e555c18e0fafec55f2198491f8ebf6e2e3d5684d9bc534cd099e3542409add0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77d1eb95e68f46139301a76e05b06193105e4d22776ad50c8fab23e2ae9ae621\",\"dweb:/ipfs/Qma5sC4LP8Mq5q2D8ZH9cenahbYBACbqyr8vo13V1HmUBZ\"]},\"node_modules/solady/src/utils/Multicallable.sol\":{\"keccak256\":\"0xe57db2fda09f92a4b3e68fe6445aac609b868ede70d522a41070167eb7c13e2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://347e573a14849774e062f81a0c24c0ee2359bf06d6954e4b4566ff91e383ca38\",\"dweb:/ipfs/QmYRm2fXSQJtznShtafRTQNqj2hznFKTpuzvfdmbBHfEkj\"]},\"node_modules/solady/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98\",\"dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi\"]},\"node_modules/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333\",\"dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"Architect__InvalidAddress"},{"inputs":[],"type":"error","name":"Architect__InvalidNetworkId"},{"inputs":[],"type":"error","name":"Architect__InvalidStringLength"},{"inputs":[],"type":"error","name":"Architect__NotContract"},{"inputs":[],"type":"error","name":"Factory__FailedDeployment"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[],"type":"error","name":"Pausable__NotPaused"},{"inputs":[],"type":"error","name":"Pausable__Paused"},{"inputs":[],"type":"error","name":"Reentrancy"},{"inputs":[],"type":"error","name":"Validator__InvalidAddress"},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"space","type":"address","indexed":true}],"type":"event","name":"SpaceCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"__Architect_init"},{"inputs":[{"internalType":"struct ILegacyArchitectBase.SpaceInfo","name":"spaceInfo","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"string","name":"shortDescription","type":"string"},{"internalType":"string","name":"longDescription","type":"string"},{"internalType":"struct ILegacyArchitectBase.Membership","name":"membership","type":"tuple","components":[{"internalType":"struct IMembershipBase.Membership","name":"settings","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"maxSupply","type":"uint256"},{"internalType":"uint64","name":"duration","type":"uint64"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"address","name":"feeRecipient","type":"address"},{"internalType":"uint256","name":"freeAllocation","type":"uint256"},{"internalType":"address","name":"pricingModule","type":"address"}]},{"internalType":"struct ILegacyArchitectBase.MembershipRequirements","name":"requirements","type":"tuple","components":[{"internalType":"bool","name":"everyone","type":"bool"},{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"struct IRuleEntitlementBase.RuleData","name":"ruleData","type":"tuple","components":[{"internalType":"struct IRuleEntitlementBase.Operation[]","name":"operations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlementBase.CombinedOperationType","name":"opType","type":"uint8"},{"internalType":"uint8","name":"index","type":"uint8"}]},{"internalType":"struct IRuleEntitlementBase.CheckOperation[]","name":"checkOperations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlementBase.CheckOperationType","name":"opType","type":"uint8"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"threshold","type":"uint256"}]},{"internalType":"struct IRuleEntitlementBase.LogicalOperation[]","name":"logicalOperations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlementBase.LogicalOperationType","name":"logOpType","type":"uint8"},{"internalType":"uint8","name":"leftOperationIndex","type":"uint8"},{"internalType":"uint8","name":"rightOperationIndex","type":"uint8"}]}]},{"internalType":"bool","name":"syncEntitlements","type":"bool"}]},{"internalType":"string[]","name":"permissions","type":"string[]"}]},{"internalType":"struct ILegacyArchitectBase.ChannelInfo","name":"channel","type":"tuple","components":[{"internalType":"string","name":"metadata","type":"string"}]}]}],"stateMutability":"nonpayable","type":"function","name":"createSpace","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/test/mocks/legacy/MockLegacyArchitect.sol":"MockLegacyArchitect"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/base/registry/facets/checker/IEntitlementChecker.sol":{"keccak256":"0xbeb7bfa236f19172b29eac53be03a3b377de3524b2d836192b0c64ebe708c204","urls":["bzz-raw://3d5a103a2b7b6be1ffa6662db6081763bcd210216fefc25307b835c555e0cf4d","dweb:/ipfs/QmUCvhZdZpVnyJuZVgd2qGduTf11384TmmBJb2RaEBHxhh"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol":{"keccak256":"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224","urls":["bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615","dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol":{"keccak256":"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62","urls":["bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba","dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol":{"keccak256":"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4","urls":["bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04","dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol":{"keccak256":"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782","urls":["bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d","dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"],"license":"MIT"},"contracts/src/factory/facets/architect/ArchitectStorage.sol":{"keccak256":"0xc62e53da3472373306030cd9bb5621f895b5ebbab23ab5d03311c237fe3fb19c","urls":["bzz-raw://1bc61d6591c8c621fa635c988cdf10716037a0cbaed5fac650ed77af6c7d8561","dweb:/ipfs/QmVwXUiJppdHAU5STPsZjFFGqFNosjyxP5R2NJQSp3yTsd"],"license":"MIT"},"contracts/src/factory/facets/architect/ImplementationStorage.sol":{"keccak256":"0x439caf29eb65f4b17dac2976e530112d6a8c35242bc39861796b631d6c1aee94","urls":["bzz-raw://9dabd06aceeb34fe9b5931d0468bd35d80ec6900f35b1bb375187ad84e917d66","dweb:/ipfs/QmdqduCPXcmmTEme4YjNbNz48uB1nQkARRusai8BnEXJ4f"],"license":"MIT"},"contracts/src/factory/facets/architect/pricing/IPricingModules.sol":{"keccak256":"0xa45fcd2bb5037c0b9b80bb02a3a4bd00fa99598a8d9e0a5ee2dff7a04c670171","urls":["bzz-raw://15f95100f32791a9aa2e3cc47fb9cd58542e9250834bfc38756012cc4baaa786","dweb:/ipfs/QmYGPF6HQLoq5bCgMYW1AyT2Vz1H12Lt8LDdmzTadN5Ppm"],"license":"MIT"},"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol":{"keccak256":"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6","urls":["bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86","dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT"],"license":"MIT"},"contracts/src/factory/facets/registry/IImplementationRegistry.sol":{"keccak256":"0xb447f7654cd152c29718c95983b62e390a59658d7d1a22b97f79d0aee9fb5de7","urls":["bzz-raw://756a9a38364c01937088ba927f09af2726d2df207eea4e0e2842e3fc66ccd32c","dweb:/ipfs/QmbxBRXgtkEQsGtxq1uSM6vX38FkjPq6tpodCdtBmdEmXA"],"license":"MIT"},"contracts/src/factory/facets/wallet-link/IWalletLink.sol":{"keccak256":"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c","urls":["bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d","dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC"],"license":"MIT"},"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol":{"keccak256":"0x362d73e7b5a9626ffb3c76ebd7c41cae6240ce0a8d2ec401df345814a39b303b","urls":["bzz-raw://c750b186885d1af5cda10755c8443629b270d18b221c1054a7e9344adbea7ce4","dweb:/ipfs/QmcwkJjGj8PGy43KRRh2c4ggcjBVD65XDsoq8H5LozTeN2"],"license":"MIT"},"contracts/src/spaces/entitlements/user/IUserEntitlement.sol":{"keccak256":"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9","urls":["bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a","dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx"],"license":"MIT"},"contracts/src/spaces/facets/Permissions.sol":{"keccak256":"0x0b7ad76893a8b11877f161bf8d6180230190572f8a171ff5b124570be468976e","urls":["bzz-raw://d21a0dd820441b95a17a5f6681a4a68fdf180fe90aaaa0f3e9e5800b2a247634","dweb:/ipfs/QmRVHasadqCqDSZRaRrddJXR23wkbVs9LQ6WcPxfDFH37x"],"license":"MIT"},"contracts/src/spaces/facets/channels/IChannel.sol":{"keccak256":"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e","urls":["bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9","dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA"],"license":"MIT"},"contracts/src/spaces/facets/entitlements/IEntitlementsManager.sol":{"keccak256":"0x3a706517df398a51e19fac4a3c1987886605b8a8fdff319dbe8acc8efb786d30","urls":["bzz-raw://7ba8da65886f17602bad12eac53f57079321b88030d77be1437d5a77b51b7763","dweb:/ipfs/QmZWdoM6Drtd9XaPJ8UxBQLSSrqBPViE5UvukDw3i7rah3"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedBase.sol":{"keccak256":"0x6fa36ab7f0810731842c0599e7bc538325a40eeaee0ca0d1060e076834274045","urls":["bzz-raw://a85b75d335ce8f88cbf4428b5af56312820688ae1e3d1d3697a6b57c4d0330df","dweb:/ipfs/QmXCwsVZcPU9NUgZHEpZS3f7vAPWy1kgfHUfUUcQAbfNf4"],"license":"MIT"},"contracts/src/spaces/facets/gated/EntitlementGatedStorage.sol":{"keccak256":"0xb058672a61d2742e8232232cc66f052443d82beb8b2cdc681f10c23a49351b84","urls":["bzz-raw://f39d39a3bd3e39c2f6a5b21b82a7339176c163d82335f901a64c57dd73ffa5a3","dweb:/ipfs/QmP8RmYv79xX8hLmrvjfceW9mdRYCYxMaxpywRpR281tMo"],"license":"MIT"},"contracts/src/spaces/facets/gated/IEntitlementGated.sol":{"keccak256":"0x948de1018f7f78366263a40e0f8269e10941216bd03a9996edb24a6230959e74","urls":["bzz-raw://dc985539ce639f39fd68723acca6424a78deac6cec3693c9d8e1084a487c83ec","dweb:/ipfs/QmQujX5rmDwhJZurp11FTiPLb7ev9swLTtdkagA8wydZiT"],"license":"MIT"},"contracts/src/spaces/facets/membership/IMembership.sol":{"keccak256":"0x6d8bcc1f344f237bebd1e28ef60b98b6f293f3c516092f43b15fbe50c349da5b","urls":["bzz-raw://911d4dde9f4fdef6744095f3fdb1bbd9063fd6031ee7d20a591679b02fec29d6","dweb:/ipfs/QmYCk5AWkqk4TA63aKvupBiPG4ynuRpRExMGgohKZQrG84"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipBase.sol":{"keccak256":"0x7de2e6eb87601c5cf86f38ca75f53315f219752bca3f8893c03be06b114cf3b8","urls":["bzz-raw://63346e971ba0dd2bb309d381284a0249dd7a5ca500ad9cb07685478dd148eaf2","dweb:/ipfs/QmWMLZuopNrxzmSyeWcMQCGf74Btqs8dAGTt2AQarcpHoC"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipStorage.sol":{"keccak256":"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972","urls":["bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd","dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa"],"license":"MIT"},"contracts/src/spaces/facets/membership/pricing/IMembershipPricing.sol":{"keccak256":"0x9e3b6766b92d0e48b4b23a024f9622923f30d90f6f8673ded81e423171ec30c4","urls":["bzz-raw://e6f76b6045a8c6eeb24d6a9a42f82495cb1cb125dd90921d16a949b00a6f52dc","dweb:/ipfs/QmPbRy4sAabTkEnZBoubzPqH2ycPevEzcEJ4NYJsCWmTFF"],"license":"MIT"},"contracts/src/spaces/facets/owner/ISpaceOwner.sol":{"keccak256":"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4","urls":["bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a","dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw"],"license":"MIT"},"contracts/src/spaces/facets/proxy/ISpaceProxyInitializer.sol":{"keccak256":"0x7455a7d2fa9c1220f9004d9301c0bbab4b186a1e0baaeac62f44dc4dedbf7207","urls":["bzz-raw://5140ae625b81b040c9b93768812daa62fe122870264d2f47edf016b478bbd769","dweb:/ipfs/QmWjZWAng8thc1BfGJxmaxnFZqJGdKfu8EfLxxRZLqsdkW"],"license":"MIT"},"contracts/src/spaces/facets/proxy/SpaceProxy.sol":{"keccak256":"0xb256760835f86cf32d8a751cfab2ffe98e6494a537b17c24050a84ed8db0b55d","urls":["bzz-raw://3ee71adbe1d4a118975cca2bd23be460261f8264131260cf8e7c60a2a6ffae88","dweb:/ipfs/QmXtzdxnSayBQ3kMLzGUeWzymd2pkxXSkjJzEv2oDUm8iR"],"license":"MIT"},"contracts/src/spaces/facets/proxy/SpaceProxyInitializer.sol":{"keccak256":"0x3682360f3370ec23af23befa812da3c7cd4ca1ab49b05c5df41df727c04051b3","urls":["bzz-raw://864b46283502de65c86518358539cd77a1950c3a28690a440072ebabd936a3e3","dweb:/ipfs/QmWUmKgCqmEZaGadCan9hwv9SUJou23xRfvcpuZVR6xLXp"],"license":"MIT"},"contracts/src/spaces/facets/roles/IRoles.sol":{"keccak256":"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65","urls":["bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed","dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3"],"license":"MIT"},"contracts/src/utils/Factory.sol":{"keccak256":"0xb85beb5f8320a8a1e860690391d9b34187570c6f22e586b662fcf131f8b24e4c","urls":["bzz-raw://e9bfdf5d51b2d9e4c0b74248281fbcc0bd62201421f05539f3fa4673ae909e5c","dweb:/ipfs/Qmd6JNfs3sRcQxdKS9sfvNsRyLtJU5farA1YvaFULxugF4"],"license":"MIT"},"contracts/src/utils/StringSet.sol":{"keccak256":"0x2b9880e846f275864e847e8c7079d29a02c4a060c5a9d580fb153ff0e7b49ff6","urls":["bzz-raw://df9c170f28318746eab23befba1318735652c7d198e273a322a0ff2702680605","dweb:/ipfs/QmanQQi9YiPHb9Cn4wpfQ9VYUi7UZ9iQibLL6V46JPibLu"],"license":"MIT"},"contracts/src/utils/Validator.sol":{"keccak256":"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f","urls":["bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3","dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG"],"license":"MIT"},"contracts/src/utils/interfaces/IWETH.sol":{"keccak256":"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0","urls":["bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5","dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6"],"license":"MIT"},"contracts/src/utils/libraries/BasisPoints.sol":{"keccak256":"0xfaa5790726afc20e29f2a00e67693a59ae85a045beaa95f8f58bcbcef01ed87b","urls":["bzz-raw://a2da5e15739fc7093ea7b935c6542f7c01d9c33843a3d1a1d8895db404f8160e","dweb:/ipfs/QmYVUkSh3QX7u9rnKfqLeb9Rh8tko5Q3Gpry6KnhTRF58L"],"license":"MIT"},"contracts/src/utils/libraries/CurrencyTransfer.sol":{"keccak256":"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083","urls":["bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4","dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr"],"license":"MIT"},"contracts/src/utils/libraries/CustomRevert.sol":{"keccak256":"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059","urls":["bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7","dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK"],"license":"MIT"},"contracts/test/mocks/legacy/IMockLegacyArchitect.sol":{"keccak256":"0x523b0507d34e0d8f19ba67c42aa5a1c6d554829ed556ccf47321c44c4d71eace","urls":["bzz-raw://affa4f6cd8970f37e9124073fec37ea0257ad9f968a32aafca375aa90d46f3fa","dweb:/ipfs/Qmf4Bu31zZSt8KvKgenAmo9Xesve9kf6k5AgR54c2cNV3t"],"license":"MIT"},"contracts/test/mocks/legacy/MockLegacyArchitect.sol":{"keccak256":"0xd45c56eb455afadaa6e16e664a002d2bf4de63839a465ffdd5173dc2525755d1","urls":["bzz-raw://bd124f4bf628ea7702ffd3040b193104ba7596014b46f5384492559750b7d5cf","dweb:/ipfs/QmQcDaeWnQvDy5NSPQPzuK6CBAQgksXdu48g3AVjo1ZLNZ"],"license":"MIT"},"contracts/test/mocks/legacy/MockLegacyArchitectBase.sol":{"keccak256":"0x3a2f69bb10bea0f2e7329bc85da01e63f3f4c097d10c1fcf6de678b572f49d63","urls":["bzz-raw://ec4b0ac58ebab15132f2b891a9bccac94207e0cf2a038465c15d70c3674e25f3","dweb:/ipfs/Qmak1V8ZE9ocTcBB7xF6CYBVKEzuv7p8wRGZVmP7A1733Y"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a","urls":["bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d","dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol":{"keccak256":"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397","urls":["bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37","dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol":{"keccak256":"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83","urls":["bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711","dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol":{"keccak256":"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479","urls":["bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf","dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol":{"keccak256":"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1","urls":["bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684","dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol":{"keccak256":"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0","urls":["bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3","dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol":{"keccak256":"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f","urls":["bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd","dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/IProxy.sol":{"keccak256":"0x94506109e5e47fafba65c94f2d74d0c7860e5911fe90fbe3b49817afda3b2145","urls":["bzz-raw://969f73c692e96091ef4565e5e7f9d4114ce6d51a619a75f9b1a0703f737e4ceb","dweb:/ipfs/QmbohRzHyVrD36w3b7UdM1jqpPMViSx3DVCHWuXTLkG3bM"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/Proxy.sol":{"keccak256":"0xf11318c1057be9219cf41aa182fcd8c46117c72fea16532f367114058566dbb6","urls":["bzz-raw://1ce3efbcd31c8a3291500d27933639546f8930afac361536a61f64dc40d117c0","dweb:/ipfs/QmTo2D6WtcvFXAz435CR1JcSygLSSRBeiGzM4FeAgRQdT8"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/IManagedProxy.sol":{"keccak256":"0xf064a056a73233ef207e7206ac910616210f6729147f29912bdb4abc69906d01","urls":["bzz-raw://befb3501cc4b180ed3c5b156bde2700a6de26f17e828bdb8e8ff9615268f91e1","dweb:/ipfs/QmP2qGhFpySb1efhpbRBXDxzxLjVTF2UmF2KRCM8hGrsPV"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyBase.sol":{"keccak256":"0x41a4f9d9c94365f9c3838651a538c1b7d957443b56148a10b384583b9cdadc7f","urls":["bzz-raw://a15904e21dae93676687c5b916ea280b39e9d6e8f30a1ce33e87bb40ea572c5b","dweb:/ipfs/QmUYMT9SSFZgNE66sASzTAnYvLBwhHJB6YZXQCVXJ6vPTx"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/managed/ManagedProxyStorage.sol":{"keccak256":"0x2f09ac0009d994e8095003f5a95512b28d008613571861cb0ede96a6af532b1b","urls":["bzz-raw://d2160d94085d44c9cae45b051f680a82c865a856e3c7f1ac50c6b6c31243b206","dweb:/ipfs/QmXUzx5RKLmAFKgT1aygcpBmrWS5RzhEZT6fsS8YqdG68J"],"license":"MIT"},"node_modules/@river-build/diamond/src/proxy/manager/IProxyManager.sol":{"keccak256":"0x827c2e8f933570abed41ccf0dccbf82f9b4a1997fcc773c29bf1234d2c9b6f5b","urls":["bzz-raw://a1c3d26d9b1dec8a864f453f151914f2bcf30cbb31c1a3602ac9e8b24f16e47e","dweb:/ipfs/QmUsSGM7mHZZtECoZRTJnZACHymx7jLdpxYsuCNAK8sTxN"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x5e555c18e0fafec55f2198491f8ebf6e2e3d5684d9bc534cd099e3542409add0","urls":["bzz-raw://77d1eb95e68f46139301a76e05b06193105e4d22776ad50c8fab23e2ae9ae621","dweb:/ipfs/Qma5sC4LP8Mq5q2D8ZH9cenahbYBACbqyr8vo13V1HmUBZ"],"license":"MIT"},"node_modules/solady/src/utils/Multicallable.sol":{"keccak256":"0xe57db2fda09f92a4b3e68fe6445aac609b868ede70d522a41070167eb7c13e2e","urls":["bzz-raw://347e573a14849774e062f81a0c24c0ee2359bf06d6954e4b4566ff91e383ca38","dweb:/ipfs/QmYRm2fXSQJtznShtafRTQNqj2hznFKTpuzvfdmbBHfEkj"],"license":"MIT"},"node_modules/solady/src/utils/ReentrancyGuard.sol":{"keccak256":"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8","urls":["bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98","dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi"],"license":"MIT"},"node_modules/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3","urls":["bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333","dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH"],"license":"MIT"}},"version":1},"id":391} \ No newline at end of file diff --git a/packages/generated/dev/abis/MockLegacyArchitect.metadata.json b/packages/generated/dev/abis/MockLegacyArchitect.metadata.json index d1a7632ae1..f470d67f75 100644 --- a/packages/generated/dev/abis/MockLegacyArchitect.metadata.json +++ b/packages/generated/dev/abis/MockLegacyArchitect.metadata.json @@ -978,10 +978,10 @@ "license": "MIT" }, "node_modules/solady/src/utils/LibClone.sol": { - "keccak256": "0x61a00bcf300f7af3850f63de1a6f400629f03652a1f3efa49a17bf6c2272b1df", + "keccak256": "0x5e555c18e0fafec55f2198491f8ebf6e2e3d5684d9bc534cd099e3542409add0", "urls": [ - "bzz-raw://b4c5fc1f3d017372d200803e54167e357402fbacfa40fa7a2c3003c9a5e867ce", - "dweb:/ipfs/QmTGDqd9wrQH5vCzB9GU9QKwMc955tK89AvfEa9iKJGESw" + "bzz-raw://77d1eb95e68f46139301a76e05b06193105e4d22776ad50c8fab23e2ae9ae621", + "dweb:/ipfs/Qma5sC4LP8Mq5q2D8ZH9cenahbYBACbqyr8vo13V1HmUBZ" ], "license": "MIT" }, @@ -1002,10 +1002,10 @@ "license": "MIT" }, "node_modules/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210", + "keccak256": "0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3", "urls": [ - "bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c", - "dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR" + "bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333", + "dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH" ], "license": "MIT" } diff --git a/packages/generated/dev/abis/MockRiverRegistry.abi.json b/packages/generated/dev/abis/MockRiverRegistry.abi.json index 6f02b52ac1..d23353e1e5 100644 --- a/packages/generated/dev/abis/MockRiverRegistry.abi.json +++ b/packages/generated/dev/abis/MockRiverRegistry.abi.json @@ -542,6 +542,25 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "isNode", + "inputs": [ + { + "name": "nodeAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "isOperator", @@ -701,6 +720,39 @@ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setStreamLastMiniblock", + "inputs": [ + { + "name": "streamId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "lastMiniblockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "lastMiniblockNum", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isSealed", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "setStreamLastMiniblockBatch", diff --git a/packages/generated/dev/abis/MockRiverRegistry.abi.ts b/packages/generated/dev/abis/MockRiverRegistry.abi.ts index 8c7428eafe..4998d5ec41 100644 --- a/packages/generated/dev/abis/MockRiverRegistry.abi.ts +++ b/packages/generated/dev/abis/MockRiverRegistry.abi.ts @@ -542,6 +542,25 @@ export default [ ], "stateMutability": "view" }, + { + "type": "function", + "name": "isNode", + "inputs": [ + { + "name": "nodeAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "isOperator", @@ -701,6 +720,39 @@ export default [ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setStreamLastMiniblock", + "inputs": [ + { + "name": "streamId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "lastMiniblockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "lastMiniblockNum", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isSealed", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "setStreamLastMiniblockBatch", diff --git a/packages/generated/dev/abis/MockRiverRegistry.bin b/packages/generated/dev/abis/MockRiverRegistry.bin index 0c2754319c..2437691930 100644 --- a/packages/generated/dev/abis/MockRiverRegistry.bin +++ b/packages/generated/dev/abis/MockRiverRegistry.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b50604051620047b2380380620047b28339810160408190526200003491620004a6565b6200003e620000c1565b620000493362000169565b60005b8151811015620000b957620000838282815181106200006f576200006f62000578565b60200260200101516200023760201b60201c565b620000b08282815181106200009c576200009c62000578565b60200260200101516200031c60201b60201c565b6001016200004c565b5050620005df565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200010e576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156200016657805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b60006200019d7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b90506001600160a01b038216620001c757604051634e3ef82560e01b815260040160405180910390fd5b817f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae30080546001600160a01b0319166001600160a01b03928316179055604051838216918316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116620002865760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b60405180910390fd5b62000293600882620003e9565b15620002d757604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b620002e460088262000410565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b038116620003625760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6200036f600d8262000410565b620003b257604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b600062000407836001600160a01b03841660008181526001830160205260408120546200046a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200040a565b5060006200040a565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620004a157600080fd5b919050565b60006020808385031215620004ba57600080fd5b82516001600160401b0380821115620004d257600080fd5b818501915085601f830112620004e757600080fd5b815181811115620004fc57620004fc62000473565b8060051b604051601f19603f8301168101818110858211171562000524576200052462000473565b6040529182528482019250838101850191888311156200054357600080fd5b938501935b828510156200056c576200055c8562000489565b8452938501939285019262000548565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020808352835180602085015260005b81811015620005be57858101830151858201604001528201620005a0565b506000604082860101526040601f19601f8301168501019250505092915050565b6141c380620005ef6000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063a1174e7d1161011a578063c8fe3a01116100ad578063d911c6321161007c578063d911c63214610464578063ee885b121461046c578063eecc66f41461047f578063fc207c0114610492578063ff3a14ab146104a557600080fd5b8063c8fe3a0114610408578063ca78c41a1461041d578063d0c27c4f1461043e578063d4bd44a01461045157600080fd5b8063ba428b1a116100e9578063ba428b1a146103c7578063c0f22084146103da578063c179b85f146103e2578063c87d1324146103f557600080fd5b8063a1174e7d14610379578063ac8a584a1461038e578063b2b99ec9146103a1578063b7f227ee146103b457600080fd5b80636b883c39116101925780639283ae3a116101615780639283ae3a146103205780639d209048146103335780639ee86d3814610353578063a09449a61461036657600080fd5b80636b883c39146102c45780636d70f7ae146102d75780637e4465e7146102fa578063813049ec1461030d57600080fd5b806331374511116101ce578063313745111461026657806339bf397e146102795780633c2544d11461028f578063581f8b9b146102b157600080fd5b8063035759e114610200578063081814db146102155780631290abe814610233578063242cae9f14610253575b600080fd5b61021361020e366004613442565b6104b8565b005b61021d61062c565b60405161022a91906134ab565b60405180910390f35b610246610241366004613442565b610897565b60405161022a91906135c6565b6102136102613660046135f5565b6109b9565b610213610274366004613610565b610a00565b610281610a91565b60405190815260200161022a565b6102a261029d366004613442565b610aa2565b60405161022a93929190613684565b6102136102bf3660046136c8565b610c73565b6102136102d23660046137b0565b610e13565b6102ea6102e53660046135f5565b61107a565b604051901515815260200161022a565b610213610308366004613893565b61108d565b61021361031b3660046135f5565b611285565b61021d61032e366004613442565b611380565b6103466103413660046135f5565b6114e3565b60405161022a919061396c565b61021361036136600461397f565b611664565b6102136103743660046139b9565b611822565b610381611af1565b60405161022a9190613a3f565b61021361039c3660046135f5565b611cc5565b6102136103af3660046135f5565b611e28565b6102136103c2366004613aa3565b611ff1565b6102136103d5366004613610565b612240565b6102816122cc565b6102136103f03660046135f5565b6122d7565b6102816104033660046135f5565b61231b565b6104106123c9565b60405161022a9190613b0b565b61043061042b366004613b1e565b6123d5565b60405161022a929190613b40565b6102ea61044c366004613442565b6125c5565b6102ea61045f3660046135f5565b6125d1565b6104106125de565b61021361047a36600461397f565b6125ea565b61021361048d366004613bbf565b612833565b6102ea6104a0366004613442565b6129fe565b6102136104b3366004613c1c565b612a0b565b336104c4600d82612d2b565b6105075760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60405180910390fd5b81610513600a82612d50565b61054e5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000838152600c6020526040902054156105c1576000838152600c6020526040902080548061057f5761057f613c91565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906105b860028301826132ed565b5050905561054e565b6000838152600c602052604081206105d891613327565b6105e3600a84612d68565b50604080518481526001600160401b03602082015260808183018190526000908201526001606082015290516000805160206141a38339815191529181900360a00190a1505050565b606060008061063b600a612d74565b905060005b8181101561067c576000610655600a83612d7e565b6000818152600c60205260409020549091506106719085613cbd565b935050600101610640565b506000826001600160401b03811115610697576106976136fb565b6040519080825280602002602001820160405280156106e457816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816106b55790505b50905060006106f3600a612d74565b90506000805b8281101561088c57600061070e600a83612d7e565b6000818152600c6020908152604080832080548251818502810185019093528083529495509293909291849084015b8282101561082157600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161079090613cd0565b80601f01602080910402602001604051908101604052809291908181526020018280546107bc90613cd0565b80156108095780601f106107de57610100808354040283529160200191610809565b820191906000526020600020905b8154815290600101906020018083116107ec57829003601f168201915b5050505050815250508152602001906001019061073d565b50505050905060005b815181101561087e5781818151811061084557610845613d04565b602002602001015187868061085990613d1a565b97508151811061086b5761086b613d04565b602090810291909101015260010161082a565b5050508060010190506106f9565b509195945050505050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906108cb9083612d50565b6109065760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109a957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161098b575b5050505050815250509050919050565b6109c1612d8a565b6001600160a01b0316336001600160a01b0316146109f4576040516365f4906560e01b81523360048201526024016104fe565b6109fd81612db8565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610a4a57604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610a8c57610a84838383818110610a6a57610a6a613d04565b9050602002016020810190610a7f91906135f5565b612e8a565b600101610a4d565b505050565b6000610a9d6005612d74565b905090565b6040805160a081018252600080825260208201819052918101829052606080820183905260808201819052909190610ada8285612d50565b610b155760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b90910416606082015294820180548451818702810187019095528085529296959194919387936080860193919291830182828015610bcf57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610bb1575b5050505050815250509250808054610be690613cd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1290613cd0565b8015610c5f5780601f10610c3457610100808354040283529160200191610c5f565b820191906000526020600020905b815481529060010190602001808311610c4257829003601f168201915b505050505090509250925092509193909250565b6001600160a01b03808316600090815260076020526040902060020154839116610cd357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b33610cdf600882612d2b565b610d195760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0380851660009081526007602052604090206003015485913391168114610d775760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03861660009081526007602052604090208054610d9e9060ff1687612f4f565b80548690829060ff19166001836005811115610dbc57610dbc6138e0565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090610e02908990613d33565b60405180910390a250505050505050565b336000818152600760205260409020600201546001600160a01b0316610e6f57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b610e7a600086612d50565b15610ebb57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b835160005b81811015610f4057610ef8868281518110610edd57610edd613d04565b60200260200101516000600501612d2b90919063ffffffff16565b610f3857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600101610ec0565b506040805160a081018252858152600060208201819052918101829052606081018290526080810187905290610f7690886130e2565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff1990991691909416179690961795909516179093556080840151805185949361100693908501920190613348565b50505060008781526003602052604090206110218582613da6565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb90611069908990899089908990613e5f565b60405180910390a150505050505050565b6000611087600883612d2b565b92915050565b33611099600882612d2b565b6110d35760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0380841660009081526007602052604090206002015484911661113357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03808516600090815260076020526040902060030154859133911681146111915760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03861660009081526007602090815260409182902091516111bb91889101613e9b565b60405160208183030381529060405280519060200120816001016040516020016111e59190613eb7565b60405160208183030381529060405280519060200120036112355760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600181016112438782613da6565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac90610e02908990613c7e565b61128d612d8a565b6001600160a01b0316336001600160a01b0316146112c0576040516365f4906560e01b81523360048201526024016104fe565b6001600160a01b0381166113035760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b61130e600d826130ee565b6113495760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6040516001600160a01b038216907ff9889c857e5356066b564327caa757c325ecbc001b2b47d72edf8cf9aedb1be590600090a250565b60608161138e600a82612d50565b6113c95760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000838152600c6020908152604080832080548251818502810185019093528083529193909284015b828210156114d657600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161144590613cd0565b80601f016020809104026020016040519081016040528092919081815260200182805461147190613cd0565b80156114be5780601f10611493576101008083540402835291602001916114be565b820191906000526020600020905b8154815290600101906020018083116114a157829003601f168201915b505050505081525050815260200190600101906113f2565b5050505091505b50919050565b61150e6040805160808101909152806000815260606020820181905260006040830181905291015290565b611519600583612d2b565b61155957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff166005811115611594576115946138e0565b60058111156115a5576115a56138e0565b81526020016001820180546115b990613cd0565b80601f01602080910402602001604051908101604052809291908181526020018280546115e590613cd0565b80156116325780601f1061160757610100808354040283529160200191611632565b820191906000526020600020905b81548152906001019060200180831161161557829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b81611670600082612d50565b6116ab5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b336000818152600760205260409020600201546001600160a01b031661170757604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600084815260026020819052604082209081015490915b818110156117a357856001600160a01b031683600201828154811061174557611745613d04565b6000918252602090912001546001600160a01b03160361179b57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60010161171e565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060015b60405180910390a1505050505050565b3361182e600d82612d2b565b6118685760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b67fffffffffffffffe196001600160401b038516016118b65760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60008290036118f45760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6118ff600a86612d50565b6119105761190e600a866130e2565b505b6000858152600c6020526040812054905b818110156119f7576000878152600c6020526040902080546001600160401b03881691908390811061195557611955613d04565b60009182526020909120600160039092020101546001600160401b0316036119ef576000878152600c602052604090208054869186918490811061199b5761199b613d04565b906000526020600020906003020160020191826119b9929190613f2d565b506000805160206141a38339815191528787878760006040516119e0959493929190613fe6565b60405180910390a15050611aea565b600101611921565b506000600c0160008781526020019081526020016000206040518060600160405280888152602001876001600160401b0316815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160039092020190815590830151938101805467ffffffffffffffff19166001600160401b03909516949094179093555060408101519091906002820190611ac19082613da6565b5050506000805160206141a3833981519152868686866000604051611812959493929190613fe6565b5050505050565b60606000611aff6005612d74565b6001600160401b03811115611b1657611b166136fb565b604051908082528060200260200182016040528015611b7257816020015b611b5f6040805160808101909152806000815260606020820181905260006040830181905291015290565b815260200190600190039081611b345790505b50905060005b611b826005612d74565b8110156114dd5760076000611b98600584612d7e565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff166005811115611bd457611bd46138e0565b6005811115611be557611be56138e0565b8152602001600182018054611bf990613cd0565b80601f0160208091040260200160405190810160405280929190818152602001828054611c2590613cd0565b8015611c725780601f10611c4757610100808354040283529160200191611c72565b820191906000526020600020905b815481529060010190602001808311611c5557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110611cb257611cb2613d04565b6020908102919091010152600101611b78565b611ccd612d8a565b6001600160a01b0316336001600160a01b031614611d00576040516365f4906560e01b81523360048201526024016104fe565b611d0b600882612d2b565b611d4f57604080518082018252601281527113d41154905513d497d393d517d193d5539160721b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60005b611d5c6005612d74565b811015611de4576001600160a01b03821660076000611d7c600585612d7e565b6001600160a01b0390811682526020820192909252604001600020600301541603611ddc57604080518082018252600d81526c4f55545f4f465f424f554e445360981b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600101611d52565b50611df06008826130ee565b506040516001600160a01b038216907f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d90600090a250565b6001600160a01b0380821660009081526007602052604090206003015482913391168114611e865760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0383811660009081526007602052604090206002015416611ee457604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60056001600160a01b03841660009081526007602052604090205460ff166005811115611f1357611f136138e0565b14611f5c5760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b611f676005846130ee565b506001600160a01b0383166000908152600760205260408120805460ff1916815590611f9660018301826132ed565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b33611ffd600d82612d2b565b6120375760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000805b6000858152600c60205260409020548110156121b8576000858152600c6020526040902080546001600160401b03861691908390811061207d5761207d613d04565b60009182526020909120600160039092020101546001600160401b0316036121b0576000858152600c6020526040902080546120bb90600190614036565b815481106120cb576120cb613d04565b90600052602060002090600302016000600c016000878152602001908152602001600020828154811061210057612100613d04565b600091825260209091208254600390920201908155600180830154908201805467ffffffffffffffff19166001600160401b0390921691909117905560028082019061214e90840182614049565b5050506000858152600c6020526040902080548061216e5761216e613c91565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906121a760028301826132ed565b50509055600191505b60010161203b565b50806121f55760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b604080518581526001600160401b038516602082015260808183018190526000908201526001606082015290516000805160206141a38339815191529181900360a00190a150505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661228a57604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610a8c576122c48383838181106122aa576122aa613d04565b90506020020160208101906122bf91906135f5565b612db8565b60010161228d565b6000610a9d81612d74565b6122df612d8a565b6001600160a01b0316336001600160a01b031614612312576040516365f4906560e01b81523360048201526024016104fe565b6109fd81612e8a565b6000808061232881612d74565b905060005b818110156123c05760006123418183612d7e565b60008181526002602052604081209192505b60028201548110156123b257876001600160a01b031682600201828154811061237e5761237e613d04565b6000918252602090912001546001600160a01b0316036123aa57856123a281613d1a565b9650506123b2565b600101612353565b50505080600101905061232d565b50909392505050565b6060610a9d6005613103565b606060008284106124155760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600061242081612d74565b905060008185116124315784612433565b815b9050600086821161244557600061244f565b61244f8783614036565b90506000816001600160401b0381111561246b5761246b6136fb565b6040519080825280602002602001820160405280156124a457816020015b6124916133ad565b8152602001906001900390816124895790505b50905060005b828110156125b45760006124c96124c1838c613cbd565b600090612d7e565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b909104166060820152918101805486518186028101860190975280875296975093958387019592949193608086019392919083018282801561258257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612564575b5050505050815250508152508383815181106125a0576125a0613d04565b6020908102919091010152506001016124aa565b509450505083101590509250929050565b60006110878183612d50565b6000611087600d83612d2b565b6060610a9d6008613103565b816125f6600082612d50565b6126315760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b336000818152600760205260409020600201546001600160a01b031661268d57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000848152600260208190526040822090810154909190815b818110156127a857866001600160a01b03168460020182815481106126cd576126cd613d04565b6000918252602090912001546001600160a01b0316036127a057600284016126f6600184614036565b8154811061270657612706613d04565b6000918252602090912001546002850180546001600160a01b03909216918390811061273457612734613d04565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508360020180548061277557612775613c91565b600082815260209020810160001990810180546001600160a01b0319169055019055600192506127a8565b6001016126a6565b50816127ea57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f90606001611069565b3361283f600882612d2b565b6128795760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0384811660009081526007602052604090206002015416156128d857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600060405180608001604052808460058111156128f7576128f76138e0565b8152602081018690526001600160a01b0387166040820152336060909101529050612923600586613110565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff1916600183600581111561295e5761295e6138e0565b0217905550602082015160018201906129779082613da6565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff906129ef9088908890614115565b60405180910390a35050505050565b6000611087600a83612d50565b336000818152600760205260409020600201546001600160a01b0316612a6757604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b816000819003612aa65760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60005b81811015611aea5736858583818110612ac457612ac4613d04565b60a002919091019150612adb905060008235612d50565b612b53577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135612b176080850160608601614137565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051612b459493929190614152565b60405180910390a150612d23565b80356000908152600260205260409020600180820154600160801b90041615612bef577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135612bae6080860160608701614137565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051612be09493929190614152565b60405180910390a15050612d23565b60018101546001600160401b0316600003612c1d5781356000908152600360205260408120612c1d916132ed565b60408201358155612c346080830160608401614137565b60018201805467ffffffffffffffff19166001600160401b0392909216919091179055612c6760a0830160808401614180565b15612c9f576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b82356040840135612cd76080860160608701614137565b612ce760a0870160808801614180565b604051612d18949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101612aa9565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b60008181526001830160205260408120541515612d49565b6000612d498383613125565b6000611087825490565b6000612d498383613218565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b6001600160a01b038116612dfb5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612e06600882612d2b565b15612e4757604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612e52600882613110565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b038116612ecd5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612ed8600d82613110565b612f1857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b6000826005811115612f6357612f636138e0565b1480612fb757506001826005811115612f7e57612f7e6138e0565b148015612fb757506003816005811115612f9a57612f9a6138e0565b1480612fb757506004816005811115612fb557612fb56138e0565b145b8061300a57506002826005811115612fd157612fd16138e0565b14801561300a57506003816005811115612fed57612fed6138e0565b148061300a57506004816005811115613008576130086138e0565b145b8061305d57506004826005811115613024576130246138e0565b14801561305d57506003816005811115613040576130406138e0565b148061305d5750600581600581111561305b5761305b6138e0565b145b8061309557506003826005811115613077576130776138e0565b14801561309557506005816005811115613093576130936138e0565b145b1561309e575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000612d498383613242565b6000612d49836001600160a01b038416613125565b60606000612d4983613291565b6000612d49836001600160a01b038416613242565b6000818152600183016020526040812054801561320e576000613149600183614036565b855490915060009061315d90600190614036565b90508082146131c257600086600001828154811061317d5761317d613d04565b90600052602060002001549050808760000184815481106131a0576131a0613d04565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806131d3576131d3613c91565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611087565b6000915050611087565b600082600001828154811061322f5761322f613d04565b9060005260206000200154905092915050565b600081815260018301602052604081205461328957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611087565b506000611087565b6060816000018054806020026020016040519081016040528092919081815260200182805480156132e157602002820191906000526020600020905b8154815260200190600101908083116132cd575b50505050509050919050565b5080546132f990613cd0565b6000825580601f10613309575050565b601f0160209004906000526020600020908101906109fd91906133f7565b50805460008255600302906000526020600020908101906109fd919061340c565b82805482825590600052602060002090810192821561339d579160200282015b8281111561339d57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613368565b506133a99291506133f7565b5090565b6040805180820190915260008152602081016133f26040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5b808211156133a957600081556001016133f8565b808211156133a957600080825560018201805467ffffffffffffffff1916905561343960028301826132ed565b5060030161340c565b60006020828403121561345457600080fd5b5035919050565b60005b8381101561347657818101518382015260200161345e565b50506000910152565b6000815180845261349781602086016020860161345b565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561352757888303603f19018552815180518452878101516001600160401b03168885015286015160608785018190526135138186018361347f565b9689019694505050908601906001016134d4565b509098975050505050505050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156135bb5784516001600160a01b03168252938301936001929092019190830190613592565b509695505050505050565b602081526000612d496020830184613535565b80356001600160a01b03811681146135f057600080fd5b919050565b60006020828403121561360757600080fd5b612d49826135d9565b6000806020838503121561362357600080fd5b82356001600160401b038082111561363a57600080fd5b818501915085601f83011261364e57600080fd5b81358181111561365d57600080fd5b8660208260051b850101111561367257600080fd5b60209290920196919550909350505050565b6060815260006136976060830186613535565b84602084015282810360408401526136af818561347f565b9695505050505050565b8035600681106135f057600080fd5b600080604083850312156136db57600080fd5b6136e4836135d9565b91506136f2602084016136b9565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613739576137396136fb565b604052919050565b600082601f83011261375257600080fd5b81356001600160401b0381111561376b5761376b6136fb565b61377e601f8201601f1916602001613711565b81815284602083860101111561379357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156137c657600080fd5b843593506020808601356001600160401b03808211156137e557600080fd5b818801915088601f8301126137f957600080fd5b81358181111561380b5761380b6136fb565b8060051b61381a858201613711565b918252838101850191858101908c84111561383457600080fd5b948601945b838610156138595761384a866135d9565b82529486019490860190613839565b985050505060408801359450606088013592508083111561387957600080fd5b505061388787828801613741565b91505092959194509250565b600080604083850312156138a657600080fd5b6138af836135d9565b915060208301356001600160401b038111156138ca57600080fd5b6138d685828601613741565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b6006811061391457634e487b7160e01b600052602160045260246000fd5b9052565b6139238282516138f6565b600060208201516080602085015261393e608085018261347f565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000612d496020830184613918565b6000806040838503121561399257600080fd5b823591506136f2602084016135d9565b80356001600160401b03811681146135f057600080fd5b600080600080606085870312156139cf57600080fd5b843593506139df602086016139a2565b925060408501356001600160401b03808211156139fb57600080fd5b818701915087601f830112613a0f57600080fd5b813581811115613a1e57600080fd5b886020828501011115613a3057600080fd5b95989497505060200194505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015613a9657603f19888603018452613a84858351613918565b94509285019290850190600101613a68565b5092979650505050505050565b60008060408385031215613ab657600080fd5b823591506136f2602084016139a2565b60008151808452602080850194506020840160005b83811015613b005781516001600160a01b031687529582019590820190600101613adb565b509495945050505050565b602081526000612d496020830184613ac6565b60008060408385031215613b3157600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b83811015613ba957888603605f19018552815180518752830151838701889052613b9688880182613535565b9650509382019390820190600101613b6a565b5050961515959096019490945295945050505050565b600080600060608486031215613bd457600080fd5b613bdd846135d9565b925060208401356001600160401b03811115613bf857600080fd5b613c0486828701613741565b925050613c13604085016136b9565b90509250925092565b60008060208385031215613c2f57600080fd5b82356001600160401b0380821115613c4657600080fd5b818501915085601f830112613c5a57600080fd5b813581811115613c6957600080fd5b86602060a08302850101111561367257600080fd5b602081526000612d49602083018461347f565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561108757611087613ca7565b600181811c90821680613ce457607f821691505b6020821081036114dd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201613d2c57613d2c613ca7565b5060010190565b6020810161108782846138f6565b601f821115610a8c576000816000526020600020601f850160051c81016020861015613d6a5750805b601f850160051c820191505b81811015613d8957828155600101613d76565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115613dbf57613dbf6136fb565b613dd381613dcd8454613cd0565b84613d41565b602080601f831160018114613e025760008415613df05750858301515b613dfa8582613d91565b865550613d89565b600085815260208120601f198616915b82811015613e3157888601518255948401946001909101908401613e12565b5085821015613e4f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b848152608060208201526000613e786080830186613ac6565b8460408401528281036060840152613e90818561347f565b979650505050505050565b60008251613ead81846020870161345b565b9190910192915050565b6000808354613ec581613cd0565b60018281168015613edd5760018114613ef257613f21565b60ff1984168752821515830287019450613f21565b8760005260208060002060005b85811015613f185781548a820152908401908201613eff565b50505082870194505b50929695505050505050565b6001600160401b03831115613f4457613f446136fb565b613f5883613f528354613cd0565b83613d41565b6000601f841160018114613f865760008515613f745750838201355b613f7e8682613d91565b845550611aea565b600083815260209020601f19861690835b82811015613fb75786850135825560209485019460019092019101613f97565b5086821015613fd45760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8581526001600160401b038516602082015260806040820152826080820152828460a0830137600081840160a0908101919091529115156060820152601f909201601f1916909101019392505050565b8181038181111561108757611087613ca7565b818103614054575050565b61405e8254613cd0565b6001600160401b03811115614075576140756136fb565b61408381613dcd8454613cd0565b6000601f8211600181146140b1576000831561409f5750848201545b6140a98482613d91565b855550611aea565b600085815260209020601f19841690600086815260209020845b838110156140eb57828601548255600195860195909101906020016140cb565b5085831015613e4f5793015460001960f8600387901b161c19169092555050600190811b01905550565b604081526000614128604083018561347f565b9050612d4960208301846138f6565b60006020828403121561414957600080fd5b612d49826139a2565b8481528360208201526001600160401b03831660408201526080606082015260006136af608083018461347f565b60006020828403121561419257600080fd5b81358015158114612d4957600080fdfec01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98 \ No newline at end of file +60806040523480156200001157600080fd5b5060405162004a6d38038062004a6d8339810160408190526200003491620004a6565b6200003e620000c1565b620000493362000169565b60005b8151811015620000b957620000838282815181106200006f576200006f62000578565b60200260200101516200023760201b60201c565b620000b08282815181106200009c576200009c62000578565b60200260200101516200031c60201b60201c565b6001016200004c565b5050620005df565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200010e576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156200016657805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b60006200019d7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b90506001600160a01b038216620001c757604051634e3ef82560e01b815260040160405180910390fd5b817f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae30080546001600160a01b0319166001600160a01b03928316179055604051838216918316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116620002865760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b60405180910390fd5b62000293600882620003e9565b15620002d757604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b620002e460088262000410565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b038116620003625760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6200036f600d8262000410565b620003b257604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b600062000407836001600160a01b03841660008181526001830160205260408120546200046a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200040a565b5060006200040a565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620004a157600080fd5b919050565b60006020808385031215620004ba57600080fd5b82516001600160401b0380821115620004d257600080fd5b818501915085601f830112620004e757600080fd5b815181811115620004fc57620004fc62000473565b8060051b604051601f19603f8301168101818110858211171562000524576200052462000473565b6040529182528482019250838101850191888311156200054357600080fd5b938501935b828510156200056c576200055c8562000489565b8452938501939285019262000548565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020808352835180602085015260005b81811015620005be57858101830151858201604001528201620005a0565b506000604082860101526040601f19601f8301168501019250505092915050565b61447e80620005ef6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c8063a1174e7d11610125578063ca78c41a116100ad578063d911c6321161007c578063d911c632146104ba578063ee885b12146104c2578063eecc66f4146104d5578063fc207c01146104e8578063ff3a14ab146104fb57600080fd5b8063ca78c41a14610460578063d0c27c4f14610481578063d4bd44a014610494578063d7a3158a146104a757600080fd5b8063ba428b1a116100f4578063ba428b1a1461040a578063c0f220841461041d578063c179b85f14610425578063c87d132414610438578063c8fe3a011461044b57600080fd5b8063a1174e7d146103bc578063ac8a584a146103d1578063b2b99ec9146103e4578063b7f227ee146103f757600080fd5b8063581f8b9b116101a8578063813049ec11610177578063813049ec146103505780639283ae3a146103635780639d209048146103765780639ee86d3814610396578063a09449a6146103a957600080fd5b8063581f8b9b146103045780636b883c39146103175780636d70f7ae1461032a5780637e4465e71461033d57600080fd5b8063242cae9f116101e4578063242cae9f146102a657806331374511146102b957806339bf397e146102cc5780633c2544d1146102e257600080fd5b80630175015214610216578063035759e11461025c578063081814db146102715780631290abe814610286575b600080fd5b6102476102243660046136c0565b6001600160a01b0390811660009081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b61026f61026a3660046136db565b61050e565b005b610279610682565b6040516102539190613744565b6102996102943660046136db565b6108ed565b604051610253919061385f565b61026f6102b43660046136c0565b610a0f565b61026f6102c7366004613872565b610a56565b6102d4610ae7565b604051908152602001610253565b6102f56102f03660046136db565b610af8565b604051610253939291906138e6565b61026f61031236600461392a565b610cc9565b61026f610325366004613a12565b610e69565b6102476103383660046136c0565b6110d0565b61026f61034b366004613af5565b6110e3565b61026f61035e3660046136c0565b6112db565b6102796103713660046136db565b6113d6565b6103896103843660046136c0565b611539565b6040516102539190613bce565b61026f6103a4366004613be1565b6116ba565b61026f6103b7366004613c1b565b611878565b6103c4611b47565b6040516102539190613ca1565b61026f6103df3660046136c0565b611d1b565b61026f6103f23660046136c0565b611e7e565b61026f610405366004613d05565b612047565b61026f610418366004613872565b612296565b6102d4612322565b61026f6104333660046136c0565b61232d565b6102d46104463660046136c0565b612371565b61045361241f565b6040516102539190613d6d565b61047361046e366004613d80565b61242b565b604051610253929190613da2565b61024761048f3660046136db565b61261b565b6102476104a23660046136c0565b612627565b61026f6104b5366004613e31565b612634565b610453612840565b61026f6104d0366004613be1565b61284c565b61026f6104e3366004613e81565b612a95565b6102476104f63660046136db565b612c60565b61026f610509366004613ede565b612c6d565b3361051a600d82612f8d565b61055d5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b60405180910390fd5b81610569600a82612fb2565b6105a45760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000838152600c602052604090205415610617576000838152600c602052604090208054806105d5576105d5613f53565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff191690559061060e600283018261354f565b505090556105a4565b6000838152600c6020526040812061062e91613589565b610639600a84612fca565b50604080518481526001600160401b036020820152608081830181905260009082015260016060820152905160008051602061445e8339815191529181900360a00190a1505050565b6060600080610691600a612fd6565b905060005b818110156106d25760006106ab600a83612fe0565b6000818152600c60205260409020549091506106c79085613f7f565b935050600101610696565b506000826001600160401b038111156106ed576106ed61395d565b60405190808252806020026020018201604052801561073a57816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161070b5790505b5090506000610749600a612fd6565b90506000805b828110156108e2576000610764600a83612fe0565b6000818152600c6020908152604080832080548251818502810185019093528083529495509293909291849084015b8282101561087757600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b031693830193909352600283018054929392918401916107e690613f92565b80601f016020809104026020016040519081016040528092919081815260200182805461081290613f92565b801561085f5780601f106108345761010080835404028352916020019161085f565b820191906000526020600020905b81548152906001019060200180831161084257829003601f168201915b50505050508152505081526020019060010190610793565b50505050905060005b81518110156108d45781818151811061089b5761089b613fc6565b60200260200101518786806108af90613fdc565b9750815181106108c1576108c1613fc6565b6020908102919091010152600101610880565b50505080600101905061074f565b509195945050505050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906109219083612fb2565b61095c5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109ff57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109e1575b5050505050815250509050919050565b610a17612fec565b6001600160a01b0316336001600160a01b031614610a4a576040516365f4906560e01b8152336004820152602401610554565b610a538161301a565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610aa057604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610ae257610ada838383818110610ac057610ac0613fc6565b9050602002016020810190610ad591906136c0565b6130ec565b600101610aa3565b505050565b6000610af36005612fd6565b905090565b6040805160a081018252600080825260208201819052918101829052606080820183905260808201819052909190610b308285612fb2565b610b6b5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b90910416606082015294820180548451818702810187019095528085529296959194919387936080860193919291830182828015610c2557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c07575b5050505050815250509250808054610c3c90613f92565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6890613f92565b8015610cb55780601f10610c8a57610100808354040283529160200191610cb5565b820191906000526020600020905b815481529060010190602001808311610c9857829003601f168201915b505050505090509250925092509193909250565b6001600160a01b03808316600090815260076020526040902060020154839116610d2957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b33610d35600882612f8d565b610d6f5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0380851660009081526007602052604090206003015485913391168114610dcd5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03861660009081526007602052604090208054610df49060ff16876131b1565b80548690829060ff19166001836005811115610e1257610e12613b42565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090610e58908990613ff5565b60405180910390a250505050505050565b336000818152600760205260409020600201546001600160a01b0316610ec557604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b610ed0600086612fb2565b15610f1157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b835160005b81811015610f9657610f4e868281518110610f3357610f33613fc6565b60200260200101516000600501612f8d90919063ffffffff16565b610f8e57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b600101610f16565b506040805160a081018252858152600060208201819052918101829052606081018290526080810187905290610fcc9088613344565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff1990991691909416179690961795909516179093556080840151805185949361105c939085019201906135aa565b50505060008781526003602052604090206110778582614068565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb906110bf908990899089908990614121565b60405180910390a150505050505050565b60006110dd600883612f8d565b92915050565b336110ef600882612f8d565b6111295760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0380841660009081526007602052604090206002015484911661118957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03808516600090815260076020526040902060030154859133911681146111e75760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03861660009081526007602090815260409182902091516112119188910161415d565b604051602081830303815290604052805190602001208160010160405160200161123b9190614179565b604051602081830303815290604052805190602001200361128b5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600181016112998782614068565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac90610e58908990613f40565b6112e3612fec565b6001600160a01b0316336001600160a01b031614611316576040516365f4906560e01b8152336004820152602401610554565b6001600160a01b0381166113595760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b611364600d82613350565b61139f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6040516001600160a01b038216907ff9889c857e5356066b564327caa757c325ecbc001b2b47d72edf8cf9aedb1be590600090a250565b6060816113e4600a82612fb2565b61141f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000838152600c6020908152604080832080548251818502810185019093528083529193909284015b8282101561152c57600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161149b90613f92565b80601f01602080910402602001604051908101604052809291908181526020018280546114c790613f92565b80156115145780601f106114e957610100808354040283529160200191611514565b820191906000526020600020905b8154815290600101906020018083116114f757829003601f168201915b50505050508152505081526020019060010190611448565b5050505091505b50919050565b6115646040805160808101909152806000815260606020820181905260006040830181905291015290565b61156f600583612f8d565b6115af57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff1660058111156115ea576115ea613b42565b60058111156115fb576115fb613b42565b815260200160018201805461160f90613f92565b80601f016020809104026020016040519081016040528092919081815260200182805461163b90613f92565b80156116885780601f1061165d57610100808354040283529160200191611688565b820191906000526020600020905b81548152906001019060200180831161166b57829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b816116c6600082612fb2565b6117015760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b336000818152600760205260409020600201546001600160a01b031661175d57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b600084815260026020819052604082209081015490915b818110156117f957856001600160a01b031683600201828154811061179b5761179b613fc6565b6000918252602090912001546001600160a01b0316036117f157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b600101611774565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060015b60405180910390a1505050505050565b33611884600d82612f8d565b6118be5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b67fffffffffffffffe196001600160401b0385160161190c5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600082900361194a5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b611955600a86612fb2565b61196657611964600a86613344565b505b6000858152600c6020526040812054905b81811015611a4d576000878152600c6020526040902080546001600160401b0388169190839081106119ab576119ab613fc6565b60009182526020909120600160039092020101546001600160401b031603611a45576000878152600c60205260409020805486918691849081106119f1576119f1613fc6565b90600052602060002090600302016002019182611a0f9291906141ef565b5060008051602061445e833981519152878787876000604051611a369594939291906142a8565b60405180910390a15050611b40565b600101611977565b506000600c0160008781526020019081526020016000206040518060600160405280888152602001876001600160401b0316815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160039092020190815590830151938101805467ffffffffffffffff19166001600160401b03909516949094179093555060408101519091906002820190611b179082614068565b50505060008051602061445e8339815191528686868660006040516118689594939291906142a8565b5050505050565b60606000611b556005612fd6565b6001600160401b03811115611b6c57611b6c61395d565b604051908082528060200260200182016040528015611bc857816020015b611bb56040805160808101909152806000815260606020820181905260006040830181905291015290565b815260200190600190039081611b8a5790505b50905060005b611bd86005612fd6565b8110156115335760076000611bee600584612fe0565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff166005811115611c2a57611c2a613b42565b6005811115611c3b57611c3b613b42565b8152602001600182018054611c4f90613f92565b80601f0160208091040260200160405190810160405280929190818152602001828054611c7b90613f92565b8015611cc85780601f10611c9d57610100808354040283529160200191611cc8565b820191906000526020600020905b815481529060010190602001808311611cab57829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110611d0857611d08613fc6565b6020908102919091010152600101611bce565b611d23612fec565b6001600160a01b0316336001600160a01b031614611d56576040516365f4906560e01b8152336004820152602401610554565b611d61600882612f8d565b611da557604080518082018252601281527113d41154905513d497d393d517d193d5539160721b6020820152905162461bcd60e51b81526105549190600401613f40565b60005b611db26005612fd6565b811015611e3a576001600160a01b03821660076000611dd2600585612fe0565b6001600160a01b0390811682526020820192909252604001600020600301541603611e3257604080518082018252600d81526c4f55545f4f465f424f554e445360981b6020820152905162461bcd60e51b81526105549190600401613f40565b600101611da8565b50611e46600882613350565b506040516001600160a01b038216907f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d90600090a250565b6001600160a01b0380821660009081526007602052604090206003015482913391168114611edc5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0383811660009081526007602052604090206002015416611f3a57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b60056001600160a01b03841660009081526007602052604090205460ff166005811115611f6957611f69613b42565b14611fb25760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526105549190600401613f40565b611fbd600584613350565b506001600160a01b0383166000908152600760205260408120805460ff1916815590611fec600183018261354f565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b33612053600d82612f8d565b61208d5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6000805b6000858152600c602052604090205481101561220e576000858152600c6020526040902080546001600160401b0386169190839081106120d3576120d3613fc6565b60009182526020909120600160039092020101546001600160401b031603612206576000858152600c602052604090208054612111906001906142f8565b8154811061212157612121613fc6565b90600052602060002090600302016000600c016000878152602001908152602001600020828154811061215657612156613fc6565b600091825260209091208254600390920201908155600180830154908201805467ffffffffffffffff19166001600160401b039092169190911790556002808201906121a49084018261430b565b5050506000858152600c602052604090208054806121c4576121c4613f53565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906121fd600283018261354f565b50509055600191505b600101612091565b508061224b5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b604080518581526001600160401b0385166020820152608081830181905260009082015260016060820152905160008051602061445e8339815191529181900360a00190a150505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166122e057604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610ae25761231a83838381811061230057612300613fc6565b905060200201602081019061231591906136c0565b61301a565b6001016122e3565b6000610af381612fd6565b612335612fec565b6001600160a01b0316336001600160a01b031614612368576040516365f4906560e01b8152336004820152602401610554565b610a53816130ec565b6000808061237e81612fd6565b905060005b818110156124165760006123978183612fe0565b60008181526002602052604081209192505b600282015481101561240857876001600160a01b03168260020182815481106123d4576123d4613fc6565b6000918252602090912001546001600160a01b03160361240057856123f881613fdc565b965050612408565b6001016123a9565b505050806001019050612383565b50909392505050565b6060610af36005613365565b6060600082841061246b5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600061247681612fd6565b905060008185116124875784612489565b815b9050600086821161249b5760006124a5565b6124a587836142f8565b90506000816001600160401b038111156124c1576124c161395d565b6040519080825280602002602001820160405280156124fa57816020015b6124e761360f565b8152602001906001900390816124df5790505b50905060005b8281101561260a57600061251f612517838c613f7f565b600090612fe0565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b90910416606082015291810180548651818602810186019097528087529697509395838701959294919360808601939291908301828280156125d857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116125ba575b5050505050815250508152508383815181106125f6576125f6613fc6565b602090810291909101015250600101612500565b509450505083101590509250929050565b60006110dd8183612fb2565b60006110dd600d83612f8d565b336000818152600760205260409020600201546001600160a01b031661269057604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b61269b600087612fb2565b6126d65760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000868152600260205260409020600180820154600160801b9004161561273257604080518082018252600d81526c14d51491505357d4d150531151609a1b6020820152905162461bcd60e51b81526105549190600401613f40565b60018101546001600160401b0380861691161061277e5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b60008781526003602052604081206127959161354f565b84815560018101805467ffffffffffffffff19166001600160401b03861617905582156127ef576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b60408051888152602081018790526001600160401b0386169181019190915283151560608201527fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b906080016110bf565b6060610af36008613365565b81612858600082612fb2565b6128935760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b336000818152600760205260409020600201546001600160a01b03166128ef57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6000848152600260208190526040822090810154909190815b81811015612a0a57866001600160a01b031684600201828154811061292f5761292f613fc6565b6000918252602090912001546001600160a01b031603612a0257600284016129586001846142f8565b8154811061296857612968613fc6565b6000918252602090912001546002850180546001600160a01b03909216918390811061299657612996613fc6565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550836002018054806129d7576129d7613f53565b600082815260209020810160001990810180546001600160a01b031916905501905560019250612a0a565b600101612908565b5081612a4c57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060016110bf565b33612aa1600882612f8d565b612adb5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b038481166000908152600760205260409020600201541615612b3a57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b60006040518060800160405280846005811115612b5957612b59613b42565b8152602081018690526001600160a01b0387166040820152336060909101529050612b85600586613372565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff19166001836005811115612bc057612bc0613b42565b021790555060208201516001820190612bd99082614068565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90612c5190889088906143d7565b60405180910390a35050505050565b60006110dd600a83612fb2565b336000818152600760205260409020600201546001600160a01b0316612cc957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b816000819003612d085760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b60005b81811015611b405736858583818110612d2657612d26613fc6565b60a002919091019150612d3d905060008235612fb2565b612db5577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135612d7960808501606086016143f9565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051612da79493929190614414565b60405180910390a150612f85565b80356000908152600260205260409020600180820154600160801b90041615612e51577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135612e1060808601606087016143f9565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051612e429493929190614414565b60405180910390a15050612f85565b60018101546001600160401b0316600003612e7f5781356000908152600360205260408120612e7f9161354f565b60408201358155612e9660808301606084016143f9565b60018201805467ffffffffffffffff19166001600160401b0392909216919091179055612ec960a0830160808401614442565b15612f01576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b82356040840135612f3960808601606087016143f9565b612f4960a0870160808801614442565b604051612f7a949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101612d0b565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b60008181526001830160205260408120541515612fab565b6000612fab8383613387565b60006110dd825490565b6000612fab838361347a565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b6001600160a01b03811661305d5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b613068600882612f8d565b156130a957604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b6130b4600882613372565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b03811661312f5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b61313a600d82613372565b61317a57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b60008260058111156131c5576131c5613b42565b1480613219575060018260058111156131e0576131e0613b42565b148015613219575060038160058111156131fc576131fc613b42565b14806132195750600481600581111561321757613217613b42565b145b8061326c5750600282600581111561323357613233613b42565b14801561326c5750600381600581111561324f5761324f613b42565b148061326c5750600481600581111561326a5761326a613b42565b145b806132bf5750600482600581111561328657613286613b42565b1480156132bf575060038160058111156132a2576132a2613b42565b14806132bf575060058160058111156132bd576132bd613b42565b145b806132f7575060038260058111156132d9576132d9613b42565b1480156132f7575060058160058111156132f5576132f5613b42565b145b15613300575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526105549190600401613f40565b6000612fab83836134a4565b6000612fab836001600160a01b038416613387565b60606000612fab836134f3565b6000612fab836001600160a01b0384166134a4565b600081815260018301602052604081205480156134705760006133ab6001836142f8565b85549091506000906133bf906001906142f8565b90508082146134245760008660000182815481106133df576133df613fc6565b906000526020600020015490508087600001848154811061340257613402613fc6565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061343557613435613f53565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506110dd565b60009150506110dd565b600082600001828154811061349157613491613fc6565b9060005260206000200154905092915050565b60008181526001830160205260408120546134eb575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556110dd565b5060006110dd565b60608160000180548060200260200160405190810160405280929190818152602001828054801561354357602002820191906000526020600020905b81548152602001906001019080831161352f575b50505050509050919050565b50805461355b90613f92565b6000825580601f1061356b575050565b601f016020900490600052602060002090810190610a539190613659565b5080546000825560030290600052602060002090810190610a53919061366e565b8280548282559060005260206000209081019282156135ff579160200282015b828111156135ff57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906135ca565b5061360b929150613659565b5090565b6040805180820190915260008152602081016136546040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5b8082111561360b576000815560010161365a565b8082111561360b57600080825560018201805467ffffffffffffffff1916905561369b600283018261354f565b5060030161366e565b80356001600160a01b03811681146136bb57600080fd5b919050565b6000602082840312156136d257600080fd5b612fab826136a4565b6000602082840312156136ed57600080fd5b5035919050565b60005b8381101561370f5781810151838201526020016136f7565b50506000910152565b600081518084526137308160208601602086016136f4565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156137c057888303603f19018552815180518452878101516001600160401b03168885015286015160608785018190526137ac81860183613718565b96890196945050509086019060010161376d565b509098975050505050505050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156138545784516001600160a01b0316825293830193600192909201919083019061382b565b509695505050505050565b602081526000612fab60208301846137ce565b6000806020838503121561388557600080fd5b82356001600160401b038082111561389c57600080fd5b818501915085601f8301126138b057600080fd5b8135818111156138bf57600080fd5b8660208260051b85010111156138d457600080fd5b60209290920196919550909350505050565b6060815260006138f960608301866137ce565b84602084015282810360408401526139118185613718565b9695505050505050565b8035600681106136bb57600080fd5b6000806040838503121561393d57600080fd5b613946836136a4565b91506139546020840161391b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561399b5761399b61395d565b604052919050565b600082601f8301126139b457600080fd5b81356001600160401b038111156139cd576139cd61395d565b6139e0601f8201601f1916602001613973565b8181528460208386010111156139f557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215613a2857600080fd5b843593506020808601356001600160401b0380821115613a4757600080fd5b818801915088601f830112613a5b57600080fd5b813581811115613a6d57613a6d61395d565b8060051b613a7c858201613973565b918252838101850191858101908c841115613a9657600080fd5b948601945b83861015613abb57613aac866136a4565b82529486019490860190613a9b565b9850505050604088013594506060880135925080831115613adb57600080fd5b5050613ae9878288016139a3565b91505092959194509250565b60008060408385031215613b0857600080fd5b613b11836136a4565b915060208301356001600160401b03811115613b2c57600080fd5b613b38858286016139a3565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b60068110613b7657634e487b7160e01b600052602160045260246000fd5b9052565b613b85828251613b58565b6000602082015160806020850152613ba06080850182613718565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000612fab6020830184613b7a565b60008060408385031215613bf457600080fd5b82359150613954602084016136a4565b80356001600160401b03811681146136bb57600080fd5b60008060008060608587031215613c3157600080fd5b84359350613c4160208601613c04565b925060408501356001600160401b0380821115613c5d57600080fd5b818701915087601f830112613c7157600080fd5b813581811115613c8057600080fd5b886020828501011115613c9257600080fd5b95989497505060200194505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015613cf857603f19888603018452613ce6858351613b7a565b94509285019290850190600101613cca565b5092979650505050505050565b60008060408385031215613d1857600080fd5b8235915061395460208401613c04565b60008151808452602080850194506020840160005b83811015613d625781516001600160a01b031687529582019590820190600101613d3d565b509495945050505050565b602081526000612fab6020830184613d28565b60008060408385031215613d9357600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b83811015613e0b57888603605f19018552815180518752830151838701889052613df8888801826137ce565b9650509382019390820190600101613dcc565b5050961515959096019490945295945050505050565b803580151581146136bb57600080fd5b600080600080600060a08688031215613e4957600080fd5b853594506020860135935060408601359250613e6760608701613c04565b9150613e7560808701613e21565b90509295509295909350565b600080600060608486031215613e9657600080fd5b613e9f846136a4565b925060208401356001600160401b03811115613eba57600080fd5b613ec6868287016139a3565b925050613ed56040850161391b565b90509250925092565b60008060208385031215613ef157600080fd5b82356001600160401b0380821115613f0857600080fd5b818501915085601f830112613f1c57600080fd5b813581811115613f2b57600080fd5b86602060a0830285010111156138d457600080fd5b602081526000612fab6020830184613718565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156110dd576110dd613f69565b600181811c90821680613fa657607f821691505b60208210810361153357634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201613fee57613fee613f69565b5060010190565b602081016110dd8284613b58565b601f821115610ae2576000816000526020600020601f850160051c8101602086101561402c5750805b601f850160051c820191505b8181101561404b57828155600101614038565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156140815761408161395d565b6140958161408f8454613f92565b84614003565b602080601f8311600181146140c457600084156140b25750858301515b6140bc8582614053565b86555061404b565b600085815260208120601f198616915b828110156140f3578886015182559484019460019091019084016140d4565b50858210156141115787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b84815260806020820152600061413a6080830186613d28565b84604084015282810360608401526141528185613718565b979650505050505050565b6000825161416f8184602087016136f4565b9190910192915050565b600080835461418781613f92565b6001828116801561419f57600181146141b4576141e3565b60ff19841687528215158302870194506141e3565b8760005260208060002060005b858110156141da5781548a8201529084019082016141c1565b50505082870194505b50929695505050505050565b6001600160401b038311156142065761420661395d565b61421a836142148354613f92565b83614003565b6000601f84116001811461424857600085156142365750838201355b6142408682614053565b845550611b40565b600083815260209020601f19861690835b828110156142795786850135825560209485019460019092019101614259565b50868210156142965760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8581526001600160401b038516602082015260806040820152826080820152828460a0830137600081840160a0908101919091529115156060820152601f909201601f1916909101019392505050565b818103818111156110dd576110dd613f69565b818103614316575050565b6143208254613f92565b6001600160401b038111156143375761433761395d565b6143458161408f8454613f92565b6000601f82116001811461437357600083156143615750848201545b61436b8482614053565b855550611b40565b600085815260209020601f19841690600086815260209020845b838110156143ad578286015482556001958601959091019060200161438d565b50858310156141115793015460001960f8600387901b161c19169092555050600190811b01905550565b6040815260006143ea6040830185613718565b9050612fab6020830184613b58565b60006020828403121561440b57600080fd5b612fab82613c04565b8481528360208201526001600160401b03831660408201526080606082015260006139116080830184613718565b60006020828403121561445457600080fd5b612fab82613e2156fec01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98 \ No newline at end of file diff --git a/packages/generated/dev/abis/MockRiverRegistry.json b/packages/generated/dev/abis/MockRiverRegistry.json index 88774017e4..e67c239e6d 100644 --- a/packages/generated/dev/abis/MockRiverRegistry.json +++ b/packages/generated/dev/abis/MockRiverRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"approvedOperators","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"__OperatorRegistry_init","inputs":[{"name":"initialOperators","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"__RiverConfig_init","inputs":[{"name":"configManagers","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocateStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodes","type":"address[]","internalType":"address[]"},{"name":"genesisMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"genesisMiniblock","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approveConfigurationManager","inputs":[{"name":"manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approveOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configurationExists","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"deleteConfiguration","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteConfigurationOnBlock","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllConfiguration","inputs":[],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Setting[]","components":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"value","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"getAllNodeAddresses","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getAllNodes","inputs":[],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Node[]","components":[{"name":"status","type":"uint8","internalType":"enum NodeStatus"},{"name":"url","type":"string","internalType":"string"},{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getAllOperators","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getConfiguration","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Setting[]","components":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"value","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"getNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Node","components":[{"name":"status","type":"uint8","internalType":"enum NodeStatus"},{"name":"url","type":"string","internalType":"string"},{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getNodeCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPaginatedStreams","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"stop","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct StreamWithId[]","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"stream","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}]},{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}],"stateMutability":"view"},{"type":"function","name":"getStreamCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStreamCountOnNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStreamWithGenesis","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"isConfigurationManager","inputs":[{"name":"manager","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"placeStreamOnNode","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"},{"name":"status","type":"uint8","internalType":"enum NodeStatus"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeConfigurationManager","inputs":[{"name":"manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStreamFromNode","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setConfiguration","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStreamLastMiniblockBatch","inputs":[{"name":"miniblocks","type":"tuple[]","internalType":"struct SetMiniblock[]","components":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"prevMiniBlockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"isSealed","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateNodeStatus","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"status","type":"uint8","internalType":"enum NodeStatus"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateNodeUrl","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ConfigurationChanged","inputs":[{"name":"key","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"block","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"value","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"deleted","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ConfigurationManagerAdded","inputs":[{"name":"manager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ConfigurationManagerRemoved","inputs":[{"name":"manager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"NodeAdded","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"url","type":"string","indexed":false,"internalType":"string"},{"name":"status","type":"uint8","indexed":false,"internalType":"enum NodeStatus"}],"anonymous":false},{"type":"event","name":"NodeRemoved","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"NodeStatusUpdated","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"status","type":"uint8","indexed":false,"internalType":"enum NodeStatus"}],"anonymous":false},{"type":"event","name":"NodeUrlUpdated","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"url","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OperatorAdded","inputs":[{"name":"operatorAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OperatorRemoved","inputs":[{"name":"operatorAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StreamAllocated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"nodes","type":"address[]","indexed":false,"internalType":"address[]"},{"name":"genesisMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"genesisMiniblock","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"StreamLastMiniblockUpdateFailed","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"reason","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"StreamLastMiniblockUpdated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"isSealed","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"StreamPlacementUpdated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"nodeAddress","type":"address","indexed":false,"internalType":"address"},{"name":"isAdded","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b50604051620047b2380380620047b28339810160408190526200003491620004a6565b6200003e620000c1565b620000493362000169565b60005b8151811015620000b957620000838282815181106200006f576200006f62000578565b60200260200101516200023760201b60201c565b620000b08282815181106200009c576200009c62000578565b60200260200101516200031c60201b60201c565b6001016200004c565b5050620005df565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200010e576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156200016657805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b60006200019d7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b90506001600160a01b038216620001c757604051634e3ef82560e01b815260040160405180910390fd5b817f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae30080546001600160a01b0319166001600160a01b03928316179055604051838216918316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116620002865760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b60405180910390fd5b62000293600882620003e9565b15620002d757604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b620002e460088262000410565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b038116620003625760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6200036f600d8262000410565b620003b257604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b600062000407836001600160a01b03841660008181526001830160205260408120546200046a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200040a565b5060006200040a565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620004a157600080fd5b919050565b60006020808385031215620004ba57600080fd5b82516001600160401b0380821115620004d257600080fd5b818501915085601f830112620004e757600080fd5b815181811115620004fc57620004fc62000473565b8060051b604051601f19603f8301168101818110858211171562000524576200052462000473565b6040529182528482019250838101850191888311156200054357600080fd5b938501935b828510156200056c576200055c8562000489565b8452938501939285019262000548565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020808352835180602085015260005b81811015620005be57858101830151858201604001528201620005a0565b506000604082860101526040601f19601f8301168501019250505092915050565b6141c380620005ef6000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063a1174e7d1161011a578063c8fe3a01116100ad578063d911c6321161007c578063d911c63214610464578063ee885b121461046c578063eecc66f41461047f578063fc207c0114610492578063ff3a14ab146104a557600080fd5b8063c8fe3a0114610408578063ca78c41a1461041d578063d0c27c4f1461043e578063d4bd44a01461045157600080fd5b8063ba428b1a116100e9578063ba428b1a146103c7578063c0f22084146103da578063c179b85f146103e2578063c87d1324146103f557600080fd5b8063a1174e7d14610379578063ac8a584a1461038e578063b2b99ec9146103a1578063b7f227ee146103b457600080fd5b80636b883c39116101925780639283ae3a116101615780639283ae3a146103205780639d209048146103335780639ee86d3814610353578063a09449a61461036657600080fd5b80636b883c39146102c45780636d70f7ae146102d75780637e4465e7146102fa578063813049ec1461030d57600080fd5b806331374511116101ce578063313745111461026657806339bf397e146102795780633c2544d11461028f578063581f8b9b146102b157600080fd5b8063035759e114610200578063081814db146102155780631290abe814610233578063242cae9f14610253575b600080fd5b61021361020e366004613442565b6104b8565b005b61021d61062c565b60405161022a91906134ab565b60405180910390f35b610246610241366004613442565b610897565b60405161022a91906135c6565b6102136102613660046135f5565b6109b9565b610213610274366004613610565b610a00565b610281610a91565b60405190815260200161022a565b6102a261029d366004613442565b610aa2565b60405161022a93929190613684565b6102136102bf3660046136c8565b610c73565b6102136102d23660046137b0565b610e13565b6102ea6102e53660046135f5565b61107a565b604051901515815260200161022a565b610213610308366004613893565b61108d565b61021361031b3660046135f5565b611285565b61021d61032e366004613442565b611380565b6103466103413660046135f5565b6114e3565b60405161022a919061396c565b61021361036136600461397f565b611664565b6102136103743660046139b9565b611822565b610381611af1565b60405161022a9190613a3f565b61021361039c3660046135f5565b611cc5565b6102136103af3660046135f5565b611e28565b6102136103c2366004613aa3565b611ff1565b6102136103d5366004613610565b612240565b6102816122cc565b6102136103f03660046135f5565b6122d7565b6102816104033660046135f5565b61231b565b6104106123c9565b60405161022a9190613b0b565b61043061042b366004613b1e565b6123d5565b60405161022a929190613b40565b6102ea61044c366004613442565b6125c5565b6102ea61045f3660046135f5565b6125d1565b6104106125de565b61021361047a36600461397f565b6125ea565b61021361048d366004613bbf565b612833565b6102ea6104a0366004613442565b6129fe565b6102136104b3366004613c1c565b612a0b565b336104c4600d82612d2b565b6105075760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60405180910390fd5b81610513600a82612d50565b61054e5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000838152600c6020526040902054156105c1576000838152600c6020526040902080548061057f5761057f613c91565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906105b860028301826132ed565b5050905561054e565b6000838152600c602052604081206105d891613327565b6105e3600a84612d68565b50604080518481526001600160401b03602082015260808183018190526000908201526001606082015290516000805160206141a38339815191529181900360a00190a1505050565b606060008061063b600a612d74565b905060005b8181101561067c576000610655600a83612d7e565b6000818152600c60205260409020549091506106719085613cbd565b935050600101610640565b506000826001600160401b03811115610697576106976136fb565b6040519080825280602002602001820160405280156106e457816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816106b55790505b50905060006106f3600a612d74565b90506000805b8281101561088c57600061070e600a83612d7e565b6000818152600c6020908152604080832080548251818502810185019093528083529495509293909291849084015b8282101561082157600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161079090613cd0565b80601f01602080910402602001604051908101604052809291908181526020018280546107bc90613cd0565b80156108095780601f106107de57610100808354040283529160200191610809565b820191906000526020600020905b8154815290600101906020018083116107ec57829003601f168201915b5050505050815250508152602001906001019061073d565b50505050905060005b815181101561087e5781818151811061084557610845613d04565b602002602001015187868061085990613d1a565b97508151811061086b5761086b613d04565b602090810291909101015260010161082a565b5050508060010190506106f9565b509195945050505050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906108cb9083612d50565b6109065760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109a957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161098b575b5050505050815250509050919050565b6109c1612d8a565b6001600160a01b0316336001600160a01b0316146109f4576040516365f4906560e01b81523360048201526024016104fe565b6109fd81612db8565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610a4a57604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610a8c57610a84838383818110610a6a57610a6a613d04565b9050602002016020810190610a7f91906135f5565b612e8a565b600101610a4d565b505050565b6000610a9d6005612d74565b905090565b6040805160a081018252600080825260208201819052918101829052606080820183905260808201819052909190610ada8285612d50565b610b155760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b90910416606082015294820180548451818702810187019095528085529296959194919387936080860193919291830182828015610bcf57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610bb1575b5050505050815250509250808054610be690613cd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1290613cd0565b8015610c5f5780601f10610c3457610100808354040283529160200191610c5f565b820191906000526020600020905b815481529060010190602001808311610c4257829003601f168201915b505050505090509250925092509193909250565b6001600160a01b03808316600090815260076020526040902060020154839116610cd357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b33610cdf600882612d2b565b610d195760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0380851660009081526007602052604090206003015485913391168114610d775760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03861660009081526007602052604090208054610d9e9060ff1687612f4f565b80548690829060ff19166001836005811115610dbc57610dbc6138e0565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090610e02908990613d33565b60405180910390a250505050505050565b336000818152600760205260409020600201546001600160a01b0316610e6f57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b610e7a600086612d50565b15610ebb57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b835160005b81811015610f4057610ef8868281518110610edd57610edd613d04565b60200260200101516000600501612d2b90919063ffffffff16565b610f3857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600101610ec0565b506040805160a081018252858152600060208201819052918101829052606081018290526080810187905290610f7690886130e2565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff1990991691909416179690961795909516179093556080840151805185949361100693908501920190613348565b50505060008781526003602052604090206110218582613da6565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb90611069908990899089908990613e5f565b60405180910390a150505050505050565b6000611087600883612d2b565b92915050565b33611099600882612d2b565b6110d35760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0380841660009081526007602052604090206002015484911661113357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03808516600090815260076020526040902060030154859133911681146111915760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03861660009081526007602090815260409182902091516111bb91889101613e9b565b60405160208183030381529060405280519060200120816001016040516020016111e59190613eb7565b60405160208183030381529060405280519060200120036112355760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600181016112438782613da6565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac90610e02908990613c7e565b61128d612d8a565b6001600160a01b0316336001600160a01b0316146112c0576040516365f4906560e01b81523360048201526024016104fe565b6001600160a01b0381166113035760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b61130e600d826130ee565b6113495760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6040516001600160a01b038216907ff9889c857e5356066b564327caa757c325ecbc001b2b47d72edf8cf9aedb1be590600090a250565b60608161138e600a82612d50565b6113c95760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000838152600c6020908152604080832080548251818502810185019093528083529193909284015b828210156114d657600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161144590613cd0565b80601f016020809104026020016040519081016040528092919081815260200182805461147190613cd0565b80156114be5780601f10611493576101008083540402835291602001916114be565b820191906000526020600020905b8154815290600101906020018083116114a157829003601f168201915b505050505081525050815260200190600101906113f2565b5050505091505b50919050565b61150e6040805160808101909152806000815260606020820181905260006040830181905291015290565b611519600583612d2b565b61155957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff166005811115611594576115946138e0565b60058111156115a5576115a56138e0565b81526020016001820180546115b990613cd0565b80601f01602080910402602001604051908101604052809291908181526020018280546115e590613cd0565b80156116325780601f1061160757610100808354040283529160200191611632565b820191906000526020600020905b81548152906001019060200180831161161557829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b81611670600082612d50565b6116ab5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b336000818152600760205260409020600201546001600160a01b031661170757604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600084815260026020819052604082209081015490915b818110156117a357856001600160a01b031683600201828154811061174557611745613d04565b6000918252602090912001546001600160a01b03160361179b57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60010161171e565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060015b60405180910390a1505050505050565b3361182e600d82612d2b565b6118685760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b67fffffffffffffffe196001600160401b038516016118b65760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60008290036118f45760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6118ff600a86612d50565b6119105761190e600a866130e2565b505b6000858152600c6020526040812054905b818110156119f7576000878152600c6020526040902080546001600160401b03881691908390811061195557611955613d04565b60009182526020909120600160039092020101546001600160401b0316036119ef576000878152600c602052604090208054869186918490811061199b5761199b613d04565b906000526020600020906003020160020191826119b9929190613f2d565b506000805160206141a38339815191528787878760006040516119e0959493929190613fe6565b60405180910390a15050611aea565b600101611921565b506000600c0160008781526020019081526020016000206040518060600160405280888152602001876001600160401b0316815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160039092020190815590830151938101805467ffffffffffffffff19166001600160401b03909516949094179093555060408101519091906002820190611ac19082613da6565b5050506000805160206141a3833981519152868686866000604051611812959493929190613fe6565b5050505050565b60606000611aff6005612d74565b6001600160401b03811115611b1657611b166136fb565b604051908082528060200260200182016040528015611b7257816020015b611b5f6040805160808101909152806000815260606020820181905260006040830181905291015290565b815260200190600190039081611b345790505b50905060005b611b826005612d74565b8110156114dd5760076000611b98600584612d7e565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff166005811115611bd457611bd46138e0565b6005811115611be557611be56138e0565b8152602001600182018054611bf990613cd0565b80601f0160208091040260200160405190810160405280929190818152602001828054611c2590613cd0565b8015611c725780601f10611c4757610100808354040283529160200191611c72565b820191906000526020600020905b815481529060010190602001808311611c5557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110611cb257611cb2613d04565b6020908102919091010152600101611b78565b611ccd612d8a565b6001600160a01b0316336001600160a01b031614611d00576040516365f4906560e01b81523360048201526024016104fe565b611d0b600882612d2b565b611d4f57604080518082018252601281527113d41154905513d497d393d517d193d5539160721b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60005b611d5c6005612d74565b811015611de4576001600160a01b03821660076000611d7c600585612d7e565b6001600160a01b0390811682526020820192909252604001600020600301541603611ddc57604080518082018252600d81526c4f55545f4f465f424f554e445360981b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600101611d52565b50611df06008826130ee565b506040516001600160a01b038216907f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d90600090a250565b6001600160a01b0380821660009081526007602052604090206003015482913391168114611e865760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0383811660009081526007602052604090206002015416611ee457604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60056001600160a01b03841660009081526007602052604090205460ff166005811115611f1357611f136138e0565b14611f5c5760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b611f676005846130ee565b506001600160a01b0383166000908152600760205260408120805460ff1916815590611f9660018301826132ed565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b33611ffd600d82612d2b565b6120375760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000805b6000858152600c60205260409020548110156121b8576000858152600c6020526040902080546001600160401b03861691908390811061207d5761207d613d04565b60009182526020909120600160039092020101546001600160401b0316036121b0576000858152600c6020526040902080546120bb90600190614036565b815481106120cb576120cb613d04565b90600052602060002090600302016000600c016000878152602001908152602001600020828154811061210057612100613d04565b600091825260209091208254600390920201908155600180830154908201805467ffffffffffffffff19166001600160401b0390921691909117905560028082019061214e90840182614049565b5050506000858152600c6020526040902080548061216e5761216e613c91565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906121a760028301826132ed565b50509055600191505b60010161203b565b50806121f55760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b604080518581526001600160401b038516602082015260808183018190526000908201526001606082015290516000805160206141a38339815191529181900360a00190a150505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661228a57604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610a8c576122c48383838181106122aa576122aa613d04565b90506020020160208101906122bf91906135f5565b612db8565b60010161228d565b6000610a9d81612d74565b6122df612d8a565b6001600160a01b0316336001600160a01b031614612312576040516365f4906560e01b81523360048201526024016104fe565b6109fd81612e8a565b6000808061232881612d74565b905060005b818110156123c05760006123418183612d7e565b60008181526002602052604081209192505b60028201548110156123b257876001600160a01b031682600201828154811061237e5761237e613d04565b6000918252602090912001546001600160a01b0316036123aa57856123a281613d1a565b9650506123b2565b600101612353565b50505080600101905061232d565b50909392505050565b6060610a9d6005613103565b606060008284106124155760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600061242081612d74565b905060008185116124315784612433565b815b9050600086821161244557600061244f565b61244f8783614036565b90506000816001600160401b0381111561246b5761246b6136fb565b6040519080825280602002602001820160405280156124a457816020015b6124916133ad565b8152602001906001900390816124895790505b50905060005b828110156125b45760006124c96124c1838c613cbd565b600090612d7e565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b909104166060820152918101805486518186028101860190975280875296975093958387019592949193608086019392919083018282801561258257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612564575b5050505050815250508152508383815181106125a0576125a0613d04565b6020908102919091010152506001016124aa565b509450505083101590509250929050565b60006110878183612d50565b6000611087600d83612d2b565b6060610a9d6008613103565b816125f6600082612d50565b6126315760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b336000818152600760205260409020600201546001600160a01b031661268d57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000848152600260208190526040822090810154909190815b818110156127a857866001600160a01b03168460020182815481106126cd576126cd613d04565b6000918252602090912001546001600160a01b0316036127a057600284016126f6600184614036565b8154811061270657612706613d04565b6000918252602090912001546002850180546001600160a01b03909216918390811061273457612734613d04565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508360020180548061277557612775613c91565b600082815260209020810160001990810180546001600160a01b0319169055019055600192506127a8565b6001016126a6565b50816127ea57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f90606001611069565b3361283f600882612d2b565b6128795760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0384811660009081526007602052604090206002015416156128d857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600060405180608001604052808460058111156128f7576128f76138e0565b8152602081018690526001600160a01b0387166040820152336060909101529050612923600586613110565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff1916600183600581111561295e5761295e6138e0565b0217905550602082015160018201906129779082613da6565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff906129ef9088908890614115565b60405180910390a35050505050565b6000611087600a83612d50565b336000818152600760205260409020600201546001600160a01b0316612a6757604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b816000819003612aa65760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60005b81811015611aea5736858583818110612ac457612ac4613d04565b60a002919091019150612adb905060008235612d50565b612b53577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135612b176080850160608601614137565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051612b459493929190614152565b60405180910390a150612d23565b80356000908152600260205260409020600180820154600160801b90041615612bef577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135612bae6080860160608701614137565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051612be09493929190614152565b60405180910390a15050612d23565b60018101546001600160401b0316600003612c1d5781356000908152600360205260408120612c1d916132ed565b60408201358155612c346080830160608401614137565b60018201805467ffffffffffffffff19166001600160401b0392909216919091179055612c6760a0830160808401614180565b15612c9f576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b82356040840135612cd76080860160608701614137565b612ce760a0870160808801614180565b604051612d18949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101612aa9565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b60008181526001830160205260408120541515612d49565b6000612d498383613125565b6000611087825490565b6000612d498383613218565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b6001600160a01b038116612dfb5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612e06600882612d2b565b15612e4757604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612e52600882613110565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b038116612ecd5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612ed8600d82613110565b612f1857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b6000826005811115612f6357612f636138e0565b1480612fb757506001826005811115612f7e57612f7e6138e0565b148015612fb757506003816005811115612f9a57612f9a6138e0565b1480612fb757506004816005811115612fb557612fb56138e0565b145b8061300a57506002826005811115612fd157612fd16138e0565b14801561300a57506003816005811115612fed57612fed6138e0565b148061300a57506004816005811115613008576130086138e0565b145b8061305d57506004826005811115613024576130246138e0565b14801561305d57506003816005811115613040576130406138e0565b148061305d5750600581600581111561305b5761305b6138e0565b145b8061309557506003826005811115613077576130776138e0565b14801561309557506005816005811115613093576130936138e0565b145b1561309e575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000612d498383613242565b6000612d49836001600160a01b038416613125565b60606000612d4983613291565b6000612d49836001600160a01b038416613242565b6000818152600183016020526040812054801561320e576000613149600183614036565b855490915060009061315d90600190614036565b90508082146131c257600086600001828154811061317d5761317d613d04565b90600052602060002001549050808760000184815481106131a0576131a0613d04565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806131d3576131d3613c91565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611087565b6000915050611087565b600082600001828154811061322f5761322f613d04565b9060005260206000200154905092915050565b600081815260018301602052604081205461328957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611087565b506000611087565b6060816000018054806020026020016040519081016040528092919081815260200182805480156132e157602002820191906000526020600020905b8154815260200190600101908083116132cd575b50505050509050919050565b5080546132f990613cd0565b6000825580601f10613309575050565b601f0160209004906000526020600020908101906109fd91906133f7565b50805460008255600302906000526020600020908101906109fd919061340c565b82805482825590600052602060002090810192821561339d579160200282015b8281111561339d57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613368565b506133a99291506133f7565b5090565b6040805180820190915260008152602081016133f26040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5b808211156133a957600081556001016133f8565b808211156133a957600080825560018201805467ffffffffffffffff1916905561343960028301826132ed565b5060030161340c565b60006020828403121561345457600080fd5b5035919050565b60005b8381101561347657818101518382015260200161345e565b50506000910152565b6000815180845261349781602086016020860161345b565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561352757888303603f19018552815180518452878101516001600160401b03168885015286015160608785018190526135138186018361347f565b9689019694505050908601906001016134d4565b509098975050505050505050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156135bb5784516001600160a01b03168252938301936001929092019190830190613592565b509695505050505050565b602081526000612d496020830184613535565b80356001600160a01b03811681146135f057600080fd5b919050565b60006020828403121561360757600080fd5b612d49826135d9565b6000806020838503121561362357600080fd5b82356001600160401b038082111561363a57600080fd5b818501915085601f83011261364e57600080fd5b81358181111561365d57600080fd5b8660208260051b850101111561367257600080fd5b60209290920196919550909350505050565b6060815260006136976060830186613535565b84602084015282810360408401526136af818561347f565b9695505050505050565b8035600681106135f057600080fd5b600080604083850312156136db57600080fd5b6136e4836135d9565b91506136f2602084016136b9565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613739576137396136fb565b604052919050565b600082601f83011261375257600080fd5b81356001600160401b0381111561376b5761376b6136fb565b61377e601f8201601f1916602001613711565b81815284602083860101111561379357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156137c657600080fd5b843593506020808601356001600160401b03808211156137e557600080fd5b818801915088601f8301126137f957600080fd5b81358181111561380b5761380b6136fb565b8060051b61381a858201613711565b918252838101850191858101908c84111561383457600080fd5b948601945b838610156138595761384a866135d9565b82529486019490860190613839565b985050505060408801359450606088013592508083111561387957600080fd5b505061388787828801613741565b91505092959194509250565b600080604083850312156138a657600080fd5b6138af836135d9565b915060208301356001600160401b038111156138ca57600080fd5b6138d685828601613741565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b6006811061391457634e487b7160e01b600052602160045260246000fd5b9052565b6139238282516138f6565b600060208201516080602085015261393e608085018261347f565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000612d496020830184613918565b6000806040838503121561399257600080fd5b823591506136f2602084016135d9565b80356001600160401b03811681146135f057600080fd5b600080600080606085870312156139cf57600080fd5b843593506139df602086016139a2565b925060408501356001600160401b03808211156139fb57600080fd5b818701915087601f830112613a0f57600080fd5b813581811115613a1e57600080fd5b886020828501011115613a3057600080fd5b95989497505060200194505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015613a9657603f19888603018452613a84858351613918565b94509285019290850190600101613a68565b5092979650505050505050565b60008060408385031215613ab657600080fd5b823591506136f2602084016139a2565b60008151808452602080850194506020840160005b83811015613b005781516001600160a01b031687529582019590820190600101613adb565b509495945050505050565b602081526000612d496020830184613ac6565b60008060408385031215613b3157600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b83811015613ba957888603605f19018552815180518752830151838701889052613b9688880182613535565b9650509382019390820190600101613b6a565b5050961515959096019490945295945050505050565b600080600060608486031215613bd457600080fd5b613bdd846135d9565b925060208401356001600160401b03811115613bf857600080fd5b613c0486828701613741565b925050613c13604085016136b9565b90509250925092565b60008060208385031215613c2f57600080fd5b82356001600160401b0380821115613c4657600080fd5b818501915085601f830112613c5a57600080fd5b813581811115613c6957600080fd5b86602060a08302850101111561367257600080fd5b602081526000612d49602083018461347f565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561108757611087613ca7565b600181811c90821680613ce457607f821691505b6020821081036114dd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201613d2c57613d2c613ca7565b5060010190565b6020810161108782846138f6565b601f821115610a8c576000816000526020600020601f850160051c81016020861015613d6a5750805b601f850160051c820191505b81811015613d8957828155600101613d76565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115613dbf57613dbf6136fb565b613dd381613dcd8454613cd0565b84613d41565b602080601f831160018114613e025760008415613df05750858301515b613dfa8582613d91565b865550613d89565b600085815260208120601f198616915b82811015613e3157888601518255948401946001909101908401613e12565b5085821015613e4f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b848152608060208201526000613e786080830186613ac6565b8460408401528281036060840152613e90818561347f565b979650505050505050565b60008251613ead81846020870161345b565b9190910192915050565b6000808354613ec581613cd0565b60018281168015613edd5760018114613ef257613f21565b60ff1984168752821515830287019450613f21565b8760005260208060002060005b85811015613f185781548a820152908401908201613eff565b50505082870194505b50929695505050505050565b6001600160401b03831115613f4457613f446136fb565b613f5883613f528354613cd0565b83613d41565b6000601f841160018114613f865760008515613f745750838201355b613f7e8682613d91565b845550611aea565b600083815260209020601f19861690835b82811015613fb75786850135825560209485019460019092019101613f97565b5086821015613fd45760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8581526001600160401b038516602082015260806040820152826080820152828460a0830137600081840160a0908101919091529115156060820152601f909201601f1916909101019392505050565b8181038181111561108757611087613ca7565b818103614054575050565b61405e8254613cd0565b6001600160401b03811115614075576140756136fb565b61408381613dcd8454613cd0565b6000601f8211600181146140b1576000831561409f5750848201545b6140a98482613d91565b855550611aea565b600085815260209020601f19841690600086815260209020845b838110156140eb57828601548255600195860195909101906020016140cb565b5085831015613e4f5793015460001960f8600387901b161c19169092555050600190811b01905550565b604081526000614128604083018561347f565b9050612d4960208301846138f6565b60006020828403121561414957600080fd5b612d49826139a2565b8481528360208201526001600160401b03831660408201526080606082015260006136af608083018461347f565b60006020828403121561419257600080fd5b81358015158114612d4957600080fdfec01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98","sourceMap":"556:732:385:-:0;;;1026:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;324:22:549;:20;:22::i;:::-;1080:30:385;1099:10;1080:18;:30::i;:::-;1121:9;1116:166;1140:17;:24;1136:1;:28;1116:166;;;1179:38;1196:17;1214:1;1196:20;;;;;;;;:::i;:::-;;;;;;;1179:16;;;:38;;:::i;:::-;1225:50;1254:17;1272:1;1254:20;;;;;;;;:::i;:::-;;;;;;;1225:28;;;:50;;:::i;:::-;1166:3;;1116:166;;;;1026:260;556:732;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;1738:42:654;;;1927:29:554;;1726:2:654;1711:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;476:253:564:-;537:16;556:8;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;;369:103;556:8;537:27;-1:-1:-1;;;;;;574:22:564;;570:57;;605:22;;-1:-1:-1;;;605:22:564;;;;;;;;;;;570:57;665:8;284:66:566;633:40:564;;-1:-1:-1;;;;;;633:40:564;-1:-1:-1;;;;;633:40:564;;;;;;684;;;;;;;;;;;-1:-1:-1;;684:40:564;531:198;476:253;:::o;2115:320:197:-;-1:-1:-1;;;;;2211:22:197;;2207:63;;2242:27;;;;;;;;;;;-1:-1:-1;;;2242:27:197;;;;2235:35;;-1:-1:-1;;;2235:35:197;;;;2242:27;2235:35;;;:::i;:::-;;;;;;;;2207:63;2281:31;:12;2303:8;2281:21;:31::i;:::-;2277:85;;;2327:34;;;;;;;;;;;-1:-1:-1;;;2327:34:197;;;;2320:42;;-1:-1:-1;;;2320:42:197;;;;2327:34;2320:42;;;:::i;2277:85::-;2369:26;:12;2386:8;2369:16;:26::i;:::-;-1:-1:-1;2407:23:197;;-1:-1:-1;;;;;2407:23:197;;;;;;;;2115:320;:::o;6036:282:193:-;-1:-1:-1;;;;;6110:21:193;;6106:62;;6140:27;;;;;;;;;;;-1:-1:-1;;;6140:27:193;;;;6133:35;;-1:-1:-1;;;6133:35:193;;;;6140:27;6133:35;;;:::i;6106:62::-;6180:37;:24;6209:7;6180:28;:37::i;:::-;6175:92;;6232:34;;;;;;;;;;;-1:-1:-1;;;6232:34:193;;;;6225:42;;-1:-1:-1;;;6225:42:193;;;;6232:34;6225:42;;;:::i;6175:92::-;6279:34;;-1:-1:-1;;;;;6279:34:193;;;;;;;;6036:282;:::o;8844:165:511:-;-1:-1:-1;;;;;8977:23:511;;8924:4;4360:21;;;:14;;;:21;;;;;;:26;;8947:55;8940:62;;8844:165;;;;;:::o;8289:150::-;8359:4;8382:50;8387:3;-1:-1:-1;;;;;8407:23:511;;2304:4;4360:21;;;:14;;;:21;;;;;;2320:321;;-1:-1:-1;2362:23:511;;;;;;;;:11;:23;;;;;;;;;;;;;2544:18;;2520:21;;;:14;;;:21;;;;;;:42;;;;2576:11;;2320:321;-1:-1:-1;2625:5:511;2618:12;;14:127:654;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:654;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:1129::-;423:6;454:2;497;485:9;476:7;472:23;468:32;465:52;;;513:1;510;503:12;465:52;540:16;;-1:-1:-1;;;;;605:14:654;;;602:34;;;632:1;629;622:12;602:34;670:6;659:9;655:22;645:32;;715:7;708:4;704:2;700:13;696:27;686:55;;737:1;734;727:12;686:55;766:2;760:9;788:2;784;781:10;778:36;;;794:18;;:::i;:::-;840:2;837:1;833:10;872:2;866:9;935:2;931:7;926:2;922;918:11;914:25;906:6;902:38;990:6;978:10;975:22;970:2;958:10;955:18;952:46;949:72;;;1001:18;;:::i;:::-;1037:2;1030:22;1087:18;;;1121:15;;;;-1:-1:-1;1163:11:654;;;1159:20;;;1191:19;;;1188:39;;;1223:1;1220;1213:12;1188:39;1247:11;;;;1267:159;1283:6;1278:3;1275:15;1267:159;;;1349:34;1379:3;1349:34;:::i;:::-;1337:47;;1300:12;;;;1404;;;;1267:159;;;1445:6;328:1129;-1:-1:-1;;;;;;;;328:1129:654:o;1462:127::-;1523:10;1518:3;1514:20;1511:1;1504:31;1554:4;1551:1;1544:15;1578:4;1575:1;1568:15;1791:548;1903:4;1932:2;1961;1950:9;1943:21;1993:6;1987:13;2036:6;2031:2;2020:9;2016:18;2009:34;2061:1;2071:140;2085:6;2082:1;2079:13;2071:140;;;2180:14;;;2176:23;;2170:30;2146:17;;;2165:2;2142:26;2135:66;2100:10;;2071:140;;;2075:3;2260:1;2255:2;2246:6;2235:9;2231:22;2227:31;2220:42;2330:2;2323;2319:7;2314:2;2306:6;2302:15;2298:29;2287:9;2283:45;2279:54;2271:62;;;;1791:548;;;;:::o;:::-;556:732:385;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063a1174e7d1161011a578063c8fe3a01116100ad578063d911c6321161007c578063d911c63214610464578063ee885b121461046c578063eecc66f41461047f578063fc207c0114610492578063ff3a14ab146104a557600080fd5b8063c8fe3a0114610408578063ca78c41a1461041d578063d0c27c4f1461043e578063d4bd44a01461045157600080fd5b8063ba428b1a116100e9578063ba428b1a146103c7578063c0f22084146103da578063c179b85f146103e2578063c87d1324146103f557600080fd5b8063a1174e7d14610379578063ac8a584a1461038e578063b2b99ec9146103a1578063b7f227ee146103b457600080fd5b80636b883c39116101925780639283ae3a116101615780639283ae3a146103205780639d209048146103335780639ee86d3814610353578063a09449a61461036657600080fd5b80636b883c39146102c45780636d70f7ae146102d75780637e4465e7146102fa578063813049ec1461030d57600080fd5b806331374511116101ce578063313745111461026657806339bf397e146102795780633c2544d11461028f578063581f8b9b146102b157600080fd5b8063035759e114610200578063081814db146102155780631290abe814610233578063242cae9f14610253575b600080fd5b61021361020e366004613442565b6104b8565b005b61021d61062c565b60405161022a91906134ab565b60405180910390f35b610246610241366004613442565b610897565b60405161022a91906135c6565b6102136102613660046135f5565b6109b9565b610213610274366004613610565b610a00565b610281610a91565b60405190815260200161022a565b6102a261029d366004613442565b610aa2565b60405161022a93929190613684565b6102136102bf3660046136c8565b610c73565b6102136102d23660046137b0565b610e13565b6102ea6102e53660046135f5565b61107a565b604051901515815260200161022a565b610213610308366004613893565b61108d565b61021361031b3660046135f5565b611285565b61021d61032e366004613442565b611380565b6103466103413660046135f5565b6114e3565b60405161022a919061396c565b61021361036136600461397f565b611664565b6102136103743660046139b9565b611822565b610381611af1565b60405161022a9190613a3f565b61021361039c3660046135f5565b611cc5565b6102136103af3660046135f5565b611e28565b6102136103c2366004613aa3565b611ff1565b6102136103d5366004613610565b612240565b6102816122cc565b6102136103f03660046135f5565b6122d7565b6102816104033660046135f5565b61231b565b6104106123c9565b60405161022a9190613b0b565b61043061042b366004613b1e565b6123d5565b60405161022a929190613b40565b6102ea61044c366004613442565b6125c5565b6102ea61045f3660046135f5565b6125d1565b6104106125de565b61021361047a36600461397f565b6125ea565b61021361048d366004613bbf565b612833565b6102ea6104a0366004613442565b6129fe565b6102136104b3366004613c1c565b612a0b565b336104c4600d82612d2b565b6105075760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60405180910390fd5b81610513600a82612d50565b61054e5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000838152600c6020526040902054156105c1576000838152600c6020526040902080548061057f5761057f613c91565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906105b860028301826132ed565b5050905561054e565b6000838152600c602052604081206105d891613327565b6105e3600a84612d68565b50604080518481526001600160401b03602082015260808183018190526000908201526001606082015290516000805160206141a38339815191529181900360a00190a1505050565b606060008061063b600a612d74565b905060005b8181101561067c576000610655600a83612d7e565b6000818152600c60205260409020549091506106719085613cbd565b935050600101610640565b506000826001600160401b03811115610697576106976136fb565b6040519080825280602002602001820160405280156106e457816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816106b55790505b50905060006106f3600a612d74565b90506000805b8281101561088c57600061070e600a83612d7e565b6000818152600c6020908152604080832080548251818502810185019093528083529495509293909291849084015b8282101561082157600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161079090613cd0565b80601f01602080910402602001604051908101604052809291908181526020018280546107bc90613cd0565b80156108095780601f106107de57610100808354040283529160200191610809565b820191906000526020600020905b8154815290600101906020018083116107ec57829003601f168201915b5050505050815250508152602001906001019061073d565b50505050905060005b815181101561087e5781818151811061084557610845613d04565b602002602001015187868061085990613d1a565b97508151811061086b5761086b613d04565b602090810291909101015260010161082a565b5050508060010190506106f9565b509195945050505050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906108cb9083612d50565b6109065760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109a957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161098b575b5050505050815250509050919050565b6109c1612d8a565b6001600160a01b0316336001600160a01b0316146109f4576040516365f4906560e01b81523360048201526024016104fe565b6109fd81612db8565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610a4a57604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610a8c57610a84838383818110610a6a57610a6a613d04565b9050602002016020810190610a7f91906135f5565b612e8a565b600101610a4d565b505050565b6000610a9d6005612d74565b905090565b6040805160a081018252600080825260208201819052918101829052606080820183905260808201819052909190610ada8285612d50565b610b155760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b90910416606082015294820180548451818702810187019095528085529296959194919387936080860193919291830182828015610bcf57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610bb1575b5050505050815250509250808054610be690613cd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1290613cd0565b8015610c5f5780601f10610c3457610100808354040283529160200191610c5f565b820191906000526020600020905b815481529060010190602001808311610c4257829003601f168201915b505050505090509250925092509193909250565b6001600160a01b03808316600090815260076020526040902060020154839116610cd357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b33610cdf600882612d2b565b610d195760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0380851660009081526007602052604090206003015485913391168114610d775760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03861660009081526007602052604090208054610d9e9060ff1687612f4f565b80548690829060ff19166001836005811115610dbc57610dbc6138e0565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090610e02908990613d33565b60405180910390a250505050505050565b336000818152600760205260409020600201546001600160a01b0316610e6f57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b610e7a600086612d50565b15610ebb57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b835160005b81811015610f4057610ef8868281518110610edd57610edd613d04565b60200260200101516000600501612d2b90919063ffffffff16565b610f3857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600101610ec0565b506040805160a081018252858152600060208201819052918101829052606081018290526080810187905290610f7690886130e2565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff1990991691909416179690961795909516179093556080840151805185949361100693908501920190613348565b50505060008781526003602052604090206110218582613da6565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb90611069908990899089908990613e5f565b60405180910390a150505050505050565b6000611087600883612d2b565b92915050565b33611099600882612d2b565b6110d35760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0380841660009081526007602052604090206002015484911661113357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03808516600090815260076020526040902060030154859133911681146111915760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b03861660009081526007602090815260409182902091516111bb91889101613e9b565b60405160208183030381529060405280519060200120816001016040516020016111e59190613eb7565b60405160208183030381529060405280519060200120036112355760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600181016112438782613da6565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac90610e02908990613c7e565b61128d612d8a565b6001600160a01b0316336001600160a01b0316146112c0576040516365f4906560e01b81523360048201526024016104fe565b6001600160a01b0381166113035760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b61130e600d826130ee565b6113495760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6040516001600160a01b038216907ff9889c857e5356066b564327caa757c325ecbc001b2b47d72edf8cf9aedb1be590600090a250565b60608161138e600a82612d50565b6113c95760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000838152600c6020908152604080832080548251818502810185019093528083529193909284015b828210156114d657600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161144590613cd0565b80601f016020809104026020016040519081016040528092919081815260200182805461147190613cd0565b80156114be5780601f10611493576101008083540402835291602001916114be565b820191906000526020600020905b8154815290600101906020018083116114a157829003601f168201915b505050505081525050815260200190600101906113f2565b5050505091505b50919050565b61150e6040805160808101909152806000815260606020820181905260006040830181905291015290565b611519600583612d2b565b61155957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff166005811115611594576115946138e0565b60058111156115a5576115a56138e0565b81526020016001820180546115b990613cd0565b80601f01602080910402602001604051908101604052809291908181526020018280546115e590613cd0565b80156116325780601f1061160757610100808354040283529160200191611632565b820191906000526020600020905b81548152906001019060200180831161161557829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b81611670600082612d50565b6116ab5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b336000818152600760205260409020600201546001600160a01b031661170757604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600084815260026020819052604082209081015490915b818110156117a357856001600160a01b031683600201828154811061174557611745613d04565b6000918252602090912001546001600160a01b03160361179b57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60010161171e565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060015b60405180910390a1505050505050565b3361182e600d82612d2b565b6118685760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b67fffffffffffffffe196001600160401b038516016118b65760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60008290036118f45760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6118ff600a86612d50565b6119105761190e600a866130e2565b505b6000858152600c6020526040812054905b818110156119f7576000878152600c6020526040902080546001600160401b03881691908390811061195557611955613d04565b60009182526020909120600160039092020101546001600160401b0316036119ef576000878152600c602052604090208054869186918490811061199b5761199b613d04565b906000526020600020906003020160020191826119b9929190613f2d565b506000805160206141a38339815191528787878760006040516119e0959493929190613fe6565b60405180910390a15050611aea565b600101611921565b506000600c0160008781526020019081526020016000206040518060600160405280888152602001876001600160401b0316815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160039092020190815590830151938101805467ffffffffffffffff19166001600160401b03909516949094179093555060408101519091906002820190611ac19082613da6565b5050506000805160206141a3833981519152868686866000604051611812959493929190613fe6565b5050505050565b60606000611aff6005612d74565b6001600160401b03811115611b1657611b166136fb565b604051908082528060200260200182016040528015611b7257816020015b611b5f6040805160808101909152806000815260606020820181905260006040830181905291015290565b815260200190600190039081611b345790505b50905060005b611b826005612d74565b8110156114dd5760076000611b98600584612d7e565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff166005811115611bd457611bd46138e0565b6005811115611be557611be56138e0565b8152602001600182018054611bf990613cd0565b80601f0160208091040260200160405190810160405280929190818152602001828054611c2590613cd0565b8015611c725780601f10611c4757610100808354040283529160200191611c72565b820191906000526020600020905b815481529060010190602001808311611c5557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110611cb257611cb2613d04565b6020908102919091010152600101611b78565b611ccd612d8a565b6001600160a01b0316336001600160a01b031614611d00576040516365f4906560e01b81523360048201526024016104fe565b611d0b600882612d2b565b611d4f57604080518082018252601281527113d41154905513d497d393d517d193d5539160721b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60005b611d5c6005612d74565b811015611de4576001600160a01b03821660076000611d7c600585612d7e565b6001600160a01b0390811682526020820192909252604001600020600301541603611ddc57604080518082018252600d81526c4f55545f4f465f424f554e445360981b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600101611d52565b50611df06008826130ee565b506040516001600160a01b038216907f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d90600090a250565b6001600160a01b0380821660009081526007602052604090206003015482913391168114611e865760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0383811660009081526007602052604090206002015416611ee457604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60056001600160a01b03841660009081526007602052604090205460ff166005811115611f1357611f136138e0565b14611f5c5760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b611f676005846130ee565b506001600160a01b0383166000908152600760205260408120805460ff1916815590611f9660018301826132ed565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b33611ffd600d82612d2b565b6120375760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000805b6000858152600c60205260409020548110156121b8576000858152600c6020526040902080546001600160401b03861691908390811061207d5761207d613d04565b60009182526020909120600160039092020101546001600160401b0316036121b0576000858152600c6020526040902080546120bb90600190614036565b815481106120cb576120cb613d04565b90600052602060002090600302016000600c016000878152602001908152602001600020828154811061210057612100613d04565b600091825260209091208254600390920201908155600180830154908201805467ffffffffffffffff19166001600160401b0390921691909117905560028082019061214e90840182614049565b5050506000858152600c6020526040902080548061216e5761216e613c91565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906121a760028301826132ed565b50509055600191505b60010161203b565b50806121f55760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b604080518581526001600160401b038516602082015260808183018190526000908201526001606082015290516000805160206141a38339815191529181900360a00190a150505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661228a57604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610a8c576122c48383838181106122aa576122aa613d04565b90506020020160208101906122bf91906135f5565b612db8565b60010161228d565b6000610a9d81612d74565b6122df612d8a565b6001600160a01b0316336001600160a01b031614612312576040516365f4906560e01b81523360048201526024016104fe565b6109fd81612e8a565b6000808061232881612d74565b905060005b818110156123c05760006123418183612d7e565b60008181526002602052604081209192505b60028201548110156123b257876001600160a01b031682600201828154811061237e5761237e613d04565b6000918252602090912001546001600160a01b0316036123aa57856123a281613d1a565b9650506123b2565b600101612353565b50505080600101905061232d565b50909392505050565b6060610a9d6005613103565b606060008284106124155760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600061242081612d74565b905060008185116124315784612433565b815b9050600086821161244557600061244f565b61244f8783614036565b90506000816001600160401b0381111561246b5761246b6136fb565b6040519080825280602002602001820160405280156124a457816020015b6124916133ad565b8152602001906001900390816124895790505b50905060005b828110156125b45760006124c96124c1838c613cbd565b600090612d7e565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b909104166060820152918101805486518186028101860190975280875296975093958387019592949193608086019392919083018282801561258257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612564575b5050505050815250508152508383815181106125a0576125a0613d04565b6020908102919091010152506001016124aa565b509450505083101590509250929050565b60006110878183612d50565b6000611087600d83612d2b565b6060610a9d6008613103565b816125f6600082612d50565b6126315760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b336000818152600760205260409020600201546001600160a01b031661268d57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000848152600260208190526040822090810154909190815b818110156127a857866001600160a01b03168460020182815481106126cd576126cd613d04565b6000918252602090912001546001600160a01b0316036127a057600284016126f6600184614036565b8154811061270657612706613d04565b6000918252602090912001546002850180546001600160a01b03909216918390811061273457612734613d04565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508360020180548061277557612775613c91565b600082815260209020810160001990810180546001600160a01b0319169055019055600192506127a8565b6001016126a6565b50816127ea57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f90606001611069565b3361283f600882612d2b565b6128795760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6001600160a01b0384811660009081526007602052604090206002015416156128d857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b600060405180608001604052808460058111156128f7576128f76138e0565b8152602081018690526001600160a01b0387166040820152336060909101529050612923600586613110565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff1916600183600581111561295e5761295e6138e0565b0217905550602082015160018201906129779082613da6565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff906129ef9088908890614115565b60405180910390a35050505050565b6000611087600a83612d50565b336000818152600760205260409020600201546001600160a01b0316612a6757604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b816000819003612aa65760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b60005b81811015611aea5736858583818110612ac457612ac4613d04565b60a002919091019150612adb905060008235612d50565b612b53577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135612b176080850160608601614137565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051612b459493929190614152565b60405180910390a150612d23565b80356000908152600260205260409020600180820154600160801b90041615612bef577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135612bae6080860160608701614137565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051612be09493929190614152565b60405180910390a15050612d23565b60018101546001600160401b0316600003612c1d5781356000908152600360205260408120612c1d916132ed565b60408201358155612c346080830160608401614137565b60018201805467ffffffffffffffff19166001600160401b0392909216919091179055612c6760a0830160808401614180565b15612c9f576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b82356040840135612cd76080860160608701614137565b612ce760a0870160808801614180565b604051612d18949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101612aa9565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b60008181526001830160205260408120541515612d49565b6000612d498383613125565b6000611087825490565b6000612d498383613218565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b6001600160a01b038116612dfb5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612e06600882612d2b565b15612e4757604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612e52600882613110565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b038116612ecd5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b612ed8600d82613110565b612f1857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b6000826005811115612f6357612f636138e0565b1480612fb757506001826005811115612f7e57612f7e6138e0565b148015612fb757506003816005811115612f9a57612f9a6138e0565b1480612fb757506004816005811115612fb557612fb56138e0565b145b8061300a57506002826005811115612fd157612fd16138e0565b14801561300a57506003816005811115612fed57612fed6138e0565b148061300a57506004816005811115613008576130086138e0565b145b8061305d57506004826005811115613024576130246138e0565b14801561305d57506003816005811115613040576130406138e0565b148061305d5750600581600581111561305b5761305b6138e0565b145b8061309557506003826005811115613077576130776138e0565b14801561309557506005816005811115613093576130936138e0565b145b1561309e575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526104fe9190600401613c7e565b6000612d498383613242565b6000612d49836001600160a01b038416613125565b60606000612d4983613291565b6000612d49836001600160a01b038416613242565b6000818152600183016020526040812054801561320e576000613149600183614036565b855490915060009061315d90600190614036565b90508082146131c257600086600001828154811061317d5761317d613d04565b90600052602060002001549050808760000184815481106131a0576131a0613d04565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806131d3576131d3613c91565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611087565b6000915050611087565b600082600001828154811061322f5761322f613d04565b9060005260206000200154905092915050565b600081815260018301602052604081205461328957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611087565b506000611087565b6060816000018054806020026020016040519081016040528092919081815260200182805480156132e157602002820191906000526020600020905b8154815260200190600101908083116132cd575b50505050509050919050565b5080546132f990613cd0565b6000825580601f10613309575050565b601f0160209004906000526020600020908101906109fd91906133f7565b50805460008255600302906000526020600020908101906109fd919061340c565b82805482825590600052602060002090810192821561339d579160200282015b8281111561339d57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613368565b506133a99291506133f7565b5090565b6040805180820190915260008152602081016133f26040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5b808211156133a957600081556001016133f8565b808211156133a957600080825560018201805467ffffffffffffffff1916905561343960028301826132ed565b5060030161340c565b60006020828403121561345457600080fd5b5035919050565b60005b8381101561347657818101518382015260200161345e565b50506000910152565b6000815180845261349781602086016020860161345b565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561352757888303603f19018552815180518452878101516001600160401b03168885015286015160608785018190526135138186018361347f565b9689019694505050908601906001016134d4565b509098975050505050505050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156135bb5784516001600160a01b03168252938301936001929092019190830190613592565b509695505050505050565b602081526000612d496020830184613535565b80356001600160a01b03811681146135f057600080fd5b919050565b60006020828403121561360757600080fd5b612d49826135d9565b6000806020838503121561362357600080fd5b82356001600160401b038082111561363a57600080fd5b818501915085601f83011261364e57600080fd5b81358181111561365d57600080fd5b8660208260051b850101111561367257600080fd5b60209290920196919550909350505050565b6060815260006136976060830186613535565b84602084015282810360408401526136af818561347f565b9695505050505050565b8035600681106135f057600080fd5b600080604083850312156136db57600080fd5b6136e4836135d9565b91506136f2602084016136b9565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613739576137396136fb565b604052919050565b600082601f83011261375257600080fd5b81356001600160401b0381111561376b5761376b6136fb565b61377e601f8201601f1916602001613711565b81815284602083860101111561379357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156137c657600080fd5b843593506020808601356001600160401b03808211156137e557600080fd5b818801915088601f8301126137f957600080fd5b81358181111561380b5761380b6136fb565b8060051b61381a858201613711565b918252838101850191858101908c84111561383457600080fd5b948601945b838610156138595761384a866135d9565b82529486019490860190613839565b985050505060408801359450606088013592508083111561387957600080fd5b505061388787828801613741565b91505092959194509250565b600080604083850312156138a657600080fd5b6138af836135d9565b915060208301356001600160401b038111156138ca57600080fd5b6138d685828601613741565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b6006811061391457634e487b7160e01b600052602160045260246000fd5b9052565b6139238282516138f6565b600060208201516080602085015261393e608085018261347f565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000612d496020830184613918565b6000806040838503121561399257600080fd5b823591506136f2602084016135d9565b80356001600160401b03811681146135f057600080fd5b600080600080606085870312156139cf57600080fd5b843593506139df602086016139a2565b925060408501356001600160401b03808211156139fb57600080fd5b818701915087601f830112613a0f57600080fd5b813581811115613a1e57600080fd5b886020828501011115613a3057600080fd5b95989497505060200194505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015613a9657603f19888603018452613a84858351613918565b94509285019290850190600101613a68565b5092979650505050505050565b60008060408385031215613ab657600080fd5b823591506136f2602084016139a2565b60008151808452602080850194506020840160005b83811015613b005781516001600160a01b031687529582019590820190600101613adb565b509495945050505050565b602081526000612d496020830184613ac6565b60008060408385031215613b3157600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b83811015613ba957888603605f19018552815180518752830151838701889052613b9688880182613535565b9650509382019390820190600101613b6a565b5050961515959096019490945295945050505050565b600080600060608486031215613bd457600080fd5b613bdd846135d9565b925060208401356001600160401b03811115613bf857600080fd5b613c0486828701613741565b925050613c13604085016136b9565b90509250925092565b60008060208385031215613c2f57600080fd5b82356001600160401b0380821115613c4657600080fd5b818501915085601f830112613c5a57600080fd5b813581811115613c6957600080fd5b86602060a08302850101111561367257600080fd5b602081526000612d49602083018461347f565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561108757611087613ca7565b600181811c90821680613ce457607f821691505b6020821081036114dd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201613d2c57613d2c613ca7565b5060010190565b6020810161108782846138f6565b601f821115610a8c576000816000526020600020601f850160051c81016020861015613d6a5750805b601f850160051c820191505b81811015613d8957828155600101613d76565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115613dbf57613dbf6136fb565b613dd381613dcd8454613cd0565b84613d41565b602080601f831160018114613e025760008415613df05750858301515b613dfa8582613d91565b865550613d89565b600085815260208120601f198616915b82811015613e3157888601518255948401946001909101908401613e12565b5085821015613e4f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b848152608060208201526000613e786080830186613ac6565b8460408401528281036060840152613e90818561347f565b979650505050505050565b60008251613ead81846020870161345b565b9190910192915050565b6000808354613ec581613cd0565b60018281168015613edd5760018114613ef257613f21565b60ff1984168752821515830287019450613f21565b8760005260208060002060005b85811015613f185781548a820152908401908201613eff565b50505082870194505b50929695505050505050565b6001600160401b03831115613f4457613f446136fb565b613f5883613f528354613cd0565b83613d41565b6000601f841160018114613f865760008515613f745750838201355b613f7e8682613d91565b845550611aea565b600083815260209020601f19861690835b82811015613fb75786850135825560209485019460019092019101613f97565b5086821015613fd45760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8581526001600160401b038516602082015260806040820152826080820152828460a0830137600081840160a0908101919091529115156060820152601f909201601f1916909101019392505050565b8181038181111561108757611087613ca7565b818103614054575050565b61405e8254613cd0565b6001600160401b03811115614075576140756136fb565b61408381613dcd8454613cd0565b6000601f8211600181146140b1576000831561409f5750848201545b6140a98482613d91565b855550611aea565b600085815260209020601f19841690600086815260209020845b838110156140eb57828601548255600195860195909101906020016140cb565b5085831015613e4f5793015460001960f8600387901b161c19169092555050600190811b01905550565b604081526000614128604083018561347f565b9050612d4960208301846138f6565b60006020828403121561414957600080fd5b612d49826139a2565b8481528360208201526001600160401b03831660408201526080606082015260006136af608083018461347f565b60006020828403121561419257600080fd5b81358015158114612d4957600080fdfec01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98","sourceMap":"556:732:385:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2708:351:193;;;;;;:::i;:::-;;:::i;:::-;;4044:747;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1890:195:199;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1136:99:197:-;;;;;;:::i;:::-;;:::i;1023:221:193:-;;;;;;:::i;:::-;;:::i;2854:91:195:-;;;:::i;:::-;;;4220:25:654;;;4208:2;4193:18;2854:91:195;4074:177:654;2266:350:199;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;1733:394:195:-;;;;;;:::i;:::-;;:::i;769:1117:199:-;;;;;;:::i;:::-;;:::i;1239:116:197:-;;;;;;:::i;:::-;;:::i;:::-;;;7598:14:654;;7591:22;7573:41;;7561:2;7546:18;1239:116:197;7433:187:654;2131:453:195;;;;;;:::i;:::-;;:::i;5475:290:193:-;;;;;;:::i;:::-;;:::i;3816:148::-;;;;;;:::i;:::-;;:::i;2588:262:195:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5088:539:199:-;;;;;;:::i;:::-;;:::i;1711:904:193:-;;;;;;:::i;:::-;;:::i;3060:254:195:-;;;:::i;:::-;;;;;;;:::i;1359:466:197:-;;;;;;:::i;:::-;;:::i;1253:476:195:-;;;;;;:::i;:::-;;:::i;3157:587:193:-;;;;;;:::i;:::-;;:::i;737:220:197:-;;;;;;:::i;:::-;;:::i;6244:95:199:-;;;:::i;5282:121:193:-;;;;;;:::i;:::-;;:::i;6343:485:199:-;;;;;;:::i;:::-;;:::i;2949:107:195:-;;;:::i;:::-;;;;;;;:::i;6832:650:199:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2089:112::-;;;;;;:::i;:::-;;:::i;5067:146:193:-;;;;;;:::i;:::-;;:::i;1829:107:197:-;;;:::i;5631:609:199:-;;;;;;:::i;:::-;;:::i;636:613:195:-;;;;;;:::i;:::-;;:::i;1509:123:193:-;;;;;;:::i;:::-;;:::i;2620:2464:199:-;;;;;;:::i;:::-;;:::i;2708:351:193:-;2792:10;3799:42:201;:24;2792:10:193;3799:33:201;:42::i;:::-;3794:91;;3856:28;;;;;;;;;;;-1:-1:-1;;;3856:28:201;;;;3849:36;;-1:-1:-1;;;3849:36:201;;;;3856:28;3849:36;;;:::i;:::-;;;;;;;;3794:91;2820:3:193;3642:34:201::1;:20;2820:3:193::0;3642:29:201::1;:34::i;:::-;3637:84;;3691:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3691:29:201::1;::::0;::::1;::::0;3684:37;;-1:-1:-1;;;3684:37:201;;::::1;::::0;3691:29;3684:37:::1;;;:::i;3637:84::-;2838:2:193::2;:21:::0;;;:16:::2;:21;::::0;;;;:28;:33;2831:84:::2;;2881:2;:21:::0;;;:16:::2;:21;::::0;;;;:27;;;::::2;;;;:::i;:::-;;::::0;;;::::2;::::0;;::::2;-1:-1:-1::0;;2881:27:193;;;;;::::2;;::::0;;;::::2;::::0;::::2;::::0;;-1:-1:-1;;2881:27:193::2;::::0;;;::::2;;::::0;::::2;::::0;::::2;:::i;:::-;;;;;2831:84;;;2928:2;:21:::0;;;:16:::2;:21;::::0;;;;2920:30:::2;::::0;::::2;:::i;:::-;2957:32;:20;2985:3:::0;2957:27:::2;:32::i;:::-;-1:-1:-1::0;3001:53:193::2;::::0;;15325:25:654;;;-1:-1:-1;;;;;15381:2:654;15366:18;;15359:59;15454:3;15434:18;;;15427:31;;;-1:-1:-1;15474:19:654;;;15467:30;3049:4:193::2;15564:2:654::0;15549:18;;15542:50;3001:53:193;;-1:-1:-1;;;;;;;;;;;3001:53:193;;;;15529:3:654;3001:53:193;;::::2;3891:1:201::1;2708:351:193::0;;:::o;4044:747::-;4098:16;4122:20;;4180:29;:20;:27;:29::i;:::-;4153:56;;4220:9;4215:154;4239:16;4235:1;:20;4215:154;;;4270:11;4284:26;:20;4308:1;4284:23;:26::i;:::-;4334:2;:21;;;:16;:21;;;;;:28;4270:40;;-1:-1:-1;4318:44:193;;;;:::i;:::-;;-1:-1:-1;;4257:3:193;;4215:154;;;;4375:25;4417:12;-1:-1:-1;;;;;4403:27:193;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;4403:27:193;;;;;;;;;;;;;;;-1:-1:-1;4375:55:193;-1:-1:-1;4437:14:193;4454:29;:20;:27;:29::i;:::-;4437:46;;4489:9;4513;4508:257;4532:6;4528:1;:10;4508:257;;;4553:11;4567:26;:20;4591:1;4567:23;:26::i;:::-;4601:28;4632:21;;;:16;:21;;;;;;;;4601:52;;;;;;;;;;;;;;;;;4553:40;;-1:-1:-1;4601:28:193;;:52;;4632:21;4601:28;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4601:52:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4666:9;4661:98;4685:11;:18;4681:1;:22;4661:98;;;4736:11;4748:1;4736:14;;;;;;;;:::i;:::-;;;;;;;4720:8;4729:3;;;;;:::i;:::-;;;4720:13;;;;;;;;:::i;:::-;;;;;;;;;;:30;4705:3;;4661:98;;;;4545:220;;4540:3;;;;;4508:257;;;-1:-1:-1;4778:8:193;;4044:747;-1:-1:-1;;;;;4044:747:193:o;1890:195:199:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1976:29:199;;1996:8;1976:19;:29::i;:::-;1971:73;;2014:29;;;;;;;;;;;-1:-1:-1;;;2014:29:199;;;;2007:37;;-1:-1:-1;;;2007:37:199;;;;2014:29;2007:37;;;:::i;1971:73::-;2057:2;:23;;;:13;:23;;;;;;;;;2050:30;;;;;;;;;;;;;;;-1:-1:-1;;;;;2050:30:199;;;;;;;-1:-1:-1;;;2050:30:199;;;;;;;;-1:-1:-1;;;2050:30:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2057:23;;2050:30;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2050:30:199;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:195;;;:::o;1136:99:197:-;293:8:564;:6;:8::i;:::-;-1:-1:-1;;;;;279:22:564;:10;-1:-1:-1;;;;;279:22:564;;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;16668:51:654;16641:18;;318:29:564;16522:203:654;275:79:564;1204:26:197::1;1221:8;1204:16;:26::i;:::-;1136:99:::0;:::o;1023:221:193:-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;1131:9:193::1;1126:114;1146:25:::0;;::::1;1126:114;;;1186:47;1215:14;;1230:1;1215:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;1186:28;:47::i;:::-;1173:3;;1126:114;;;;1023:221:::0;;:::o;2854:91:195:-;2901:7;2923:17;:8;:15;:17::i;:::-;2916:24;;2854:91;:::o;2266:350:199:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2394:29:199;-1:-1:-1;2414:8:199;2394:19;:29::i;:::-;2389:73;;2432:29;;;;;;;;;;;-1:-1:-1;;;2432:29:199;;;;2425:37;;-1:-1:-1;;;2425:37:199;;;;2432:29;2425:37;;;:::i;2389:73::-;2484:2;:23;;;:13;:23;;;;;;;;2515:33;:43;;;;;;2566:29;:39;;;;;;2469:142;;;;;;;;;;;;;;;-1:-1:-1;;;;;2469:142:199;;;;;;;-1:-1:-1;;;2469:142:199;;;;;;;;-1:-1:-1;;;2469:142:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;2484:23;;2515:43;2566:39;;2469:142;;2484:23;;2469:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2469:142:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2266:350;;;;;:::o;1733:394:195:-;-1:-1:-1;;;;;3039:22:201;;;3085:1;3039:22;;;:16;:22;;;;;:34;;;1837:11:195;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;1867:10:195::1;3204:31:201;:12;1867:10:195::0;3204:21:201::1;:31::i;:::-;3199:74;;3244:28;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3244:28:201::1;::::0;::::1;::::0;3237:36;;-1:-1:-1;;;3237:36:201;;::::1;::::0;3244:28;3237:36:::1;;;:::i;3199:74::-;-1:-1:-1::0;;;;;3490:22:201;;::::2;:2;:22:::0;;;:16:::2;:22;::::0;;;;:31:::2;;::::0;1900:11:195;;1913:10:::2;::::0;3490:31:201::2;:43:::0;::::2;3486:91;;3548:28;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;3548:28:201::2;::::0;::::2;::::0;3541:36;;-1:-1:-1;;;3541:36:201;;::::2;::::0;3548:28;3541:36:::2;;;:::i;3486:91::-;-1:-1:-1::0;;;;;1953:29:195;::::3;1933:17;1953:29:::0;;;:16:::3;:29;::::0;;;;2021:11;;1989:52:::3;::::0;2021:11:::3;;2034:6:::0;1989:31:::3;:52::i;:::-;2048:20:::0;;2062:6;;2048:4;;-1:-1:-1;;2048:20:195::3;::::0;2062:6;2048:20:::3;::::0;::::3;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;2097:16:195::3;::::0;::::3;::::0;2079:43:::3;::::0;-1:-1:-1;;;;;2097:16:195;;::::3;::::0;2079:43:::3;::::0;::::3;::::0;2115:6;;2079:43:::3;:::i;:::-;;;;;;;;1927:200;3279:1:201::2;;3143::::1;1733:394:195::0;;;:::o;769:1117:199:-;934:10;3085:1:201;3039:22;;;:16;:22;;;;;:34;;;-1:-1:-1;;;;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;1019:29:199::1;:2;1039:8:::0;1019:19:::1;:29::i;:::-;1015:83;;;1063:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1063:34:199::1;::::0;::::1;::::0;1056:42;;-1:-1:-1;;;1056:42:199;;::::1;::::0;1063:34;1056:42:::1;;;:::i;1015:83::-;1194:12:::0;;1174:17:::1;1212:139;1236:9;1232:1;:13;1212:139;;;1265:27;1283:5;1289:1;1283:8;;;;;;;;:::i;:::-;;;;;;;1265:2;:8;;:17;;:27;;;;:::i;:::-;1260:84;;1309:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1309:34:199::1;::::0;::::1;::::0;1302:42;;-1:-1:-1;;;1302:42:199;;::::1;::::0;1309:34;1302:42:::1;;;:::i;1260:84::-;1247:3;;1212:139;;;-1:-1:-1::0;1418:144:199::1;::::0;;::::1;::::0;::::1;::::0;;;;;1395:20:::1;1418:144;::::0;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;1569:24:::1;::::0;1584:8;1569:14:::1;:24::i;:::-;-1:-1:-1::0;1599:2:199::1;:23:::0;;;:13:::1;:23;::::0;;;;;;;;:32;;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;1599:32:199;;::::1;-1:-1:-1::0;;;1599:32:199::1;-1:-1:-1::0;;;;1599:32:199;;::::1;-1:-1:-1::0;;;1599:32:199::1;-1:-1:-1::0;;1599:32:199;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;::::0;;;::::1;::::0;::::1;::::0;;;1625:6;;1599:23;:32:::1;::::0;;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;1637:2:199::1;:39:::0;;;:29:::1;:39;::::0;;;;:58:::1;1679:16:::0;1637:39;:58:::1;:::i;:::-;-1:-1:-1::0;1701:2:199::1;:43:::0;;;:33:::1;:43;::::0;;;;;;:66;;;1779:102;::::1;::::0;::::1;::::0;1735:8;;1818:5;;1747:20;;1859:16;;1779:102:::1;:::i;:::-;;;;;;;;946:940;;769:1117:::0;;;;;:::o;1239:116:197:-;1300:4;1319:31;:12;1341:8;1319:21;:31::i;:::-;1312:38;1239:116;-1:-1:-1;;1239:116:197:o;2131:453:195:-;2236:10;3204:31:201;:12;2236:10:195;3204:21:201;:31::i;:::-;3199:74;;3244:28;;;;;;;;;;;-1:-1:-1;;;3244:28:201;;;;3237:36;;-1:-1:-1;;;3237:36:201;;;;3244:28;3237:36;;;:::i;3199:74::-;-1:-1:-1;;;;;3039:22:201;;::::1;3085:1;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;2261:11:195;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;-1:-1:-1::0;;;;;3490:22:201;;::::2;:2;:22:::0;;;:16:::2;:22;::::0;;;;:31:::2;;::::0;2295:11:195;;2308:10:::2;::::0;3490:31:201::2;:43:::0;::::2;3486:91;;3548:28;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;3548:28:201::2;::::0;::::2;::::0;3541:36;;-1:-1:-1;;;3541:36:201;;::::2;::::0;3548:28;3541:36:::2;;;:::i;3486:91::-;-1:-1:-1::0;;;;;2348:29:195;::::3;2328:17;2348:29:::0;;;:16:::3;:29;::::0;;;;;;;;2446:21;;::::3;::::0;2463:3;;2446:21:::3;;:::i;:::-;;;;;;;;;;;;;2436:32;;;;;;2422:4;:8;;2405:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;2395:37;;;;;;:73:::0;2384:126:::3;;2482:27;::::0;;;;::::3;::::0;;::::3;::::0;;-1:-1:-1;;;2482:27:195::3;::::0;::::3;::::0;2475:35;;-1:-1:-1;;;2475:35:195;;::::3;::::0;2482:27;2475:35:::3;;;:::i;2384:126::-;2517:8;::::0;::::3;:14;2528:3:::0;2517:8;:14:::3;:::i;:::-;-1:-1:-1::0;2557:16:195::3;::::0;::::3;::::0;2542:37:::3;::::0;-1:-1:-1;;;;;2557:16:195;;::::3;::::0;2542:37:::3;::::0;::::3;::::0;2575:3;;2542:37:::3;:::i;5475:290:193:-:0;293:8:564;:6;:8::i;:::-;-1:-1:-1;;;;;279:22:564;:10;-1:-1:-1;;;;;279:22:564;;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;16668:51:654;16641:18;;318:29:564;16522:203:654;275:79:564;-1:-1:-1;;;;;5557:21:193;::::1;5553:62;;5587:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5587:27:193::1;::::0;::::1;::::0;5580:35;;-1:-1:-1;;;5580:35:193;;::::1;::::0;5587:27;5580:35:::1;;;:::i;5553:62::-;5627:40;:24;5659:7:::0;5627:31:::1;:40::i;:::-;5622:90;;5682:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5682:29:193::1;::::0;::::1;::::0;5675:37;;-1:-1:-1;;;5675:37:193;;::::1;::::0;5682:29;5675:37:::1;;;:::i;5622:90::-;5724:36;::::0;-1:-1:-1;;;;;5724:36:193;::::1;::::0;::::1;::::0;;;::::1;5475:290:::0;:::o;3816:148::-;3907:16;3893:3;3642:34:201;:20;3893:3:193;3642:29:201;:34::i;:::-;3637:84;;3691:29;;;;;;;;;;;-1:-1:-1;;;3691:29:201;;;;3684:37;;-1:-1:-1;;;3684:37:201;;;;3691:29;3684:37;;;:::i;3637:84::-;3938:2:193::1;:21:::0;;;:16:::1;:21;::::0;;;;;;;3931:28;;;;;;::::1;::::0;;;;;;;;;;;;3938:21;;3931:28;::::1;;;;;;;;;::::0;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;3931:28:193::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;3727:1:201;3816:148:193::0;;;;:::o;2588:262:195:-;2649:11;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2649:11:195;2722:30;:8;2740:11;2722:17;:30::i;:::-;2717:85;;2767:34;;;;;;;;;;;-1:-1:-1;;;2767:34:195;;;;2760:42;;-1:-1:-1;;;2760:42:195;;;;2767:34;2760:42;;;:::i;2717:85::-;-1:-1:-1;;;;;2816:29:195;;:2;:29;;;:16;:29;;;;;;;2809:36;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2809:36:195;;;-1:-1:-1;;2809:36:195;;;;-1:-1:-1;;;;;2809:36:195;;;;;;;;;;;;;;;;;;;;;2588:262;-1:-1:-1;;2588:262:195:o;5088:539:199:-;5186:8;3338:29:201;:2;5186:8:199;3338:19:201;:29::i;:::-;3333:73;;3376:29;;;;;;;;;;;-1:-1:-1;;;3376:29:201;;;;3369:37;;-1:-1:-1;;;3369:37:201;;;;3376:29;3369:37;;;:::i;3333:73::-;5205:10:199::1;3085:1:201;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;-1:-1:-1;;;;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;5223:21:199::2;5247:23:::0;;;:13:::2;:23;::::0;;;;;;5356:12;;::::2;:19:::0;5247:23;;5382:141:::2;5406:9;5402:1;:13;5382:141;;;5453:11;-1:-1:-1::0;;;;;5434:30:199::2;:6;:12;;5447:1;5434:15;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;-1:-1:-1;;;;;5434:15:199::2;:30:::0;5430:86:::2;;5481:34;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;5481:34:199::2;::::0;::::2;::::0;5474:42;;-1:-1:-1;;;5474:42:199;;::::2;::::0;5481:34;5474:42:::2;;;:::i;5430:86::-;5417:3;;5382:141;;;-1:-1:-1::0;5529:12:199::2;::::0;::::2;:30:::0;;::::2;::::0;;::::2;::::0;;-1:-1:-1;5529:30:199;;;::::2;::::0;;;;;;::::2;::::0;;-1:-1:-1;;;;;;5529:30:199::2;-1:-1:-1::0;;;;;5529:30:199;::::2;::::0;;::::2;::::0;;;5571:51:::2;::::0;;22391:25:654;;;22432:18;;;22425:60;;;;22501:18;;22494:50;5571:51:199::2;::::0;22379:2:654;22364:18;5571:51:199::2;;;;;;;;5217:410;;3412:1:201::1;5088:539:199::0;;;:::o;1711:904:193:-;1842:10;3799:42:201;:24;1842:10:193;3799:33:201;:42::i;:::-;3794:91;;3856:28;;;;;;;;;;;-1:-1:-1;;;3856:28:201;;;;3849:36;;-1:-1:-1;;;3849:36:201;;;;3856:28;3849:36;;;:::i;3794:91::-;-1:-1:-1;;;;;;;1864:31:193;::::1;::::0;1860:72:::1;;1904:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1904:27:193::1;::::0;::::1;::::0;1897:35;;-1:-1:-1;;;1897:35:193;;::::1;::::0;1904:27;1897:35:::1;;;:::i;1860:72::-;1958:1;1942:17:::0;;;1938:58:::1;;1968:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1968:27:193::1;::::0;::::1;::::0;1961:35;;-1:-1:-1;;;1961:35:193;;::::1;::::0;1968:27;1961:35:::1;;;:::i;1938:58::-;2008:34;:20;2038:3:::0;2008:29:::1;:34::i;:::-;2003:85;;2052:29;:20;2077:3:::0;2052:24:::1;:29::i;:::-;;2003:85;2162:24;2189:21:::0;;;:16:::1;:21;::::0;;;;:28;;2223:258:::1;2247:16;2243:1;:20;2223:258;;;2282:2;:21:::0;;;:16:::1;:21;::::0;;;;:24;;-1:-1:-1;;;;;2282:51:193;::::1;::::0;:21;2304:1;;2282:24;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:36:::1;:24;::::0;;::::1;;:36;::::0;-1:-1:-1;;;;;2282:36:193::1;:51:::0;2278:197:::1;;2345:2;:21:::0;;;:16:::1;:21;::::0;;;;:24;;2378:5;;;;2367:1;;2345:24;::::1;;;;;:::i;:::-;;;;;;;;;;;:30;;:38;;;;;;;:::i;:::-;;-1:-1:-1::0;;;;;;;;;;;2419:3:193::1;2424:11;2437:5;;2444;2398:52;;;;;;;;;;:::i;:::-;;;;;;;;2460:7;;;;2278:197;2265:3;;2223:258;;;;2487:2;:16;;:21;2504:3;2487:21;;;;;;;;;;;2514:32;;;;;;;;2522:3;2514:32;;;;2527:11;-1:-1:-1::0;;;;;2514:32:193::1;;;;;2540:5;;2514:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2514:32:193;;;;-1:-1:-1;;2487:60:193;;::::1;::::0;;::::1;::::0;;;;;::::1;::::0;;;;;;::::1;::::0;;::::1;;::::0;;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;2487:60:193::1;-1:-1:-1::0;;;;;2487:60:193;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;2487:60:193::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;-1:-1:-1::0;;;;;;;;;;;2579:3:193::1;2584:11;2597:5;;2604;2558:52;;;;;;;;;;:::i;3891:1:201:-;1711:904:193::0;;;;;:::o;3060:254:195:-;3106:13;3127:19;3160:17;:8;:15;:17::i;:::-;-1:-1:-1;;;;;3149:29:195;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3149:29:195;;;;;;;;;;;;;;;;;3127:51;;3190:9;3185:106;3209:17;:8;:15;:17::i;:::-;3205:1;:21;3185:106;;;3252:16;:2;3269:14;:8;3281:1;3269:11;:14::i;:::-;-1:-1:-1;;;;;3252:32:195;;;;;;;;;;;;;;-1:-1:-1;3252:32:195;3241:43;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3241:43:195;;;-1:-1:-1;;3241:43:195;;;;-1:-1:-1;;;;;3241:43:195;;;;;;;;;;;;;;;;;;;;:8;;:5;;3247:1;;3241:8;;;;;;:::i;:::-;;;;;;;;;;:43;3228:3;;3185:106;;1359:466:197;293:8:564;:6;:8::i;:::-;-1:-1:-1;;;;;279:22:564;:10;-1:-1:-1;;;;;279:22:564;;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;16668:51:654;16641:18;;318:29:564;16522:203:654;275:79:564;1431:31:197::1;:12;1453:8:::0;1431:21:::1;:31::i;:::-;1426:90;;1477:38;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1477:38:197::1;::::0;::::1;::::0;1470:46;;-1:-1:-1;;;1470:46:197;;::::1;::::0;1477:38;1470:46:::1;;;:::i;1426:90::-;1582:9;1577:171;1601:17;:8;:15;:17::i;:::-;1597:1;:21;1577:171;;;-1:-1:-1::0;;;;;1637:53:197;::::1;:16;:2;1654:14;:8;1666:1:::0;1654:11:::1;:14::i;:::-;-1:-1:-1::0;;;;;1637:32:197;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;1637:32:197;:41:::1;;::::0;::::1;:53:::0;1633:108:::1;;1707:33;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1707:33:197::1;::::0;::::1;::::0;1700:41;;-1:-1:-1;;;1700:41:197;;::::1;::::0;1707:33;1700:41:::1;;;:::i;1633:108::-;1620:3;;1577:171;;;-1:-1:-1::0;1754:29:197::1;:12;1774:8:::0;1754:19:::1;:29::i;:::-;-1:-1:-1::0;1795:25:197::1;::::0;-1:-1:-1;;;;;1795:25:197;::::1;::::0;::::1;::::0;;;::::1;1359:466:::0;:::o;1253:476:195:-;-1:-1:-1;;;;;3490:22:201;;;:2;:22;;;:16;:22;;;;;:31;;;1328:11:195;;1341:10;;3490:31:201;:43;;3486:91;;3548:28;;;;;;;;;;;-1:-1:-1;;;3548:28:201;;;;3541:36;;-1:-1:-1;;;3541:36:201;;;;3548:28;3541:36;;;:::i;3486:91::-;-1:-1:-1;;;;;1363:29:195;;::::1;1416:1;1363:29:::0;;;:16:::1;:29;::::0;;;;:41:::1;;::::0;::::1;1359:118;;1435:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1435:34:195::1;::::0;::::1;::::0;1428:42;;-1:-1:-1;;;1428:42:195;;::::1;::::0;1435:34;1428:42:::1;;;:::i;1359:118::-;1527:18;-1:-1:-1::0;;;;;1487:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;:36;::::1;;:58;::::0;::::1;;;;;;:::i;:::-;;1483:129;;1562:42;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1562:42:195::1;::::0;::::1;::::0;1555:50;;-1:-1:-1;;;1555:50:195;;::::1;::::0;1562:42;1555:50:::1;;;:::i;1483:129::-;1618:28;:8;1634:11:::0;1618:15:::1;:28::i;:::-;-1:-1:-1::0;;;;;;1659:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;1652:36;;-1:-1:-1;;1652:36:195::1;::::0;;1659:29;1652:36:::1;::::0;;::::1;1659:2:::0;1652:36:::1;:::i;:::-;-1:-1:-1::0;1652:36:195::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;1652:36:195;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;1700:24:::1;::::0;-1:-1:-1;;;;;1700:24:195;::::1;::::0;::::1;::::0;1652:36:::1;::::0;1700:24:::1;1253:476:::0;;;:::o;3157:587:193:-;3272:10;3799:42:201;:24;3272:10:193;3799:33:201;:42::i;:::-;3794:91;;3856:28;;;;;;;;;;;-1:-1:-1;;;3856:28:201;;;;3849:36;;-1:-1:-1;;;3849:36:201;;;;3856:28;3849:36;;;:::i;3794:91::-;3290:10:193::1;3319:9:::0;3314:310:::1;3338:2;:21:::0;;;:16:::1;:21;::::0;;;;:28;3334:32;::::1;3314:310;;;3385:2;:21:::0;;;:16:::1;:21;::::0;;;;:24;;-1:-1:-1;;;;;3385:51:193;::::1;::::0;:21;3407:1;;3385:24;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:36:::1;:24;::::0;;::::1;;:36;::::0;-1:-1:-1;;;;;3385:36:193::1;:51:::0;3381:237:::1;;3475:2;:21:::0;;;:16:::1;:21;::::0;;;;3508:28;;:32:::1;::::0;3539:1:::1;::::0;3508:32:::1;:::i;:::-;3475:75;;;;;;;;:::i;:::-;;;;;;;;;;;3448:2;:16;;:21;3465:3;3448:21;;;;;;;;;;;3470:1;3448:24;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:102;;:24:::1;::::0;;::::1;;:102:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;3448:102:193::1;-1:-1:-1::0;;;;;3448:102:193;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;3560:2:193::1;:21:::0;;;:16:::1;:21;::::0;;;;:27;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;::::1;-1:-1:-1::0;;3560:27:193;;;;;::::1;;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;3560:27:193::1;::::0;;;::::1;;::::0;::::1;::::0;::::1;:::i;:::-;;;;;3605:4;3597:12;;3381:237;3368:3;;3314:310;;;;3635:5;3630:49;;3649:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3649:29:193::1;::::0;::::1;::::0;3642:37;;-1:-1:-1;;;3642:37:193;;::::1;::::0;3649:29;3642:37:::1;;;:::i;3630:49::-;3691:48;::::0;;15325:25:654;;;-1:-1:-1;;;;;15386:31:654;;15381:2;15366:18;;15359:59;15454:3;15434:18;;;15427:31;;;-1:-1:-1;15474:19:654;;;15467:30;3734:4:193::1;15564:2:654::0;15549:18;;15542:50;3691:48:193;;-1:-1:-1;;;;;;;;;;;3691:48:193;;;;15529:3:654;3691:48:193;;::::1;3284:460;3157:587:::0;;;:::o;737:220:197:-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;852:9:197::1;847:106;867:27:::0;;::::1;847:106;;;909:37;926:16;;943:1;926:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;909:16;:37::i;:::-;896:3;;847:106;;6244:95:199::0;6293:7;6315:19;6293:7;6315:17;:19::i;5282:121:193:-;293:8:564;:6;:8::i;:::-;-1:-1:-1;;;;;279:22:564;:10;-1:-1:-1;;;;;279:22:564;;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;16668:51:654;16641:18;;318:29:564;16522:203:654;275:79:564;5361:37:193::1;5390:7;5361:28;:37::i;6343:485:199:-:0;6425:7;;;6486:19;6425:7;6486:17;:19::i;:::-;6463:42;;6516:9;6511:294;6535:12;6531:1;:16;6511:294;;;6562:10;6575:16;6562:10;6589:1;6575:13;:16::i;:::-;6599:21;6623:17;;;:13;:17;;;;;6562:29;;-1:-1:-1;6648:151:199;6672:12;;;:19;6668:23;;6648:151;;;6731:11;-1:-1:-1;;;;;6712:30:199;:6;:12;;6725:1;6712:15;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;6712:15:199;:30;6708:83;;6756:7;;;;:::i;:::-;;;;6775:5;;6708:83;6693:3;;6648:151;;;;6554:251;;6549:3;;;;;6511:294;;;-1:-1:-1;6818:5:199;;6343:485;-1:-1:-1;;;6343:485:199:o;2949:107:195:-;3003:16;3034:17;:8;:15;:17::i;6832:650:199:-;6925:21;6948:4;6973;6964:5;:13;6960:54;;6986:27;;;;;;;;;;;-1:-1:-1;;;6986:27:199;;;;6979:35;;-1:-1:-1;;;6979:35:199;;;;6986:27;6979:35;;;:::i;6960:54::-;7021:19;7043;7021;7043:17;:19::i;:::-;7021:41;;7068:22;7100:11;7093:4;:18;:39;;7128:4;7093:39;;;7114:11;7093:39;7068:64;;7138:13;7171:5;7154:14;:22;:51;;7204:1;7154:51;;;7179:22;7196:5;7179:14;:22;:::i;:::-;7138:67;;7212:29;7263:5;-1:-1:-1;;;;;7244:25:199;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7212:57;;7281:9;7276:158;7300:5;7296:1;:9;7276:158;;;7320:10;7333:24;7347:9;7355:1;7347:5;:9;:::i;:::-;7333:2;;:13;:24::i;:::-;7378:49;;;;;;;;;;;-1:-1:-1;7408:17:199;;;:13;7378:49;7408:17;;;;;;;7378:49;;;;;;;;;;;;;;;-1:-1:-1;;;;;7378:49:199;;;;;;;-1:-1:-1;;;7378:49:199;;;;;;;;-1:-1:-1;;;7378:49:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;7320:37;;-1:-1:-1;7378:49:199;;;;;;;;7408:17;;7378:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7378:49:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;7365:7;7373:1;7365:10;;;;;;;;:::i;:::-;;;;;;;;;;:62;-1:-1:-1;7307:3:199;;7276:158;;;-1:-1:-1;7448:7:199;-1:-1:-1;;;7457:19:199;;;;-1:-1:-1;6832:650:199;;;;;:::o;2089:112::-;2148:4;2167:29;2148:4;2187:8;2167:19;:29::i;5067:146:193:-;5147:4;5166:42;:24;5200:7;5166:33;:42::i;1829:107:197:-;1879:16;1910:21;:12;:19;:21::i;5631:609:199:-;5732:8;3338:29:201;:2;5732:8:199;3338:19:201;:29::i;:::-;3333:73;;3376:29;;;;;;;;;;;-1:-1:-1;;;3376:29:201;;;;3369:37;;-1:-1:-1;;;3369:37:201;;;;3376:29;3369:37;;;:::i;3333:73::-;5751:10:199::1;3085:1:201;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;-1:-1:-1;;;;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;5769:21:199::2;5793:23:::0;;;:13:::2;:23;::::0;;;;;;5867:12;;::::2;:19:::0;5793:23;;5769:21;;5893:219:::2;5917:9;5913:1;:13;5893:219;;;5964:11;-1:-1:-1::0;;;;;5945:30:199::2;:6;:12;;5958:1;5945:15;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;-1:-1:-1;;;;;5945:15:199::2;:30:::0;5941:165:::2;;6005:12;::::0;::::2;6018:13;6030:1;6018:9:::0;:13:::2;:::i;:::-;6005:27;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;5987:12:::2;::::0;::::2;:15:::0;;-1:-1:-1;;;;;6005:27:199;;::::2;::::0;6000:1;;5987:15;::::2;;;;;:::i;:::-;;;;;;;;;:45;;;;;-1:-1:-1::0;;;;;5987:45:199::2;;;;;-1:-1:-1::0;;;;;5987:45:199::2;;;;;;6042:6;:12;;:18;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;-1:-1:-1;;6042:18:199;;;;;-1:-1:-1;;;;;;6042:18:199::2;::::0;;;;;::::2;::::0;-1:-1:-1;6092:5:199::2;;5941:165;5928:3;;5893:219;;;;6122:5;6117:54;;6136:34;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;6136:34:199::2;::::0;::::2;::::0;6129:42;;-1:-1:-1;;;6129:42:199;;::::2;::::0;6136:34;6129:42:::2;;;:::i;6117:54::-;6183:52;::::0;;22391:25:654;;;-1:-1:-1;;;;;22452:32:654;;22447:2;22432:18;;22425:60;6229:5:199::2;22501:18:654::0;;;22494:50;;;;6183:52:199::2;::::0;22379:2:654;22364:18;6183:52:199::2;22195:355:654::0;636:613:195;755:10;3204:31:201;:12;755:10:195;3204:21:201;:31::i;:::-;3199:74;;3244:28;;;;;;;;;;;-1:-1:-1;;;3244:28:201;;;;3237:36;;-1:-1:-1;;;3237:36:201;;;;3244:28;3237:36;;;:::i;3199:74::-;-1:-1:-1;;;;;838:29:195;;::::1;891:1;838:29:::0;;;:16:::1;:29;::::0;;;;:41:::1;;::::0;::::1;:55:::0;834:109:::1;;908:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;908:34:195::1;::::0;::::1;::::0;901:42;;-1:-1:-1;;;901:42:195;;::::1;::::0;908:34;901:42:::1;;;:::i;834:109::-;950:19;972:110;;;;;;;;1041:6;972:110;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;972:110:195;::::1;::::0;;;;1065:10:::1;972:110:::0;;;;;950:132;-1:-1:-1;1089:25:195::1;:8;998:11:::0;1089:12:::1;:25::i;:::-;-1:-1:-1::0;;;;;;1146:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;:39;;;;1178:7;;1146:29;:39;:29;;-1:-1:-1;;1146:39:195::1;::::0;;::::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;1146:39:195::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;1146:39:195::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;1146:39:195;;::::1;-1:-1:-1::0;;;;;1146:39:195;;::::1;;::::0;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;1197:47;;1220:10:::1;::::0;1197:47;::::1;::::0;::::1;::::0;::::1;::::0;1232:3;;1237:6;;1197:47:::1;:::i;:::-;;;;;;;;767:482;636:613:::0;;;;:::o;1509:123:193:-;1574:4;1593:34;:20;1623:3;1593:29;:34::i;2620:2464:199:-;2719:10;3085:1:201;3039:22;;;:16;:22;;;;;:34;;;-1:-1:-1;;;;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;2762:10:199;2737:22:::1;2790:19:::0;;;2786:60:::1;;2818:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;2818:27:199::1;::::0;::::1;::::0;2811:35;;-1:-1:-1;;;2811:35:199;;::::1;::::0;2818:27;2811:35:::1;;;:::i;2786:60::-;2858:9;2853:2227;2877:14;2873:1;:18;2853:2227;;;2906:31;2940:10;;2951:1;2940:13;;;;;;;:::i;:::-;;;::::0;;;::::1;::::0;-1:-1:-1;2967:39:199::1;::::0;-1:-1:-1;2987:18:199::1;::::0;::::1;2967:19;:39::i;:::-;2962:277;;3023:189;3066:18:::0;::::1;3096:27;::::0;::::1;;3135:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;3173:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3173:29:199::1;::::0;::::1;::::0;3023:189;;::::1;::::0;;;;3173:29;3023:189:::1;:::i;:::-;;;;;;;;3222:8;;;2962:277;3285:18:::0;::::1;3247:21;3271:33:::0;;;:13:::1;:33;::::0;;;;592:1:::1;3383:12:::0;;::::1;::::0;-1:-1:-1;;;3383:12:199;::::1;:33:::0;3382:40;3378:281:::1;;3439:193;3482:18:::0;::::1;3512:27;::::0;::::1;;3551:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;3589:33;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3589:33:199::1;::::0;::::1;::::0;3439:193;;::::1;::::0;;;;3589:33;3439:193:::1;:::i;:::-;;;;;;;;3642:8;;;;3378:281;4503:23;::::0;::::1;::::0;-1:-1:-1;;;;;4503:23:199::1;;:28:::0;4499:109:::1;;4580:18:::0;::::1;4550:2;:49:::0;;;:29:::1;:49;::::0;;;;4543:56:::1;::::0;::::1;:::i;:::-;4682:27;::::0;::::1;;4655:54:::0;;4743:26:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;4717:23;::::0;::::1;:52:::0;;-1:-1:-1;;4717:52:199::1;-1:-1:-1::0;;;;;4717:52:199;;;::::1;::::0;;;::::1;::::0;;4824:18:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;4820:77;;;592:1;4854:12:::0;;::::1;:34:::0;;-1:-1:-1;;;;4854:34:199;::::1;-1:-1:-1::0;;;4854:34:199;;;::::1;-1:-1:-1::0;;;;;4854:34:199::1;::::0;;::::1;;::::0;;;::::1;::::0;;4820:77:::1;4910:163;4946:18:::0;::::1;4974:27;::::0;::::1;;5011:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;5047:18;::::0;;;::::1;::::0;::::1;;:::i;:::-;4910:163;;;;;;;;27451:25:654::0;;;27507:2;27492:18;;27485:34;;;;-1:-1:-1;;;;;27555:31:654;27550:2;27535:18;;27528:59;27630:14;27623:22;27618:2;27603:18;;27596:50;27438:3;27423:19;;27228:424;4910:163:199::1;;;;;;;;2898:2182;;2853:2227;2893:3;;2853:2227;;8844:165:511::0;-1:-1:-1;;;;;8977:23:511;;8924:4;4360:21;;;:14;;;:21;;;;;;:26;;8947:55;8940:62;8844:165;-1:-1:-1;;;8844:165:511:o;6431:138::-;6511:4;4360:21;;;:14;;;:21;;;;;;:26;;6534:28;4264:129;6221;6294:4;6317:26;6325:3;6337:5;6317:7;:26::i;6650:115::-;6713:7;6739:19;6747:3;4556:18;;4474:107;7107:129;7181:7;7207:22;7211:3;7223:5;7207:3;:22::i;369:103:564:-;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;;369:103::o;2115:320:197:-;-1:-1:-1;;;;;2211:22:197;;2207:63;;2242:27;;;;;;;;;;;-1:-1:-1;;;2242:27:197;;;;2235:35;;-1:-1:-1;;;2235:35:197;;;;2242:27;2235:35;;;:::i;2207:63::-;2281:31;:12;2303:8;2281:21;:31::i;:::-;2277:85;;;2327:34;;;;;;;;;;;-1:-1:-1;;;2327:34:197;;;;2320:42;;-1:-1:-1;;;2320:42:197;;;;2327:34;2320:42;;;:::i;2277:85::-;2369:26;:12;2386:8;2369:16;:26::i;:::-;-1:-1:-1;2407:23:197;;-1:-1:-1;;;;;2407:23:197;;;;;;;;2115:320;:::o;6036:282:193:-;-1:-1:-1;;;;;6110:21:193;;6106:62;;6140:27;;;;;;;;;;;-1:-1:-1;;;6140:27:193;;;;6133:35;;-1:-1:-1;;;6133:35:193;;;;6140:27;6133:35;;;:::i;6106:62::-;6180:37;:24;6209:7;6180:28;:37::i;:::-;6175:92;;6232:34;;;;;;;;;;;-1:-1:-1;;;6232:34:193;;;;6225:42;;-1:-1:-1;;;6225:42:193;;;;6232:34;6225:42;;;:::i;6175:92::-;6279:34;;-1:-1:-1;;;;;6279:34:193;;;;;;;;6036:282;:::o;3318:624:195:-;3442:25;3434:4;:33;;;;;;;;:::i;:::-;;:141;;;-1:-1:-1;3486:21:195;3478:4;:29;;;;;;;;:::i;:::-;;:96;;;;-1:-1:-1;3526:17:195;3520:2;:23;;;;;;;;:::i;:::-;;:53;;;-1:-1:-1;3553:20:195;3547:2;:26;;;;;;;;:::i;:::-;;3520:53;3434:250;;;-1:-1:-1;3594:22:195;3586:4;:30;;;;;;;;:::i;:::-;;:97;;;;-1:-1:-1;3635:17:195;3629:2;:23;;;;;;;;:::i;:::-;;:53;;;-1:-1:-1;3662:20:195;3656:2;:26;;;;;;;;:::i;:::-;;3629:53;3434:355;;;-1:-1:-1;3703:20:195;3695:4;:28;;;;;;;;:::i;:::-;;:93;;;;-1:-1:-1;3742:17:195;3736:2;:23;;;;;;;;:::i;:::-;;:51;;;-1:-1:-1;3769:18:195;3763:2;:24;;;;;;;;:::i;:::-;;3736:51;3434:420;;;-1:-1:-1;3808:17:195;3800:4;:25;;;;;;;;:::i;:::-;;:53;;;;-1:-1:-1;3835:18:195;3829:2;:24;;;;;;;;:::i;:::-;;3800:53;3423:459;;;3318:624;;:::o;3423:459::-;3894:42;;;;;;;;;;;-1:-1:-1;;;3894:42:195;;;;3887:50;;-1:-1:-1;;;3887:50:195;;;;3894:42;3887:50;;;:::i;5930:123:511:-;6000:4;6023:23;6028:3;6040:5;6023:4;:23::i;8607:156::-;8680:4;8703:53;8711:3;-1:-1:-1;;;;;8731:23:511;;8703:7;:53::i;10243:273::-;10306:16;10334:22;10359:19;10367:3;10359:7;:19::i;8289:150::-;8359:4;8382:50;8387:3;-1:-1:-1;;;;;8407:23:511;;8382:4;:50::i;2815:1368::-;2881:4;3010:21;;;:14;;;:21;;;;;;3046:13;;3042:1135;;3413:18;3434:12;3445:1;3434:8;:12;:::i;:::-;3480:18;;3413:33;;-1:-1:-1;3460:17:511;;3480:22;;3501:1;;3480:22;:::i;:::-;3460:42;;3535:9;3521:10;:23;3517:378;;3564:17;3584:3;:11;;3596:9;3584:22;;;;;;;;:::i;:::-;;;;;;;;;3564:42;;3731:9;3705:3;:11;;3717:10;3705:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:35;;;;3844:25;;;:14;;;:25;;;;;:36;;;3517:378;3973:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4076:3;:14;;:21;4091:5;4076:21;;;;;;;;;;;4069:28;;;4119:4;4112:11;;;;;;;3042:1135;4161:5;4154:12;;;;;4923:118;4990:7;5016:3;:11;;5028:5;5016:18;;;;;;;;:::i;:::-;;;;;;;;;5009:25;;4923:118;;;;:::o;2241:406::-;2304:4;4360:21;;;:14;;;:21;;;;;;2320:321;;-1:-1:-1;2362:23:511;;;;;;;;:11;:23;;;;;;;;;;;;;2544:18;;2520:21;;;:14;;;:21;;;;;;:42;;;;2576:11;;2320:321;-1:-1:-1;2625:5:511;2618:12;;5581:109;5637:16;5672:3;:11;;5665:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5581:109;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;14:180:654;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:654;;14:180;-1:-1:-1;14:180:654:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:654;423:16;;416:27;199:250::o;454:270::-;495:3;533:5;527:12;560:6;555:3;548:19;576:76;645:6;638:4;633:3;629:14;622:4;615:5;611:16;576:76;:::i;:::-;706:2;685:15;-1:-1:-1;;681:29:654;672:39;;;;713:4;668:50;;454:270;-1:-1:-1;;454:270:654:o;729:1136::-;923:4;952:2;992;981:9;977:18;1022:2;1011:9;1004:21;1045:6;1080;1074:13;1111:6;1103;1096:22;1137:2;1127:12;;1170:2;1159:9;1155:18;1148:25;;1232:2;1222:6;1219:1;1215:14;1204:9;1200:30;1196:39;1270:2;1262:6;1258:15;1291:1;1301:535;1315:6;1312:1;1309:13;1301:535;;;1380:22;;;-1:-1:-1;;1376:36:654;1364:49;;1436:13;;1504:9;;1489:25;;1561:11;;;1555:18;-1:-1:-1;;;;;1551:43:654;1534:15;;;1527:68;1634:11;;1628:18;1472:4;1666:15;;;1659:27;;;1709:47;1740:15;;;1628:18;1709:47;:::i;:::-;1814:12;;;;1699:57;-1:-1:-1;;;1779:15:654;;;;1337:1;1330:9;1301:535;;;-1:-1:-1;1853:6:654;;729:1136;-1:-1:-1;;;;;;;;729:1136:654:o;1870:948::-;1919:3;1958:4;1953:3;1949:14;1990:5;1984:12;1979:3;1972:25;2016:4;2066;2059:5;2055:16;2049:23;-1:-1:-1;;;;;2159:2:654;2145:12;2141:21;2134:4;2129:3;2125:14;2118:45;2224:2;2216:4;2209:5;2205:16;2199:23;2195:32;2188:4;2183:3;2179:14;2172:56;2289:2;2281:4;2274:5;2270:16;2264:23;2260:32;2253:4;2248:3;2244:14;2237:56;;;2341:4;2334:5;2330:16;2324:23;2379:4;2372;2367:3;2363:14;2356:28;2406:4;2439:14;2433:21;2476:6;2470:4;2463:20;2510:3;2505;2501:13;2492:22;;2557:4;2541:14;2537:25;2523:39;;2580:1;2571:10;;2590:201;2604:6;2601:1;2598:13;2590:201;;;2671:13;;-1:-1:-1;;;;;2667:39:654;2653:54;;2766:15;;;;2703:1;2619:9;;;;;2729:14;;;;2590:201;;;-1:-1:-1;2807:5:654;1870:948;-1:-1:-1;;;;;;1870:948:654:o;2823:257::-;3002:2;2991:9;2984:21;2965:4;3022:52;3070:2;3059:9;3055:18;3047:6;3022:52;:::i;3085:173::-;3153:20;;-1:-1:-1;;;;;3202:31:654;;3192:42;;3182:70;;3248:1;3245;3238:12;3182:70;3085:173;;;:::o;3263:186::-;3322:6;3375:2;3363:9;3354:7;3350:23;3346:32;3343:52;;;3391:1;3388;3381:12;3343:52;3414:29;3433:9;3414:29;:::i;3454:615::-;3540:6;3548;3601:2;3589:9;3580:7;3576:23;3572:32;3569:52;;;3617:1;3614;3607:12;3569:52;3657:9;3644:23;-1:-1:-1;;;;;3727:2:654;3719:6;3716:14;3713:34;;;3743:1;3740;3733:12;3713:34;3781:6;3770:9;3766:22;3756:32;;3826:7;3819:4;3815:2;3811:13;3807:27;3797:55;;3848:1;3845;3838:12;3797:55;3888:2;3875:16;3914:2;3906:6;3903:14;3900:34;;;3930:1;3927;3920:12;3900:34;3983:7;3978:2;3968:6;3965:1;3961:14;3957:2;3953:23;3949:32;3946:45;3943:65;;;4004:1;4001;3994:12;3943:65;4035:2;4027:11;;;;;4057:6;;-1:-1:-1;3454:615:654;;-1:-1:-1;;;;3454:615:654:o;4256:488::-;4509:2;4498:9;4491:21;4472:4;4535:52;4583:2;4572:9;4568:18;4560:6;4535:52;:::i;:::-;4623:6;4618:2;4607:9;4603:18;4596:34;4678:9;4670:6;4666:22;4661:2;4650:9;4646:18;4639:50;4706:32;4731:6;4723;4706:32;:::i;:::-;4698:40;4256:488;-1:-1:-1;;;;;;4256:488:654:o;4749:151::-;4825:20;;4874:1;4864:12;;4854:40;;4890:1;4887;4880:12;4905:284;4989:6;4997;5050:2;5038:9;5029:7;5025:23;5021:32;5018:52;;;5066:1;5063;5056:12;5018:52;5089:29;5108:9;5089:29;:::i;:::-;5079:39;;5137:46;5179:2;5168:9;5164:18;5137:46;:::i;:::-;5127:56;;4905:284;;;;;:::o;5194:127::-;5255:10;5250:3;5246:20;5243:1;5236:31;5286:4;5283:1;5276:15;5310:4;5307:1;5300:15;5326:275;5397:2;5391:9;5462:2;5443:13;;-1:-1:-1;;5439:27:654;5427:40;;-1:-1:-1;;;;;5482:34:654;;5518:22;;;5479:62;5476:88;;;5544:18;;:::i;:::-;5580:2;5573:22;5326:275;;-1:-1:-1;5326:275:654:o;5606:530::-;5648:5;5701:3;5694:4;5686:6;5682:17;5678:27;5668:55;;5719:1;5716;5709:12;5668:55;5755:6;5742:20;-1:-1:-1;;;;;5777:2:654;5774:26;5771:52;;;5803:18;;:::i;:::-;5847:55;5890:2;5871:13;;-1:-1:-1;;5867:27:654;5896:4;5863:38;5847:55;:::i;:::-;5927:2;5918:7;5911:19;5973:3;5966:4;5961:2;5953:6;5949:15;5945:26;5942:35;5939:55;;;5990:1;5987;5980:12;5939:55;6055:2;6048:4;6040:6;6036:17;6029:4;6020:7;6016:18;6003:55;6103:1;6078:16;;;6096:4;6074:27;6067:38;;;;6082:7;5606:530;-1:-1:-1;;;5606:530:654:o;6141:1287::-;6261:6;6269;6277;6285;6338:3;6326:9;6317:7;6313:23;6309:33;6306:53;;;6355:1;6352;6345:12;6306:53;6391:9;6378:23;6368:33;;6420:2;6473;6462:9;6458:18;6445:32;-1:-1:-1;;;;;6537:2:654;6529:6;6526:14;6523:34;;;6553:1;6550;6543:12;6523:34;6591:6;6580:9;6576:22;6566:32;;6636:7;6629:4;6625:2;6621:13;6617:27;6607:55;;6658:1;6655;6648:12;6607:55;6694:2;6681:16;6716:2;6712;6709:10;6706:36;;;6722:18;;:::i;:::-;6768:2;6765:1;6761:10;6791:28;6815:2;6811;6807:11;6791:28;:::i;:::-;6853:15;;;6923:11;;;6919:20;;;6884:12;;;;6951:19;;;6948:39;;;6983:1;6980;6973:12;6948:39;7007:11;;;;7027:148;7043:6;7038:3;7035:15;7027:148;;;7109:23;7128:3;7109:23;:::i;:::-;7097:36;;7060:12;;;;7153;;;;7027:148;;;7194:5;-1:-1:-1;;;;7246:2:654;7231:18;;7218:32;;-1:-1:-1;7303:2:654;7288:18;;7275:32;;-1:-1:-1;7319:16:654;;;7316:36;;;7348:1;7345;7338:12;7316:36;;;7371:51;7414:7;7403:8;7392:9;7388:24;7371:51;:::i;:::-;7361:61;;;6141:1287;;;;;;;:::o;7625:395::-;7703:6;7711;7764:2;7752:9;7743:7;7739:23;7735:32;7732:52;;;7780:1;7777;7770:12;7732:52;7803:29;7822:9;7803:29;:::i;:::-;7793:39;;7883:2;7872:9;7868:18;7855:32;-1:-1:-1;;;;;7902:6:654;7899:30;7896:50;;;7942:1;7939;7932:12;7896:50;7965:49;8006:7;7997:6;7986:9;7982:22;7965:49;:::i;:::-;7955:59;;;7625:395;;;;;:::o;8025:127::-;8086:10;8081:3;8077:20;8074:1;8067:31;8117:4;8114:1;8107:15;8141:4;8138:1;8131:15;8157:238;8239:1;8232:5;8229:12;8219:143;;8284:10;8279:3;8275:20;8272:1;8265:31;8319:4;8316:1;8309:15;8347:4;8344:1;8337:15;8219:143;8371:18;;8157:238::o;8400:505::-;8465:45;8506:3;8498:5;8492:12;8465:45;:::i;:::-;8447:3;8556:4;8549:5;8545:16;8539:23;8594:4;8587;8582:3;8578:14;8571:28;8620:46;8660:4;8655:3;8651:14;8637:12;8620:46;:::i;:::-;8714:4;8703:16;;;8697:23;-1:-1:-1;;;;;8790:23:654;;;8774:14;;;8767:47;;;;8867:4;8856:16;;;8850:23;8846:32;8830:14;;;;8823:56;;;;-1:-1:-1;8608:58:654;;8400:505;-1:-1:-1;8400:505:654:o;8910:251::-;9085:2;9074:9;9067:21;9048:4;9105:50;9151:2;9140:9;9136:18;9128:6;9105:50;:::i;9166:254::-;9234:6;9242;9295:2;9283:9;9274:7;9270:23;9266:32;9263:52;;;9311:1;9308;9301:12;9263:52;9347:9;9334:23;9324:33;;9376:38;9410:2;9399:9;9395:18;9376:38;:::i;9425:171::-;9492:20;;-1:-1:-1;;;;;9541:30:654;;9531:41;;9521:69;;9586:1;9583;9576:12;9601:731;9688:6;9696;9704;9712;9765:2;9753:9;9744:7;9740:23;9736:32;9733:52;;;9781:1;9778;9771:12;9733:52;9817:9;9804:23;9794:33;;9846:37;9879:2;9868:9;9864:18;9846:37;:::i;:::-;9836:47;;9934:2;9923:9;9919:18;9906:32;-1:-1:-1;;;;;9998:2:654;9990:6;9987:14;9984:34;;;10014:1;10011;10004:12;9984:34;10052:6;10041:9;10037:22;10027:32;;10097:7;10090:4;10086:2;10082:13;10078:27;10068:55;;10119:1;10116;10109:12;10068:55;10159:2;10146:16;10185:2;10177:6;10174:14;10171:34;;;10201:1;10198;10191:12;10171:34;10246:7;10241:2;10232:6;10228:2;10224:15;10220:24;10217:37;10214:57;;;10267:1;10264;10257:12;10214:57;9601:731;;;;-1:-1:-1;;10298:2:654;10290:11;;-1:-1:-1;;;9601:731:654:o;10337:834::-;10525:4;10554:2;10594;10583:9;10579:18;10624:2;10613:9;10606:21;10647:6;10682;10676:13;10713:6;10705;10698:22;10751:2;10740:9;10736:18;10729:25;;10813:2;10803:6;10800:1;10796:14;10785:9;10781:30;10777:39;10763:53;;10851:2;10843:6;10839:15;10872:1;10882:260;10896:6;10893:1;10890:13;10882:260;;;10989:2;10985:7;10973:9;10965:6;10961:22;10957:36;10952:3;10945:49;11017:45;11055:6;11046;11040:13;11017:45;:::i;:::-;11007:55;-1:-1:-1;11120:12:654;;;;11085:15;;;;10918:1;10911:9;10882:260;;;-1:-1:-1;11159:6:654;;10337:834;-1:-1:-1;;;;;;;10337:834:654:o;11176:252::-;11243:6;11251;11304:2;11292:9;11283:7;11279:23;11275:32;11272:52;;;11320:1;11317;11310:12;11272:52;11356:9;11343:23;11333:33;;11385:37;11418:2;11407:9;11403:18;11385:37;:::i;11433:465::-;11486:3;11524:5;11518:12;11551:6;11546:3;11539:19;11577:4;11606;11601:3;11597:14;11590:21;;11645:4;11638:5;11634:16;11668:1;11678:195;11692:6;11689:1;11686:13;11678:195;;;11757:13;;-1:-1:-1;;;;;11753:39:654;11741:52;;11813:12;;;;11848:15;;;;11789:1;11707:9;11678:195;;;-1:-1:-1;11889:3:654;;11433:465;-1:-1:-1;;;;;11433:465:654:o;11903:261::-;12082:2;12071:9;12064:21;12045:4;12102:56;12154:2;12143:9;12139:18;12131:6;12102:56;:::i;12169:248::-;12237:6;12245;12298:2;12286:9;12277:7;12273:23;12269:32;12266:52;;;12314:1;12311;12304:12;12266:52;-1:-1:-1;;12337:23:654;;;12407:2;12392:18;;;12379:32;;-1:-1:-1;12169:248:654:o;12422:1129::-;12648:4;12677:2;12717;12706:9;12702:18;12747:2;12736:9;12729:21;12770:6;12805;12799:13;12836:6;12828;12821:22;12874:2;12863:9;12859:18;12852:25;;12936:2;12926:6;12923:1;12919:14;12908:9;12904:30;12900:39;12886:53;;12958:4;12997:2;12989:6;12985:15;13018:1;13028:435;13042:6;13039:1;13036:13;13028:435;;;13107:22;;;-1:-1:-1;;13103:36:654;13091:49;;13163:13;;13204:9;;13189:25;;13253:11;;13247:18;13285:15;;;13278:27;;;13328:55;13367:15;;;13247:18;13328:55;:::i;:::-;13318:65;-1:-1:-1;;13441:12:654;;;;13406:15;;;;13064:1;13057:9;13028:435;;;-1:-1:-1;;13529:14:654;;13522:22;13502:18;;;;13495:50;;;;13480:6;12422:1129;-1:-1:-1;;;;;12422:1129:654:o;13556:493::-;13659:6;13667;13675;13728:2;13716:9;13707:7;13703:23;13699:32;13696:52;;;13744:1;13741;13734:12;13696:52;13767:29;13786:9;13767:29;:::i;:::-;13757:39;;13847:2;13836:9;13832:18;13819:32;-1:-1:-1;;;;;13866:6:654;13863:30;13860:50;;;13906:1;13903;13896:12;13860:50;13929:49;13970:7;13961:6;13950:9;13946:22;13929:49;:::i;:::-;13919:59;;;13997:46;14039:2;14028:9;14024:18;13997:46;:::i;:::-;13987:56;;13556:493;;;;;:::o;14054:651::-;14173:6;14181;14234:2;14222:9;14213:7;14209:23;14205:32;14202:52;;;14250:1;14247;14240:12;14202:52;14290:9;14277:23;-1:-1:-1;;;;;14360:2:654;14352:6;14349:14;14346:34;;;14376:1;14373;14366:12;14346:34;14414:6;14403:9;14399:22;14389:32;;14459:7;14452:4;14448:2;14444:13;14440:27;14430:55;;14481:1;14478;14471:12;14430:55;14521:2;14508:16;14547:2;14539:6;14536:14;14533:34;;;14563:1;14560;14553:12;14533:34;14619:7;14614:2;14606:4;14598:6;14594:17;14590:2;14586:26;14582:35;14579:48;14576:68;;;14640:1;14637;14630:12;14710:219;14859:2;14848:9;14841:21;14822:4;14879:44;14919:2;14908:9;14904:18;14896:6;14879:44;:::i;14934:127::-;14995:10;14990:3;14986:20;14983:1;14976:31;15026:4;15023:1;15016:15;15050:4;15047:1;15040:15;15603:127;15664:10;15659:3;15655:20;15652:1;15645:31;15695:4;15692:1;15685:15;15719:4;15716:1;15709:15;15735:125;15800:9;;;15821:10;;;15818:36;;;15834:18;;:::i;15865:380::-;15944:1;15940:12;;;;15987;;;16008:61;;16062:4;16054:6;16050:17;16040:27;;16008:61;16115:2;16107:6;16104:14;16084:18;16081:38;16078:161;;16161:10;16156:3;16152:20;16149:1;16142:31;16196:4;16193:1;16186:15;16224:4;16221:1;16214:15;16250:127;16311:10;16306:3;16302:20;16299:1;16292:31;16342:4;16339:1;16332:15;16366:4;16363:1;16356:15;16382:135;16421:3;16442:17;;;16439:43;;16462:18;;:::i;:::-;-1:-1:-1;16509:1:654;16498:13;;16382:135::o;16730:211::-;16878:2;16863:18;;16890:45;16867:9;16917:6;16890:45;:::i;17071:542::-;17172:2;17167:3;17164:11;17161:446;;;17208:1;17232:5;17229:1;17222:16;17276:4;17273:1;17263:18;17346:2;17334:10;17330:19;17327:1;17323:27;17317:4;17313:38;17382:4;17370:10;17367:20;17364:47;;;-1:-1:-1;17405:4:654;17364:47;17460:2;17455:3;17451:12;17448:1;17444:20;17438:4;17434:31;17424:41;;17515:82;17533:2;17526:5;17523:13;17515:82;;;17578:17;;;17559:1;17548:13;17515:82;;;17519:3;;;17071:542;;;:::o;17618:166::-;-1:-1:-1;;17746:1:654;17742:11;;;17738:24;17734:29;17724:40;17770:1;17766:11;;;;17721:57;;17618:166::o;17789:1341::-;17913:3;17907:10;-1:-1:-1;;;;;17932:6:654;17929:30;17926:56;;;17962:18;;:::i;:::-;17991:96;18080:6;18040:38;18072:4;18066:11;18040:38;:::i;:::-;18034:4;17991:96;:::i;:::-;18142:4;;18199:2;18188:14;;18216:1;18211:662;;;;18917:1;18934:6;18931:89;;;-1:-1:-1;18986:19:654;;;18980:26;18931:89;19046:67;19106:6;19099:5;19046:67;:::i;:::-;19040:4;19033:81;;18181:943;;18211:662;17018:1;17011:14;;;17055:4;17042:18;;-1:-1:-1;;18247:20:654;;;18364:236;18378:7;18375:1;18372:14;18364:236;;;18467:19;;;18461:26;18446:42;;18559:27;;;;18527:1;18515:14;;;;18394:19;;18364:236;;;18368:3;18628:6;18619:7;18616:19;18613:201;;;18689:19;;;18683:26;-1:-1:-1;;18772:1:654;18768:14;;;18784:3;18764:24;18760:37;18756:42;18741:58;18726:74;;18613:201;-1:-1:-1;;;;;18860:1:654;18844:14;;;18840:22;18827:36;;-1:-1:-1;17789:1341:654:o;19135:565::-;19416:6;19405:9;19398:25;19459:3;19454:2;19443:9;19439:18;19432:31;19379:4;19486:57;19538:3;19527:9;19523:19;19515:6;19486:57;:::i;:::-;19579:6;19574:2;19563:9;19559:18;19552:34;19634:9;19626:6;19622:22;19617:2;19606:9;19602:18;19595:50;19662:32;19687:6;19679;19662:32;:::i;:::-;19654:40;19135:565;-1:-1:-1;;;;;;;19135:565:654:o;19705:289::-;19836:3;19874:6;19868:13;19890:66;19949:6;19944:3;19937:4;19929:6;19925:17;19890:66;:::i;:::-;19972:16;;;;;19705:289;-1:-1:-1;;19705:289:654:o;19999:843::-;20127:3;20156:1;20189:6;20183:13;20219:36;20245:9;20219:36;:::i;:::-;20274:1;20291:17;;;20317:133;;;;20464:1;20459:358;;;;20284:533;;20317:133;-1:-1:-1;;20350:24:654;;20338:37;;20423:14;;20416:22;20404:35;;20395:45;;;-1:-1:-1;20317:133:654;;20459:358;20490:6;20487:1;20480:17;20520:4;20565;20562:1;20552:18;20592:1;20606:165;20620:6;20617:1;20614:13;20606:165;;;20698:14;;20685:11;;;20678:35;20741:16;;;;20635:10;;20606:165;;;20610:3;;;20800:6;20795:3;20791:16;20784:23;;20284:533;-1:-1:-1;20833:3:654;;19999:843;-1:-1:-1;;;;;;19999:843:654:o;22555:1202::-;-1:-1:-1;;;;;22672:3:654;22669:27;22666:53;;;22699:18;;:::i;:::-;22728:93;22817:3;22777:38;22809:4;22803:11;22777:38;:::i;:::-;22771:4;22728:93;:::i;:::-;22847:1;22872:2;22867:3;22864:11;22889:1;22884:615;;;;23543:1;23560:3;23557:93;;;-1:-1:-1;23616:19:654;;;23603:33;23557:93;23676:64;23736:3;23729:5;23676:64;:::i;:::-;23670:4;23663:78;;22857:894;;22884:615;17018:1;17011:14;;;17055:4;17042:18;;-1:-1:-1;;22920:17:654;;;23020:9;23042:229;23056:7;23053:1;23050:14;23042:229;;;23145:19;;;23132:33;23117:49;;23252:4;23237:20;;;;23205:1;23193:14;;;;23072:12;23042:229;;;23046:3;23299;23290:7;23287:16;23284:159;;;23423:1;23419:6;23413:3;23407;23404:1;23400:11;23396:21;23392:34;23388:39;23375:9;23370:3;23366:19;23353:33;23349:79;23341:6;23334:95;23284:159;;;23486:1;23480:3;23477:1;23473:11;23469:19;23463:4;23456:33;22857:894;;22555:1202;;;:::o;23762:639::-;23995:6;23984:9;23977:25;-1:-1:-1;;;;;24042:6:654;24038:31;24033:2;24022:9;24018:18;24011:59;24106:3;24101:2;24090:9;24086:18;24079:31;24147:6;24141:3;24130:9;24126:19;24119:35;24205:6;24197;24191:3;24180:9;24176:19;24163:49;24262:1;24232:22;;;24256:3;24228:32;;;24221:43;;;;24379:14;;24372:22;24367:2;24352:18;;24345:50;24325:2;24304:15;;;-1:-1:-1;;24300:29:654;24285:45;;;24281:55;;23762:639;-1:-1:-1;;;23762:639:654:o;24406:128::-;24473:9;;;24494:11;;;24491:37;;;24508:18;;:::i;24539:1426::-;24652:3;24646:4;24643:13;24640:26;;24659:5;;24539:1426::o;24640:26::-;24689:37;24721:3;24715:10;24689:37;:::i;:::-;-1:-1:-1;;;;;24741:6:654;24738:30;24735:56;;;24771:18;;:::i;:::-;24800:96;24889:6;24849:38;24881:4;24875:11;24849:38;:::i;24800:96::-;24922:1;24950:2;24942:6;24939:14;24967:1;24962:746;;;;25752:1;25769:6;25766:89;;;-1:-1:-1;25821:19:654;;;25815:26;25766:89;25881:67;25941:6;25934:5;25881:67;:::i;:::-;25875:4;25868:81;;24932:1027;;24962:746;17018:1;17011:14;;;17055:4;17042:18;;-1:-1:-1;;24998:20:654;;;17018:1;17011:14;;;17055:4;17042:18;;25160:9;25182:251;25196:7;25193:1;25190:14;25182:251;;;25278:21;;;25272:28;25257:44;;25328:1;25401:18;;;;25356:15;;;;25219:4;25212:12;25182:251;;;25186:3;25461:6;25452:7;25449:19;25446:203;;;25522:21;;25516:28;-1:-1:-1;;25619:3:654;25607:1;25603:14;;;25599:24;25595:37;25591:42;25576:58;25561:74;;;-1:-1:-1;;25695:1:654;25679:14;;;25675:22;25662:36;;-1:-1:-1;24539:1426:654:o;25970:324::-;26161:2;26150:9;26143:21;26124:4;26181:44;26221:2;26210:9;26206:18;26198:6;26181:44;:::i;:::-;26173:52;;26234:54;26284:2;26273:9;26269:18;26261:6;26234:54;:::i;26299:184::-;26357:6;26410:2;26398:9;26389:7;26385:23;26381:32;26378:52;;;26426:1;26423;26416:12;26378:52;26449:28;26467:9;26449:28;:::i;26488:457::-;26719:6;26708:9;26701:25;26762:6;26757:2;26746:9;26742:18;26735:34;-1:-1:-1;;;;;26809:6:654;26805:31;26800:2;26789:9;26785:18;26778:59;26873:3;26868:2;26857:9;26853:18;26846:31;26682:4;26894:45;26934:3;26923:9;26919:19;26911:6;26894:45;:::i;26950:273::-;27006:6;27059:2;27047:9;27038:7;27034:23;27030:32;27027:52;;;27075:1;27072;27065:12;27027:52;27114:9;27101:23;27167:5;27160:13;27153:21;27146:5;27143:32;27133:60;;27189:1;27186;27179:12","linkReferences":{}},"methodIdentifiers":{"__OperatorRegistry_init(address[])":"ba428b1a","__RiverConfig_init(address[])":"31374511","allocateStream(bytes32,address[],bytes32,bytes)":"6b883c39","approveConfigurationManager(address)":"c179b85f","approveOperator(address)":"242cae9f","configurationExists(bytes32)":"fc207c01","deleteConfiguration(bytes32)":"035759e1","deleteConfigurationOnBlock(bytes32,uint64)":"b7f227ee","getAllConfiguration()":"081814db","getAllNodeAddresses()":"c8fe3a01","getAllNodes()":"a1174e7d","getAllOperators()":"d911c632","getConfiguration(bytes32)":"9283ae3a","getNode(address)":"9d209048","getNodeCount()":"39bf397e","getPaginatedStreams(uint256,uint256)":"ca78c41a","getStream(bytes32)":"1290abe8","getStreamCount()":"c0f22084","getStreamCountOnNode(address)":"c87d1324","getStreamWithGenesis(bytes32)":"3c2544d1","isConfigurationManager(address)":"d4bd44a0","isOperator(address)":"6d70f7ae","isStream(bytes32)":"d0c27c4f","placeStreamOnNode(bytes32,address)":"9ee86d38","registerNode(address,string,uint8)":"eecc66f4","removeConfigurationManager(address)":"813049ec","removeNode(address)":"b2b99ec9","removeOperator(address)":"ac8a584a","removeStreamFromNode(bytes32,address)":"ee885b12","setConfiguration(bytes32,uint64,bytes)":"a09449a6","setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":"ff3a14ab","updateNodeStatus(address,uint8)":"581f8b9b","updateNodeUrl(address,string)":"7e4465e7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"approvedOperators\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"block\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"deleted\",\"type\":\"bool\"}],\"name\":\"ConfigurationChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"ConfigurationManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"ConfigurationManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"NodeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"NodeRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"NodeStatusUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"NodeUrlUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operatorAddress\",\"type\":\"address\"}],\"name\":\"OperatorAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operatorAddress\",\"type\":\"address\"}],\"name\":\"OperatorRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"genesisMiniblock\",\"type\":\"bytes\"}],\"name\":\"StreamAllocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"StreamLastMiniblockUpdateFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"name\":\"StreamLastMiniblockUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isAdded\",\"type\":\"bool\"}],\"name\":\"StreamPlacementUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"initialOperators\",\"type\":\"address[]\"}],\"name\":\"__OperatorRegistry_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"configManagers\",\"type\":\"address[]\"}],\"name\":\"__RiverConfig_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"},{\"internalType\":\"bytes32\",\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"genesisMiniblock\",\"type\":\"bytes\"}],\"name\":\"allocateStream\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"approveConfigurationManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"approveOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"configurationExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"deleteConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"}],\"name\":\"deleteConfigurationOnBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllConfiguration\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"internalType\":\"struct Setting[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllNodeAddresses\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllNodes\",\"outputs\":[{\"components\":[{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"internalType\":\"struct Node[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllOperators\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getConfiguration\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"internalType\":\"struct Setting[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"getNode\",\"outputs\":[{\"components\":[{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"internalType\":\"struct Node\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNodeCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stop\",\"type\":\"uint256\"}],\"name\":\"getPaginatedStreams\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"stream\",\"type\":\"tuple\"}],\"internalType\":\"struct StreamWithId[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"getStream\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStreamCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"getStreamCountOnNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"getStreamWithGenesis\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"isConfigurationManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"isStream\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"placeStreamOnNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"registerNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"removeConfigurationManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"removeNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"removeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"removeStreamFromNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"setConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"prevMiniBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"internalType\":\"struct SetMiniblock[]\",\"name\":\"miniblocks\",\"type\":\"tuple[]\"}],\"name\":\"setStreamLastMiniblockBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"updateNodeUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ConfigurationChanged(bytes32,uint64,bytes,bool)\":{\"details\":\"if deleted is true and block is max value of uint64, the setting is deleted on all blocks\",\"params\":{\"block\":\"The block number on which the setting becomes active\",\"deleted\":\"True if the setting is deleted (value is empty in this case)\",\"key\":\"The setting key that is changed\",\"value\":\"The new setting value\"}},\"ConfigurationManagerAdded(address)\":{\"params\":{\"manager\":\"The configuration manager address\"}},\"ConfigurationManagerRemoved(address)\":{\"params\":{\"manager\":\"The configuration manager address\"}},\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"}},\"kind\":\"dev\",\"methods\":{\"approveConfigurationManager(address)\":{\"params\":{\"manager\":\"The address to add\"}},\"configurationExists(bytes32)\":{\"params\":{\"key\":\"The setting key\"},\"returns\":{\"_0\":\"True if the setting exists\"}},\"deleteConfiguration(bytes32)\":{\"details\":\"Emits ConfigurationChanged event with deleted flag set to true and block number set to max value of uint64\",\"params\":{\"key\":\"The setting key\"}},\"deleteConfigurationOnBlock(bytes32,uint64)\":{\"details\":\"Emits ConfigurationChanged event with deleted flag set to true\",\"params\":{\"blockNumber\":\"The block number on which the setting becomes active\",\"key\":\"The setting key\"}},\"getAllConfiguration()\":{\"details\":\"Note that the returned list is ordered on key but NOT on block number\",\"returns\":{\"_0\":\"List will all stored settings\"}},\"getAllNodeAddresses()\":{\"details\":\"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block.\"},\"getAllNodes()\":{\"details\":\"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block.\"},\"getConfiguration(bytes32)\":{\"details\":\"Note that the returned list isn't ordered by block number\",\"params\":{\"key\":\"The setting key\"},\"returns\":{\"_0\":\"The setting value\"}},\"getPaginatedStreams(uint256,uint256)\":{\"details\":\"Recommended range is 5000 streams, returns true if on the last page.\"},\"getStreamWithGenesis(bytes32)\":{\"returns\":{\"_0\":\"stream, genesisMiniblockHash, genesisMiniblock\"}},\"isConfigurationManager(address)\":{\"params\":{\"manager\":\"The address to check\"},\"returns\":{\"_0\":\"True if the address is a configuration manager\"}},\"removeConfigurationManager(address)\":{\"params\":{\"manager\":\"The address to remove\"}},\"setConfiguration(bytes32,uint64,bytes)\":{\"details\":\"Emits ConfigurationChanged event\",\"params\":{\"blockNumber\":\"The block number on which the setting becomes active, can't be max value of uint64\",\"key\":\"The keccak256 hash of the setting name\",\"value\":\"The setting value (value must be its ABI representation), can't be empty\"}}},\"version\":1},\"userdoc\":{\"events\":{\"ConfigurationChanged(bytes32,uint64,bytes,bool)\":{\"notice\":\"Emitted when a setting is changed\"},\"ConfigurationManagerAdded(address)\":{\"notice\":\"Emitted when a configuration manager is added\"},\"ConfigurationManagerRemoved(address)\":{\"notice\":\"Emitted when a configuration manager is removed\"},\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"}},\"kind\":\"user\",\"methods\":{\"approveConfigurationManager(address)\":{\"notice\":\"Add a configuration manager\"},\"configurationExists(bytes32)\":{\"notice\":\"Indication if there is a setting for the given key\"},\"deleteConfiguration(bytes32)\":{\"notice\":\"Deletes the setting for the given key on all blocks\"},\"deleteConfigurationOnBlock(bytes32,uint64)\":{\"notice\":\"Deletes the setting for the given key at the given block\"},\"getAllConfiguration()\":{\"notice\":\"Get all settings store in the registry\"},\"getAllNodeAddresses()\":{\"notice\":\"Return array containing all node addresses\"},\"getAllNodes()\":{\"notice\":\"Return array containing all nodes\"},\"getConfiguration(bytes32)\":{\"notice\":\"Get settings for the given key\"},\"isConfigurationManager(address)\":{\"notice\":\"Check if the given address is a configuration manager\"},\"removeConfigurationManager(address)\":{\"notice\":\"Remove a configuration manager\"},\"setConfiguration(bytes32,uint64,bytes)\":{\"notice\":\"Set a bytes setting for the given key\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/mocks/MockRiverRegistry.sol\":\"MockRiverRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/river/registry/facets/config/IRiverConfig.sol\":{\"keccak256\":\"0x17d5e8570557d046fd9a311da7eecf69f8d198eb8ec54bd14057d4d485427600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7ab5c4b1d7be2494915012608093387aca8b0e68db5696db94de22d3702a066\",\"dweb:/ipfs/QmYauTuD8NAcDy7Hf87sWjXbafZJpi2vCXjeMgLuygmLge\"]},\"contracts/src/river/registry/facets/config/RiverConfig.sol\":{\"keccak256\":\"0x245ee7097c6bd1527ca3653ee9325bf892209f2885afbe623a85cdb637e7a18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://563fa4c19ed49a0c5e60675691f2ff01f77b38d4744d82548ca6738ff105436d\",\"dweb:/ipfs/QmcK1Vw7ogaFvjKdPz5Dh6jQqyB1Y9eFbU4Hv1XW97CZm4\"]},\"contracts/src/river/registry/facets/node/INodeRegistry.sol\":{\"keccak256\":\"0x91ae5e33d5bc5eaf966789d8e1b03c6bb682ae363bdad4b94742bad0431990a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e51a3f583b56c81aa6ce15c2521c7f6682d0292f77dfed420172d7104e1f482\",\"dweb:/ipfs/QmSBmDqF8nR1wvFiqXgk6Z9GknAmZtrL2LStoRWFijEntv\"]},\"contracts/src/river/registry/facets/node/NodeRegistry.sol\":{\"keccak256\":\"0x0134a09c9910214b08b16d3fe7788dd87f0b2084f342e3ec1e191dc455c44c2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://174e8f3c8ec467a9ca0e65e47d3c9415463cd5d4cb7a79d726231f9253674eae\",\"dweb:/ipfs/QmVCnvLS9HbugbcgvzVy4WjdQYbU1YMLonNQZo4szSADZP\"]},\"contracts/src/river/registry/facets/operator/IOperatorRegistry.sol\":{\"keccak256\":\"0xce4eb79498c4f592d803bbccac56d2c9aa11093d19ef16f913ea03d497c12a47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa4317cecb1fa3abe9f4792b54b2952a3bf4d7fcebf44840c6fc21ec971c56c5\",\"dweb:/ipfs/QmWq2nRD2stDBhuWniGZu3tM881BbfK9kSunJcyfKCN7iC\"]},\"contracts/src/river/registry/facets/operator/OperatorRegistry.sol\":{\"keccak256\":\"0xa3b3b345079599f2370d2222a4ffcb3e2a375e076d2fea972a7982b8fe8b1ffa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4fad171d5968d92b670959290d7232b70091847603f4f4e55ae43c91c75a7e79\",\"dweb:/ipfs/QmSkQtK5ERTP1aDmHr3y4r2jUZExcsEYxFEyHgndNgn3tz\"]},\"contracts/src/river/registry/facets/stream/IStreamRegistry.sol\":{\"keccak256\":\"0x7f6ffecdb47e776a49fd5eb344aad912ddcf838502e58a0b7f1d7628ba484f5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4501a262214df3d792aba76b6e707e2901a7e0f15f05c4d2d903549e32afa839\",\"dweb:/ipfs/QmUzHM6rvqBrtB3CrNZe4kWDwhfTDY933HoLfwMfeLddHq\"]},\"contracts/src/river/registry/facets/stream/StreamRegistry.sol\":{\"keccak256\":\"0x50c476331f6dc1d7f63c7ebe81f046b1bd6e8bfb51752c1a636c0e4924ceb614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8c9c118175100073386f6bdb82501cef8a0b246a99a62ad143d2ed6c594e9ea\",\"dweb:/ipfs/QmQL5Rc4iVvXciv8dd2R8UYnHMLDoB4QSbfqgfgCn1JdXe\"]},\"contracts/src/river/registry/libraries/RegistryErrors.sol\":{\"keccak256\":\"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501\",\"dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP\"]},\"contracts/src/river/registry/libraries/RegistryStorage.sol\":{\"keccak256\":\"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4\",\"dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH\"]},\"contracts/test/mocks/MockRiverRegistry.sol\":{\"keccak256\":\"0x02a27464980461b888d3035414a8fe094f6879e08392ce3e5c2f956efde34088\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fa6fde43f02e200a1dac0a4a3a09283acde51470e4d9a41c5d5c7012bcd9fd5\",\"dweb:/ipfs/QmXeZKoaaQE6PwPgeczoC9JW5WfHucAWxKR8beH67qb4tX\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875\",\"dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e\",\"dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address[]","name":"approvedOperators","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32","indexed":false},{"internalType":"uint64","name":"block","type":"uint64","indexed":false},{"internalType":"bytes","name":"value","type":"bytes","indexed":false},{"internalType":"bool","name":"deleted","type":"bool","indexed":false}],"type":"event","name":"ConfigurationChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"manager","type":"address","indexed":true}],"type":"event","name":"ConfigurationManagerAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"manager","type":"address","indexed":true}],"type":"event","name":"ConfigurationManagerRemoved","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"string","name":"url","type":"string","indexed":false},{"internalType":"enum NodeStatus","name":"status","type":"uint8","indexed":false}],"type":"event","name":"NodeAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true}],"type":"event","name":"NodeRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"enum NodeStatus","name":"status","type":"uint8","indexed":false}],"type":"event","name":"NodeStatusUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"string","name":"url","type":"string","indexed":false}],"type":"event","name":"NodeUrlUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"operatorAddress","type":"address","indexed":true}],"type":"event","name":"OperatorAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"operatorAddress","type":"address","indexed":true}],"type":"event","name":"OperatorRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"address[]","name":"nodes","type":"address[]","indexed":false},{"internalType":"bytes32","name":"genesisMiniblockHash","type":"bytes32","indexed":false},{"internalType":"bytes","name":"genesisMiniblock","type":"bytes","indexed":false}],"type":"event","name":"StreamAllocated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32","indexed":false},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false}],"type":"event","name":"StreamLastMiniblockUpdateFailed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32","indexed":false},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64","indexed":false},{"internalType":"bool","name":"isSealed","type":"bool","indexed":false}],"type":"event","name":"StreamLastMiniblockUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"address","name":"nodeAddress","type":"address","indexed":false},{"internalType":"bool","name":"isAdded","type":"bool","indexed":false}],"type":"event","name":"StreamPlacementUpdated","anonymous":false},{"inputs":[{"internalType":"address[]","name":"initialOperators","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"__OperatorRegistry_init"},{"inputs":[{"internalType":"address[]","name":"configManagers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"__RiverConfig_init"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address[]","name":"nodes","type":"address[]"},{"internalType":"bytes32","name":"genesisMiniblockHash","type":"bytes32"},{"internalType":"bytes","name":"genesisMiniblock","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"allocateStream"},{"inputs":[{"internalType":"address","name":"manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"approveConfigurationManager"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"approveOperator"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"stateMutability":"view","type":"function","name":"configurationExists","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deleteConfiguration"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"deleteConfigurationOnBlock"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllConfiguration","outputs":[{"internalType":"struct Setting[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes","name":"value","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllNodeAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllNodes","outputs":[{"internalType":"struct Node[]","name":"","type":"tuple[]","components":[{"internalType":"enum NodeStatus","name":"status","type":"uint8"},{"internalType":"string","name":"url","type":"string"},{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getConfiguration","outputs":[{"internalType":"struct Setting[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes","name":"value","type":"bytes"}]}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getNode","outputs":[{"internalType":"struct Node","name":"","type":"tuple","components":[{"internalType":"enum NodeStatus","name":"status","type":"uint8"},{"internalType":"string","name":"url","type":"string"},{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getNodeCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"stop","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPaginatedStreams","outputs":[{"internalType":"struct StreamWithId[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"struct Stream","name":"stream","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]},{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStream","outputs":[{"internalType":"struct Stream","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStreamCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getStreamCountOnNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStreamWithGenesis","outputs":[{"internalType":"struct Stream","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"manager","type":"address"}],"stateMutability":"view","type":"function","name":"isConfigurationManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isStream","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"placeStreamOnNode"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"string","name":"url","type":"string"},{"internalType":"enum NodeStatus","name":"status","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerNode"},{"inputs":[{"internalType":"address","name":"manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeConfigurationManager"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeNode"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeOperator"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStreamFromNode"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setConfiguration"},{"inputs":[{"internalType":"struct SetMiniblock[]","name":"miniblocks","type":"tuple[]","components":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"bytes32","name":"prevMiniBlockHash","type":"bytes32"},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"bool","name":"isSealed","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"setStreamLastMiniblockBatch"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"enum NodeStatus","name":"status","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"updateNodeStatus"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateNodeUrl"}],"devdoc":{"kind":"dev","methods":{"approveConfigurationManager(address)":{"params":{"manager":"The address to add"}},"configurationExists(bytes32)":{"params":{"key":"The setting key"},"returns":{"_0":"True if the setting exists"}},"deleteConfiguration(bytes32)":{"details":"Emits ConfigurationChanged event with deleted flag set to true and block number set to max value of uint64","params":{"key":"The setting key"}},"deleteConfigurationOnBlock(bytes32,uint64)":{"details":"Emits ConfigurationChanged event with deleted flag set to true","params":{"blockNumber":"The block number on which the setting becomes active","key":"The setting key"}},"getAllConfiguration()":{"details":"Note that the returned list is ordered on key but NOT on block number","returns":{"_0":"List will all stored settings"}},"getAllNodeAddresses()":{"details":"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."},"getAllNodes()":{"details":"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."},"getConfiguration(bytes32)":{"details":"Note that the returned list isn't ordered by block number","params":{"key":"The setting key"},"returns":{"_0":"The setting value"}},"getPaginatedStreams(uint256,uint256)":{"details":"Recommended range is 5000 streams, returns true if on the last page."},"getStreamWithGenesis(bytes32)":{"returns":{"_0":"stream, genesisMiniblockHash, genesisMiniblock"}},"isConfigurationManager(address)":{"params":{"manager":"The address to check"},"returns":{"_0":"True if the address is a configuration manager"}},"removeConfigurationManager(address)":{"params":{"manager":"The address to remove"}},"setConfiguration(bytes32,uint64,bytes)":{"details":"Emits ConfigurationChanged event","params":{"blockNumber":"The block number on which the setting becomes active, can't be max value of uint64","key":"The keccak256 hash of the setting name","value":"The setting value (value must be its ABI representation), can't be empty"}}},"version":1},"userdoc":{"kind":"user","methods":{"approveConfigurationManager(address)":{"notice":"Add a configuration manager"},"configurationExists(bytes32)":{"notice":"Indication if there is a setting for the given key"},"deleteConfiguration(bytes32)":{"notice":"Deletes the setting for the given key on all blocks"},"deleteConfigurationOnBlock(bytes32,uint64)":{"notice":"Deletes the setting for the given key at the given block"},"getAllConfiguration()":{"notice":"Get all settings store in the registry"},"getAllNodeAddresses()":{"notice":"Return array containing all node addresses"},"getAllNodes()":{"notice":"Return array containing all nodes"},"getConfiguration(bytes32)":{"notice":"Get settings for the given key"},"isConfigurationManager(address)":{"notice":"Check if the given address is a configuration manager"},"removeConfigurationManager(address)":{"notice":"Remove a configuration manager"},"setConfiguration(bytes32,uint64,bytes)":{"notice":"Set a bytes setting for the given key"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/test/mocks/MockRiverRegistry.sol":"MockRiverRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/river/registry/facets/config/IRiverConfig.sol":{"keccak256":"0x17d5e8570557d046fd9a311da7eecf69f8d198eb8ec54bd14057d4d485427600","urls":["bzz-raw://a7ab5c4b1d7be2494915012608093387aca8b0e68db5696db94de22d3702a066","dweb:/ipfs/QmYauTuD8NAcDy7Hf87sWjXbafZJpi2vCXjeMgLuygmLge"],"license":"MIT"},"contracts/src/river/registry/facets/config/RiverConfig.sol":{"keccak256":"0x245ee7097c6bd1527ca3653ee9325bf892209f2885afbe623a85cdb637e7a18e","urls":["bzz-raw://563fa4c19ed49a0c5e60675691f2ff01f77b38d4744d82548ca6738ff105436d","dweb:/ipfs/QmcK1Vw7ogaFvjKdPz5Dh6jQqyB1Y9eFbU4Hv1XW97CZm4"],"license":"MIT"},"contracts/src/river/registry/facets/node/INodeRegistry.sol":{"keccak256":"0x91ae5e33d5bc5eaf966789d8e1b03c6bb682ae363bdad4b94742bad0431990a6","urls":["bzz-raw://5e51a3f583b56c81aa6ce15c2521c7f6682d0292f77dfed420172d7104e1f482","dweb:/ipfs/QmSBmDqF8nR1wvFiqXgk6Z9GknAmZtrL2LStoRWFijEntv"],"license":"MIT"},"contracts/src/river/registry/facets/node/NodeRegistry.sol":{"keccak256":"0x0134a09c9910214b08b16d3fe7788dd87f0b2084f342e3ec1e191dc455c44c2b","urls":["bzz-raw://174e8f3c8ec467a9ca0e65e47d3c9415463cd5d4cb7a79d726231f9253674eae","dweb:/ipfs/QmVCnvLS9HbugbcgvzVy4WjdQYbU1YMLonNQZo4szSADZP"],"license":"MIT"},"contracts/src/river/registry/facets/operator/IOperatorRegistry.sol":{"keccak256":"0xce4eb79498c4f592d803bbccac56d2c9aa11093d19ef16f913ea03d497c12a47","urls":["bzz-raw://fa4317cecb1fa3abe9f4792b54b2952a3bf4d7fcebf44840c6fc21ec971c56c5","dweb:/ipfs/QmWq2nRD2stDBhuWniGZu3tM881BbfK9kSunJcyfKCN7iC"],"license":"MIT"},"contracts/src/river/registry/facets/operator/OperatorRegistry.sol":{"keccak256":"0xa3b3b345079599f2370d2222a4ffcb3e2a375e076d2fea972a7982b8fe8b1ffa","urls":["bzz-raw://4fad171d5968d92b670959290d7232b70091847603f4f4e55ae43c91c75a7e79","dweb:/ipfs/QmSkQtK5ERTP1aDmHr3y4r2jUZExcsEYxFEyHgndNgn3tz"],"license":"MIT"},"contracts/src/river/registry/facets/stream/IStreamRegistry.sol":{"keccak256":"0x7f6ffecdb47e776a49fd5eb344aad912ddcf838502e58a0b7f1d7628ba484f5c","urls":["bzz-raw://4501a262214df3d792aba76b6e707e2901a7e0f15f05c4d2d903549e32afa839","dweb:/ipfs/QmUzHM6rvqBrtB3CrNZe4kWDwhfTDY933HoLfwMfeLddHq"],"license":"MIT"},"contracts/src/river/registry/facets/stream/StreamRegistry.sol":{"keccak256":"0x50c476331f6dc1d7f63c7ebe81f046b1bd6e8bfb51752c1a636c0e4924ceb614","urls":["bzz-raw://c8c9c118175100073386f6bdb82501cef8a0b246a99a62ad143d2ed6c594e9ea","dweb:/ipfs/QmQL5Rc4iVvXciv8dd2R8UYnHMLDoB4QSbfqgfgCn1JdXe"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryErrors.sol":{"keccak256":"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497","urls":["bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501","dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryStorage.sol":{"keccak256":"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201","urls":["bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4","dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH"],"license":"MIT"},"contracts/test/mocks/MockRiverRegistry.sol":{"keccak256":"0x02a27464980461b888d3035414a8fe094f6879e08392ce3e5c2f956efde34088","urls":["bzz-raw://6fa6fde43f02e200a1dac0a4a3a09283acde51470e4d9a41c5d5c7012bcd9fd5","dweb:/ipfs/QmXeZKoaaQE6PwPgeczoC9JW5WfHucAWxKR8beH67qb4tX"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2","urls":["bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875","dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd","urls":["bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e","dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik"],"license":"MIT"}},"version":1},"id":385} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"approvedOperators","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"__OperatorRegistry_init","inputs":[{"name":"initialOperators","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"__RiverConfig_init","inputs":[{"name":"configManagers","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocateStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodes","type":"address[]","internalType":"address[]"},{"name":"genesisMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"genesisMiniblock","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approveConfigurationManager","inputs":[{"name":"manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approveOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configurationExists","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"deleteConfiguration","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteConfigurationOnBlock","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllConfiguration","inputs":[],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Setting[]","components":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"value","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"getAllNodeAddresses","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getAllNodes","inputs":[],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Node[]","components":[{"name":"status","type":"uint8","internalType":"enum NodeStatus"},{"name":"url","type":"string","internalType":"string"},{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getAllOperators","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getConfiguration","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Setting[]","components":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"value","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"getNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Node","components":[{"name":"status","type":"uint8","internalType":"enum NodeStatus"},{"name":"url","type":"string","internalType":"string"},{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getNodeCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPaginatedStreams","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"stop","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct StreamWithId[]","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"stream","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}]},{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}],"stateMutability":"view"},{"type":"function","name":"getStreamCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStreamCountOnNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStreamWithGenesis","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"isConfigurationManager","inputs":[{"name":"manager","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"placeStreamOnNode","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"},{"name":"status","type":"uint8","internalType":"enum NodeStatus"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeConfigurationManager","inputs":[{"name":"manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStreamFromNode","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setConfiguration","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStreamLastMiniblock","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"isSealed","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStreamLastMiniblockBatch","inputs":[{"name":"miniblocks","type":"tuple[]","internalType":"struct SetMiniblock[]","components":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"prevMiniBlockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"isSealed","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateNodeStatus","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"status","type":"uint8","internalType":"enum NodeStatus"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateNodeUrl","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ConfigurationChanged","inputs":[{"name":"key","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"block","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"value","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"deleted","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ConfigurationManagerAdded","inputs":[{"name":"manager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ConfigurationManagerRemoved","inputs":[{"name":"manager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"NodeAdded","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"url","type":"string","indexed":false,"internalType":"string"},{"name":"status","type":"uint8","indexed":false,"internalType":"enum NodeStatus"}],"anonymous":false},{"type":"event","name":"NodeRemoved","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"NodeStatusUpdated","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"status","type":"uint8","indexed":false,"internalType":"enum NodeStatus"}],"anonymous":false},{"type":"event","name":"NodeUrlUpdated","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"url","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OperatorAdded","inputs":[{"name":"operatorAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OperatorRemoved","inputs":[{"name":"operatorAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StreamAllocated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"nodes","type":"address[]","indexed":false,"internalType":"address[]"},{"name":"genesisMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"genesisMiniblock","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"StreamLastMiniblockUpdateFailed","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"reason","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"StreamLastMiniblockUpdated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"isSealed","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"StreamPlacementUpdated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"nodeAddress","type":"address","indexed":false,"internalType":"address"},{"name":"isAdded","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162004a6d38038062004a6d8339810160408190526200003491620004a6565b6200003e620000c1565b620000493362000169565b60005b8151811015620000b957620000838282815181106200006f576200006f62000578565b60200260200101516200023760201b60201c565b620000b08282815181106200009c576200009c62000578565b60200260200101516200031c60201b60201c565b6001016200004c565b5050620005df565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200010e576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156200016657805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b60006200019d7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b90506001600160a01b038216620001c757604051634e3ef82560e01b815260040160405180910390fd5b817f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae30080546001600160a01b0319166001600160a01b03928316179055604051838216918316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116620002865760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b60405180910390fd5b62000293600882620003e9565b15620002d757604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b620002e460088262000410565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b038116620003625760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6200036f600d8262000410565b620003b257604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526200027d91906004016200058e565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b600062000407836001600160a01b03841660008181526001830160205260408120546200046a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200040a565b5060006200040a565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620004a157600080fd5b919050565b60006020808385031215620004ba57600080fd5b82516001600160401b0380821115620004d257600080fd5b818501915085601f830112620004e757600080fd5b815181811115620004fc57620004fc62000473565b8060051b604051601f19603f8301168101818110858211171562000524576200052462000473565b6040529182528482019250838101850191888311156200054357600080fd5b938501935b828510156200056c576200055c8562000489565b8452938501939285019262000548565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020808352835180602085015260005b81811015620005be57858101830151858201604001528201620005a0565b506000604082860101526040601f19601f8301168501019250505092915050565b61447e80620005ef6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c8063a1174e7d11610125578063ca78c41a116100ad578063d911c6321161007c578063d911c632146104ba578063ee885b12146104c2578063eecc66f4146104d5578063fc207c01146104e8578063ff3a14ab146104fb57600080fd5b8063ca78c41a14610460578063d0c27c4f14610481578063d4bd44a014610494578063d7a3158a146104a757600080fd5b8063ba428b1a116100f4578063ba428b1a1461040a578063c0f220841461041d578063c179b85f14610425578063c87d132414610438578063c8fe3a011461044b57600080fd5b8063a1174e7d146103bc578063ac8a584a146103d1578063b2b99ec9146103e4578063b7f227ee146103f757600080fd5b8063581f8b9b116101a8578063813049ec11610177578063813049ec146103505780639283ae3a146103635780639d209048146103765780639ee86d3814610396578063a09449a6146103a957600080fd5b8063581f8b9b146103045780636b883c39146103175780636d70f7ae1461032a5780637e4465e71461033d57600080fd5b8063242cae9f116101e4578063242cae9f146102a657806331374511146102b957806339bf397e146102cc5780633c2544d1146102e257600080fd5b80630175015214610216578063035759e11461025c578063081814db146102715780631290abe814610286575b600080fd5b6102476102243660046136c0565b6001600160a01b0390811660009081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b61026f61026a3660046136db565b61050e565b005b610279610682565b6040516102539190613744565b6102996102943660046136db565b6108ed565b604051610253919061385f565b61026f6102b43660046136c0565b610a0f565b61026f6102c7366004613872565b610a56565b6102d4610ae7565b604051908152602001610253565b6102f56102f03660046136db565b610af8565b604051610253939291906138e6565b61026f61031236600461392a565b610cc9565b61026f610325366004613a12565b610e69565b6102476103383660046136c0565b6110d0565b61026f61034b366004613af5565b6110e3565b61026f61035e3660046136c0565b6112db565b6102796103713660046136db565b6113d6565b6103896103843660046136c0565b611539565b6040516102539190613bce565b61026f6103a4366004613be1565b6116ba565b61026f6103b7366004613c1b565b611878565b6103c4611b47565b6040516102539190613ca1565b61026f6103df3660046136c0565b611d1b565b61026f6103f23660046136c0565b611e7e565b61026f610405366004613d05565b612047565b61026f610418366004613872565b612296565b6102d4612322565b61026f6104333660046136c0565b61232d565b6102d46104463660046136c0565b612371565b61045361241f565b6040516102539190613d6d565b61047361046e366004613d80565b61242b565b604051610253929190613da2565b61024761048f3660046136db565b61261b565b6102476104a23660046136c0565b612627565b61026f6104b5366004613e31565b612634565b610453612840565b61026f6104d0366004613be1565b61284c565b61026f6104e3366004613e81565b612a95565b6102476104f63660046136db565b612c60565b61026f610509366004613ede565b612c6d565b3361051a600d82612f8d565b61055d5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b60405180910390fd5b81610569600a82612fb2565b6105a45760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000838152600c602052604090205415610617576000838152600c602052604090208054806105d5576105d5613f53565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff191690559061060e600283018261354f565b505090556105a4565b6000838152600c6020526040812061062e91613589565b610639600a84612fca565b50604080518481526001600160401b036020820152608081830181905260009082015260016060820152905160008051602061445e8339815191529181900360a00190a1505050565b6060600080610691600a612fd6565b905060005b818110156106d25760006106ab600a83612fe0565b6000818152600c60205260409020549091506106c79085613f7f565b935050600101610696565b506000826001600160401b038111156106ed576106ed61395d565b60405190808252806020026020018201604052801561073a57816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161070b5790505b5090506000610749600a612fd6565b90506000805b828110156108e2576000610764600a83612fe0565b6000818152600c6020908152604080832080548251818502810185019093528083529495509293909291849084015b8282101561087757600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b031693830193909352600283018054929392918401916107e690613f92565b80601f016020809104026020016040519081016040528092919081815260200182805461081290613f92565b801561085f5780601f106108345761010080835404028352916020019161085f565b820191906000526020600020905b81548152906001019060200180831161084257829003601f168201915b50505050508152505081526020019060010190610793565b50505050905060005b81518110156108d45781818151811061089b5761089b613fc6565b60200260200101518786806108af90613fdc565b9750815181106108c1576108c1613fc6565b6020908102919091010152600101610880565b50505080600101905061074f565b509195945050505050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906109219083612fb2565b61095c5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109ff57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109e1575b5050505050815250509050919050565b610a17612fec565b6001600160a01b0316336001600160a01b031614610a4a576040516365f4906560e01b8152336004820152602401610554565b610a538161301a565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610aa057604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610ae257610ada838383818110610ac057610ac0613fc6565b9050602002016020810190610ad591906136c0565b6130ec565b600101610aa3565b505050565b6000610af36005612fd6565b905090565b6040805160a081018252600080825260208201819052918101829052606080820183905260808201819052909190610b308285612fb2565b610b6b5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b90910416606082015294820180548451818702810187019095528085529296959194919387936080860193919291830182828015610c2557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c07575b5050505050815250509250808054610c3c90613f92565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6890613f92565b8015610cb55780601f10610c8a57610100808354040283529160200191610cb5565b820191906000526020600020905b815481529060010190602001808311610c9857829003601f168201915b505050505090509250925092509193909250565b6001600160a01b03808316600090815260076020526040902060020154839116610d2957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b33610d35600882612f8d565b610d6f5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0380851660009081526007602052604090206003015485913391168114610dcd5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03861660009081526007602052604090208054610df49060ff16876131b1565b80548690829060ff19166001836005811115610e1257610e12613b42565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090610e58908990613ff5565b60405180910390a250505050505050565b336000818152600760205260409020600201546001600160a01b0316610ec557604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b610ed0600086612fb2565b15610f1157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b835160005b81811015610f9657610f4e868281518110610f3357610f33613fc6565b60200260200101516000600501612f8d90919063ffffffff16565b610f8e57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b600101610f16565b506040805160a081018252858152600060208201819052918101829052606081018290526080810187905290610fcc9088613344565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff1990991691909416179690961795909516179093556080840151805185949361105c939085019201906135aa565b50505060008781526003602052604090206110778582614068565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb906110bf908990899089908990614121565b60405180910390a150505050505050565b60006110dd600883612f8d565b92915050565b336110ef600882612f8d565b6111295760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0380841660009081526007602052604090206002015484911661118957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03808516600090815260076020526040902060030154859133911681146111e75760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03861660009081526007602090815260409182902091516112119188910161415d565b604051602081830303815290604052805190602001208160010160405160200161123b9190614179565b604051602081830303815290604052805190602001200361128b5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600181016112998782614068565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac90610e58908990613f40565b6112e3612fec565b6001600160a01b0316336001600160a01b031614611316576040516365f4906560e01b8152336004820152602401610554565b6001600160a01b0381166113595760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b611364600d82613350565b61139f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6040516001600160a01b038216907ff9889c857e5356066b564327caa757c325ecbc001b2b47d72edf8cf9aedb1be590600090a250565b6060816113e4600a82612fb2565b61141f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000838152600c6020908152604080832080548251818502810185019093528083529193909284015b8282101561152c57600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161149b90613f92565b80601f01602080910402602001604051908101604052809291908181526020018280546114c790613f92565b80156115145780601f106114e957610100808354040283529160200191611514565b820191906000526020600020905b8154815290600101906020018083116114f757829003601f168201915b50505050508152505081526020019060010190611448565b5050505091505b50919050565b6115646040805160808101909152806000815260606020820181905260006040830181905291015290565b61156f600583612f8d565b6115af57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff1660058111156115ea576115ea613b42565b60058111156115fb576115fb613b42565b815260200160018201805461160f90613f92565b80601f016020809104026020016040519081016040528092919081815260200182805461163b90613f92565b80156116885780601f1061165d57610100808354040283529160200191611688565b820191906000526020600020905b81548152906001019060200180831161166b57829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b816116c6600082612fb2565b6117015760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b336000818152600760205260409020600201546001600160a01b031661175d57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b600084815260026020819052604082209081015490915b818110156117f957856001600160a01b031683600201828154811061179b5761179b613fc6565b6000918252602090912001546001600160a01b0316036117f157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b600101611774565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060015b60405180910390a1505050505050565b33611884600d82612f8d565b6118be5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b67fffffffffffffffe196001600160401b0385160161190c5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600082900361194a5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b611955600a86612fb2565b61196657611964600a86613344565b505b6000858152600c6020526040812054905b81811015611a4d576000878152600c6020526040902080546001600160401b0388169190839081106119ab576119ab613fc6565b60009182526020909120600160039092020101546001600160401b031603611a45576000878152600c60205260409020805486918691849081106119f1576119f1613fc6565b90600052602060002090600302016002019182611a0f9291906141ef565b5060008051602061445e833981519152878787876000604051611a369594939291906142a8565b60405180910390a15050611b40565b600101611977565b506000600c0160008781526020019081526020016000206040518060600160405280888152602001876001600160401b0316815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160039092020190815590830151938101805467ffffffffffffffff19166001600160401b03909516949094179093555060408101519091906002820190611b179082614068565b50505060008051602061445e8339815191528686868660006040516118689594939291906142a8565b5050505050565b60606000611b556005612fd6565b6001600160401b03811115611b6c57611b6c61395d565b604051908082528060200260200182016040528015611bc857816020015b611bb56040805160808101909152806000815260606020820181905260006040830181905291015290565b815260200190600190039081611b8a5790505b50905060005b611bd86005612fd6565b8110156115335760076000611bee600584612fe0565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff166005811115611c2a57611c2a613b42565b6005811115611c3b57611c3b613b42565b8152602001600182018054611c4f90613f92565b80601f0160208091040260200160405190810160405280929190818152602001828054611c7b90613f92565b8015611cc85780601f10611c9d57610100808354040283529160200191611cc8565b820191906000526020600020905b815481529060010190602001808311611cab57829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110611d0857611d08613fc6565b6020908102919091010152600101611bce565b611d23612fec565b6001600160a01b0316336001600160a01b031614611d56576040516365f4906560e01b8152336004820152602401610554565b611d61600882612f8d565b611da557604080518082018252601281527113d41154905513d497d393d517d193d5539160721b6020820152905162461bcd60e51b81526105549190600401613f40565b60005b611db26005612fd6565b811015611e3a576001600160a01b03821660076000611dd2600585612fe0565b6001600160a01b0390811682526020820192909252604001600020600301541603611e3257604080518082018252600d81526c4f55545f4f465f424f554e445360981b6020820152905162461bcd60e51b81526105549190600401613f40565b600101611da8565b50611e46600882613350565b506040516001600160a01b038216907f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d90600090a250565b6001600160a01b0380821660009081526007602052604090206003015482913391168114611edc5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0383811660009081526007602052604090206002015416611f3a57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b60056001600160a01b03841660009081526007602052604090205460ff166005811115611f6957611f69613b42565b14611fb25760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526105549190600401613f40565b611fbd600584613350565b506001600160a01b0383166000908152600760205260408120805460ff1916815590611fec600183018261354f565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b33612053600d82612f8d565b61208d5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6000805b6000858152600c602052604090205481101561220e576000858152600c6020526040902080546001600160401b0386169190839081106120d3576120d3613fc6565b60009182526020909120600160039092020101546001600160401b031603612206576000858152600c602052604090208054612111906001906142f8565b8154811061212157612121613fc6565b90600052602060002090600302016000600c016000878152602001908152602001600020828154811061215657612156613fc6565b600091825260209091208254600390920201908155600180830154908201805467ffffffffffffffff19166001600160401b039092169190911790556002808201906121a49084018261430b565b5050506000858152600c602052604090208054806121c4576121c4613f53565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906121fd600283018261354f565b50509055600191505b600101612091565b508061224b5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b604080518581526001600160401b0385166020820152608081830181905260009082015260016060820152905160008051602061445e8339815191529181900360a00190a150505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166122e057604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610ae25761231a83838381811061230057612300613fc6565b905060200201602081019061231591906136c0565b61301a565b6001016122e3565b6000610af381612fd6565b612335612fec565b6001600160a01b0316336001600160a01b031614612368576040516365f4906560e01b8152336004820152602401610554565b610a53816130ec565b6000808061237e81612fd6565b905060005b818110156124165760006123978183612fe0565b60008181526002602052604081209192505b600282015481101561240857876001600160a01b03168260020182815481106123d4576123d4613fc6565b6000918252602090912001546001600160a01b03160361240057856123f881613fdc565b965050612408565b6001016123a9565b505050806001019050612383565b50909392505050565b6060610af36005613365565b6060600082841061246b5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600061247681612fd6565b905060008185116124875784612489565b815b9050600086821161249b5760006124a5565b6124a587836142f8565b90506000816001600160401b038111156124c1576124c161395d565b6040519080825280602002602001820160405280156124fa57816020015b6124e761360f565b8152602001906001900390816124df5790505b50905060005b8281101561260a57600061251f612517838c613f7f565b600090612fe0565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b90910416606082015291810180548651818602810186019097528087529697509395838701959294919360808601939291908301828280156125d857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116125ba575b5050505050815250508152508383815181106125f6576125f6613fc6565b602090810291909101015250600101612500565b509450505083101590509250929050565b60006110dd8183612fb2565b60006110dd600d83612f8d565b336000818152600760205260409020600201546001600160a01b031661269057604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b61269b600087612fb2565b6126d65760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000868152600260205260409020600180820154600160801b9004161561273257604080518082018252600d81526c14d51491505357d4d150531151609a1b6020820152905162461bcd60e51b81526105549190600401613f40565b60018101546001600160401b0380861691161061277e5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b60008781526003602052604081206127959161354f565b84815560018101805467ffffffffffffffff19166001600160401b03861617905582156127ef576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b60408051888152602081018790526001600160401b0386169181019190915283151560608201527fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b906080016110bf565b6060610af36008613365565b81612858600082612fb2565b6128935760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b336000818152600760205260409020600201546001600160a01b03166128ef57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6000848152600260208190526040822090810154909190815b81811015612a0a57866001600160a01b031684600201828154811061292f5761292f613fc6565b6000918252602090912001546001600160a01b031603612a0257600284016129586001846142f8565b8154811061296857612968613fc6565b6000918252602090912001546002850180546001600160a01b03909216918390811061299657612996613fc6565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550836002018054806129d7576129d7613f53565b600082815260209020810160001990810180546001600160a01b031916905501905560019250612a0a565b600101612908565b5081612a4c57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060016110bf565b33612aa1600882612f8d565b612adb5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b038481166000908152600760205260409020600201541615612b3a57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b60006040518060800160405280846005811115612b5957612b59613b42565b8152602081018690526001600160a01b0387166040820152336060909101529050612b85600586613372565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff19166001836005811115612bc057612bc0613b42565b021790555060208201516001820190612bd99082614068565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90612c5190889088906143d7565b60405180910390a35050505050565b60006110dd600a83612fb2565b336000818152600760205260409020600201546001600160a01b0316612cc957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b816000819003612d085760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b60005b81811015611b405736858583818110612d2657612d26613fc6565b60a002919091019150612d3d905060008235612fb2565b612db5577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135612d7960808501606086016143f9565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051612da79493929190614414565b60405180910390a150612f85565b80356000908152600260205260409020600180820154600160801b90041615612e51577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135612e1060808601606087016143f9565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051612e429493929190614414565b60405180910390a15050612f85565b60018101546001600160401b0316600003612e7f5781356000908152600360205260408120612e7f9161354f565b60408201358155612e9660808301606084016143f9565b60018201805467ffffffffffffffff19166001600160401b0392909216919091179055612ec960a0830160808401614442565b15612f01576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b82356040840135612f3960808601606087016143f9565b612f4960a0870160808801614442565b604051612f7a949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101612d0b565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b60008181526001830160205260408120541515612fab565b6000612fab8383613387565b60006110dd825490565b6000612fab838361347a565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b6001600160a01b03811661305d5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b613068600882612f8d565b156130a957604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b6130b4600882613372565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b03811661312f5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b61313a600d82613372565b61317a57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b60008260058111156131c5576131c5613b42565b1480613219575060018260058111156131e0576131e0613b42565b148015613219575060038160058111156131fc576131fc613b42565b14806132195750600481600581111561321757613217613b42565b145b8061326c5750600282600581111561323357613233613b42565b14801561326c5750600381600581111561324f5761324f613b42565b148061326c5750600481600581111561326a5761326a613b42565b145b806132bf5750600482600581111561328657613286613b42565b1480156132bf575060038160058111156132a2576132a2613b42565b14806132bf575060058160058111156132bd576132bd613b42565b145b806132f7575060038260058111156132d9576132d9613b42565b1480156132f7575060058160058111156132f5576132f5613b42565b145b15613300575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526105549190600401613f40565b6000612fab83836134a4565b6000612fab836001600160a01b038416613387565b60606000612fab836134f3565b6000612fab836001600160a01b0384166134a4565b600081815260018301602052604081205480156134705760006133ab6001836142f8565b85549091506000906133bf906001906142f8565b90508082146134245760008660000182815481106133df576133df613fc6565b906000526020600020015490508087600001848154811061340257613402613fc6565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061343557613435613f53565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506110dd565b60009150506110dd565b600082600001828154811061349157613491613fc6565b9060005260206000200154905092915050565b60008181526001830160205260408120546134eb575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556110dd565b5060006110dd565b60608160000180548060200260200160405190810160405280929190818152602001828054801561354357602002820191906000526020600020905b81548152602001906001019080831161352f575b50505050509050919050565b50805461355b90613f92565b6000825580601f1061356b575050565b601f016020900490600052602060002090810190610a539190613659565b5080546000825560030290600052602060002090810190610a53919061366e565b8280548282559060005260206000209081019282156135ff579160200282015b828111156135ff57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906135ca565b5061360b929150613659565b5090565b6040805180820190915260008152602081016136546040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5b8082111561360b576000815560010161365a565b8082111561360b57600080825560018201805467ffffffffffffffff1916905561369b600283018261354f565b5060030161366e565b80356001600160a01b03811681146136bb57600080fd5b919050565b6000602082840312156136d257600080fd5b612fab826136a4565b6000602082840312156136ed57600080fd5b5035919050565b60005b8381101561370f5781810151838201526020016136f7565b50506000910152565b600081518084526137308160208601602086016136f4565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156137c057888303603f19018552815180518452878101516001600160401b03168885015286015160608785018190526137ac81860183613718565b96890196945050509086019060010161376d565b509098975050505050505050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156138545784516001600160a01b0316825293830193600192909201919083019061382b565b509695505050505050565b602081526000612fab60208301846137ce565b6000806020838503121561388557600080fd5b82356001600160401b038082111561389c57600080fd5b818501915085601f8301126138b057600080fd5b8135818111156138bf57600080fd5b8660208260051b85010111156138d457600080fd5b60209290920196919550909350505050565b6060815260006138f960608301866137ce565b84602084015282810360408401526139118185613718565b9695505050505050565b8035600681106136bb57600080fd5b6000806040838503121561393d57600080fd5b613946836136a4565b91506139546020840161391b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561399b5761399b61395d565b604052919050565b600082601f8301126139b457600080fd5b81356001600160401b038111156139cd576139cd61395d565b6139e0601f8201601f1916602001613973565b8181528460208386010111156139f557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215613a2857600080fd5b843593506020808601356001600160401b0380821115613a4757600080fd5b818801915088601f830112613a5b57600080fd5b813581811115613a6d57613a6d61395d565b8060051b613a7c858201613973565b918252838101850191858101908c841115613a9657600080fd5b948601945b83861015613abb57613aac866136a4565b82529486019490860190613a9b565b9850505050604088013594506060880135925080831115613adb57600080fd5b5050613ae9878288016139a3565b91505092959194509250565b60008060408385031215613b0857600080fd5b613b11836136a4565b915060208301356001600160401b03811115613b2c57600080fd5b613b38858286016139a3565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b60068110613b7657634e487b7160e01b600052602160045260246000fd5b9052565b613b85828251613b58565b6000602082015160806020850152613ba06080850182613718565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000612fab6020830184613b7a565b60008060408385031215613bf457600080fd5b82359150613954602084016136a4565b80356001600160401b03811681146136bb57600080fd5b60008060008060608587031215613c3157600080fd5b84359350613c4160208601613c04565b925060408501356001600160401b0380821115613c5d57600080fd5b818701915087601f830112613c7157600080fd5b813581811115613c8057600080fd5b886020828501011115613c9257600080fd5b95989497505060200194505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015613cf857603f19888603018452613ce6858351613b7a565b94509285019290850190600101613cca565b5092979650505050505050565b60008060408385031215613d1857600080fd5b8235915061395460208401613c04565b60008151808452602080850194506020840160005b83811015613d625781516001600160a01b031687529582019590820190600101613d3d565b509495945050505050565b602081526000612fab6020830184613d28565b60008060408385031215613d9357600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b83811015613e0b57888603605f19018552815180518752830151838701889052613df8888801826137ce565b9650509382019390820190600101613dcc565b5050961515959096019490945295945050505050565b803580151581146136bb57600080fd5b600080600080600060a08688031215613e4957600080fd5b853594506020860135935060408601359250613e6760608701613c04565b9150613e7560808701613e21565b90509295509295909350565b600080600060608486031215613e9657600080fd5b613e9f846136a4565b925060208401356001600160401b03811115613eba57600080fd5b613ec6868287016139a3565b925050613ed56040850161391b565b90509250925092565b60008060208385031215613ef157600080fd5b82356001600160401b0380821115613f0857600080fd5b818501915085601f830112613f1c57600080fd5b813581811115613f2b57600080fd5b86602060a0830285010111156138d457600080fd5b602081526000612fab6020830184613718565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156110dd576110dd613f69565b600181811c90821680613fa657607f821691505b60208210810361153357634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201613fee57613fee613f69565b5060010190565b602081016110dd8284613b58565b601f821115610ae2576000816000526020600020601f850160051c8101602086101561402c5750805b601f850160051c820191505b8181101561404b57828155600101614038565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156140815761408161395d565b6140958161408f8454613f92565b84614003565b602080601f8311600181146140c457600084156140b25750858301515b6140bc8582614053565b86555061404b565b600085815260208120601f198616915b828110156140f3578886015182559484019460019091019084016140d4565b50858210156141115787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b84815260806020820152600061413a6080830186613d28565b84604084015282810360608401526141528185613718565b979650505050505050565b6000825161416f8184602087016136f4565b9190910192915050565b600080835461418781613f92565b6001828116801561419f57600181146141b4576141e3565b60ff19841687528215158302870194506141e3565b8760005260208060002060005b858110156141da5781548a8201529084019082016141c1565b50505082870194505b50929695505050505050565b6001600160401b038311156142065761420661395d565b61421a836142148354613f92565b83614003565b6000601f84116001811461424857600085156142365750838201355b6142408682614053565b845550611b40565b600083815260209020601f19861690835b828110156142795786850135825560209485019460019092019101614259565b50868210156142965760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8581526001600160401b038516602082015260806040820152826080820152828460a0830137600081840160a0908101919091529115156060820152601f909201601f1916909101019392505050565b818103818111156110dd576110dd613f69565b818103614316575050565b6143208254613f92565b6001600160401b038111156143375761433761395d565b6143458161408f8454613f92565b6000601f82116001811461437357600083156143615750848201545b61436b8482614053565b855550611b40565b600085815260209020601f19841690600086815260209020845b838110156143ad578286015482556001958601959091019060200161438d565b50858310156141115793015460001960f8600387901b161c19169092555050600190811b01905550565b6040815260006143ea6040830185613718565b9050612fab6020830184613b58565b60006020828403121561440b57600080fd5b612fab82613c04565b8481528360208201526001600160401b03831660408201526080606082015260006139116080830184613718565b60006020828403121561445457600080fd5b612fab82613e2156fec01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98","sourceMap":"556:732:385:-:0;;;1026:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;324:22:549;:20;:22::i;:::-;1080:30:385;1099:10;1080:18;:30::i;:::-;1121:9;1116:166;1140:17;:24;1136:1;:28;1116:166;;;1179:38;1196:17;1214:1;1196:20;;;;;;;;:::i;:::-;;;;;;;1179:16;;;:38;;:::i;:::-;1225:50;1254:17;1272:1;1254:20;;;;;;;;:::i;:::-;;;;;;;1225:28;;;:50;;:::i;:::-;1166:3;;1116:166;;;;1026:260;556:732;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;1738:42:654;;;1927:29:554;;1726:2:654;1711:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;476:253:564:-;537:16;556:8;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;;369:103;556:8;537:27;-1:-1:-1;;;;;;574:22:564;;570:57;;605:22;;-1:-1:-1;;;605:22:564;;;;;;;;;;;570:57;665:8;284:66:566;633:40:564;;-1:-1:-1;;;;;;633:40:564;-1:-1:-1;;;;;633:40:564;;;;;;684;;;;;;;;;;;-1:-1:-1;;684:40:564;531:198;476:253;:::o;2115:320:197:-;-1:-1:-1;;;;;2211:22:197;;2207:63;;2242:27;;;;;;;;;;;-1:-1:-1;;;2242:27:197;;;;2235:35;;-1:-1:-1;;;2235:35:197;;;;2242:27;2235:35;;;:::i;:::-;;;;;;;;2207:63;2281:31;:12;2303:8;2281:21;:31::i;:::-;2277:85;;;2327:34;;;;;;;;;;;-1:-1:-1;;;2327:34:197;;;;2320:42;;-1:-1:-1;;;2320:42:197;;;;2327:34;2320:42;;;:::i;2277:85::-;2369:26;:12;2386:8;2369:16;:26::i;:::-;-1:-1:-1;2407:23:197;;-1:-1:-1;;;;;2407:23:197;;;;;;;;2115:320;:::o;6036:282:193:-;-1:-1:-1;;;;;6110:21:193;;6106:62;;6140:27;;;;;;;;;;;-1:-1:-1;;;6140:27:193;;;;6133:35;;-1:-1:-1;;;6133:35:193;;;;6140:27;6133:35;;;:::i;6106:62::-;6180:37;:24;6209:7;6180:28;:37::i;:::-;6175:92;;6232:34;;;;;;;;;;;-1:-1:-1;;;6232:34:193;;;;6225:42;;-1:-1:-1;;;6225:42:193;;;;6232:34;6225:42;;;:::i;6175:92::-;6279:34;;-1:-1:-1;;;;;6279:34:193;;;;;;;;6036:282;:::o;8844:165:511:-;-1:-1:-1;;;;;8977:23:511;;8924:4;4360:21;;;:14;;;:21;;;;;;:26;;8947:55;8940:62;;8844:165;;;;;:::o;8289:150::-;8359:4;8382:50;8387:3;-1:-1:-1;;;;;8407:23:511;;2304:4;4360:21;;;:14;;;:21;;;;;;2320:321;;-1:-1:-1;2362:23:511;;;;;;;;:11;:23;;;;;;;;;;;;;2544:18;;2520:21;;;:14;;;:21;;;;;;:42;;;;2576:11;;2320:321;-1:-1:-1;2625:5:511;2618:12;;14:127:654;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:654;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:1129::-;423:6;454:2;497;485:9;476:7;472:23;468:32;465:52;;;513:1;510;503:12;465:52;540:16;;-1:-1:-1;;;;;605:14:654;;;602:34;;;632:1;629;622:12;602:34;670:6;659:9;655:22;645:32;;715:7;708:4;704:2;700:13;696:27;686:55;;737:1;734;727:12;686:55;766:2;760:9;788:2;784;781:10;778:36;;;794:18;;:::i;:::-;840:2;837:1;833:10;872:2;866:9;935:2;931:7;926:2;922;918:11;914:25;906:6;902:38;990:6;978:10;975:22;970:2;958:10;955:18;952:46;949:72;;;1001:18;;:::i;:::-;1037:2;1030:22;1087:18;;;1121:15;;;;-1:-1:-1;1163:11:654;;;1159:20;;;1191:19;;;1188:39;;;1223:1;1220;1213:12;1188:39;1247:11;;;;1267:159;1283:6;1278:3;1275:15;1267:159;;;1349:34;1379:3;1349:34;:::i;:::-;1337:47;;1300:12;;;;1404;;;;1267:159;;;1445:6;328:1129;-1:-1:-1;;;;;;;;328:1129:654:o;1462:127::-;1523:10;1518:3;1514:20;1511:1;1504:31;1554:4;1551:1;1544:15;1578:4;1575:1;1568:15;1791:548;1903:4;1932:2;1961;1950:9;1943:21;1993:6;1987:13;2036:6;2031:2;2020:9;2016:18;2009:34;2061:1;2071:140;2085:6;2082:1;2079:13;2071:140;;;2180:14;;;2176:23;;2170:30;2146:17;;;2165:2;2142:26;2135:66;2100:10;;2071:140;;;2075:3;2260:1;2255:2;2246:6;2235:9;2231:22;2227:31;2220:42;2330:2;2323;2319:7;2314:2;2306:6;2302:15;2298:29;2287:9;2283:45;2279:54;2271:62;;;;1791:548;;;;:::o;:::-;556:732:385;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102115760003560e01c8063a1174e7d11610125578063ca78c41a116100ad578063d911c6321161007c578063d911c632146104ba578063ee885b12146104c2578063eecc66f4146104d5578063fc207c01146104e8578063ff3a14ab146104fb57600080fd5b8063ca78c41a14610460578063d0c27c4f14610481578063d4bd44a014610494578063d7a3158a146104a757600080fd5b8063ba428b1a116100f4578063ba428b1a1461040a578063c0f220841461041d578063c179b85f14610425578063c87d132414610438578063c8fe3a011461044b57600080fd5b8063a1174e7d146103bc578063ac8a584a146103d1578063b2b99ec9146103e4578063b7f227ee146103f757600080fd5b8063581f8b9b116101a8578063813049ec11610177578063813049ec146103505780639283ae3a146103635780639d209048146103765780639ee86d3814610396578063a09449a6146103a957600080fd5b8063581f8b9b146103045780636b883c39146103175780636d70f7ae1461032a5780637e4465e71461033d57600080fd5b8063242cae9f116101e4578063242cae9f146102a657806331374511146102b957806339bf397e146102cc5780633c2544d1146102e257600080fd5b80630175015214610216578063035759e11461025c578063081814db146102715780631290abe814610286575b600080fd5b6102476102243660046136c0565b6001600160a01b0390811660009081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b61026f61026a3660046136db565b61050e565b005b610279610682565b6040516102539190613744565b6102996102943660046136db565b6108ed565b604051610253919061385f565b61026f6102b43660046136c0565b610a0f565b61026f6102c7366004613872565b610a56565b6102d4610ae7565b604051908152602001610253565b6102f56102f03660046136db565b610af8565b604051610253939291906138e6565b61026f61031236600461392a565b610cc9565b61026f610325366004613a12565b610e69565b6102476103383660046136c0565b6110d0565b61026f61034b366004613af5565b6110e3565b61026f61035e3660046136c0565b6112db565b6102796103713660046136db565b6113d6565b6103896103843660046136c0565b611539565b6040516102539190613bce565b61026f6103a4366004613be1565b6116ba565b61026f6103b7366004613c1b565b611878565b6103c4611b47565b6040516102539190613ca1565b61026f6103df3660046136c0565b611d1b565b61026f6103f23660046136c0565b611e7e565b61026f610405366004613d05565b612047565b61026f610418366004613872565b612296565b6102d4612322565b61026f6104333660046136c0565b61232d565b6102d46104463660046136c0565b612371565b61045361241f565b6040516102539190613d6d565b61047361046e366004613d80565b61242b565b604051610253929190613da2565b61024761048f3660046136db565b61261b565b6102476104a23660046136c0565b612627565b61026f6104b5366004613e31565b612634565b610453612840565b61026f6104d0366004613be1565b61284c565b61026f6104e3366004613e81565b612a95565b6102476104f63660046136db565b612c60565b61026f610509366004613ede565b612c6d565b3361051a600d82612f8d565b61055d5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b60405180910390fd5b81610569600a82612fb2565b6105a45760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000838152600c602052604090205415610617576000838152600c602052604090208054806105d5576105d5613f53565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff191690559061060e600283018261354f565b505090556105a4565b6000838152600c6020526040812061062e91613589565b610639600a84612fca565b50604080518481526001600160401b036020820152608081830181905260009082015260016060820152905160008051602061445e8339815191529181900360a00190a1505050565b6060600080610691600a612fd6565b905060005b818110156106d25760006106ab600a83612fe0565b6000818152600c60205260409020549091506106c79085613f7f565b935050600101610696565b506000826001600160401b038111156106ed576106ed61395d565b60405190808252806020026020018201604052801561073a57816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161070b5790505b5090506000610749600a612fd6565b90506000805b828110156108e2576000610764600a83612fe0565b6000818152600c6020908152604080832080548251818502810185019093528083529495509293909291849084015b8282101561087757600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b031693830193909352600283018054929392918401916107e690613f92565b80601f016020809104026020016040519081016040528092919081815260200182805461081290613f92565b801561085f5780601f106108345761010080835404028352916020019161085f565b820191906000526020600020905b81548152906001019060200180831161084257829003601f168201915b50505050508152505081526020019060010190610793565b50505050905060005b81518110156108d45781818151811061089b5761089b613fc6565b60200260200101518786806108af90613fdc565b9750815181106108c1576108c1613fc6565b6020908102919091010152600101610880565b50505080600101905061074f565b509195945050505050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906109219083612fb2565b61095c5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109ff57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109e1575b5050505050815250509050919050565b610a17612fec565b6001600160a01b0316336001600160a01b031614610a4a576040516365f4906560e01b8152336004820152602401610554565b610a538161301a565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610aa057604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610ae257610ada838383818110610ac057610ac0613fc6565b9050602002016020810190610ad591906136c0565b6130ec565b600101610aa3565b505050565b6000610af36005612fd6565b905090565b6040805160a081018252600080825260208201819052918101829052606080820183905260808201819052909190610b308285612fb2565b610b6b5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b90910416606082015294820180548451818702810187019095528085529296959194919387936080860193919291830182828015610c2557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c07575b5050505050815250509250808054610c3c90613f92565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6890613f92565b8015610cb55780601f10610c8a57610100808354040283529160200191610cb5565b820191906000526020600020905b815481529060010190602001808311610c9857829003601f168201915b505050505090509250925092509193909250565b6001600160a01b03808316600090815260076020526040902060020154839116610d2957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b33610d35600882612f8d565b610d6f5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0380851660009081526007602052604090206003015485913391168114610dcd5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03861660009081526007602052604090208054610df49060ff16876131b1565b80548690829060ff19166001836005811115610e1257610e12613b42565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090610e58908990613ff5565b60405180910390a250505050505050565b336000818152600760205260409020600201546001600160a01b0316610ec557604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b610ed0600086612fb2565b15610f1157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b835160005b81811015610f9657610f4e868281518110610f3357610f33613fc6565b60200260200101516000600501612f8d90919063ffffffff16565b610f8e57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b600101610f16565b506040805160a081018252858152600060208201819052918101829052606081018290526080810187905290610fcc9088613344565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff1990991691909416179690961795909516179093556080840151805185949361105c939085019201906135aa565b50505060008781526003602052604090206110778582614068565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb906110bf908990899089908990614121565b60405180910390a150505050505050565b60006110dd600883612f8d565b92915050565b336110ef600882612f8d565b6111295760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0380841660009081526007602052604090206002015484911661118957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03808516600090815260076020526040902060030154859133911681146111e75760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b03861660009081526007602090815260409182902091516112119188910161415d565b604051602081830303815290604052805190602001208160010160405160200161123b9190614179565b604051602081830303815290604052805190602001200361128b5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600181016112998782614068565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac90610e58908990613f40565b6112e3612fec565b6001600160a01b0316336001600160a01b031614611316576040516365f4906560e01b8152336004820152602401610554565b6001600160a01b0381166113595760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b611364600d82613350565b61139f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6040516001600160a01b038216907ff9889c857e5356066b564327caa757c325ecbc001b2b47d72edf8cf9aedb1be590600090a250565b6060816113e4600a82612fb2565b61141f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000838152600c6020908152604080832080548251818502810185019093528083529193909284015b8282101561152c57600084815260209081902060408051606081018252600386029092018054835260018101546001600160401b0316938301939093526002830180549293929184019161149b90613f92565b80601f01602080910402602001604051908101604052809291908181526020018280546114c790613f92565b80156115145780601f106114e957610100808354040283529160200191611514565b820191906000526020600020905b8154815290600101906020018083116114f757829003601f168201915b50505050508152505081526020019060010190611448565b5050505091505b50919050565b6115646040805160808101909152806000815260606020820181905260006040830181905291015290565b61156f600583612f8d565b6115af57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff1660058111156115ea576115ea613b42565b60058111156115fb576115fb613b42565b815260200160018201805461160f90613f92565b80601f016020809104026020016040519081016040528092919081815260200182805461163b90613f92565b80156116885780601f1061165d57610100808354040283529160200191611688565b820191906000526020600020905b81548152906001019060200180831161166b57829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b816116c6600082612fb2565b6117015760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b336000818152600760205260409020600201546001600160a01b031661175d57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b600084815260026020819052604082209081015490915b818110156117f957856001600160a01b031683600201828154811061179b5761179b613fc6565b6000918252602090912001546001600160a01b0316036117f157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b600101611774565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060015b60405180910390a1505050505050565b33611884600d82612f8d565b6118be5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b67fffffffffffffffe196001600160401b0385160161190c5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600082900361194a5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b611955600a86612fb2565b61196657611964600a86613344565b505b6000858152600c6020526040812054905b81811015611a4d576000878152600c6020526040902080546001600160401b0388169190839081106119ab576119ab613fc6565b60009182526020909120600160039092020101546001600160401b031603611a45576000878152600c60205260409020805486918691849081106119f1576119f1613fc6565b90600052602060002090600302016002019182611a0f9291906141ef565b5060008051602061445e833981519152878787876000604051611a369594939291906142a8565b60405180910390a15050611b40565b600101611977565b506000600c0160008781526020019081526020016000206040518060600160405280888152602001876001600160401b0316815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160039092020190815590830151938101805467ffffffffffffffff19166001600160401b03909516949094179093555060408101519091906002820190611b179082614068565b50505060008051602061445e8339815191528686868660006040516118689594939291906142a8565b5050505050565b60606000611b556005612fd6565b6001600160401b03811115611b6c57611b6c61395d565b604051908082528060200260200182016040528015611bc857816020015b611bb56040805160808101909152806000815260606020820181905260006040830181905291015290565b815260200190600190039081611b8a5790505b50905060005b611bd86005612fd6565b8110156115335760076000611bee600584612fe0565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff166005811115611c2a57611c2a613b42565b6005811115611c3b57611c3b613b42565b8152602001600182018054611c4f90613f92565b80601f0160208091040260200160405190810160405280929190818152602001828054611c7b90613f92565b8015611cc85780601f10611c9d57610100808354040283529160200191611cc8565b820191906000526020600020905b815481529060010190602001808311611cab57829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110611d0857611d08613fc6565b6020908102919091010152600101611bce565b611d23612fec565b6001600160a01b0316336001600160a01b031614611d56576040516365f4906560e01b8152336004820152602401610554565b611d61600882612f8d565b611da557604080518082018252601281527113d41154905513d497d393d517d193d5539160721b6020820152905162461bcd60e51b81526105549190600401613f40565b60005b611db26005612fd6565b811015611e3a576001600160a01b03821660076000611dd2600585612fe0565b6001600160a01b0390811682526020820192909252604001600020600301541603611e3257604080518082018252600d81526c4f55545f4f465f424f554e445360981b6020820152905162461bcd60e51b81526105549190600401613f40565b600101611da8565b50611e46600882613350565b506040516001600160a01b038216907f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d90600090a250565b6001600160a01b0380821660009081526007602052604090206003015482913391168114611edc5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b0383811660009081526007602052604090206002015416611f3a57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b60056001600160a01b03841660009081526007602052604090205460ff166005811115611f6957611f69613b42565b14611fb25760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526105549190600401613f40565b611fbd600584613350565b506001600160a01b0383166000908152600760205260408120805460ff1916815590611fec600183018261354f565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b33612053600d82612f8d565b61208d5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6000805b6000858152600c602052604090205481101561220e576000858152600c6020526040902080546001600160401b0386169190839081106120d3576120d3613fc6565b60009182526020909120600160039092020101546001600160401b031603612206576000858152600c602052604090208054612111906001906142f8565b8154811061212157612121613fc6565b90600052602060002090600302016000600c016000878152602001908152602001600020828154811061215657612156613fc6565b600091825260209091208254600390920201908155600180830154908201805467ffffffffffffffff19166001600160401b039092169190911790556002808201906121a49084018261430b565b5050506000858152600c602052604090208054806121c4576121c4613f53565b60008281526020812060036000199093019283020181815560018101805467ffffffffffffffff19169055906121fd600283018261354f565b50509055600191505b600101612091565b508061224b5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b604080518581526001600160401b0385166020820152608081830181905260009082015260016060820152905160008051602061445e8339815191529181900360a00190a150505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166122e057604051630ef4733760e31b815260040160405180910390fd5b60005b81811015610ae25761231a83838381811061230057612300613fc6565b905060200201602081019061231591906136c0565b61301a565b6001016122e3565b6000610af381612fd6565b612335612fec565b6001600160a01b0316336001600160a01b031614612368576040516365f4906560e01b8152336004820152602401610554565b610a53816130ec565b6000808061237e81612fd6565b905060005b818110156124165760006123978183612fe0565b60008181526002602052604081209192505b600282015481101561240857876001600160a01b03168260020182815481106123d4576123d4613fc6565b6000918252602090912001546001600160a01b03160361240057856123f881613fdc565b965050612408565b6001016123a9565b505050806001019050612383565b50909392505050565b6060610af36005613365565b6060600082841061246b5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b600061247681612fd6565b905060008185116124875784612489565b815b9050600086821161249b5760006124a5565b6124a587836142f8565b90506000816001600160401b038111156124c1576124c161395d565b6040519080825280602002602001820160405280156124fa57816020015b6124e761360f565b8152602001906001900390816124df5790505b50905060005b8281101561260a57600061251f612517838c613f7f565b600090612fe0565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b90910416606082015291810180548651818602810186019097528087529697509395838701959294919360808601939291908301828280156125d857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116125ba575b5050505050815250508152508383815181106125f6576125f6613fc6565b602090810291909101015250600101612500565b509450505083101590509250929050565b60006110dd8183612fb2565b60006110dd600d83612f8d565b336000818152600760205260409020600201546001600160a01b031661269057604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b61269b600087612fb2565b6126d65760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b6000868152600260205260409020600180820154600160801b9004161561273257604080518082018252600d81526c14d51491505357d4d150531151609a1b6020820152905162461bcd60e51b81526105549190600401613f40565b60018101546001600160401b0380861691161061277e5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b60008781526003602052604081206127959161354f565b84815560018101805467ffffffffffffffff19166001600160401b03861617905582156127ef576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b60408051888152602081018790526001600160401b0386169181019190915283151560608201527fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b906080016110bf565b6060610af36008613365565b81612858600082612fb2565b6128935760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b81526105549190600401613f40565b336000818152600760205260409020600201546001600160a01b03166128ef57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b6000848152600260208190526040822090810154909190815b81811015612a0a57866001600160a01b031684600201828154811061292f5761292f613fc6565b6000918252602090912001546001600160a01b031603612a0257600284016129586001846142f8565b8154811061296857612968613fc6565b6000918252602090912001546002850180546001600160a01b03909216918390811061299657612996613fc6565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550836002018054806129d7576129d7613f53565b600082815260209020810160001990810180546001600160a01b031916905501905560019250612a0a565b600101612908565b5081612a4c57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060016110bf565b33612aa1600882612f8d565b612adb5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526105549190600401613f40565b6001600160a01b038481166000908152600760205260409020600201541615612b3a57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b60006040518060800160405280846005811115612b5957612b59613b42565b8152602081018690526001600160a01b0387166040820152336060909101529050612b85600586613372565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff19166001836005811115612bc057612bc0613b42565b021790555060208201516001820190612bd99082614068565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90612c5190889088906143d7565b60405180910390a35050505050565b60006110dd600a83612fb2565b336000818152600760205260409020600201546001600160a01b0316612cc957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526105549190600401613f40565b816000819003612d085760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b60005b81811015611b405736858583818110612d2657612d26613fc6565b60a002919091019150612d3d905060008235612fb2565b612db5577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135612d7960808501606086016143f9565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051612da79493929190614414565b60405180910390a150612f85565b80356000908152600260205260409020600180820154600160801b90041615612e51577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135612e1060808601606087016143f9565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051612e429493929190614414565b60405180910390a15050612f85565b60018101546001600160401b0316600003612e7f5781356000908152600360205260408120612e7f9161354f565b60408201358155612e9660808301606084016143f9565b60018201805467ffffffffffffffff19166001600160401b0392909216919091179055612ec960a0830160808401614442565b15612f01576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b82356040840135612f3960808601606087016143f9565b612f4960a0870160808801614442565b604051612f7a949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101612d0b565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b60008181526001830160205260408120541515612fab565b6000612fab8383613387565b60006110dd825490565b6000612fab838361347a565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b031690565b6001600160a01b03811661305d5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b613068600882612f8d565b156130a957604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b6130b4600882613372565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d90600090a250565b6001600160a01b03811661312f5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526105549190600401613f40565b61313a600d82613372565b61317a57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526105549190600401613f40565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a290600090a250565b60008260058111156131c5576131c5613b42565b1480613219575060018260058111156131e0576131e0613b42565b148015613219575060038160058111156131fc576131fc613b42565b14806132195750600481600581111561321757613217613b42565b145b8061326c5750600282600581111561323357613233613b42565b14801561326c5750600381600581111561324f5761324f613b42565b148061326c5750600481600581111561326a5761326a613b42565b145b806132bf5750600482600581111561328657613286613b42565b1480156132bf575060038160058111156132a2576132a2613b42565b14806132bf575060058160058111156132bd576132bd613b42565b145b806132f7575060038260058111156132d9576132d9613b42565b1480156132f7575060058160058111156132f5576132f5613b42565b145b15613300575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526105549190600401613f40565b6000612fab83836134a4565b6000612fab836001600160a01b038416613387565b60606000612fab836134f3565b6000612fab836001600160a01b0384166134a4565b600081815260018301602052604081205480156134705760006133ab6001836142f8565b85549091506000906133bf906001906142f8565b90508082146134245760008660000182815481106133df576133df613fc6565b906000526020600020015490508087600001848154811061340257613402613fc6565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061343557613435613f53565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506110dd565b60009150506110dd565b600082600001828154811061349157613491613fc6565b9060005260206000200154905092915050565b60008181526001830160205260408120546134eb575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556110dd565b5060006110dd565b60608160000180548060200260200160405190810160405280929190818152602001828054801561354357602002820191906000526020600020905b81548152602001906001019080831161352f575b50505050509050919050565b50805461355b90613f92565b6000825580601f1061356b575050565b601f016020900490600052602060002090810190610a539190613659565b5080546000825560030290600052602060002090810190610a53919061366e565b8280548282559060005260206000209081019282156135ff579160200282015b828111156135ff57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906135ca565b5061360b929150613659565b5090565b6040805180820190915260008152602081016136546040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5b8082111561360b576000815560010161365a565b8082111561360b57600080825560018201805467ffffffffffffffff1916905561369b600283018261354f565b5060030161366e565b80356001600160a01b03811681146136bb57600080fd5b919050565b6000602082840312156136d257600080fd5b612fab826136a4565b6000602082840312156136ed57600080fd5b5035919050565b60005b8381101561370f5781810151838201526020016136f7565b50506000910152565b600081518084526137308160208601602086016136f4565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156137c057888303603f19018552815180518452878101516001600160401b03168885015286015160608785018190526137ac81860183613718565b96890196945050509086019060010161376d565b509098975050505050505050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156138545784516001600160a01b0316825293830193600192909201919083019061382b565b509695505050505050565b602081526000612fab60208301846137ce565b6000806020838503121561388557600080fd5b82356001600160401b038082111561389c57600080fd5b818501915085601f8301126138b057600080fd5b8135818111156138bf57600080fd5b8660208260051b85010111156138d457600080fd5b60209290920196919550909350505050565b6060815260006138f960608301866137ce565b84602084015282810360408401526139118185613718565b9695505050505050565b8035600681106136bb57600080fd5b6000806040838503121561393d57600080fd5b613946836136a4565b91506139546020840161391b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561399b5761399b61395d565b604052919050565b600082601f8301126139b457600080fd5b81356001600160401b038111156139cd576139cd61395d565b6139e0601f8201601f1916602001613973565b8181528460208386010111156139f557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215613a2857600080fd5b843593506020808601356001600160401b0380821115613a4757600080fd5b818801915088601f830112613a5b57600080fd5b813581811115613a6d57613a6d61395d565b8060051b613a7c858201613973565b918252838101850191858101908c841115613a9657600080fd5b948601945b83861015613abb57613aac866136a4565b82529486019490860190613a9b565b9850505050604088013594506060880135925080831115613adb57600080fd5b5050613ae9878288016139a3565b91505092959194509250565b60008060408385031215613b0857600080fd5b613b11836136a4565b915060208301356001600160401b03811115613b2c57600080fd5b613b38858286016139a3565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b60068110613b7657634e487b7160e01b600052602160045260246000fd5b9052565b613b85828251613b58565b6000602082015160806020850152613ba06080850182613718565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000612fab6020830184613b7a565b60008060408385031215613bf457600080fd5b82359150613954602084016136a4565b80356001600160401b03811681146136bb57600080fd5b60008060008060608587031215613c3157600080fd5b84359350613c4160208601613c04565b925060408501356001600160401b0380821115613c5d57600080fd5b818701915087601f830112613c7157600080fd5b813581811115613c8057600080fd5b886020828501011115613c9257600080fd5b95989497505060200194505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015613cf857603f19888603018452613ce6858351613b7a565b94509285019290850190600101613cca565b5092979650505050505050565b60008060408385031215613d1857600080fd5b8235915061395460208401613c04565b60008151808452602080850194506020840160005b83811015613d625781516001600160a01b031687529582019590820190600101613d3d565b509495945050505050565b602081526000612fab6020830184613d28565b60008060408385031215613d9357600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b83811015613e0b57888603605f19018552815180518752830151838701889052613df8888801826137ce565b9650509382019390820190600101613dcc565b5050961515959096019490945295945050505050565b803580151581146136bb57600080fd5b600080600080600060a08688031215613e4957600080fd5b853594506020860135935060408601359250613e6760608701613c04565b9150613e7560808701613e21565b90509295509295909350565b600080600060608486031215613e9657600080fd5b613e9f846136a4565b925060208401356001600160401b03811115613eba57600080fd5b613ec6868287016139a3565b925050613ed56040850161391b565b90509250925092565b60008060208385031215613ef157600080fd5b82356001600160401b0380821115613f0857600080fd5b818501915085601f830112613f1c57600080fd5b813581811115613f2b57600080fd5b86602060a0830285010111156138d457600080fd5b602081526000612fab6020830184613718565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156110dd576110dd613f69565b600181811c90821680613fa657607f821691505b60208210810361153357634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201613fee57613fee613f69565b5060010190565b602081016110dd8284613b58565b601f821115610ae2576000816000526020600020601f850160051c8101602086101561402c5750805b601f850160051c820191505b8181101561404b57828155600101614038565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156140815761408161395d565b6140958161408f8454613f92565b84614003565b602080601f8311600181146140c457600084156140b25750858301515b6140bc8582614053565b86555061404b565b600085815260208120601f198616915b828110156140f3578886015182559484019460019091019084016140d4565b50858210156141115787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b84815260806020820152600061413a6080830186613d28565b84604084015282810360608401526141528185613718565b979650505050505050565b6000825161416f8184602087016136f4565b9190910192915050565b600080835461418781613f92565b6001828116801561419f57600181146141b4576141e3565b60ff19841687528215158302870194506141e3565b8760005260208060002060005b858110156141da5781548a8201529084019082016141c1565b50505082870194505b50929695505050505050565b6001600160401b038311156142065761420661395d565b61421a836142148354613f92565b83614003565b6000601f84116001811461424857600085156142365750838201355b6142408682614053565b845550611b40565b600083815260209020601f19861690835b828110156142795786850135825560209485019460019092019101614259565b50868210156142965760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8581526001600160401b038516602082015260806040820152826080820152828460a0830137600081840160a0908101919091529115156060820152601f909201601f1916909101019392505050565b818103818111156110dd576110dd613f69565b818103614316575050565b6143208254613f92565b6001600160401b038111156143375761433761395d565b6143458161408f8454613f92565b6000601f82116001811461437357600083156143615750848201545b61436b8482614053565b855550611b40565b600085815260209020601f19841690600086815260209020845b838110156143ad578286015482556001958601959091019060200161438d565b50858310156141115793015460001960f8600387901b161c19169092555050600190811b01905550565b6040815260006143ea6040830185613718565b9050612fab6020830184613b58565b60006020828403121561440b57600080fd5b612fab82613c04565b8481528360208201526001600160401b03831660408201526080606082015260006139116080830184613718565b60006020828403121561445457600080fd5b612fab82613e2156fec01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98","sourceMap":"556:732:385:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;636:137:195;;;;;;:::i;:::-;-1:-1:-1;;;;;713:29:195;;;694:4;713:29;;;:16;:29;;;;;:41;;;;:55;;;636:137;;;;548:14:654;;541:22;523:41;;511:2;496:18;636:137:195;;;;;;;;2708:351:193;;;;;;:::i;:::-;;:::i;:::-;;4044:747;;;:::i;:::-;;;;;;;:::i;1958:195:199:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1136:99:197:-;;;;;;:::i;:::-;;:::i;1023:221:193:-;;;;;;:::i;:::-;;:::i;2995:91:195:-;;;:::i;:::-;;;4412:25:654;;;4400:2;4385:18;2995:91:195;4266:177:654;6056:350:199;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;1874:394:195:-;;;;;;:::i;:::-;;:::i;803:1117:199:-;;;;;;:::i;:::-;;:::i;1239:116:197:-;;;;;;:::i;:::-;;:::i;2272:453:195:-;;;;;;:::i;:::-;;:::i;5475:290:193:-;;;;;;:::i;:::-;;:::i;3816:148::-;;;;;;:::i;:::-;;:::i;2729:262:195:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7788:539:199:-;;;;;;:::i;:::-;;:::i;1711:904:193:-;;;;;;:::i;:::-;;:::i;3201:254:195:-;;;:::i;:::-;;;;;;;:::i;1359:466:197:-;;;;;;:::i;:::-;;:::i;1394:476:195:-;;;;;;:::i;:::-;;:::i;3157:587:193:-;;;;;;:::i;:::-;;:::i;737:220:197:-;;;;;;:::i;:::-;;:::i;6444:95:199:-;;;:::i;5282:121:193:-;;;;;;:::i;:::-;;:::i;6577:485:199:-;;;;;;:::i;:::-;;:::i;3090:107:195:-;;;:::i;:::-;;;;;;;:::i;7100:650:199:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2191:112::-;;;;;;:::i;:::-;;:::i;5067:146:193:-;;;;;;:::i;:::-;;:::i;4809:1209:199:-;;;;;;:::i;:::-;;:::i;1829:107:197:-;;;:::i;8365:610:199:-;;;;;;:::i;:::-;;:::i;777:613:195:-;;;;;;:::i;:::-;;:::i;1509:123:193:-;;;;;;:::i;:::-;;:::i;2307:2464:199:-;;;;;;:::i;:::-;;:::i;2708:351:193:-;2792:10;3799:42:201;:24;2792:10:193;3799:33:201;:42::i;:::-;3794:91;;3856:28;;;;;;;;;;;-1:-1:-1;;;3856:28:201;;;;3849:36;;-1:-1:-1;;;3849:36:201;;;;3856:28;3849:36;;;:::i;:::-;;;;;;;;3794:91;2820:3:193;3642:34:201::1;:20;2820:3:193::0;3642:29:201::1;:34::i;:::-;3637:84;;3691:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3691:29:201::1;::::0;::::1;::::0;3684:37;;-1:-1:-1;;;3684:37:201;;::::1;::::0;3691:29;3684:37:::1;;;:::i;3637:84::-;2838:2:193::2;:21:::0;;;:16:::2;:21;::::0;;;;:28;:33;2831:84:::2;;2881:2;:21:::0;;;:16:::2;:21;::::0;;;;:27;;;::::2;;;;:::i;:::-;;::::0;;;::::2;::::0;;::::2;-1:-1:-1::0;;2881:27:193;;;;;::::2;;::::0;;;::::2;::::0;::::2;::::0;;-1:-1:-1;;2881:27:193::2;::::0;;;::::2;;::::0;::::2;::::0;::::2;:::i;:::-;;;;;2831:84;;;2928:2;:21:::0;;;:16:::2;:21;::::0;;;;2920:30:::2;::::0;::::2;:::i;:::-;2957:32;:20;2985:3:::0;2957:27:::2;:32::i;:::-;-1:-1:-1::0;3001:53:193::2;::::0;;15953:25:654;;;-1:-1:-1;;;;;16009:2:654;15994:18;;15987:59;16082:3;16062:18;;;16055:31;;;-1:-1:-1;16102:19:654;;;16095:30;3049:4:193::2;16192:2:654::0;16177:18;;16170:50;3001:53:193;;-1:-1:-1;;;;;;;;;;;3001:53:193;;;;16157:3:654;3001:53:193;;::::2;3891:1:201::1;2708:351:193::0;;:::o;4044:747::-;4098:16;4122:20;;4180:29;:20;:27;:29::i;:::-;4153:56;;4220:9;4215:154;4239:16;4235:1;:20;4215:154;;;4270:11;4284:26;:20;4308:1;4284:23;:26::i;:::-;4334:2;:21;;;:16;:21;;;;;:28;4270:40;;-1:-1:-1;4318:44:193;;;;:::i;:::-;;-1:-1:-1;;4257:3:193;;4215:154;;;;4375:25;4417:12;-1:-1:-1;;;;;4403:27:193;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;4403:27:193;;;;;;;;;;;;;;;-1:-1:-1;4375:55:193;-1:-1:-1;4437:14:193;4454:29;:20;:27;:29::i;:::-;4437:46;;4489:9;4513;4508:257;4532:6;4528:1;:10;4508:257;;;4553:11;4567:26;:20;4591:1;4567:23;:26::i;:::-;4601:28;4632:21;;;:16;:21;;;;;;;;4601:52;;;;;;;;;;;;;;;;;4553:40;;-1:-1:-1;4601:28:193;;:52;;4632:21;4601:28;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4601:52:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4666:9;4661:98;4685:11;:18;4681:1;:22;4661:98;;;4736:11;4748:1;4736:14;;;;;;;;:::i;:::-;;;;;;;4720:8;4729:3;;;;;:::i;:::-;;;4720:13;;;;;;;;:::i;:::-;;;;;;;;;;:30;4705:3;;4661:98;;;;4545:220;;4540:3;;;;;4508:257;;;-1:-1:-1;4778:8:193;;4044:747;-1:-1:-1;;;;;4044:747:193:o;1958:195:199:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2044:29:199;;2064:8;2044:19;:29::i;:::-;2039:73;;2082:29;;;;;;;;;;;-1:-1:-1;;;2082:29:199;;;;2075:37;;-1:-1:-1;;;2075:37:199;;;;2082:29;2075:37;;;:::i;2039:73::-;2125:2;:23;;;:13;:23;;;;;;;;;2118:30;;;;;;;;;;;;;;;-1:-1:-1;;;;;2118:30:199;;;;;;;-1:-1:-1;;;2118:30:199;;;;;;;;-1:-1:-1;;;2118:30:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2125:23;;2118:30;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2118:30:199;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:195;;;:::o;1136:99:197:-;293:8:564;:6;:8::i;:::-;-1:-1:-1;;;;;279:22:564;:10;-1:-1:-1;;;;;279:22:564;;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;17296:51:654;17269:18;;318:29:564;17150:203:654;275:79:564;1204:26:197::1;1221:8;1204:16;:26::i;:::-;1136:99:::0;:::o;1023:221:193:-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;1131:9:193::1;1126:114;1146:25:::0;;::::1;1126:114;;;1186:47;1215:14;;1230:1;1215:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;1186:28;:47::i;:::-;1173:3;;1126:114;;;;1023:221:::0;;:::o;2995:91:195:-;3042:7;3064:17;:8;:15;:17::i;:::-;3057:24;;2995:91;:::o;6056:350:199:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6184:29:199;-1:-1:-1;6204:8:199;6184:19;:29::i;:::-;6179:73;;6222:29;;;;;;;;;;;-1:-1:-1;;;6222:29:199;;;;6215:37;;-1:-1:-1;;;6215:37:199;;;;6222:29;6215:37;;;:::i;6179:73::-;6274:2;:23;;;:13;:23;;;;;;;;6305:33;:43;;;;;;6356:29;:39;;;;;;6259:142;;;;;;;;;;;;;;;-1:-1:-1;;;;;6259:142:199;;;;;;;-1:-1:-1;;;6259:142:199;;;;;;;;-1:-1:-1;;;6259:142:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;6274:23;;6305:43;6356:39;;6259:142;;6274:23;;6259:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6259:142:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6056:350;;;;;:::o;1874:394:195:-;-1:-1:-1;;;;;3039:22:201;;;3085:1;3039:22;;;:16;:22;;;;;:34;;;1978:11:195;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;2008:10:195::1;3204:31:201;:12;2008:10:195::0;3204:21:201::1;:31::i;:::-;3199:74;;3244:28;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3244:28:201::1;::::0;::::1;::::0;3237:36;;-1:-1:-1;;;3237:36:201;;::::1;::::0;3244:28;3237:36:::1;;;:::i;3199:74::-;-1:-1:-1::0;;;;;3490:22:201;;::::2;:2;:22:::0;;;:16:::2;:22;::::0;;;;:31:::2;;::::0;2041:11:195;;2054:10:::2;::::0;3490:31:201::2;:43:::0;::::2;3486:91;;3548:28;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;3548:28:201::2;::::0;::::2;::::0;3541:36;;-1:-1:-1;;;3541:36:201;;::::2;::::0;3548:28;3541:36:::2;;;:::i;3486:91::-;-1:-1:-1::0;;;;;2094:29:195;::::3;2074:17;2094:29:::0;;;:16:::3;:29;::::0;;;;2162:11;;2130:52:::3;::::0;2162:11:::3;;2175:6:::0;2130:31:::3;:52::i;:::-;2189:20:::0;;2203:6;;2189:4;;-1:-1:-1;;2189:20:195::3;::::0;2203:6;2189:20:::3;::::0;::::3;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;2238:16:195::3;::::0;::::3;::::0;2220:43:::3;::::0;-1:-1:-1;;;;;2238:16:195;;::::3;::::0;2220:43:::3;::::0;::::3;::::0;2256:6;;2220:43:::3;:::i;:::-;;;;;;;;2068:200;3279:1:201::2;;3143::::1;1874:394:195::0;;;:::o;803:1117:199:-;968:10;3085:1:201;3039:22;;;:16;:22;;;;;:34;;;-1:-1:-1;;;;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;1053:29:199::1;:2;1073:8:::0;1053:19:::1;:29::i;:::-;1049:83;;;1097:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1097:34:199::1;::::0;::::1;::::0;1090:42;;-1:-1:-1;;;1090:42:199;;::::1;::::0;1097:34;1090:42:::1;;;:::i;1049:83::-;1228:12:::0;;1208:17:::1;1246:139;1270:9;1266:1;:13;1246:139;;;1299:27;1317:5;1323:1;1317:8;;;;;;;;:::i;:::-;;;;;;;1299:2;:8;;:17;;:27;;;;:::i;:::-;1294:84;;1343:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1343:34:199::1;::::0;::::1;::::0;1336:42;;-1:-1:-1;;;1336:42:199;;::::1;::::0;1343:34;1336:42:::1;;;:::i;1294:84::-;1281:3;;1246:139;;;-1:-1:-1::0;1452:144:199::1;::::0;;::::1;::::0;::::1;::::0;;;;;1429:20:::1;1452:144;::::0;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;1603:24:::1;::::0;1618:8;1603:14:::1;:24::i;:::-;-1:-1:-1::0;1633:2:199::1;:23:::0;;;:13:::1;:23;::::0;;;;;;;;:32;;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;1633:32:199;;::::1;-1:-1:-1::0;;;1633:32:199::1;-1:-1:-1::0;;;;1633:32:199;;::::1;-1:-1:-1::0;;;1633:32:199::1;-1:-1:-1::0;;1633:32:199;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;::::0;;;::::1;::::0;::::1;::::0;;;1659:6;;1633:23;:32:::1;::::0;;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;1671:2:199::1;:39:::0;;;:29:::1;:39;::::0;;;;:58:::1;1713:16:::0;1671:39;:58:::1;:::i;:::-;-1:-1:-1::0;1735:2:199::1;:43:::0;;;:33:::1;:43;::::0;;;;;;:66;;;1813:102;::::1;::::0;::::1;::::0;1769:8;;1852:5;;1781:20;;1893:16;;1813:102:::1;:::i;:::-;;;;;;;;980:940;;803:1117:::0;;;;;:::o;1239:116:197:-;1300:4;1319:31;:12;1341:8;1319:21;:31::i;:::-;1312:38;1239:116;-1:-1:-1;;1239:116:197:o;2272:453:195:-;2377:10;3204:31:201;:12;2377:10:195;3204:21:201;:31::i;:::-;3199:74;;3244:28;;;;;;;;;;;-1:-1:-1;;;3244:28:201;;;;3237:36;;-1:-1:-1;;;3237:36:201;;;;3244:28;3237:36;;;:::i;3199:74::-;-1:-1:-1;;;;;3039:22:201;;::::1;3085:1;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;2402:11:195;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;-1:-1:-1::0;;;;;3490:22:201;;::::2;:2;:22:::0;;;:16:::2;:22;::::0;;;;:31:::2;;::::0;2436:11:195;;2449:10:::2;::::0;3490:31:201::2;:43:::0;::::2;3486:91;;3548:28;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;3548:28:201::2;::::0;::::2;::::0;3541:36;;-1:-1:-1;;;3541:36:201;;::::2;::::0;3548:28;3541:36:::2;;;:::i;3486:91::-;-1:-1:-1::0;;;;;2489:29:195;::::3;2469:17;2489:29:::0;;;:16:::3;:29;::::0;;;;;;;;2587:21;;::::3;::::0;2604:3;;2587:21:::3;;:::i;:::-;;;;;;;;;;;;;2577:32;;;;;;2563:4;:8;;2546:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;2536:37;;;;;;:73:::0;2525:126:::3;;2623:27;::::0;;;;::::3;::::0;;::::3;::::0;;-1:-1:-1;;;2623:27:195::3;::::0;::::3;::::0;2616:35;;-1:-1:-1;;;2616:35:195;;::::3;::::0;2623:27;2616:35:::3;;;:::i;2525:126::-;2658:8;::::0;::::3;:14;2669:3:::0;2658:8;:14:::3;:::i;:::-;-1:-1:-1::0;2698:16:195::3;::::0;::::3;::::0;2683:37:::3;::::0;-1:-1:-1;;;;;2698:16:195;;::::3;::::0;2683:37:::3;::::0;::::3;::::0;2716:3;;2683:37:::3;:::i;5475:290:193:-:0;293:8:564;:6;:8::i;:::-;-1:-1:-1;;;;;279:22:564;:10;-1:-1:-1;;;;;279:22:564;;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;17296:51:654;17269:18;;318:29:564;17150:203:654;275:79:564;-1:-1:-1;;;;;5557:21:193;::::1;5553:62;;5587:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5587:27:193::1;::::0;::::1;::::0;5580:35;;-1:-1:-1;;;5580:35:193;;::::1;::::0;5587:27;5580:35:::1;;;:::i;5553:62::-;5627:40;:24;5659:7:::0;5627:31:::1;:40::i;:::-;5622:90;;5682:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5682:29:193::1;::::0;::::1;::::0;5675:37;;-1:-1:-1;;;5675:37:193;;::::1;::::0;5682:29;5675:37:::1;;;:::i;5622:90::-;5724:36;::::0;-1:-1:-1;;;;;5724:36:193;::::1;::::0;::::1;::::0;;;::::1;5475:290:::0;:::o;3816:148::-;3907:16;3893:3;3642:34:201;:20;3893:3:193;3642:29:201;:34::i;:::-;3637:84;;3691:29;;;;;;;;;;;-1:-1:-1;;;3691:29:201;;;;3684:37;;-1:-1:-1;;;3684:37:201;;;;3691:29;3684:37;;;:::i;3637:84::-;3938:2:193::1;:21:::0;;;:16:::1;:21;::::0;;;;;;;3931:28;;;;;;::::1;::::0;;;;;;;;;;;;3938:21;;3931:28;::::1;;;;;;;;;::::0;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;3931:28:193::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;3727:1:201;3816:148:193::0;;;;:::o;2729:262:195:-;2790:11;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2790:11:195;2863:30;:8;2881:11;2863:17;:30::i;:::-;2858:85;;2908:34;;;;;;;;;;;-1:-1:-1;;;2908:34:195;;;;2901:42;;-1:-1:-1;;;2901:42:195;;;;2908:34;2901:42;;;:::i;2858:85::-;-1:-1:-1;;;;;2957:29:195;;:2;:29;;;:16;:29;;;;;;;2950:36;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2950:36:195;;;-1:-1:-1;;2950:36:195;;;;-1:-1:-1;;;;;2950:36:195;;;;;;;;;;;;;;;;;;;;;2729:262;-1:-1:-1;;2729:262:195:o;7788:539:199:-;7886:8;3338:29:201;:2;7886:8:199;3338:19:201;:29::i;:::-;3333:73;;3376:29;;;;;;;;;;;-1:-1:-1;;;3376:29:201;;;;3369:37;;-1:-1:-1;;;3369:37:201;;;;3376:29;3369:37;;;:::i;3333:73::-;7905:10:199::1;3085:1:201;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;-1:-1:-1;;;;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;7923:21:199::2;7947:23:::0;;;:13:::2;:23;::::0;;;;;;8056:12;;::::2;:19:::0;7947:23;;8082:141:::2;8106:9;8102:1;:13;8082:141;;;8153:11;-1:-1:-1::0;;;;;8134:30:199::2;:6;:12;;8147:1;8134:15;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;-1:-1:-1;;;;;8134:15:199::2;:30:::0;8130:86:::2;;8181:34;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;8181:34:199::2;::::0;::::2;::::0;8174:42;;-1:-1:-1;;;8174:42:199;;::::2;::::0;8181:34;8174:42:::2;;;:::i;8130:86::-;8117:3;;8082:141;;;-1:-1:-1::0;8229:12:199::2;::::0;::::2;:30:::0;;::::2;::::0;;::::2;::::0;;-1:-1:-1;8229:30:199;;;::::2;::::0;;;;;;::::2;::::0;;-1:-1:-1;;;;;;8229:30:199::2;-1:-1:-1::0;;;;;8229:30:199;::::2;::::0;;::::2;::::0;;;8271:51:::2;::::0;;23019:25:654;;;23060:18;;;23053:60;;;;23129:18;;23122:50;8271:51:199::2;::::0;23007:2:654;22992:18;8271:51:199::2;;;;;;;;7917:410;;3412:1:201::1;7788:539:199::0;;;:::o;1711:904:193:-;1842:10;3799:42:201;:24;1842:10:193;3799:33:201;:42::i;:::-;3794:91;;3856:28;;;;;;;;;;;-1:-1:-1;;;3856:28:201;;;;3849:36;;-1:-1:-1;;;3849:36:201;;;;3856:28;3849:36;;;:::i;3794:91::-;-1:-1:-1;;;;;;;1864:31:193;::::1;::::0;1860:72:::1;;1904:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1904:27:193::1;::::0;::::1;::::0;1897:35;;-1:-1:-1;;;1897:35:193;;::::1;::::0;1904:27;1897:35:::1;;;:::i;1860:72::-;1958:1;1942:17:::0;;;1938:58:::1;;1968:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1968:27:193::1;::::0;::::1;::::0;1961:35;;-1:-1:-1;;;1961:35:193;;::::1;::::0;1968:27;1961:35:::1;;;:::i;1938:58::-;2008:34;:20;2038:3:::0;2008:29:::1;:34::i;:::-;2003:85;;2052:29;:20;2077:3:::0;2052:24:::1;:29::i;:::-;;2003:85;2162:24;2189:21:::0;;;:16:::1;:21;::::0;;;;:28;;2223:258:::1;2247:16;2243:1;:20;2223:258;;;2282:2;:21:::0;;;:16:::1;:21;::::0;;;;:24;;-1:-1:-1;;;;;2282:51:193;::::1;::::0;:21;2304:1;;2282:24;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:36:::1;:24;::::0;;::::1;;:36;::::0;-1:-1:-1;;;;;2282:36:193::1;:51:::0;2278:197:::1;;2345:2;:21:::0;;;:16:::1;:21;::::0;;;;:24;;2378:5;;;;2367:1;;2345:24;::::1;;;;;:::i;:::-;;;;;;;;;;;:30;;:38;;;;;;;:::i;:::-;;-1:-1:-1::0;;;;;;;;;;;2419:3:193::1;2424:11;2437:5;;2444;2398:52;;;;;;;;;;:::i;:::-;;;;;;;;2460:7;;;;2278:197;2265:3;;2223:258;;;;2487:2;:16;;:21;2504:3;2487:21;;;;;;;;;;;2514:32;;;;;;;;2522:3;2514:32;;;;2527:11;-1:-1:-1::0;;;;;2514:32:193::1;;;;;2540:5;;2514:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2514:32:193;;;;-1:-1:-1;;2487:60:193;;::::1;::::0;;::::1;::::0;;;;;::::1;::::0;;;;;;::::1;::::0;;::::1;;::::0;;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;2487:60:193::1;-1:-1:-1::0;;;;;2487:60:193;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;2487:60:193::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;-1:-1:-1::0;;;;;;;;;;;2579:3:193::1;2584:11;2597:5;;2604;2558:52;;;;;;;;;;:::i;3891:1:201:-;1711:904:193::0;;;;;:::o;3201:254:195:-;3247:13;3268:19;3301:17;:8;:15;:17::i;:::-;-1:-1:-1;;;;;3290:29:195;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3290:29:195;;;;;;;;;;;;;;;;;3268:51;;3331:9;3326:106;3350:17;:8;:15;:17::i;:::-;3346:1;:21;3326:106;;;3393:16;:2;3410:14;:8;3422:1;3410:11;:14::i;:::-;-1:-1:-1;;;;;3393:32:195;;;;;;;;;;;;;;-1:-1:-1;3393:32:195;3382:43;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3382:43:195;;;-1:-1:-1;;3382:43:195;;;;-1:-1:-1;;;;;3382:43:195;;;;;;;;;;;;;;;;;;;;:8;;:5;;3388:1;;3382:8;;;;;;:::i;:::-;;;;;;;;;;:43;3369:3;;3326:106;;1359:466:197;293:8:564;:6;:8::i;:::-;-1:-1:-1;;;;;279:22:564;:10;-1:-1:-1;;;;;279:22:564;;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;17296:51:654;17269:18;;318:29:564;17150:203:654;275:79:564;1431:31:197::1;:12;1453:8:::0;1431:21:::1;:31::i;:::-;1426:90;;1477:38;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1477:38:197::1;::::0;::::1;::::0;1470:46;;-1:-1:-1;;;1470:46:197;;::::1;::::0;1477:38;1470:46:::1;;;:::i;1426:90::-;1582:9;1577:171;1601:17;:8;:15;:17::i;:::-;1597:1;:21;1577:171;;;-1:-1:-1::0;;;;;1637:53:197;::::1;:16;:2;1654:14;:8;1666:1:::0;1654:11:::1;:14::i;:::-;-1:-1:-1::0;;;;;1637:32:197;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;1637:32:197;:41:::1;;::::0;::::1;:53:::0;1633:108:::1;;1707:33;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1707:33:197::1;::::0;::::1;::::0;1700:41;;-1:-1:-1;;;1700:41:197;;::::1;::::0;1707:33;1700:41:::1;;;:::i;1633:108::-;1620:3;;1577:171;;;-1:-1:-1::0;1754:29:197::1;:12;1774:8:::0;1754:19:::1;:29::i;:::-;-1:-1:-1::0;1795:25:197::1;::::0;-1:-1:-1;;;;;1795:25:197;::::1;::::0;::::1;::::0;;;::::1;1359:466:::0;:::o;1394:476:195:-;-1:-1:-1;;;;;3490:22:201;;;:2;:22;;;:16;:22;;;;;:31;;;1469:11:195;;1482:10;;3490:31:201;:43;;3486:91;;3548:28;;;;;;;;;;;-1:-1:-1;;;3548:28:201;;;;3541:36;;-1:-1:-1;;;3541:36:201;;;;3548:28;3541:36;;;:::i;3486:91::-;-1:-1:-1;;;;;1504:29:195;;::::1;1557:1;1504:29:::0;;;:16:::1;:29;::::0;;;;:41:::1;;::::0;::::1;1500:118;;1576:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1576:34:195::1;::::0;::::1;::::0;1569:42;;-1:-1:-1;;;1569:42:195;;::::1;::::0;1576:34;1569:42:::1;;;:::i;1500:118::-;1668:18;-1:-1:-1::0;;;;;1628:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;:36;::::1;;:58;::::0;::::1;;;;;;:::i;:::-;;1624:129;;1703:42;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1703:42:195::1;::::0;::::1;::::0;1696:50;;-1:-1:-1;;;1696:50:195;;::::1;::::0;1703:42;1696:50:::1;;;:::i;1624:129::-;1759:28;:8;1775:11:::0;1759:15:::1;:28::i;:::-;-1:-1:-1::0;;;;;;1800:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;1793:36;;-1:-1:-1;;1793:36:195::1;::::0;;1800:29;1793:36:::1;::::0;;::::1;1800:2:::0;1793:36:::1;:::i;:::-;-1:-1:-1::0;1793:36:195::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;1793:36:195;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;1841:24:::1;::::0;-1:-1:-1;;;;;1841:24:195;::::1;::::0;::::1;::::0;1793:36:::1;::::0;1841:24:::1;1394:476:::0;;;:::o;3157:587:193:-;3272:10;3799:42:201;:24;3272:10:193;3799:33:201;:42::i;:::-;3794:91;;3856:28;;;;;;;;;;;-1:-1:-1;;;3856:28:201;;;;3849:36;;-1:-1:-1;;;3849:36:201;;;;3856:28;3849:36;;;:::i;3794:91::-;3290:10:193::1;3319:9:::0;3314:310:::1;3338:2;:21:::0;;;:16:::1;:21;::::0;;;;:28;3334:32;::::1;3314:310;;;3385:2;:21:::0;;;:16:::1;:21;::::0;;;;:24;;-1:-1:-1;;;;;3385:51:193;::::1;::::0;:21;3407:1;;3385:24;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:36:::1;:24;::::0;;::::1;;:36;::::0;-1:-1:-1;;;;;3385:36:193::1;:51:::0;3381:237:::1;;3475:2;:21:::0;;;:16:::1;:21;::::0;;;;3508:28;;:32:::1;::::0;3539:1:::1;::::0;3508:32:::1;:::i;:::-;3475:75;;;;;;;;:::i;:::-;;;;;;;;;;;3448:2;:16;;:21;3465:3;3448:21;;;;;;;;;;;3470:1;3448:24;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:102;;:24:::1;::::0;;::::1;;:102:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;3448:102:193::1;-1:-1:-1::0;;;;;3448:102:193;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;3560:2:193::1;:21:::0;;;:16:::1;:21;::::0;;;;:27;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;::::1;-1:-1:-1::0;;3560:27:193;;;;;::::1;;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;3560:27:193::1;::::0;;;::::1;;::::0;::::1;::::0;::::1;:::i;:::-;;;;;3605:4;3597:12;;3381:237;3368:3;;3314:310;;;;3635:5;3630:49;;3649:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3649:29:193::1;::::0;::::1;::::0;3642:37;;-1:-1:-1;;;3642:37:193;;::::1;::::0;3649:29;3642:37:::1;;;:::i;3630:49::-;3691:48;::::0;;15953:25:654;;;-1:-1:-1;;;;;16014:31:654;;16009:2;15994:18;;15987:59;16082:3;16062:18;;;16055:31;;;-1:-1:-1;16102:19:654;;;16095:30;3734:4:193::1;16192:2:654::0;16177:18;;16170:50;3691:48:193;;-1:-1:-1;;;;;;;;;;;3691:48:193;;;;16157:3:654;3691:48:193;;::::1;3284:460;3157:587:::0;;;:::o;737:220:197:-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;852:9:197::1;847:106;867:27:::0;;::::1;847:106;;;909:37;926:16;;943:1;926:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;909:16;:37::i;:::-;896:3;;847:106;;6444:95:199::0;6493:7;6515:19;6493:7;6515:17;:19::i;5282:121:193:-;293:8:564;:6;:8::i;:::-;-1:-1:-1;;;;;279:22:564;:10;-1:-1:-1;;;;;279:22:564;;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;17296:51:654;17269:18;;318:29:564;17150:203:654;275:79:564;5361:37:193::1;5390:7;5361:28;:37::i;6577:485:199:-:0;6659:7;;;6720:19;6659:7;6720:17;:19::i;:::-;6697:42;;6750:9;6745:294;6769:12;6765:1;:16;6745:294;;;6796:10;6809:16;6796:10;6823:1;6809:13;:16::i;:::-;6833:21;6857:17;;;:13;:17;;;;;6796:29;;-1:-1:-1;6882:151:199;6906:12;;;:19;6902:23;;6882:151;;;6965:11;-1:-1:-1;;;;;6946:30:199;:6;:12;;6959:1;6946:15;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;6946:15:199;:30;6942:83;;6990:7;;;;:::i;:::-;;;;7009:5;;6942:83;6927:3;;6882:151;;;;6788:251;;6783:3;;;;;6745:294;;;-1:-1:-1;7052:5:199;;6577:485;-1:-1:-1;;;6577:485:199:o;3090:107:195:-;3144:16;3175:17;:8;:15;:17::i;7100:650:199:-;7193:21;7216:4;7241;7232:5;:13;7228:54;;7254:27;;;;;;;;;;;-1:-1:-1;;;7254:27:199;;;;7247:35;;-1:-1:-1;;;7247:35:199;;;;7254:27;7247:35;;;:::i;7228:54::-;7289:19;7311;7289;7311:17;:19::i;:::-;7289:41;;7336:22;7368:11;7361:4;:18;:39;;7396:4;7361:39;;;7382:11;7361:39;7336:64;;7406:13;7439:5;7422:14;:22;:51;;7472:1;7422:51;;;7447:22;7464:5;7447:14;:22;:::i;:::-;7406:67;;7480:29;7531:5;-1:-1:-1;;;;;7512:25:199;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7480:57;;7549:9;7544:158;7568:5;7564:1;:9;7544:158;;;7588:10;7601:24;7615:9;7623:1;7615:5;:9;:::i;:::-;7601:2;;:13;:24::i;:::-;7646:49;;;;;;;;;;;-1:-1:-1;7676:17:199;;;:13;7646:49;7676:17;;;;;;;7646:49;;;;;;;;;;;;;;;-1:-1:-1;;;;;7646:49:199;;;;;;;-1:-1:-1;;;7646:49:199;;;;;;;;-1:-1:-1;;;7646:49:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;7588:37;;-1:-1:-1;7646:49:199;;;;;;;;7676:17;;7646:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7646:49:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;7633:7;7641:1;7633:10;;;;;;;;:::i;:::-;;;;;;;;;;:62;-1:-1:-1;7575:3:199;;7544:158;;;-1:-1:-1;7716:7:199;-1:-1:-1;;;7725:19:199;;;;-1:-1:-1;7100:650:199;;;;;:::o;2191:112::-;2250:4;2269:29;2250:4;2289:8;2269:19;:29::i;5067:146:193:-;5147:4;5166:42;:24;5200:7;5166:33;:42::i;4809:1209:199:-;4998:10;3085:1:201;3039:22;;;:16;:22;;;;;:34;;;-1:-1:-1;;;;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;5074:29:199::1;:2;5094:8:::0;5074:19:::1;:29::i;:::-;5069:88;;5120:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5120:29:199::1;::::0;::::1;::::0;5113:37;;-1:-1:-1;;;5113:37:199;;::::1;::::0;5120:29;5113:37:::1;;;:::i;5069:88::-;5163:21;5187:23:::0;;;:13:::1;:23;::::0;;;;592:1:::1;5285:12:::0;;::::1;::::0;-1:-1:-1;;;5285:12:199;::::1;:33:::0;5284:40;5280:102:::1;;5341:33;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5341:33:199::1;::::0;::::1;::::0;5334:41;;-1:-1:-1;;;5334:41:199;;::::1;::::0;5341:33;5334:41:::1;;;:::i;5280:102::-;5464:23;::::0;::::1;::::0;-1:-1:-1;;;;;5464:43:199;;::::1;:23:::0;::::1;:43;5460:99;;5524:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5524:27:199::1;::::0;::::1;::::0;5517:35;;-1:-1:-1;;;5517:35:199;;::::1;::::0;5524:27;5517:35:::1;;;:::i;5460:99::-;5604:2;:39:::0;;;:29:::1;:39;::::0;;;;5597:46:::1;::::0;::::1;:::i;:::-;5687:44:::0;;;5737:23:::1;::::0;::::1;:42:::0;;-1:-1:-1;;5737:42:199::1;-1:-1:-1::0;;;;;5737:42:199;::::1;;::::0;;5826:63;::::1;;;592:1;5848:12:::0;;::::1;:34:::0;;-1:-1:-1;;;;5848:34:199;::::1;-1:-1:-1::0;;;5848:34:199;;;::::1;-1:-1:-1::0;;;;;5848:34:199::1;::::0;;::::1;;::::0;;;::::1;::::0;;5826:63:::1;5900:113;::::0;;26821:25:654;;;26877:2;26862:18;;26855:34;;;-1:-1:-1;;;;;26925:31:654;;26905:18;;;26898:59;;;;27000:14;;26993:22;26988:2;26973:18;;26966:50;5900:113:199::1;::::0;26808:3:654;26793:19;5900:113:199::1;26598:424:654::0;1829:107:197;1879:16;1910:21;:12;:19;:21::i;8365:610:199:-;8466:8;3338:29:201;:2;8466:8:199;3338:19:201;:29::i;:::-;3333:73;;3376:29;;;;;;;;;;;-1:-1:-1;;;3376:29:201;;;;3369:37;;-1:-1:-1;;;3369:37:201;;;;3376:29;3369:37;;;:::i;3333:73::-;8485:10:199::1;3085:1:201;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;-1:-1:-1;;;;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;8503:21:199::2;8527:23:::0;;;:13:::2;:23;::::0;;;;;;8601:12;;::::2;:19:::0;8527:23;;8503:21;;8627:219:::2;8651:9;8647:1;:13;8627:219;;;8698:11;-1:-1:-1::0;;;;;8679:30:199::2;:6;:12;;8692:1;8679:15;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;-1:-1:-1;;;;;8679:15:199::2;:30:::0;8675:165:::2;;8739:12;::::0;::::2;8752:13;8764:1;8752:9:::0;:13:::2;:::i;:::-;8739:27;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;8721:12:::2;::::0;::::2;:15:::0;;-1:-1:-1;;;;;8739:27:199;;::::2;::::0;8734:1;;8721:15;::::2;;;;;:::i;:::-;;;;;;;;;:45;;;;;-1:-1:-1::0;;;;;8721:45:199::2;;;;;-1:-1:-1::0;;;;;8721:45:199::2;;;;;;8776:6;:12;;:18;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;-1:-1:-1;;8776:18:199;;;;;-1:-1:-1;;;;;;8776:18:199::2;::::0;;;;;::::2;::::0;-1:-1:-1;8826:5:199::2;;8675:165;8662:3;;8627:219;;;;8857:5;8852:54;;8871:34;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;8871:34:199::2;::::0;::::2;::::0;8864:42;;-1:-1:-1;;;8864:42:199;;::::2;::::0;8871:34;8864:42:::2;;;:::i;8852:54::-;8918:52;::::0;;23019:25:654;;;-1:-1:-1;;;;;23080:32:654;;23075:2;23060:18;;23053:60;8964:5:199::2;23129:18:654::0;;;23122:50;;;;8918:52:199::2;::::0;23007:2:654;22992:18;8918:52:199::2;22823:355:654::0;777:613:195;896:10;3204:31:201;:12;896:10:195;3204:21:201;:31::i;:::-;3199:74;;3244:28;;;;;;;;;;;-1:-1:-1;;;3244:28:201;;;;3237:36;;-1:-1:-1;;;3237:36:201;;;;3244:28;3237:36;;;:::i;3199:74::-;-1:-1:-1;;;;;979:29:195;;::::1;1032:1;979:29:::0;;;:16:::1;:29;::::0;;;;:41:::1;;::::0;::::1;:55:::0;975:109:::1;;1049:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1049:34:195::1;::::0;::::1;::::0;1042:42;;-1:-1:-1;;;1042:42:195;;::::1;::::0;1049:34;1042:42:::1;;;:::i;975:109::-;1091:19;1113:110;;;;;;;;1182:6;1113:110;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;1113:110:195;::::1;::::0;;;;1206:10:::1;1113:110:::0;;;;;1091:132;-1:-1:-1;1230:25:195::1;:8;1139:11:::0;1230:12:::1;:25::i;:::-;-1:-1:-1::0;;;;;;1287:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;:39;;;;1319:7;;1287:29;:39;:29;;-1:-1:-1;;1287:39:195::1;::::0;;::::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;1287:39:195::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;1287:39:195::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;1287:39:195;;::::1;-1:-1:-1::0;;;;;1287:39:195;;::::1;;::::0;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;1338:47;;1361:10:::1;::::0;1338:47;::::1;::::0;::::1;::::0;::::1;::::0;1373:3;;1378:6;;1338:47:::1;:::i;:::-;;;;;;;;908:482;777:613:::0;;;;:::o;1509:123:193:-;1574:4;1593:34;:20;1623:3;1593:29;:34::i;2307:2464:199:-;2406:10;3085:1:201;3039:22;;;:16;:22;;;;;:34;;;-1:-1:-1;;;;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;2449:10:199;2424:22:::1;2477:19:::0;;;2473:60:::1;;2505:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;2505:27:199::1;::::0;::::1;::::0;2498:35;;-1:-1:-1;;;2498:35:199;;::::1;::::0;2505:27;2498:35:::1;;;:::i;2473:60::-;2545:9;2540:2227;2564:14;2560:1;:18;2540:2227;;;2593:31;2627:10;;2638:1;2627:13;;;;;;;:::i;:::-;;;::::0;;;::::1;::::0;-1:-1:-1;2654:39:199::1;::::0;-1:-1:-1;2674:18:199::1;::::0;::::1;2654:19;:39::i;:::-;2649:277;;2710:189;2753:18:::0;::::1;2783:27;::::0;::::1;;2822:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;2860:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;2860:29:199::1;::::0;::::1;::::0;2710:189;;::::1;::::0;;;;2860:29;2710:189:::1;:::i;:::-;;;;;;;;2909:8;;;2649:277;2972:18:::0;::::1;2934:21;2958:33:::0;;;:13:::1;:33;::::0;;;;592:1:::1;3070:12:::0;;::::1;::::0;-1:-1:-1;;;3070:12:199;::::1;:33:::0;3069:40;3065:281:::1;;3126:193;3169:18:::0;::::1;3199:27;::::0;::::1;;3238:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;3276:33;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3276:33:199::1;::::0;::::1;::::0;3126:193;;::::1;::::0;;;;3276:33;3126:193:::1;:::i;:::-;;;;;;;;3329:8;;;;3065:281;4190:23;::::0;::::1;::::0;-1:-1:-1;;;;;4190:23:199::1;;:28:::0;4186:109:::1;;4267:18:::0;::::1;4237:2;:49:::0;;;:29:::1;:49;::::0;;;;4230:56:::1;::::0;::::1;:::i;:::-;4369:27;::::0;::::1;;4342:54:::0;;4430:26:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;4404:23;::::0;::::1;:52:::0;;-1:-1:-1;;4404:52:199::1;-1:-1:-1::0;;;;;4404:52:199;;;::::1;::::0;;;::::1;::::0;;4511:18:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;4507:77;;;592:1;4541:12:::0;;::::1;:34:::0;;-1:-1:-1;;;;4541:34:199;::::1;-1:-1:-1::0;;;4541:34:199;;;::::1;-1:-1:-1::0;;;;;4541:34:199::1;::::0;;::::1;;::::0;;;::::1;::::0;;4507:77:::1;4597:163;4633:18:::0;::::1;4661:27;::::0;::::1;;4698:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;4734:18;::::0;;;::::1;::::0;::::1;;:::i;:::-;4597:163;;;;;;;;26821:25:654::0;;;26877:2;26862:18;;26855:34;;;;-1:-1:-1;;;;;26925:31:654;26920:2;26905:18;;26898:59;27000:14;26993:22;26988:2;26973:18;;26966:50;26808:3;26793:19;;26598:424;4597:163:199::1;;;;;;;;2585:2182;;2540:2227;2580:3;;2540:2227;;8844:165:511::0;-1:-1:-1;;;;;8977:23:511;;8924:4;4360:21;;;:14;;;:21;;;;;;:26;;8947:55;8940:62;8844:165;-1:-1:-1;;;8844:165:511:o;6431:138::-;6511:4;4360:21;;;:14;;;:21;;;;;;:26;;6534:28;4264:129;6221;6294:4;6317:26;6325:3;6337:5;6317:7;:26::i;6650:115::-;6713:7;6739:19;6747:3;4556:18;;4474:107;7107:129;7181:7;7207:22;7211:3;7223:5;7207:3;:22::i;369:103:564:-;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;;369:103::o;2115:320:197:-;-1:-1:-1;;;;;2211:22:197;;2207:63;;2242:27;;;;;;;;;;;-1:-1:-1;;;2242:27:197;;;;2235:35;;-1:-1:-1;;;2235:35:197;;;;2242:27;2235:35;;;:::i;2207:63::-;2281:31;:12;2303:8;2281:21;:31::i;:::-;2277:85;;;2327:34;;;;;;;;;;;-1:-1:-1;;;2327:34:197;;;;2320:42;;-1:-1:-1;;;2320:42:197;;;;2327:34;2320:42;;;:::i;2277:85::-;2369:26;:12;2386:8;2369:16;:26::i;:::-;-1:-1:-1;2407:23:197;;-1:-1:-1;;;;;2407:23:197;;;;;;;;2115:320;:::o;6036:282:193:-;-1:-1:-1;;;;;6110:21:193;;6106:62;;6140:27;;;;;;;;;;;-1:-1:-1;;;6140:27:193;;;;6133:35;;-1:-1:-1;;;6133:35:193;;;;6140:27;6133:35;;;:::i;6106:62::-;6180:37;:24;6209:7;6180:28;:37::i;:::-;6175:92;;6232:34;;;;;;;;;;;-1:-1:-1;;;6232:34:193;;;;6225:42;;-1:-1:-1;;;6225:42:193;;;;6232:34;6225:42;;;:::i;6175:92::-;6279:34;;-1:-1:-1;;;;;6279:34:193;;;;;;;;6036:282;:::o;3459:624:195:-;3583:25;3575:4;:33;;;;;;;;:::i;:::-;;:141;;;-1:-1:-1;3627:21:195;3619:4;:29;;;;;;;;:::i;:::-;;:96;;;;-1:-1:-1;3667:17:195;3661:2;:23;;;;;;;;:::i;:::-;;:53;;;-1:-1:-1;3694:20:195;3688:2;:26;;;;;;;;:::i;:::-;;3661:53;3575:250;;;-1:-1:-1;3735:22:195;3727:4;:30;;;;;;;;:::i;:::-;;:97;;;;-1:-1:-1;3776:17:195;3770:2;:23;;;;;;;;:::i;:::-;;:53;;;-1:-1:-1;3803:20:195;3797:2;:26;;;;;;;;:::i;:::-;;3770:53;3575:355;;;-1:-1:-1;3844:20:195;3836:4;:28;;;;;;;;:::i;:::-;;:93;;;;-1:-1:-1;3883:17:195;3877:2;:23;;;;;;;;:::i;:::-;;:51;;;-1:-1:-1;3910:18:195;3904:2;:24;;;;;;;;:::i;:::-;;3877:51;3575:420;;;-1:-1:-1;3949:17:195;3941:4;:25;;;;;;;;:::i;:::-;;:53;;;;-1:-1:-1;3976:18:195;3970:2;:24;;;;;;;;:::i;:::-;;3941:53;3564:459;;;3459:624;;:::o;3564:459::-;4035:42;;;;;;;;;;;-1:-1:-1;;;4035:42:195;;;;4028:50;;-1:-1:-1;;;4028:50:195;;;;4035:42;4028:50;;;:::i;5930:123:511:-;6000:4;6023:23;6028:3;6040:5;6023:4;:23::i;8607:156::-;8680:4;8703:53;8711:3;-1:-1:-1;;;;;8731:23:511;;8703:7;:53::i;10243:273::-;10306:16;10334:22;10359:19;10367:3;10359:7;:19::i;8289:150::-;8359:4;8382:50;8387:3;-1:-1:-1;;;;;8407:23:511;;8382:4;:50::i;2815:1368::-;2881:4;3010:21;;;:14;;;:21;;;;;;3046:13;;3042:1135;;3413:18;3434:12;3445:1;3434:8;:12;:::i;:::-;3480:18;;3413:33;;-1:-1:-1;3460:17:511;;3480:22;;3501:1;;3480:22;:::i;:::-;3460:42;;3535:9;3521:10;:23;3517:378;;3564:17;3584:3;:11;;3596:9;3584:22;;;;;;;;:::i;:::-;;;;;;;;;3564:42;;3731:9;3705:3;:11;;3717:10;3705:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:35;;;;3844:25;;;:14;;;:25;;;;;:36;;;3517:378;3973:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4076:3;:14;;:21;4091:5;4076:21;;;;;;;;;;;4069:28;;;4119:4;4112:11;;;;;;;3042:1135;4161:5;4154:12;;;;;4923:118;4990:7;5016:3;:11;;5028:5;5016:18;;;;;;;;:::i;:::-;;;;;;;;;5009:25;;4923:118;;;;:::o;2241:406::-;2304:4;4360:21;;;:14;;;:21;;;;;;2320:321;;-1:-1:-1;2362:23:511;;;;;;;;:11;:23;;;;;;;;;;;;;2544:18;;2520:21;;;:14;;;:21;;;;;;:42;;;;2576:11;;2320:321;-1:-1:-1;2625:5:511;2618:12;;5581:109;5637:16;5672:3;:11;;5665:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5581:109;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;14:173:654;82:20;;-1:-1:-1;;;;;131:31:654;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;575:180::-;634:6;687:2;675:9;666:7;662:23;658:32;655:52;;;703:1;700;693:12;655:52;-1:-1:-1;726:23:654;;575:180;-1:-1:-1;575:180:654:o;760:250::-;845:1;855:113;869:6;866:1;863:13;855:113;;;945:11;;;939:18;926:11;;;919:39;891:2;884:10;855:113;;;-1:-1:-1;;1002:1:654;984:16;;977:27;760:250::o;1015:270::-;1056:3;1094:5;1088:12;1121:6;1116:3;1109:19;1137:76;1206:6;1199:4;1194:3;1190:14;1183:4;1176:5;1172:16;1137:76;:::i;:::-;1267:2;1246:15;-1:-1:-1;;1242:29:654;1233:39;;;;1274:4;1229:50;;1015:270;-1:-1:-1;;1015:270:654:o;1290:1136::-;1484:4;1513:2;1553;1542:9;1538:18;1583:2;1572:9;1565:21;1606:6;1641;1635:13;1672:6;1664;1657:22;1698:2;1688:12;;1731:2;1720:9;1716:18;1709:25;;1793:2;1783:6;1780:1;1776:14;1765:9;1761:30;1757:39;1831:2;1823:6;1819:15;1852:1;1862:535;1876:6;1873:1;1870:13;1862:535;;;1941:22;;;-1:-1:-1;;1937:36:654;1925:49;;1997:13;;2065:9;;2050:25;;2122:11;;;2116:18;-1:-1:-1;;;;;2112:43:654;2095:15;;;2088:68;2195:11;;2189:18;2033:4;2227:15;;;2220:27;;;2270:47;2301:15;;;2189:18;2270:47;:::i;:::-;2375:12;;;;2260:57;-1:-1:-1;;;2340:15:654;;;;1898:1;1891:9;1862:535;;;-1:-1:-1;2414:6:654;;1290:1136;-1:-1:-1;;;;;;;;1290:1136:654:o;2431:948::-;2480:3;2519:4;2514:3;2510:14;2551:5;2545:12;2540:3;2533:25;2577:4;2627;2620:5;2616:16;2610:23;-1:-1:-1;;;;;2720:2:654;2706:12;2702:21;2695:4;2690:3;2686:14;2679:45;2785:2;2777:4;2770:5;2766:16;2760:23;2756:32;2749:4;2744:3;2740:14;2733:56;2850:2;2842:4;2835:5;2831:16;2825:23;2821:32;2814:4;2809:3;2805:14;2798:56;;;2902:4;2895:5;2891:16;2885:23;2940:4;2933;2928:3;2924:14;2917:28;2967:4;3000:14;2994:21;3037:6;3031:4;3024:20;3071:3;3066;3062:13;3053:22;;3118:4;3102:14;3098:25;3084:39;;3141:1;3132:10;;3151:201;3165:6;3162:1;3159:13;3151:201;;;3232:13;;-1:-1:-1;;;;;3228:39:654;3214:54;;3327:15;;;;3264:1;3180:9;;;;;3290:14;;;;3151:201;;;-1:-1:-1;3368:5:654;2431:948;-1:-1:-1;;;;;;2431:948:654:o;3384:257::-;3563:2;3552:9;3545:21;3526:4;3583:52;3631:2;3620:9;3616:18;3608:6;3583:52;:::i;3646:615::-;3732:6;3740;3793:2;3781:9;3772:7;3768:23;3764:32;3761:52;;;3809:1;3806;3799:12;3761:52;3849:9;3836:23;-1:-1:-1;;;;;3919:2:654;3911:6;3908:14;3905:34;;;3935:1;3932;3925:12;3905:34;3973:6;3962:9;3958:22;3948:32;;4018:7;4011:4;4007:2;4003:13;3999:27;3989:55;;4040:1;4037;4030:12;3989:55;4080:2;4067:16;4106:2;4098:6;4095:14;4092:34;;;4122:1;4119;4112:12;4092:34;4175:7;4170:2;4160:6;4157:1;4153:14;4149:2;4145:23;4141:32;4138:45;4135:65;;;4196:1;4193;4186:12;4135:65;4227:2;4219:11;;;;;4249:6;;-1:-1:-1;3646:615:654;;-1:-1:-1;;;;3646:615:654:o;4448:488::-;4701:2;4690:9;4683:21;4664:4;4727:52;4775:2;4764:9;4760:18;4752:6;4727:52;:::i;:::-;4815:6;4810:2;4799:9;4795:18;4788:34;4870:9;4862:6;4858:22;4853:2;4842:9;4838:18;4831:50;4898:32;4923:6;4915;4898:32;:::i;:::-;4890:40;4448:488;-1:-1:-1;;;;;;4448:488:654:o;4941:151::-;5017:20;;5066:1;5056:12;;5046:40;;5082:1;5079;5072:12;5097:284;5181:6;5189;5242:2;5230:9;5221:7;5217:23;5213:32;5210:52;;;5258:1;5255;5248:12;5210:52;5281:29;5300:9;5281:29;:::i;:::-;5271:39;;5329:46;5371:2;5360:9;5356:18;5329:46;:::i;:::-;5319:56;;5097:284;;;;;:::o;5386:127::-;5447:10;5442:3;5438:20;5435:1;5428:31;5478:4;5475:1;5468:15;5502:4;5499:1;5492:15;5518:275;5589:2;5583:9;5654:2;5635:13;;-1:-1:-1;;5631:27:654;5619:40;;-1:-1:-1;;;;;5674:34:654;;5710:22;;;5671:62;5668:88;;;5736:18;;:::i;:::-;5772:2;5765:22;5518:275;;-1:-1:-1;5518:275:654:o;5798:530::-;5840:5;5893:3;5886:4;5878:6;5874:17;5870:27;5860:55;;5911:1;5908;5901:12;5860:55;5947:6;5934:20;-1:-1:-1;;;;;5969:2:654;5966:26;5963:52;;;5995:18;;:::i;:::-;6039:55;6082:2;6063:13;;-1:-1:-1;;6059:27:654;6088:4;6055:38;6039:55;:::i;:::-;6119:2;6110:7;6103:19;6165:3;6158:4;6153:2;6145:6;6141:15;6137:26;6134:35;6131:55;;;6182:1;6179;6172:12;6131:55;6247:2;6240:4;6232:6;6228:17;6221:4;6212:7;6208:18;6195:55;6295:1;6270:16;;;6288:4;6266:27;6259:38;;;;6274:7;5798:530;-1:-1:-1;;;5798:530:654:o;6333:1287::-;6453:6;6461;6469;6477;6530:3;6518:9;6509:7;6505:23;6501:33;6498:53;;;6547:1;6544;6537:12;6498:53;6583:9;6570:23;6560:33;;6612:2;6665;6654:9;6650:18;6637:32;-1:-1:-1;;;;;6729:2:654;6721:6;6718:14;6715:34;;;6745:1;6742;6735:12;6715:34;6783:6;6772:9;6768:22;6758:32;;6828:7;6821:4;6817:2;6813:13;6809:27;6799:55;;6850:1;6847;6840:12;6799:55;6886:2;6873:16;6908:2;6904;6901:10;6898:36;;;6914:18;;:::i;:::-;6960:2;6957:1;6953:10;6983:28;7007:2;7003;6999:11;6983:28;:::i;:::-;7045:15;;;7115:11;;;7111:20;;;7076:12;;;;7143:19;;;7140:39;;;7175:1;7172;7165:12;7140:39;7199:11;;;;7219:148;7235:6;7230:3;7227:15;7219:148;;;7301:23;7320:3;7301:23;:::i;:::-;7289:36;;7252:12;;;;7345;;;;7219:148;;;7386:5;-1:-1:-1;;;;7438:2:654;7423:18;;7410:32;;-1:-1:-1;7495:2:654;7480:18;;7467:32;;-1:-1:-1;7511:16:654;;;7508:36;;;7540:1;7537;7530:12;7508:36;;;7563:51;7606:7;7595:8;7584:9;7580:24;7563:51;:::i;:::-;7553:61;;;6333:1287;;;;;;;:::o;7625:395::-;7703:6;7711;7764:2;7752:9;7743:7;7739:23;7735:32;7732:52;;;7780:1;7777;7770:12;7732:52;7803:29;7822:9;7803:29;:::i;:::-;7793:39;;7883:2;7872:9;7868:18;7855:32;-1:-1:-1;;;;;7902:6:654;7899:30;7896:50;;;7942:1;7939;7932:12;7896:50;7965:49;8006:7;7997:6;7986:9;7982:22;7965:49;:::i;:::-;7955:59;;;7625:395;;;;;:::o;8025:127::-;8086:10;8081:3;8077:20;8074:1;8067:31;8117:4;8114:1;8107:15;8141:4;8138:1;8131:15;8157:238;8239:1;8232:5;8229:12;8219:143;;8284:10;8279:3;8275:20;8272:1;8265:31;8319:4;8316:1;8309:15;8347:4;8344:1;8337:15;8219:143;8371:18;;8157:238::o;8400:505::-;8465:45;8506:3;8498:5;8492:12;8465:45;:::i;:::-;8447:3;8556:4;8549:5;8545:16;8539:23;8594:4;8587;8582:3;8578:14;8571:28;8620:46;8660:4;8655:3;8651:14;8637:12;8620:46;:::i;:::-;8714:4;8703:16;;;8697:23;-1:-1:-1;;;;;8790:23:654;;;8774:14;;;8767:47;;;;8867:4;8856:16;;;8850:23;8846:32;8830:14;;;;8823:56;;;;-1:-1:-1;8608:58:654;;8400:505;-1:-1:-1;8400:505:654:o;8910:251::-;9085:2;9074:9;9067:21;9048:4;9105:50;9151:2;9140:9;9136:18;9128:6;9105:50;:::i;9166:254::-;9234:6;9242;9295:2;9283:9;9274:7;9270:23;9266:32;9263:52;;;9311:1;9308;9301:12;9263:52;9347:9;9334:23;9324:33;;9376:38;9410:2;9399:9;9395:18;9376:38;:::i;9425:171::-;9492:20;;-1:-1:-1;;;;;9541:30:654;;9531:41;;9521:69;;9586:1;9583;9576:12;9601:731;9688:6;9696;9704;9712;9765:2;9753:9;9744:7;9740:23;9736:32;9733:52;;;9781:1;9778;9771:12;9733:52;9817:9;9804:23;9794:33;;9846:37;9879:2;9868:9;9864:18;9846:37;:::i;:::-;9836:47;;9934:2;9923:9;9919:18;9906:32;-1:-1:-1;;;;;9998:2:654;9990:6;9987:14;9984:34;;;10014:1;10011;10004:12;9984:34;10052:6;10041:9;10037:22;10027:32;;10097:7;10090:4;10086:2;10082:13;10078:27;10068:55;;10119:1;10116;10109:12;10068:55;10159:2;10146:16;10185:2;10177:6;10174:14;10171:34;;;10201:1;10198;10191:12;10171:34;10246:7;10241:2;10232:6;10228:2;10224:15;10220:24;10217:37;10214:57;;;10267:1;10264;10257:12;10214:57;9601:731;;;;-1:-1:-1;;10298:2:654;10290:11;;-1:-1:-1;;;9601:731:654:o;10337:834::-;10525:4;10554:2;10594;10583:9;10579:18;10624:2;10613:9;10606:21;10647:6;10682;10676:13;10713:6;10705;10698:22;10751:2;10740:9;10736:18;10729:25;;10813:2;10803:6;10800:1;10796:14;10785:9;10781:30;10777:39;10763:53;;10851:2;10843:6;10839:15;10872:1;10882:260;10896:6;10893:1;10890:13;10882:260;;;10989:2;10985:7;10973:9;10965:6;10961:22;10957:36;10952:3;10945:49;11017:45;11055:6;11046;11040:13;11017:45;:::i;:::-;11007:55;-1:-1:-1;11120:12:654;;;;11085:15;;;;10918:1;10911:9;10882:260;;;-1:-1:-1;11159:6:654;;10337:834;-1:-1:-1;;;;;;;10337:834:654:o;11176:252::-;11243:6;11251;11304:2;11292:9;11283:7;11279:23;11275:32;11272:52;;;11320:1;11317;11310:12;11272:52;11356:9;11343:23;11333:33;;11385:37;11418:2;11407:9;11403:18;11385:37;:::i;11433:465::-;11486:3;11524:5;11518:12;11551:6;11546:3;11539:19;11577:4;11606;11601:3;11597:14;11590:21;;11645:4;11638:5;11634:16;11668:1;11678:195;11692:6;11689:1;11686:13;11678:195;;;11757:13;;-1:-1:-1;;;;;11753:39:654;11741:52;;11813:12;;;;11848:15;;;;11789:1;11707:9;11678:195;;;-1:-1:-1;11889:3:654;;11433:465;-1:-1:-1;;;;;11433:465:654:o;11903:261::-;12082:2;12071:9;12064:21;12045:4;12102:56;12154:2;12143:9;12139:18;12131:6;12102:56;:::i;12169:248::-;12237:6;12245;12298:2;12286:9;12277:7;12273:23;12269:32;12266:52;;;12314:1;12311;12304:12;12266:52;-1:-1:-1;;12337:23:654;;;12407:2;12392:18;;;12379:32;;-1:-1:-1;12169:248:654:o;12422:1129::-;12648:4;12677:2;12717;12706:9;12702:18;12747:2;12736:9;12729:21;12770:6;12805;12799:13;12836:6;12828;12821:22;12874:2;12863:9;12859:18;12852:25;;12936:2;12926:6;12923:1;12919:14;12908:9;12904:30;12900:39;12886:53;;12958:4;12997:2;12989:6;12985:15;13018:1;13028:435;13042:6;13039:1;13036:13;13028:435;;;13107:22;;;-1:-1:-1;;13103:36:654;13091:49;;13163:13;;13204:9;;13189:25;;13253:11;;13247:18;13285:15;;;13278:27;;;13328:55;13367:15;;;13247:18;13328:55;:::i;:::-;13318:65;-1:-1:-1;;13441:12:654;;;;13406:15;;;;13064:1;13057:9;13028:435;;;-1:-1:-1;;13529:14:654;;13522:22;13502:18;;;;13495:50;;;;13480:6;12422:1129;-1:-1:-1;;;;;12422:1129:654:o;13556:160::-;13621:20;;13677:13;;13670:21;13660:32;;13650:60;;13706:1;13703;13696:12;13721:458;13812:6;13820;13828;13836;13844;13897:3;13885:9;13876:7;13872:23;13868:33;13865:53;;;13914:1;13911;13904:12;13865:53;13950:9;13937:23;13927:33;;14007:2;13996:9;13992:18;13979:32;13969:42;;14058:2;14047:9;14043:18;14030:32;14020:42;;14081:37;14114:2;14103:9;14099:18;14081:37;:::i;:::-;14071:47;;14137:36;14168:3;14157:9;14153:19;14137:36;:::i;:::-;14127:46;;13721:458;;;;;;;;:::o;14184:493::-;14287:6;14295;14303;14356:2;14344:9;14335:7;14331:23;14327:32;14324:52;;;14372:1;14369;14362:12;14324:52;14395:29;14414:9;14395:29;:::i;:::-;14385:39;;14475:2;14464:9;14460:18;14447:32;-1:-1:-1;;;;;14494:6:654;14491:30;14488:50;;;14534:1;14531;14524:12;14488:50;14557:49;14598:7;14589:6;14578:9;14574:22;14557:49;:::i;:::-;14547:59;;;14625:46;14667:2;14656:9;14652:18;14625:46;:::i;:::-;14615:56;;14184:493;;;;;:::o;14682:651::-;14801:6;14809;14862:2;14850:9;14841:7;14837:23;14833:32;14830:52;;;14878:1;14875;14868:12;14830:52;14918:9;14905:23;-1:-1:-1;;;;;14988:2:654;14980:6;14977:14;14974:34;;;15004:1;15001;14994:12;14974:34;15042:6;15031:9;15027:22;15017:32;;15087:7;15080:4;15076:2;15072:13;15068:27;15058:55;;15109:1;15106;15099:12;15058:55;15149:2;15136:16;15175:2;15167:6;15164:14;15161:34;;;15191:1;15188;15181:12;15161:34;15247:7;15242:2;15234:4;15226:6;15222:17;15218:2;15214:26;15210:35;15207:48;15204:68;;;15268:1;15265;15258:12;15338:219;15487:2;15476:9;15469:21;15450:4;15507:44;15547:2;15536:9;15532:18;15524:6;15507:44;:::i;15562:127::-;15623:10;15618:3;15614:20;15611:1;15604:31;15654:4;15651:1;15644:15;15678:4;15675:1;15668:15;16231:127;16292:10;16287:3;16283:20;16280:1;16273:31;16323:4;16320:1;16313:15;16347:4;16344:1;16337:15;16363:125;16428:9;;;16449:10;;;16446:36;;;16462:18;;:::i;16493:380::-;16572:1;16568:12;;;;16615;;;16636:61;;16690:4;16682:6;16678:17;16668:27;;16636:61;16743:2;16735:6;16732:14;16712:18;16709:38;16706:161;;16789:10;16784:3;16780:20;16777:1;16770:31;16824:4;16821:1;16814:15;16852:4;16849:1;16842:15;16878:127;16939:10;16934:3;16930:20;16927:1;16920:31;16970:4;16967:1;16960:15;16994:4;16991:1;16984:15;17010:135;17049:3;17070:17;;;17067:43;;17090:18;;:::i;:::-;-1:-1:-1;17137:1:654;17126:13;;17010:135::o;17358:211::-;17506:2;17491:18;;17518:45;17495:9;17545:6;17518:45;:::i;17699:542::-;17800:2;17795:3;17792:11;17789:446;;;17836:1;17860:5;17857:1;17850:16;17904:4;17901:1;17891:18;17974:2;17962:10;17958:19;17955:1;17951:27;17945:4;17941:38;18010:4;17998:10;17995:20;17992:47;;;-1:-1:-1;18033:4:654;17992:47;18088:2;18083:3;18079:12;18076:1;18072:20;18066:4;18062:31;18052:41;;18143:82;18161:2;18154:5;18151:13;18143:82;;;18206:17;;;18187:1;18176:13;18143:82;;;18147:3;;;17699:542;;;:::o;18246:166::-;-1:-1:-1;;18374:1:654;18370:11;;;18366:24;18362:29;18352:40;18398:1;18394:11;;;;18349:57;;18246:166::o;18417:1341::-;18541:3;18535:10;-1:-1:-1;;;;;18560:6:654;18557:30;18554:56;;;18590:18;;:::i;:::-;18619:96;18708:6;18668:38;18700:4;18694:11;18668:38;:::i;:::-;18662:4;18619:96;:::i;:::-;18770:4;;18827:2;18816:14;;18844:1;18839:662;;;;19545:1;19562:6;19559:89;;;-1:-1:-1;19614:19:654;;;19608:26;19559:89;19674:67;19734:6;19727:5;19674:67;:::i;:::-;19668:4;19661:81;;18809:943;;18839:662;17646:1;17639:14;;;17683:4;17670:18;;-1:-1:-1;;18875:20:654;;;18992:236;19006:7;19003:1;19000:14;18992:236;;;19095:19;;;19089:26;19074:42;;19187:27;;;;19155:1;19143:14;;;;19022:19;;18992:236;;;18996:3;19256:6;19247:7;19244:19;19241:201;;;19317:19;;;19311:26;-1:-1:-1;;19400:1:654;19396:14;;;19412:3;19392:24;19388:37;19384:42;19369:58;19354:74;;19241:201;-1:-1:-1;;;;;19488:1:654;19472:14;;;19468:22;19455:36;;-1:-1:-1;18417:1341:654:o;19763:565::-;20044:6;20033:9;20026:25;20087:3;20082:2;20071:9;20067:18;20060:31;20007:4;20114:57;20166:3;20155:9;20151:19;20143:6;20114:57;:::i;:::-;20207:6;20202:2;20191:9;20187:18;20180:34;20262:9;20254:6;20250:22;20245:2;20234:9;20230:18;20223:50;20290:32;20315:6;20307;20290:32;:::i;:::-;20282:40;19763:565;-1:-1:-1;;;;;;;19763:565:654:o;20333:289::-;20464:3;20502:6;20496:13;20518:66;20577:6;20572:3;20565:4;20557:6;20553:17;20518:66;:::i;:::-;20600:16;;;;;20333:289;-1:-1:-1;;20333:289:654:o;20627:843::-;20755:3;20784:1;20817:6;20811:13;20847:36;20873:9;20847:36;:::i;:::-;20902:1;20919:17;;;20945:133;;;;21092:1;21087:358;;;;20912:533;;20945:133;-1:-1:-1;;20978:24:654;;20966:37;;21051:14;;21044:22;21032:35;;21023:45;;;-1:-1:-1;20945:133:654;;21087:358;21118:6;21115:1;21108:17;21148:4;21193;21190:1;21180:18;21220:1;21234:165;21248:6;21245:1;21242:13;21234:165;;;21326:14;;21313:11;;;21306:35;21369:16;;;;21263:10;;21234:165;;;21238:3;;;21428:6;21423:3;21419:16;21412:23;;20912:533;-1:-1:-1;21461:3:654;;20627:843;-1:-1:-1;;;;;;20627:843:654:o;23183:1202::-;-1:-1:-1;;;;;23300:3:654;23297:27;23294:53;;;23327:18;;:::i;:::-;23356:93;23445:3;23405:38;23437:4;23431:11;23405:38;:::i;:::-;23399:4;23356:93;:::i;:::-;23475:1;23500:2;23495:3;23492:11;23517:1;23512:615;;;;24171:1;24188:3;24185:93;;;-1:-1:-1;24244:19:654;;;24231:33;24185:93;24304:64;24364:3;24357:5;24304:64;:::i;:::-;24298:4;24291:78;;23485:894;;23512:615;17646:1;17639:14;;;17683:4;17670:18;;-1:-1:-1;;23548:17:654;;;23648:9;23670:229;23684:7;23681:1;23678:14;23670:229;;;23773:19;;;23760:33;23745:49;;23880:4;23865:20;;;;23833:1;23821:14;;;;23700:12;23670:229;;;23674:3;23927;23918:7;23915:16;23912:159;;;24051:1;24047:6;24041:3;24035;24032:1;24028:11;24024:21;24020:34;24016:39;24003:9;23998:3;23994:19;23981:33;23977:79;23969:6;23962:95;23912:159;;;24114:1;24108:3;24105:1;24101:11;24097:19;24091:4;24084:33;23485:894;;23183:1202;;;:::o;24390:639::-;24623:6;24612:9;24605:25;-1:-1:-1;;;;;24670:6:654;24666:31;24661:2;24650:9;24646:18;24639:59;24734:3;24729:2;24718:9;24714:18;24707:31;24775:6;24769:3;24758:9;24754:19;24747:35;24833:6;24825;24819:3;24808:9;24804:19;24791:49;24890:1;24860:22;;;24884:3;24856:32;;;24849:43;;;;25007:14;;25000:22;24995:2;24980:18;;24973:50;24953:2;24932:15;;;-1:-1:-1;;24928:29:654;24913:45;;;24909:55;;24390:639;-1:-1:-1;;;24390:639:654:o;25034:128::-;25101:9;;;25122:11;;;25119:37;;;25136:18;;:::i;25167:1426::-;25280:3;25274:4;25271:13;25268:26;;25287:5;;25167:1426::o;25268:26::-;25317:37;25349:3;25343:10;25317:37;:::i;:::-;-1:-1:-1;;;;;25369:6:654;25366:30;25363:56;;;25399:18;;:::i;:::-;25428:96;25517:6;25477:38;25509:4;25503:11;25477:38;:::i;25428:96::-;25550:1;25578:2;25570:6;25567:14;25595:1;25590:746;;;;26380:1;26397:6;26394:89;;;-1:-1:-1;26449:19:654;;;26443:26;26394:89;26509:67;26569:6;26562:5;26509:67;:::i;:::-;26503:4;26496:81;;25560:1027;;25590:746;17646:1;17639:14;;;17683:4;17670:18;;-1:-1:-1;;25626:20:654;;;17646:1;17639:14;;;17683:4;17670:18;;25788:9;25810:251;25824:7;25821:1;25818:14;25810:251;;;25906:21;;;25900:28;25885:44;;25956:1;26029:18;;;;25984:15;;;;25847:4;25840:12;25810:251;;;25814:3;26089:6;26080:7;26077:19;26074:203;;;26150:21;;26144:28;-1:-1:-1;;26247:3:654;26235:1;26231:14;;;26227:24;26223:37;26219:42;26204:58;26189:74;;;-1:-1:-1;;26323:1:654;26307:14;;;26303:22;26290:36;;-1:-1:-1;25167:1426:654:o;27027:324::-;27218:2;27207:9;27200:21;27181:4;27238:44;27278:2;27267:9;27263:18;27255:6;27238:44;:::i;:::-;27230:52;;27291:54;27341:2;27330:9;27326:18;27318:6;27291:54;:::i;27356:184::-;27414:6;27467:2;27455:9;27446:7;27442:23;27438:32;27435:52;;;27483:1;27480;27473:12;27435:52;27506:28;27524:9;27506:28;:::i;27545:457::-;27776:6;27765:9;27758:25;27819:6;27814:2;27803:9;27799:18;27792:34;-1:-1:-1;;;;;27866:6:654;27862:31;27857:2;27846:9;27842:18;27835:59;27930:3;27925:2;27914:9;27910:18;27903:31;27739:4;27951:45;27991:3;27980:9;27976:19;27968:6;27951:45;:::i;28007:180::-;28063:6;28116:2;28104:9;28095:7;28091:23;28087:32;28084:52;;;28132:1;28129;28122:12;28084:52;28155:26;28171:9;28155:26;:::i","linkReferences":{}},"methodIdentifiers":{"__OperatorRegistry_init(address[])":"ba428b1a","__RiverConfig_init(address[])":"31374511","allocateStream(bytes32,address[],bytes32,bytes)":"6b883c39","approveConfigurationManager(address)":"c179b85f","approveOperator(address)":"242cae9f","configurationExists(bytes32)":"fc207c01","deleteConfiguration(bytes32)":"035759e1","deleteConfigurationOnBlock(bytes32,uint64)":"b7f227ee","getAllConfiguration()":"081814db","getAllNodeAddresses()":"c8fe3a01","getAllNodes()":"a1174e7d","getAllOperators()":"d911c632","getConfiguration(bytes32)":"9283ae3a","getNode(address)":"9d209048","getNodeCount()":"39bf397e","getPaginatedStreams(uint256,uint256)":"ca78c41a","getStream(bytes32)":"1290abe8","getStreamCount()":"c0f22084","getStreamCountOnNode(address)":"c87d1324","getStreamWithGenesis(bytes32)":"3c2544d1","isConfigurationManager(address)":"d4bd44a0","isNode(address)":"01750152","isOperator(address)":"6d70f7ae","isStream(bytes32)":"d0c27c4f","placeStreamOnNode(bytes32,address)":"9ee86d38","registerNode(address,string,uint8)":"eecc66f4","removeConfigurationManager(address)":"813049ec","removeNode(address)":"b2b99ec9","removeOperator(address)":"ac8a584a","removeStreamFromNode(bytes32,address)":"ee885b12","setConfiguration(bytes32,uint64,bytes)":"a09449a6","setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)":"d7a3158a","setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":"ff3a14ab","updateNodeStatus(address,uint8)":"581f8b9b","updateNodeUrl(address,string)":"7e4465e7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"approvedOperators\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"block\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"deleted\",\"type\":\"bool\"}],\"name\":\"ConfigurationChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"ConfigurationManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"ConfigurationManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"NodeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"NodeRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"NodeStatusUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"NodeUrlUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operatorAddress\",\"type\":\"address\"}],\"name\":\"OperatorAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operatorAddress\",\"type\":\"address\"}],\"name\":\"OperatorRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"genesisMiniblock\",\"type\":\"bytes\"}],\"name\":\"StreamAllocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"StreamLastMiniblockUpdateFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"name\":\"StreamLastMiniblockUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isAdded\",\"type\":\"bool\"}],\"name\":\"StreamPlacementUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"initialOperators\",\"type\":\"address[]\"}],\"name\":\"__OperatorRegistry_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"configManagers\",\"type\":\"address[]\"}],\"name\":\"__RiverConfig_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"},{\"internalType\":\"bytes32\",\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"genesisMiniblock\",\"type\":\"bytes\"}],\"name\":\"allocateStream\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"approveConfigurationManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"approveOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"configurationExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"deleteConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"}],\"name\":\"deleteConfigurationOnBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllConfiguration\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"internalType\":\"struct Setting[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllNodeAddresses\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllNodes\",\"outputs\":[{\"components\":[{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"internalType\":\"struct Node[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllOperators\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getConfiguration\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"internalType\":\"struct Setting[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"getNode\",\"outputs\":[{\"components\":[{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"internalType\":\"struct Node\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNodeCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stop\",\"type\":\"uint256\"}],\"name\":\"getPaginatedStreams\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"stream\",\"type\":\"tuple\"}],\"internalType\":\"struct StreamWithId[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"getStream\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStreamCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"getStreamCountOnNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"getStreamWithGenesis\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"isConfigurationManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"isNode\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"isStream\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"placeStreamOnNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"registerNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"removeConfigurationManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"removeNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"removeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"removeStreamFromNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"setConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"name\":\"setStreamLastMiniblock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"prevMiniBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"internalType\":\"struct SetMiniblock[]\",\"name\":\"miniblocks\",\"type\":\"tuple[]\"}],\"name\":\"setStreamLastMiniblockBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"updateNodeUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ConfigurationChanged(bytes32,uint64,bytes,bool)\":{\"details\":\"if deleted is true and block is max value of uint64, the setting is deleted on all blocks\",\"params\":{\"block\":\"The block number on which the setting becomes active\",\"deleted\":\"True if the setting is deleted (value is empty in this case)\",\"key\":\"The setting key that is changed\",\"value\":\"The new setting value\"}},\"ConfigurationManagerAdded(address)\":{\"params\":{\"manager\":\"The configuration manager address\"}},\"ConfigurationManagerRemoved(address)\":{\"params\":{\"manager\":\"The configuration manager address\"}},\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"}},\"kind\":\"dev\",\"methods\":{\"allocateStream(bytes32,address[],bytes32,bytes)\":{\"details\":\"Only callable by registered nodes\",\"params\":{\"genesisMiniblock\":\"The genesis miniblock data\",\"genesisMiniblockHash\":\"The hash of the genesis miniblock\",\"nodes\":\"The list of nodes to place the stream on\",\"streamId\":\"The ID of the stream to allocate\"}},\"approveConfigurationManager(address)\":{\"params\":{\"manager\":\"The address to add\"}},\"configurationExists(bytes32)\":{\"params\":{\"key\":\"The setting key\"},\"returns\":{\"_0\":\"True if the setting exists\"}},\"deleteConfiguration(bytes32)\":{\"details\":\"Emits ConfigurationChanged event with deleted flag set to true and block number set to max value of uint64\",\"params\":{\"key\":\"The setting key\"}},\"deleteConfigurationOnBlock(bytes32,uint64)\":{\"details\":\"Emits ConfigurationChanged event with deleted flag set to true\",\"params\":{\"blockNumber\":\"The block number on which the setting becomes active\",\"key\":\"The setting key\"}},\"getAllConfiguration()\":{\"details\":\"Note that the returned list is ordered on key but NOT on block number\",\"returns\":{\"_0\":\"List will all stored settings\"}},\"getAllNodeAddresses()\":{\"details\":\"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block.\"},\"getAllNodes()\":{\"details\":\"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block.\"},\"getConfiguration(bytes32)\":{\"details\":\"Note that the returned list isn't ordered by block number\",\"params\":{\"key\":\"The setting key\"},\"returns\":{\"_0\":\"The setting value\"}},\"getPaginatedStreams(uint256,uint256)\":{\"details\":\"Recommended range is 5000 streams to avoid gas limits\",\"params\":{\"start\":\"The starting index for pagination\",\"stop\":\"The ending index for pagination\"},\"returns\":{\"_0\":\"StreamWithId[] Array of streams with their IDs in the requested range\",\"_1\":\"bool True if this is the last page of results\"}},\"getStream(bytes32)\":{\"params\":{\"streamId\":\"The ID of the stream to get\"},\"returns\":{\"_0\":\"Stream The stream data\"}},\"getStreamCount()\":{\"returns\":{\"_0\":\"uint256 The total number of streams\"}},\"getStreamCountOnNode(address)\":{\"params\":{\"nodeAddress\":\"The address of the node to check\"},\"returns\":{\"_0\":\"uint256 The number of streams on the node\"}},\"getStreamWithGenesis(bytes32)\":{\"params\":{\"streamId\":\"The ID of the stream to get\"},\"returns\":{\"_0\":\"Stream The stream data\",\"_1\":\"bytes32 The genesis miniblock hash\",\"_2\":\"bytes The genesis miniblock data\"}},\"isConfigurationManager(address)\":{\"params\":{\"manager\":\"The address to check\"},\"returns\":{\"_0\":\"True if the address is a configuration manager\"}},\"isStream(bytes32)\":{\"params\":{\"streamId\":\"The ID of the stream to check\"},\"returns\":{\"_0\":\"bool True if the stream exists, false otherwise\"}},\"placeStreamOnNode(bytes32,address)\":{\"params\":{\"nodeAddress\":\"The address of the node to place the stream on\",\"streamId\":\"The ID of the stream to place\"}},\"removeConfigurationManager(address)\":{\"params\":{\"manager\":\"The address to remove\"}},\"removeStreamFromNode(bytes32,address)\":{\"params\":{\"nodeAddress\":\"The address of the node to remove the stream from\",\"streamId\":\"The ID of the stream to remove\"}},\"setConfiguration(bytes32,uint64,bytes)\":{\"details\":\"Emits ConfigurationChanged event\",\"params\":{\"blockNumber\":\"The block number on which the setting becomes active, can't be max value of uint64\",\"key\":\"The keccak256 hash of the setting name\",\"value\":\"The setting value (value must be its ABI representation), can't be empty\"}},\"setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)\":{\"details\":\"Only callable by registered nodes\",\"params\":{\"isSealed\":\"Whether to mark the stream as sealed\",\"lastMiniblockHash\":\"The hash of the new last miniblock\",\"lastMiniblockNum\":\"The number of the new last miniblock\",\"prevMiniblockHash\":\"The hash of the previous miniblock (currently unused)\",\"streamId\":\"The ID of the stream to update\"}},\"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])\":{\"details\":\"Only callable by registered nodesThis function allows updating multiple streams' last miniblock data in a single transaction\",\"params\":{\"miniblocks\":\"Array of SetMiniblock structs containing stream IDs and their last miniblock information\"}}},\"version\":1},\"userdoc\":{\"events\":{\"ConfigurationChanged(bytes32,uint64,bytes,bool)\":{\"notice\":\"Emitted when a setting is changed\"},\"ConfigurationManagerAdded(address)\":{\"notice\":\"Emitted when a configuration manager is added\"},\"ConfigurationManagerRemoved(address)\":{\"notice\":\"Emitted when a configuration manager is removed\"},\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"}},\"kind\":\"user\",\"methods\":{\"allocateStream(bytes32,address[],bytes32,bytes)\":{\"notice\":\"Allocate a new stream in the registry\"},\"approveConfigurationManager(address)\":{\"notice\":\"Add a configuration manager\"},\"configurationExists(bytes32)\":{\"notice\":\"Indication if there is a setting for the given key\"},\"deleteConfiguration(bytes32)\":{\"notice\":\"Deletes the setting for the given key on all blocks\"},\"deleteConfigurationOnBlock(bytes32,uint64)\":{\"notice\":\"Deletes the setting for the given key at the given block\"},\"getAllConfiguration()\":{\"notice\":\"Get all settings store in the registry\"},\"getAllNodeAddresses()\":{\"notice\":\"Return array containing all node addresses\"},\"getAllNodes()\":{\"notice\":\"Return array containing all nodes\"},\"getConfiguration(bytes32)\":{\"notice\":\"Get settings for the given key\"},\"getPaginatedStreams(uint256,uint256)\":{\"notice\":\"Get a paginated list of streams from the registry\"},\"getStream(bytes32)\":{\"notice\":\"Get a stream from the registry\"},\"getStreamCount()\":{\"notice\":\"Get the total number of streams in the registry\"},\"getStreamCountOnNode(address)\":{\"notice\":\"Get the number of streams placed on a specific node\"},\"getStreamWithGenesis(bytes32)\":{\"notice\":\"Get a stream and its genesis information from the registry\"},\"isConfigurationManager(address)\":{\"notice\":\"Check if the given address is a configuration manager\"},\"isStream(bytes32)\":{\"notice\":\"Check if a stream exists in the registry\"},\"placeStreamOnNode(bytes32,address)\":{\"notice\":\"Place a stream on a specific node\"},\"removeConfigurationManager(address)\":{\"notice\":\"Remove a configuration manager\"},\"removeStreamFromNode(bytes32,address)\":{\"notice\":\"Remove a stream from a specific node\"},\"setConfiguration(bytes32,uint64,bytes)\":{\"notice\":\"Set a bytes setting for the given key\"},\"setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)\":{\"notice\":\"Update the last miniblock information for a stream\"},\"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])\":{\"notice\":\"Set the last miniblock for multiple streams in a batch operation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/mocks/MockRiverRegistry.sol\":\"MockRiverRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/river/registry/facets/config/IRiverConfig.sol\":{\"keccak256\":\"0x17d5e8570557d046fd9a311da7eecf69f8d198eb8ec54bd14057d4d485427600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7ab5c4b1d7be2494915012608093387aca8b0e68db5696db94de22d3702a066\",\"dweb:/ipfs/QmYauTuD8NAcDy7Hf87sWjXbafZJpi2vCXjeMgLuygmLge\"]},\"contracts/src/river/registry/facets/config/RiverConfig.sol\":{\"keccak256\":\"0x245ee7097c6bd1527ca3653ee9325bf892209f2885afbe623a85cdb637e7a18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://563fa4c19ed49a0c5e60675691f2ff01f77b38d4744d82548ca6738ff105436d\",\"dweb:/ipfs/QmcK1Vw7ogaFvjKdPz5Dh6jQqyB1Y9eFbU4Hv1XW97CZm4\"]},\"contracts/src/river/registry/facets/node/INodeRegistry.sol\":{\"keccak256\":\"0xf521b9a741e45f40098574a6e4f4e62a8e0b457fb053b57624463167691a8cdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97eb4ed98fa25f98f4d2150d6e0b4dc5ade7c88d8b934b786891fb37bf380ce3\",\"dweb:/ipfs/QmU9L2iJAKY6UnckhFAiq5Qw482DZzW4fiGVAJ6qkgPsrs\"]},\"contracts/src/river/registry/facets/node/NodeRegistry.sol\":{\"keccak256\":\"0x938e660fa4b107060b4b954fb4251b87de6f0724c948f73138cf2f8392615821\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7023efa8ae7526aa4650512b05c6cda9c575cea23393c0d25e63ec1c358e2261\",\"dweb:/ipfs/QmXH9Lvc4MBNwXnC6yUmmPxXNxoiDJzdZ2iCreDxSjZPch\"]},\"contracts/src/river/registry/facets/operator/IOperatorRegistry.sol\":{\"keccak256\":\"0xce4eb79498c4f592d803bbccac56d2c9aa11093d19ef16f913ea03d497c12a47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa4317cecb1fa3abe9f4792b54b2952a3bf4d7fcebf44840c6fc21ec971c56c5\",\"dweb:/ipfs/QmWq2nRD2stDBhuWniGZu3tM881BbfK9kSunJcyfKCN7iC\"]},\"contracts/src/river/registry/facets/operator/OperatorRegistry.sol\":{\"keccak256\":\"0xa3b3b345079599f2370d2222a4ffcb3e2a375e076d2fea972a7982b8fe8b1ffa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4fad171d5968d92b670959290d7232b70091847603f4f4e55ae43c91c75a7e79\",\"dweb:/ipfs/QmSkQtK5ERTP1aDmHr3y4r2jUZExcsEYxFEyHgndNgn3tz\"]},\"contracts/src/river/registry/facets/stream/IStreamRegistry.sol\":{\"keccak256\":\"0x5e8bd4aa3130035d463d4fbc0214aaeb7c23a7042d29a10c593b422d6d2a47b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928c460af3995f8df31e48557a6d9eb16a6d89307f268709570bdfc932dc3a58\",\"dweb:/ipfs/QmTpiActnDg7Kvzezvvj9JCQWM2EsRmrZbXhXnzjhpCzCT\"]},\"contracts/src/river/registry/facets/stream/StreamRegistry.sol\":{\"keccak256\":\"0x31d16e776e27f5643ad19a2dc2c12524dedd50d674b96e142e381287a0c3e235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11baf58c6569cdd9444367586114223dfc9b7f07d7e56bba8a62e00daf9842bf\",\"dweb:/ipfs/QmRp1sHsnu75ar6X8U6qVUCnCaQQTYEJWhv5pFAvFuriYP\"]},\"contracts/src/river/registry/libraries/RegistryErrors.sol\":{\"keccak256\":\"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501\",\"dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP\"]},\"contracts/src/river/registry/libraries/RegistryStorage.sol\":{\"keccak256\":\"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4\",\"dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH\"]},\"contracts/test/mocks/MockRiverRegistry.sol\":{\"keccak256\":\"0x02a27464980461b888d3035414a8fe094f6879e08392ce3e5c2f956efde34088\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fa6fde43f02e200a1dac0a4a3a09283acde51470e4d9a41c5d5c7012bcd9fd5\",\"dweb:/ipfs/QmXeZKoaaQE6PwPgeczoC9JW5WfHucAWxKR8beH67qb4tX\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875\",\"dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e\",\"dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address[]","name":"approvedOperators","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32","indexed":false},{"internalType":"uint64","name":"block","type":"uint64","indexed":false},{"internalType":"bytes","name":"value","type":"bytes","indexed":false},{"internalType":"bool","name":"deleted","type":"bool","indexed":false}],"type":"event","name":"ConfigurationChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"manager","type":"address","indexed":true}],"type":"event","name":"ConfigurationManagerAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"manager","type":"address","indexed":true}],"type":"event","name":"ConfigurationManagerRemoved","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"string","name":"url","type":"string","indexed":false},{"internalType":"enum NodeStatus","name":"status","type":"uint8","indexed":false}],"type":"event","name":"NodeAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true}],"type":"event","name":"NodeRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"enum NodeStatus","name":"status","type":"uint8","indexed":false}],"type":"event","name":"NodeStatusUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"string","name":"url","type":"string","indexed":false}],"type":"event","name":"NodeUrlUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"operatorAddress","type":"address","indexed":true}],"type":"event","name":"OperatorAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"operatorAddress","type":"address","indexed":true}],"type":"event","name":"OperatorRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"address[]","name":"nodes","type":"address[]","indexed":false},{"internalType":"bytes32","name":"genesisMiniblockHash","type":"bytes32","indexed":false},{"internalType":"bytes","name":"genesisMiniblock","type":"bytes","indexed":false}],"type":"event","name":"StreamAllocated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32","indexed":false},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false}],"type":"event","name":"StreamLastMiniblockUpdateFailed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32","indexed":false},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64","indexed":false},{"internalType":"bool","name":"isSealed","type":"bool","indexed":false}],"type":"event","name":"StreamLastMiniblockUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"address","name":"nodeAddress","type":"address","indexed":false},{"internalType":"bool","name":"isAdded","type":"bool","indexed":false}],"type":"event","name":"StreamPlacementUpdated","anonymous":false},{"inputs":[{"internalType":"address[]","name":"initialOperators","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"__OperatorRegistry_init"},{"inputs":[{"internalType":"address[]","name":"configManagers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"__RiverConfig_init"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address[]","name":"nodes","type":"address[]"},{"internalType":"bytes32","name":"genesisMiniblockHash","type":"bytes32"},{"internalType":"bytes","name":"genesisMiniblock","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"allocateStream"},{"inputs":[{"internalType":"address","name":"manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"approveConfigurationManager"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"approveOperator"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"stateMutability":"view","type":"function","name":"configurationExists","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deleteConfiguration"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"deleteConfigurationOnBlock"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllConfiguration","outputs":[{"internalType":"struct Setting[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes","name":"value","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllNodeAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllNodes","outputs":[{"internalType":"struct Node[]","name":"","type":"tuple[]","components":[{"internalType":"enum NodeStatus","name":"status","type":"uint8"},{"internalType":"string","name":"url","type":"string"},{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getConfiguration","outputs":[{"internalType":"struct Setting[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes","name":"value","type":"bytes"}]}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getNode","outputs":[{"internalType":"struct Node","name":"","type":"tuple","components":[{"internalType":"enum NodeStatus","name":"status","type":"uint8"},{"internalType":"string","name":"url","type":"string"},{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getNodeCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"stop","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPaginatedStreams","outputs":[{"internalType":"struct StreamWithId[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"struct Stream","name":"stream","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]},{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStream","outputs":[{"internalType":"struct Stream","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStreamCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getStreamCountOnNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStreamWithGenesis","outputs":[{"internalType":"struct Stream","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"manager","type":"address"}],"stateMutability":"view","type":"function","name":"isConfigurationManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"isNode","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isStream","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"placeStreamOnNode"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"string","name":"url","type":"string"},{"internalType":"enum NodeStatus","name":"status","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerNode"},{"inputs":[{"internalType":"address","name":"manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeConfigurationManager"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeNode"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeOperator"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStreamFromNode"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setConfiguration"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"bool","name":"isSealed","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setStreamLastMiniblock"},{"inputs":[{"internalType":"struct SetMiniblock[]","name":"miniblocks","type":"tuple[]","components":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"bytes32","name":"prevMiniBlockHash","type":"bytes32"},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"bool","name":"isSealed","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"setStreamLastMiniblockBatch"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"enum NodeStatus","name":"status","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"updateNodeStatus"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateNodeUrl"}],"devdoc":{"kind":"dev","methods":{"allocateStream(bytes32,address[],bytes32,bytes)":{"details":"Only callable by registered nodes","params":{"genesisMiniblock":"The genesis miniblock data","genesisMiniblockHash":"The hash of the genesis miniblock","nodes":"The list of nodes to place the stream on","streamId":"The ID of the stream to allocate"}},"approveConfigurationManager(address)":{"params":{"manager":"The address to add"}},"configurationExists(bytes32)":{"params":{"key":"The setting key"},"returns":{"_0":"True if the setting exists"}},"deleteConfiguration(bytes32)":{"details":"Emits ConfigurationChanged event with deleted flag set to true and block number set to max value of uint64","params":{"key":"The setting key"}},"deleteConfigurationOnBlock(bytes32,uint64)":{"details":"Emits ConfigurationChanged event with deleted flag set to true","params":{"blockNumber":"The block number on which the setting becomes active","key":"The setting key"}},"getAllConfiguration()":{"details":"Note that the returned list is ordered on key but NOT on block number","returns":{"_0":"List will all stored settings"}},"getAllNodeAddresses()":{"details":"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."},"getAllNodes()":{"details":"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."},"getConfiguration(bytes32)":{"details":"Note that the returned list isn't ordered by block number","params":{"key":"The setting key"},"returns":{"_0":"The setting value"}},"getPaginatedStreams(uint256,uint256)":{"details":"Recommended range is 5000 streams to avoid gas limits","params":{"start":"The starting index for pagination","stop":"The ending index for pagination"},"returns":{"_0":"StreamWithId[] Array of streams with their IDs in the requested range","_1":"bool True if this is the last page of results"}},"getStream(bytes32)":{"params":{"streamId":"The ID of the stream to get"},"returns":{"_0":"Stream The stream data"}},"getStreamCount()":{"returns":{"_0":"uint256 The total number of streams"}},"getStreamCountOnNode(address)":{"params":{"nodeAddress":"The address of the node to check"},"returns":{"_0":"uint256 The number of streams on the node"}},"getStreamWithGenesis(bytes32)":{"params":{"streamId":"The ID of the stream to get"},"returns":{"_0":"Stream The stream data","_1":"bytes32 The genesis miniblock hash","_2":"bytes The genesis miniblock data"}},"isConfigurationManager(address)":{"params":{"manager":"The address to check"},"returns":{"_0":"True if the address is a configuration manager"}},"isStream(bytes32)":{"params":{"streamId":"The ID of the stream to check"},"returns":{"_0":"bool True if the stream exists, false otherwise"}},"placeStreamOnNode(bytes32,address)":{"params":{"nodeAddress":"The address of the node to place the stream on","streamId":"The ID of the stream to place"}},"removeConfigurationManager(address)":{"params":{"manager":"The address to remove"}},"removeStreamFromNode(bytes32,address)":{"params":{"nodeAddress":"The address of the node to remove the stream from","streamId":"The ID of the stream to remove"}},"setConfiguration(bytes32,uint64,bytes)":{"details":"Emits ConfigurationChanged event","params":{"blockNumber":"The block number on which the setting becomes active, can't be max value of uint64","key":"The keccak256 hash of the setting name","value":"The setting value (value must be its ABI representation), can't be empty"}},"setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)":{"details":"Only callable by registered nodes","params":{"isSealed":"Whether to mark the stream as sealed","lastMiniblockHash":"The hash of the new last miniblock","lastMiniblockNum":"The number of the new last miniblock","prevMiniblockHash":"The hash of the previous miniblock (currently unused)","streamId":"The ID of the stream to update"}},"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":{"details":"Only callable by registered nodesThis function allows updating multiple streams' last miniblock data in a single transaction","params":{"miniblocks":"Array of SetMiniblock structs containing stream IDs and their last miniblock information"}}},"version":1},"userdoc":{"kind":"user","methods":{"allocateStream(bytes32,address[],bytes32,bytes)":{"notice":"Allocate a new stream in the registry"},"approveConfigurationManager(address)":{"notice":"Add a configuration manager"},"configurationExists(bytes32)":{"notice":"Indication if there is a setting for the given key"},"deleteConfiguration(bytes32)":{"notice":"Deletes the setting for the given key on all blocks"},"deleteConfigurationOnBlock(bytes32,uint64)":{"notice":"Deletes the setting for the given key at the given block"},"getAllConfiguration()":{"notice":"Get all settings store in the registry"},"getAllNodeAddresses()":{"notice":"Return array containing all node addresses"},"getAllNodes()":{"notice":"Return array containing all nodes"},"getConfiguration(bytes32)":{"notice":"Get settings for the given key"},"getPaginatedStreams(uint256,uint256)":{"notice":"Get a paginated list of streams from the registry"},"getStream(bytes32)":{"notice":"Get a stream from the registry"},"getStreamCount()":{"notice":"Get the total number of streams in the registry"},"getStreamCountOnNode(address)":{"notice":"Get the number of streams placed on a specific node"},"getStreamWithGenesis(bytes32)":{"notice":"Get a stream and its genesis information from the registry"},"isConfigurationManager(address)":{"notice":"Check if the given address is a configuration manager"},"isStream(bytes32)":{"notice":"Check if a stream exists in the registry"},"placeStreamOnNode(bytes32,address)":{"notice":"Place a stream on a specific node"},"removeConfigurationManager(address)":{"notice":"Remove a configuration manager"},"removeStreamFromNode(bytes32,address)":{"notice":"Remove a stream from a specific node"},"setConfiguration(bytes32,uint64,bytes)":{"notice":"Set a bytes setting for the given key"},"setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)":{"notice":"Update the last miniblock information for a stream"},"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":{"notice":"Set the last miniblock for multiple streams in a batch operation"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/test/mocks/MockRiverRegistry.sol":"MockRiverRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/river/registry/facets/config/IRiverConfig.sol":{"keccak256":"0x17d5e8570557d046fd9a311da7eecf69f8d198eb8ec54bd14057d4d485427600","urls":["bzz-raw://a7ab5c4b1d7be2494915012608093387aca8b0e68db5696db94de22d3702a066","dweb:/ipfs/QmYauTuD8NAcDy7Hf87sWjXbafZJpi2vCXjeMgLuygmLge"],"license":"MIT"},"contracts/src/river/registry/facets/config/RiverConfig.sol":{"keccak256":"0x245ee7097c6bd1527ca3653ee9325bf892209f2885afbe623a85cdb637e7a18e","urls":["bzz-raw://563fa4c19ed49a0c5e60675691f2ff01f77b38d4744d82548ca6738ff105436d","dweb:/ipfs/QmcK1Vw7ogaFvjKdPz5Dh6jQqyB1Y9eFbU4Hv1XW97CZm4"],"license":"MIT"},"contracts/src/river/registry/facets/node/INodeRegistry.sol":{"keccak256":"0xf521b9a741e45f40098574a6e4f4e62a8e0b457fb053b57624463167691a8cdd","urls":["bzz-raw://97eb4ed98fa25f98f4d2150d6e0b4dc5ade7c88d8b934b786891fb37bf380ce3","dweb:/ipfs/QmU9L2iJAKY6UnckhFAiq5Qw482DZzW4fiGVAJ6qkgPsrs"],"license":"MIT"},"contracts/src/river/registry/facets/node/NodeRegistry.sol":{"keccak256":"0x938e660fa4b107060b4b954fb4251b87de6f0724c948f73138cf2f8392615821","urls":["bzz-raw://7023efa8ae7526aa4650512b05c6cda9c575cea23393c0d25e63ec1c358e2261","dweb:/ipfs/QmXH9Lvc4MBNwXnC6yUmmPxXNxoiDJzdZ2iCreDxSjZPch"],"license":"MIT"},"contracts/src/river/registry/facets/operator/IOperatorRegistry.sol":{"keccak256":"0xce4eb79498c4f592d803bbccac56d2c9aa11093d19ef16f913ea03d497c12a47","urls":["bzz-raw://fa4317cecb1fa3abe9f4792b54b2952a3bf4d7fcebf44840c6fc21ec971c56c5","dweb:/ipfs/QmWq2nRD2stDBhuWniGZu3tM881BbfK9kSunJcyfKCN7iC"],"license":"MIT"},"contracts/src/river/registry/facets/operator/OperatorRegistry.sol":{"keccak256":"0xa3b3b345079599f2370d2222a4ffcb3e2a375e076d2fea972a7982b8fe8b1ffa","urls":["bzz-raw://4fad171d5968d92b670959290d7232b70091847603f4f4e55ae43c91c75a7e79","dweb:/ipfs/QmSkQtK5ERTP1aDmHr3y4r2jUZExcsEYxFEyHgndNgn3tz"],"license":"MIT"},"contracts/src/river/registry/facets/stream/IStreamRegistry.sol":{"keccak256":"0x5e8bd4aa3130035d463d4fbc0214aaeb7c23a7042d29a10c593b422d6d2a47b4","urls":["bzz-raw://928c460af3995f8df31e48557a6d9eb16a6d89307f268709570bdfc932dc3a58","dweb:/ipfs/QmTpiActnDg7Kvzezvvj9JCQWM2EsRmrZbXhXnzjhpCzCT"],"license":"MIT"},"contracts/src/river/registry/facets/stream/StreamRegistry.sol":{"keccak256":"0x31d16e776e27f5643ad19a2dc2c12524dedd50d674b96e142e381287a0c3e235","urls":["bzz-raw://11baf58c6569cdd9444367586114223dfc9b7f07d7e56bba8a62e00daf9842bf","dweb:/ipfs/QmRp1sHsnu75ar6X8U6qVUCnCaQQTYEJWhv5pFAvFuriYP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryErrors.sol":{"keccak256":"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497","urls":["bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501","dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryStorage.sol":{"keccak256":"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201","urls":["bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4","dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH"],"license":"MIT"},"contracts/test/mocks/MockRiverRegistry.sol":{"keccak256":"0x02a27464980461b888d3035414a8fe094f6879e08392ce3e5c2f956efde34088","urls":["bzz-raw://6fa6fde43f02e200a1dac0a4a3a09283acde51470e4d9a41c5d5c7012bcd9fd5","dweb:/ipfs/QmXeZKoaaQE6PwPgeczoC9JW5WfHucAWxKR8beH67qb4tX"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2","urls":["bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875","dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd","urls":["bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e","dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik"],"license":"MIT"}},"version":1},"id":385} \ No newline at end of file diff --git a/packages/generated/dev/abis/MockRiverRegistry.metadata.json b/packages/generated/dev/abis/MockRiverRegistry.metadata.json index 53bf7c8bb5..a682bb2dee 100644 --- a/packages/generated/dev/abis/MockRiverRegistry.metadata.json +++ b/packages/generated/dev/abis/MockRiverRegistry.metadata.json @@ -918,6 +918,25 @@ } ] }, + { + "inputs": [ + { + "internalType": "address", + "name": "nodeAddress", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isNode", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, { "inputs": [ { @@ -1070,6 +1089,38 @@ "type": "function", "name": "setConfiguration" }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "streamId", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "lastMiniblockHash", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "lastMiniblockNum", + "type": "uint64" + }, + { + "internalType": "bool", + "name": "isSealed", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setStreamLastMiniblock" + }, { "inputs": [ { @@ -1147,6 +1198,15 @@ "devdoc": { "kind": "dev", "methods": { + "allocateStream(bytes32,address[],bytes32,bytes)": { + "details": "Only callable by registered nodes", + "params": { + "genesisMiniblock": "The genesis miniblock data", + "genesisMiniblockHash": "The hash of the genesis miniblock", + "nodes": "The list of nodes to place the stream on", + "streamId": "The ID of the stream to allocate" + } + }, "approveConfigurationManager(address)": { "params": { "manager": "The address to add" @@ -1195,11 +1255,45 @@ } }, "getPaginatedStreams(uint256,uint256)": { - "details": "Recommended range is 5000 streams, returns true if on the last page." + "details": "Recommended range is 5000 streams to avoid gas limits", + "params": { + "start": "The starting index for pagination", + "stop": "The ending index for pagination" + }, + "returns": { + "_0": "StreamWithId[] Array of streams with their IDs in the requested range", + "_1": "bool True if this is the last page of results" + } + }, + "getStream(bytes32)": { + "params": { + "streamId": "The ID of the stream to get" + }, + "returns": { + "_0": "Stream The stream data" + } + }, + "getStreamCount()": { + "returns": { + "_0": "uint256 The total number of streams" + } + }, + "getStreamCountOnNode(address)": { + "params": { + "nodeAddress": "The address of the node to check" + }, + "returns": { + "_0": "uint256 The number of streams on the node" + } }, "getStreamWithGenesis(bytes32)": { + "params": { + "streamId": "The ID of the stream to get" + }, "returns": { - "_0": "stream, genesisMiniblockHash, genesisMiniblock" + "_0": "Stream The stream data", + "_1": "bytes32 The genesis miniblock hash", + "_2": "bytes The genesis miniblock data" } }, "isConfigurationManager(address)": { @@ -1210,11 +1304,31 @@ "_0": "True if the address is a configuration manager" } }, + "isStream(bytes32)": { + "params": { + "streamId": "The ID of the stream to check" + }, + "returns": { + "_0": "bool True if the stream exists, false otherwise" + } + }, + "placeStreamOnNode(bytes32,address)": { + "params": { + "nodeAddress": "The address of the node to place the stream on", + "streamId": "The ID of the stream to place" + } + }, "removeConfigurationManager(address)": { "params": { "manager": "The address to remove" } }, + "removeStreamFromNode(bytes32,address)": { + "params": { + "nodeAddress": "The address of the node to remove the stream from", + "streamId": "The ID of the stream to remove" + } + }, "setConfiguration(bytes32,uint64,bytes)": { "details": "Emits ConfigurationChanged event", "params": { @@ -1222,6 +1336,22 @@ "key": "The keccak256 hash of the setting name", "value": "The setting value (value must be its ABI representation), can't be empty" } + }, + "setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)": { + "details": "Only callable by registered nodes", + "params": { + "isSealed": "Whether to mark the stream as sealed", + "lastMiniblockHash": "The hash of the new last miniblock", + "lastMiniblockNum": "The number of the new last miniblock", + "prevMiniblockHash": "The hash of the previous miniblock (currently unused)", + "streamId": "The ID of the stream to update" + } + }, + "setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])": { + "details": "Only callable by registered nodesThis function allows updating multiple streams' last miniblock data in a single transaction", + "params": { + "miniblocks": "Array of SetMiniblock structs containing stream IDs and their last miniblock information" + } } }, "version": 1 @@ -1229,6 +1359,9 @@ "userdoc": { "kind": "user", "methods": { + "allocateStream(bytes32,address[],bytes32,bytes)": { + "notice": "Allocate a new stream in the registry" + }, "approveConfigurationManager(address)": { "notice": "Add a configuration manager" }, @@ -1253,14 +1386,44 @@ "getConfiguration(bytes32)": { "notice": "Get settings for the given key" }, + "getPaginatedStreams(uint256,uint256)": { + "notice": "Get a paginated list of streams from the registry" + }, + "getStream(bytes32)": { + "notice": "Get a stream from the registry" + }, + "getStreamCount()": { + "notice": "Get the total number of streams in the registry" + }, + "getStreamCountOnNode(address)": { + "notice": "Get the number of streams placed on a specific node" + }, + "getStreamWithGenesis(bytes32)": { + "notice": "Get a stream and its genesis information from the registry" + }, "isConfigurationManager(address)": { "notice": "Check if the given address is a configuration manager" }, + "isStream(bytes32)": { + "notice": "Check if a stream exists in the registry" + }, + "placeStreamOnNode(bytes32,address)": { + "notice": "Place a stream on a specific node" + }, "removeConfigurationManager(address)": { "notice": "Remove a configuration manager" }, + "removeStreamFromNode(bytes32,address)": { + "notice": "Remove a stream from a specific node" + }, "setConfiguration(bytes32,uint64,bytes)": { "notice": "Set a bytes setting for the given key" + }, + "setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)": { + "notice": "Update the last miniblock information for a stream" + }, + "setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])": { + "notice": "Set the last miniblock for multiple streams in a batch operation" } }, "version": 1 @@ -1310,18 +1473,18 @@ "license": "MIT" }, "contracts/src/river/registry/facets/node/INodeRegistry.sol": { - "keccak256": "0x91ae5e33d5bc5eaf966789d8e1b03c6bb682ae363bdad4b94742bad0431990a6", + "keccak256": "0xf521b9a741e45f40098574a6e4f4e62a8e0b457fb053b57624463167691a8cdd", "urls": [ - "bzz-raw://5e51a3f583b56c81aa6ce15c2521c7f6682d0292f77dfed420172d7104e1f482", - "dweb:/ipfs/QmSBmDqF8nR1wvFiqXgk6Z9GknAmZtrL2LStoRWFijEntv" + "bzz-raw://97eb4ed98fa25f98f4d2150d6e0b4dc5ade7c88d8b934b786891fb37bf380ce3", + "dweb:/ipfs/QmU9L2iJAKY6UnckhFAiq5Qw482DZzW4fiGVAJ6qkgPsrs" ], "license": "MIT" }, "contracts/src/river/registry/facets/node/NodeRegistry.sol": { - "keccak256": "0x0134a09c9910214b08b16d3fe7788dd87f0b2084f342e3ec1e191dc455c44c2b", + "keccak256": "0x938e660fa4b107060b4b954fb4251b87de6f0724c948f73138cf2f8392615821", "urls": [ - "bzz-raw://174e8f3c8ec467a9ca0e65e47d3c9415463cd5d4cb7a79d726231f9253674eae", - "dweb:/ipfs/QmVCnvLS9HbugbcgvzVy4WjdQYbU1YMLonNQZo4szSADZP" + "bzz-raw://7023efa8ae7526aa4650512b05c6cda9c575cea23393c0d25e63ec1c358e2261", + "dweb:/ipfs/QmXH9Lvc4MBNwXnC6yUmmPxXNxoiDJzdZ2iCreDxSjZPch" ], "license": "MIT" }, @@ -1342,18 +1505,18 @@ "license": "MIT" }, "contracts/src/river/registry/facets/stream/IStreamRegistry.sol": { - "keccak256": "0x7f6ffecdb47e776a49fd5eb344aad912ddcf838502e58a0b7f1d7628ba484f5c", + "keccak256": "0x5e8bd4aa3130035d463d4fbc0214aaeb7c23a7042d29a10c593b422d6d2a47b4", "urls": [ - "bzz-raw://4501a262214df3d792aba76b6e707e2901a7e0f15f05c4d2d903549e32afa839", - "dweb:/ipfs/QmUzHM6rvqBrtB3CrNZe4kWDwhfTDY933HoLfwMfeLddHq" + "bzz-raw://928c460af3995f8df31e48557a6d9eb16a6d89307f268709570bdfc932dc3a58", + "dweb:/ipfs/QmTpiActnDg7Kvzezvvj9JCQWM2EsRmrZbXhXnzjhpCzCT" ], "license": "MIT" }, "contracts/src/river/registry/facets/stream/StreamRegistry.sol": { - "keccak256": "0x50c476331f6dc1d7f63c7ebe81f046b1bd6e8bfb51752c1a636c0e4924ceb614", + "keccak256": "0x31d16e776e27f5643ad19a2dc2c12524dedd50d674b96e142e381287a0c3e235", "urls": [ - "bzz-raw://c8c9c118175100073386f6bdb82501cef8a0b246a99a62ad143d2ed6c594e9ea", - "dweb:/ipfs/QmQL5Rc4iVvXciv8dd2R8UYnHMLDoB4QSbfqgfgCn1JdXe" + "bzz-raw://11baf58c6569cdd9444367586114223dfc9b7f07d7e56bba8a62e00daf9842bf", + "dweb:/ipfs/QmRp1sHsnu75ar6X8U6qVUCnCaQQTYEJWhv5pFAvFuriYP" ], "license": "MIT" }, diff --git a/packages/generated/dev/abis/NodeRegistry.abi.json b/packages/generated/dev/abis/NodeRegistry.abi.json index 8753a37ac9..999b0b64a7 100644 --- a/packages/generated/dev/abis/NodeRegistry.abi.json +++ b/packages/generated/dev/abis/NodeRegistry.abi.json @@ -101,6 +101,25 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "isNode", + "inputs": [ + { + "name": "nodeAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "registerNode", diff --git a/packages/generated/dev/abis/NodeRegistry.abi.ts b/packages/generated/dev/abis/NodeRegistry.abi.ts index 8c9f1ed030..28592e30d4 100644 --- a/packages/generated/dev/abis/NodeRegistry.abi.ts +++ b/packages/generated/dev/abis/NodeRegistry.abi.ts @@ -101,6 +101,25 @@ export default [ ], "stateMutability": "view" }, + { + "type": "function", + "name": "isNode", + "inputs": [ + { + "name": "nodeAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "registerNode", diff --git a/packages/generated/dev/abis/NodeRegistry.bin b/packages/generated/dev/abis/NodeRegistry.bin index 8d651b667c..2cd92c3e11 100644 --- a/packages/generated/dev/abis/NodeRegistry.bin +++ b/packages/generated/dev/abis/NodeRegistry.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b506115e6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a1174e7d1161005b578063a1174e7d146100f0578063b2b99ec914610105578063c8fe3a0114610118578063eecc66f41461012d57600080fd5b806339bf397e1461008d578063581f8b9b146100a85780637e4465e7146100bd5780639d209048146100d0575b600080fd5b610095610140565b6040519081526020015b60405180910390f35b6100bb6100b6366004611042565b610151565b005b6100bb6100cb366004611118565b6102fa565b6100e36100de366004611166565b6104f2565b60405161009f919061125d565b6100f8610673565b60405161009f9190611270565b6100bb610113366004611166565b61084e565b610120610a17565b60405161009f91906112d4565b6100bb61013b366004611321565b610a23565b600061014c6005610bee565b905090565b6001600160a01b038083166000908152600760205260409020600201548391166101ba57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b60405180910390fd5b336101c6600882610bfe565b6102005760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038085166000908152600760205260409020600301548591339116811461025e5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038616600090815260076020526040902080546102859060ff1687610c23565b80548690829060ff191660018360058111156102a3576102a3611181565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa0906102e9908990611392565b60405180910390a250505050505050565b33610306600882610bfe565b6103405760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038084166000908152600760205260409020600201548491166103a057604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b03808516600090815260076020526040902060030154859133911681146103fe5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b0386166000908152600760209081526040918290209151610428918891016113a0565b604051602081830303815290604052805190602001208160010160405160200161045291906113f0565b60405160208183030381529060405280519060200120036104a25760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526101b1919060040161137f565b600181016104b087826114b7565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac906102e990899061137f565b61051d6040805160808101909152806000815260606020820181905260006040830181905291015290565b610528600583610bfe565b61056857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff1660058111156105a3576105a3611181565b60058111156105b4576105b4611181565b81526020016001820180546105c8906113bc565b80601f01602080910402602001604051908101604052809291908181526020018280546105f4906113bc565b80156106415780601f1061061657610100808354040283529160200191610641565b820191906000526020600020905b81548152906001019060200180831161062457829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b606060006106816005610bee565b67ffffffffffffffff81111561069957610699611075565b6040519080825280602002602001820160405280156106f557816020015b6106e26040805160808101909152806000815260606020820181905260006040830181905291015290565b8152602001906001900390816106b75790505b50905060005b6107056005610bee565b811015610848576007600061071b600584610db6565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff16600581111561075757610757611181565b600581111561076857610768611181565b815260200160018201805461077c906113bc565b80601f01602080910402602001604051908101604052809291908181526020018280546107a8906113bc565b80156107f55780601f106107ca576101008083540402835291602001916107f5565b820191906000526020600020905b8154815290600101906020018083116107d857829003601f168201915b505050918352505060028201546001600160a01b039081166020830152600390920154909116604090910152825183908390811061083557610835611577565b60209081029190910101526001016106fb565b50919050565b6001600160a01b03808216600090815260076020526040902060030154829133911681146108ac5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038381166000908152600760205260409020600201541661090a57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b60056001600160a01b03841660009081526007602052604090205460ff16600581111561093957610939611181565b146109825760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101b1919060040161137f565b61098d600584610dc2565b506001600160a01b0383166000908152600760205260408120805460ff19168155906109bc6001830182610fc1565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b606061014c6005610dd7565b33610a2f600882610bfe565b610a695760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038481166000908152600760205260409020600201541615610ac857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526101b1919060040161137f565b60006040518060800160405280846005811115610ae757610ae7611181565b8152602081018690526001600160a01b0387166040820152336060909101529050610b13600586610de4565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff19166001836005811115610b4e57610b4e611181565b021790555060208201516001820190610b6790826114b7565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90610bdf908890889061158d565b60405180910390a35050505050565b6000610bf8825490565b92915050565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b6000826005811115610c3757610c37611181565b1480610c8b57506001826005811115610c5257610c52611181565b148015610c8b57506003816005811115610c6e57610c6e611181565b1480610c8b57506004816005811115610c8957610c89611181565b145b80610cde57506002826005811115610ca557610ca5611181565b148015610cde57506003816005811115610cc157610cc1611181565b1480610cde57506004816005811115610cdc57610cdc611181565b145b80610d3157506004826005811115610cf857610cf8611181565b148015610d3157506003816005811115610d1457610d14611181565b1480610d3157506005816005811115610d2f57610d2f611181565b145b80610d6957506003826005811115610d4b57610d4b611181565b148015610d6957506005816005811115610d6757610d67611181565b145b15610d72575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101b1919060040161137f565b6000610c1c8383610df9565b6000610c1c836001600160a01b038416610e23565b60606000610c1c83610f16565b6000610c1c836001600160a01b038416610f72565b6000826000018281548110610e1057610e10611577565b9060005260206000200154905092915050565b60008181526001830160205260408120548015610f0c576000610e476001836115af565b8554909150600090610e5b906001906115af565b9050808214610ec0576000866000018281548110610e7b57610e7b611577565b9060005260206000200154905080876000018481548110610e9e57610e9e611577565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610ed157610ed16115d0565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610bf8565b6000915050610bf8565b606081600001805480602002602001604051908101604052809291908181526020018280548015610f6657602002820191906000526020600020905b815481526020019060010190808311610f52575b50505050509050919050565b6000818152600183016020526040812054610fb957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610bf8565b506000610bf8565b508054610fcd906113bc565b6000825580601f10610fdd575050565b601f016020900490600052602060002090810190610ffb9190610ffe565b50565b5b808211156110135760008155600101610fff565b5090565b80356001600160a01b038116811461102e57600080fd5b919050565b80356006811061102e57600080fd5b6000806040838503121561105557600080fd5b61105e83611017565b915061106c60208401611033565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261109c57600080fd5b813567ffffffffffffffff808211156110b7576110b7611075565b604051601f8301601f19908116603f011681019082821181831017156110df576110df611075565b816040528381528660208588010111156110f857600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561112b57600080fd5b61113483611017565b9150602083013567ffffffffffffffff81111561115057600080fd5b61115c8582860161108b565b9150509250929050565b60006020828403121561117857600080fd5b610c1c82611017565b634e487b7160e01b600052602160045260246000fd5b600681106111b557634e487b7160e01b600052602160045260246000fd5b9052565b60005b838110156111d45781810151838201526020016111bc565b50506000910152565b600081518084526111f58160208601602086016111b9565b601f01601f19169290920160200192915050565b611214828251611197565b600060208201516080602085015261122f60808501826111dd565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000610c1c6020830184611209565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156112c757603f198886030184526112b5858351611209565b94509285019290850190600101611299565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156113155783516001600160a01b0316835292840192918401916001016112f0565b50909695505050505050565b60008060006060848603121561133657600080fd5b61133f84611017565b9250602084013567ffffffffffffffff81111561135b57600080fd5b6113678682870161108b565b92505061137660408501611033565b90509250925092565b602081526000610c1c60208301846111dd565b60208101610bf88284611197565b600082516113b28184602087016111b9565b9190910192915050565b600181811c908216806113d057607f821691505b60208210810361084857634e487b7160e01b600052602260045260246000fd5b60008083546113fe816113bc565b60018281168015611416576001811461142b5761145a565b60ff198416875282151583028701945061145a565b8760005260208060002060005b858110156114515781548a820152908401908201611438565b50505082870194505b50929695505050505050565b601f8211156114b2576000816000526020600020601f850160051c8101602086101561148f5750805b601f850160051c820191505b818110156114ae5782815560010161149b565b5050505b505050565b815167ffffffffffffffff8111156114d1576114d1611075565b6114e5816114df84546113bc565b84611466565b602080601f83116001811461151a57600084156115025750858301515b600019600386901b1c1916600185901b1785556114ae565b600085815260208120601f198616915b828110156115495788860151825594840194600190910190840161152a565b50858210156115675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b6040815260006115a060408301856111dd565b9050610c1c6020830184611197565b81810381811115610bf857634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd \ No newline at end of file +608060405234801561001057600080fd5b50611632806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80639d209048116100665780639d2090481461011c578063a1174e7d1461013c578063b2b99ec914610151578063c8fe3a0114610164578063eecc66f41461017957600080fd5b8063017501521461009857806339bf397e146100de578063581f8b9b146100f45780637e4465e714610109575b600080fd5b6100c96100a636600461107f565b6001600160a01b0390811660009081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b6100e661018c565b6040519081526020016100d5565b6101076101023660046110a9565b61019d565b005b61010761011736600461117f565b610346565b61012f61012a36600461107f565b61053e565b6040516100d591906112a9565b6101446106bf565b6040516100d591906112bc565b61010761015f36600461107f565b61089a565b61016c610a63565b6040516100d59190611320565b61010761018736600461136d565b610a6f565b60006101986005610c3a565b905090565b6001600160a01b0380831660009081526007602052604090206002015483911661020657604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b60405180910390fd5b33610212600882610c4a565b61024c5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b03808516600090815260076020526040902060030154859133911681146102aa5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038616600090815260076020526040902080546102d19060ff1687610c6f565b80548690829060ff191660018360058111156102ef576102ef6111cd565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa0906103359089906113de565b60405180910390a250505050505050565b33610352600882610c4a565b61038c5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038084166000908152600760205260409020600201548491166103ec57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038085166000908152600760205260409020600301548591339116811461044a5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b0386166000908152600760209081526040918290209151610474918891016113ec565b604051602081830303815290604052805190602001208160010160405160200161049e919061143c565b60405160208183030381529060405280519060200120036104ee5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526101fd91906004016113cb565b600181016104fc8782611503565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac906103359089906113cb565b6105696040805160808101909152806000815260606020820181905260006040830181905291015290565b610574600583610c4a565b6105b457604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff1660058111156105ef576105ef6111cd565b6005811115610600576106006111cd565b815260200160018201805461061490611408565b80601f016020809104026020016040519081016040528092919081815260200182805461064090611408565b801561068d5780601f106106625761010080835404028352916020019161068d565b820191906000526020600020905b81548152906001019060200180831161067057829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b606060006106cd6005610c3a565b67ffffffffffffffff8111156106e5576106e56110dc565b60405190808252806020026020018201604052801561074157816020015b61072e6040805160808101909152806000815260606020820181905260006040830181905291015290565b8152602001906001900390816107035790505b50905060005b6107516005610c3a565b8110156108945760076000610767600584610e02565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff1660058111156107a3576107a36111cd565b60058111156107b4576107b46111cd565b81526020016001820180546107c890611408565b80601f01602080910402602001604051908101604052809291908181526020018280546107f490611408565b80156108415780601f1061081657610100808354040283529160200191610841565b820191906000526020600020905b81548152906001019060200180831161082457829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110610881576108816115c3565b6020908102919091010152600101610747565b50919050565b6001600160a01b03808216600090815260076020526040902060030154829133911681146108f85760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038381166000908152600760205260409020600201541661095657604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b60056001600160a01b03841660009081526007602052604090205460ff166005811115610985576109856111cd565b146109ce5760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6109d9600584610e0e565b506001600160a01b0383166000908152600760205260408120805460ff1916815590610a08600183018261100d565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b60606101986005610e23565b33610a7b600882610c4a565b610ab55760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038481166000908152600760205260409020600201541615610b1457604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526101fd91906004016113cb565b60006040518060800160405280846005811115610b3357610b336111cd565b8152602081018690526001600160a01b0387166040820152336060909101529050610b5f600586610e30565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff19166001836005811115610b9a57610b9a6111cd565b021790555060208201516001820190610bb39082611503565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90610c2b90889088906115d9565b60405180910390a35050505050565b6000610c44825490565b92915050565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b6000826005811115610c8357610c836111cd565b1480610cd757506001826005811115610c9e57610c9e6111cd565b148015610cd757506003816005811115610cba57610cba6111cd565b1480610cd757506004816005811115610cd557610cd56111cd565b145b80610d2a57506002826005811115610cf157610cf16111cd565b148015610d2a57506003816005811115610d0d57610d0d6111cd565b1480610d2a57506004816005811115610d2857610d286111cd565b145b80610d7d57506004826005811115610d4457610d446111cd565b148015610d7d57506003816005811115610d6057610d606111cd565b1480610d7d57506005816005811115610d7b57610d7b6111cd565b145b80610db557506003826005811115610d9757610d976111cd565b148015610db557506005816005811115610db357610db36111cd565b145b15610dbe575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6000610c688383610e45565b6000610c68836001600160a01b038416610e6f565b60606000610c6883610f62565b6000610c68836001600160a01b038416610fbe565b6000826000018281548110610e5c57610e5c6115c3565b9060005260206000200154905092915050565b60008181526001830160205260408120548015610f58576000610e936001836115fb565b8554909150600090610ea7906001906115fb565b9050808214610f0c576000866000018281548110610ec757610ec76115c3565b9060005260206000200154905080876000018481548110610eea57610eea6115c3565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610f1d57610f1d61161c565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610c44565b6000915050610c44565b606081600001805480602002602001604051908101604052809291908181526020018280548015610fb257602002820191906000526020600020905b815481526020019060010190808311610f9e575b50505050509050919050565b600081815260018301602052604081205461100557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610c44565b506000610c44565b50805461101990611408565b6000825580601f10611029575050565b601f016020900490600052602060002090810190611047919061104a565b50565b5b8082111561105f576000815560010161104b565b5090565b80356001600160a01b038116811461107a57600080fd5b919050565b60006020828403121561109157600080fd5b610c6882611063565b80356006811061107a57600080fd5b600080604083850312156110bc57600080fd5b6110c583611063565b91506110d36020840161109a565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261110357600080fd5b813567ffffffffffffffff8082111561111e5761111e6110dc565b604051601f8301601f19908116603f01168101908282118183101715611146576111466110dc565b8160405283815286602085880101111561115f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561119257600080fd5b61119b83611063565b9150602083013567ffffffffffffffff8111156111b757600080fd5b6111c3858286016110f2565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b6006811061120157634e487b7160e01b600052602160045260246000fd5b9052565b60005b83811015611220578181015183820152602001611208565b50506000910152565b60008151808452611241816020860160208601611205565b601f01601f19169290920160200192915050565b6112608282516111e3565b600060208201516080602085015261127b6080850182611229565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000610c686020830184611255565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561131357603f19888603018452611301858351611255565b945092850192908501906001016112e5565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156113615783516001600160a01b03168352928401929184019160010161133c565b50909695505050505050565b60008060006060848603121561138257600080fd5b61138b84611063565b9250602084013567ffffffffffffffff8111156113a757600080fd5b6113b3868287016110f2565b9250506113c26040850161109a565b90509250925092565b602081526000610c686020830184611229565b60208101610c4482846111e3565b600082516113fe818460208701611205565b9190910192915050565b600181811c9082168061141c57607f821691505b60208210810361089457634e487b7160e01b600052602260045260246000fd5b600080835461144a81611408565b600182811680156114625760018114611477576114a6565b60ff19841687528215158302870194506114a6565b8760005260208060002060005b8581101561149d5781548a820152908401908201611484565b50505082870194505b50929695505050505050565b601f8211156114fe576000816000526020600020601f850160051c810160208610156114db5750805b601f850160051c820191505b818110156114fa578281556001016114e7565b5050505b505050565b815167ffffffffffffffff81111561151d5761151d6110dc565b6115318161152b8454611408565b846114b2565b602080601f831160018114611566576000841561154e5750858301515b600019600386901b1c1916600185901b1785556114fa565b600085815260208120601f198616915b8281101561159557888601518255948401946001909101908401611576565b50858210156115b35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b6040815260006115ec6040830185611229565b9050610c6860208301846111e3565b81810381811115610c4457634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd \ No newline at end of file diff --git a/packages/generated/dev/abis/NodeRegistry.json b/packages/generated/dev/abis/NodeRegistry.json index 35984e69fe..49b9dca8ff 100644 --- a/packages/generated/dev/abis/NodeRegistry.json +++ b/packages/generated/dev/abis/NodeRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getAllNodeAddresses","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getAllNodes","inputs":[],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Node[]","components":[{"name":"status","type":"uint8","internalType":"enum NodeStatus"},{"name":"url","type":"string","internalType":"string"},{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Node","components":[{"name":"status","type":"uint8","internalType":"enum NodeStatus"},{"name":"url","type":"string","internalType":"string"},{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getNodeCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registerNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"},{"name":"status","type":"uint8","internalType":"enum NodeStatus"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateNodeStatus","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"status","type":"uint8","internalType":"enum NodeStatus"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateNodeUrl","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"NodeAdded","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"url","type":"string","indexed":false,"internalType":"string"},{"name":"status","type":"uint8","indexed":false,"internalType":"enum NodeStatus"}],"anonymous":false},{"type":"event","name":"NodeRemoved","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"NodeStatusUpdated","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"status","type":"uint8","indexed":false,"internalType":"enum NodeStatus"}],"anonymous":false},{"type":"event","name":"NodeUrlUpdated","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"url","type":"string","indexed":false,"internalType":"string"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506115e6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a1174e7d1161005b578063a1174e7d146100f0578063b2b99ec914610105578063c8fe3a0114610118578063eecc66f41461012d57600080fd5b806339bf397e1461008d578063581f8b9b146100a85780637e4465e7146100bd5780639d209048146100d0575b600080fd5b610095610140565b6040519081526020015b60405180910390f35b6100bb6100b6366004611042565b610151565b005b6100bb6100cb366004611118565b6102fa565b6100e36100de366004611166565b6104f2565b60405161009f919061125d565b6100f8610673565b60405161009f9190611270565b6100bb610113366004611166565b61084e565b610120610a17565b60405161009f91906112d4565b6100bb61013b366004611321565b610a23565b600061014c6005610bee565b905090565b6001600160a01b038083166000908152600760205260409020600201548391166101ba57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b60405180910390fd5b336101c6600882610bfe565b6102005760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038085166000908152600760205260409020600301548591339116811461025e5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038616600090815260076020526040902080546102859060ff1687610c23565b80548690829060ff191660018360058111156102a3576102a3611181565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa0906102e9908990611392565b60405180910390a250505050505050565b33610306600882610bfe565b6103405760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038084166000908152600760205260409020600201548491166103a057604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b03808516600090815260076020526040902060030154859133911681146103fe5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b0386166000908152600760209081526040918290209151610428918891016113a0565b604051602081830303815290604052805190602001208160010160405160200161045291906113f0565b60405160208183030381529060405280519060200120036104a25760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526101b1919060040161137f565b600181016104b087826114b7565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac906102e990899061137f565b61051d6040805160808101909152806000815260606020820181905260006040830181905291015290565b610528600583610bfe565b61056857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff1660058111156105a3576105a3611181565b60058111156105b4576105b4611181565b81526020016001820180546105c8906113bc565b80601f01602080910402602001604051908101604052809291908181526020018280546105f4906113bc565b80156106415780601f1061061657610100808354040283529160200191610641565b820191906000526020600020905b81548152906001019060200180831161062457829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b606060006106816005610bee565b67ffffffffffffffff81111561069957610699611075565b6040519080825280602002602001820160405280156106f557816020015b6106e26040805160808101909152806000815260606020820181905260006040830181905291015290565b8152602001906001900390816106b75790505b50905060005b6107056005610bee565b811015610848576007600061071b600584610db6565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff16600581111561075757610757611181565b600581111561076857610768611181565b815260200160018201805461077c906113bc565b80601f01602080910402602001604051908101604052809291908181526020018280546107a8906113bc565b80156107f55780601f106107ca576101008083540402835291602001916107f5565b820191906000526020600020905b8154815290600101906020018083116107d857829003601f168201915b505050918352505060028201546001600160a01b039081166020830152600390920154909116604090910152825183908390811061083557610835611577565b60209081029190910101526001016106fb565b50919050565b6001600160a01b03808216600090815260076020526040902060030154829133911681146108ac5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038381166000908152600760205260409020600201541661090a57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b60056001600160a01b03841660009081526007602052604090205460ff16600581111561093957610939611181565b146109825760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101b1919060040161137f565b61098d600584610dc2565b506001600160a01b0383166000908152600760205260408120805460ff19168155906109bc6001830182610fc1565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b606061014c6005610dd7565b33610a2f600882610bfe565b610a695760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038481166000908152600760205260409020600201541615610ac857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526101b1919060040161137f565b60006040518060800160405280846005811115610ae757610ae7611181565b8152602081018690526001600160a01b0387166040820152336060909101529050610b13600586610de4565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff19166001836005811115610b4e57610b4e611181565b021790555060208201516001820190610b6790826114b7565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90610bdf908890889061158d565b60405180910390a35050505050565b6000610bf8825490565b92915050565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b6000826005811115610c3757610c37611181565b1480610c8b57506001826005811115610c5257610c52611181565b148015610c8b57506003816005811115610c6e57610c6e611181565b1480610c8b57506004816005811115610c8957610c89611181565b145b80610cde57506002826005811115610ca557610ca5611181565b148015610cde57506003816005811115610cc157610cc1611181565b1480610cde57506004816005811115610cdc57610cdc611181565b145b80610d3157506004826005811115610cf857610cf8611181565b148015610d3157506003816005811115610d1457610d14611181565b1480610d3157506005816005811115610d2f57610d2f611181565b145b80610d6957506003826005811115610d4b57610d4b611181565b148015610d6957506005816005811115610d6757610d67611181565b145b15610d72575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101b1919060040161137f565b6000610c1c8383610df9565b6000610c1c836001600160a01b038416610e23565b60606000610c1c83610f16565b6000610c1c836001600160a01b038416610f72565b6000826000018281548110610e1057610e10611577565b9060005260206000200154905092915050565b60008181526001830160205260408120548015610f0c576000610e476001836115af565b8554909150600090610e5b906001906115af565b9050808214610ec0576000866000018281548110610e7b57610e7b611577565b9060005260206000200154905080876000018481548110610e9e57610e9e611577565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610ed157610ed16115d0565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610bf8565b6000915050610bf8565b606081600001805480602002602001604051908101604052809291908181526020018280548015610f6657602002820191906000526020600020905b815481526020019060010190808311610f52575b50505050509050919050565b6000818152600183016020526040812054610fb957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610bf8565b506000610bf8565b508054610fcd906113bc565b6000825580601f10610fdd575050565b601f016020900490600052602060002090810190610ffb9190610ffe565b50565b5b808211156110135760008155600101610fff565b5090565b80356001600160a01b038116811461102e57600080fd5b919050565b80356006811061102e57600080fd5b6000806040838503121561105557600080fd5b61105e83611017565b915061106c60208401611033565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261109c57600080fd5b813567ffffffffffffffff808211156110b7576110b7611075565b604051601f8301601f19908116603f011681019082821181831017156110df576110df611075565b816040528381528660208588010111156110f857600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561112b57600080fd5b61113483611017565b9150602083013567ffffffffffffffff81111561115057600080fd5b61115c8582860161108b565b9150509250929050565b60006020828403121561117857600080fd5b610c1c82611017565b634e487b7160e01b600052602160045260246000fd5b600681106111b557634e487b7160e01b600052602160045260246000fd5b9052565b60005b838110156111d45781810151838201526020016111bc565b50506000910152565b600081518084526111f58160208601602086016111b9565b601f01601f19169290920160200192915050565b611214828251611197565b600060208201516080602085015261122f60808501826111dd565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000610c1c6020830184611209565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156112c757603f198886030184526112b5858351611209565b94509285019290850190600101611299565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156113155783516001600160a01b0316835292840192918401916001016112f0565b50909695505050505050565b60008060006060848603121561133657600080fd5b61133f84611017565b9250602084013567ffffffffffffffff81111561135b57600080fd5b6113678682870161108b565b92505061137660408501611033565b90509250925092565b602081526000610c1c60208301846111dd565b60208101610bf88284611197565b600082516113b28184602087016111b9565b9190910192915050565b600181811c908216806113d057607f821691505b60208210810361084857634e487b7160e01b600052602260045260246000fd5b60008083546113fe816113bc565b60018281168015611416576001811461142b5761145a565b60ff198416875282151583028701945061145a565b8760005260208060002060005b858110156114515781548a820152908401908201611438565b50505082870194505b50929695505050505050565b601f8211156114b2576000816000526020600020601f850160051c8101602086101561148f5750805b601f850160051c820191505b818110156114ae5782815560010161149b565b5050505b505050565b815167ffffffffffffffff8111156114d1576114d1611075565b6114e5816114df84546113bc565b84611466565b602080601f83116001811461151a57600084156115025750858301515b600019600386901b1c1916600185901b1785556114ae565b600085815260208120601f198616915b828110156115495788860151825594840194600190910190840161152a565b50858210156115675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b6040815260006115a060408301856111dd565b9050610c1c6020830184611197565b81810381811115610bf857634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd","sourceMap":"521:3423:195:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a1174e7d1161005b578063a1174e7d146100f0578063b2b99ec914610105578063c8fe3a0114610118578063eecc66f41461012d57600080fd5b806339bf397e1461008d578063581f8b9b146100a85780637e4465e7146100bd5780639d209048146100d0575b600080fd5b610095610140565b6040519081526020015b60405180910390f35b6100bb6100b6366004611042565b610151565b005b6100bb6100cb366004611118565b6102fa565b6100e36100de366004611166565b6104f2565b60405161009f919061125d565b6100f8610673565b60405161009f9190611270565b6100bb610113366004611166565b61084e565b610120610a17565b60405161009f91906112d4565b6100bb61013b366004611321565b610a23565b600061014c6005610bee565b905090565b6001600160a01b038083166000908152600760205260409020600201548391166101ba57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b60405180910390fd5b336101c6600882610bfe565b6102005760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038085166000908152600760205260409020600301548591339116811461025e5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038616600090815260076020526040902080546102859060ff1687610c23565b80548690829060ff191660018360058111156102a3576102a3611181565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa0906102e9908990611392565b60405180910390a250505050505050565b33610306600882610bfe565b6103405760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038084166000908152600760205260409020600201548491166103a057604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b03808516600090815260076020526040902060030154859133911681146103fe5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b0386166000908152600760209081526040918290209151610428918891016113a0565b604051602081830303815290604052805190602001208160010160405160200161045291906113f0565b60405160208183030381529060405280519060200120036104a25760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526101b1919060040161137f565b600181016104b087826114b7565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac906102e990899061137f565b61051d6040805160808101909152806000815260606020820181905260006040830181905291015290565b610528600583610bfe565b61056857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff1660058111156105a3576105a3611181565b60058111156105b4576105b4611181565b81526020016001820180546105c8906113bc565b80601f01602080910402602001604051908101604052809291908181526020018280546105f4906113bc565b80156106415780601f1061061657610100808354040283529160200191610641565b820191906000526020600020905b81548152906001019060200180831161062457829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b606060006106816005610bee565b67ffffffffffffffff81111561069957610699611075565b6040519080825280602002602001820160405280156106f557816020015b6106e26040805160808101909152806000815260606020820181905260006040830181905291015290565b8152602001906001900390816106b75790505b50905060005b6107056005610bee565b811015610848576007600061071b600584610db6565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff16600581111561075757610757611181565b600581111561076857610768611181565b815260200160018201805461077c906113bc565b80601f01602080910402602001604051908101604052809291908181526020018280546107a8906113bc565b80156107f55780601f106107ca576101008083540402835291602001916107f5565b820191906000526020600020905b8154815290600101906020018083116107d857829003601f168201915b505050918352505060028201546001600160a01b039081166020830152600390920154909116604090910152825183908390811061083557610835611577565b60209081029190910101526001016106fb565b50919050565b6001600160a01b03808216600090815260076020526040902060030154829133911681146108ac5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038381166000908152600760205260409020600201541661090a57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101b1919060040161137f565b60056001600160a01b03841660009081526007602052604090205460ff16600581111561093957610939611181565b146109825760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101b1919060040161137f565b61098d600584610dc2565b506001600160a01b0383166000908152600760205260408120805460ff19168155906109bc6001830182610fc1565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b606061014c6005610dd7565b33610a2f600882610bfe565b610a695760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101b1919060040161137f565b6001600160a01b038481166000908152600760205260409020600201541615610ac857604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526101b1919060040161137f565b60006040518060800160405280846005811115610ae757610ae7611181565b8152602081018690526001600160a01b0387166040820152336060909101529050610b13600586610de4565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff19166001836005811115610b4e57610b4e611181565b021790555060208201516001820190610b6790826114b7565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90610bdf908890889061158d565b60405180910390a35050505050565b6000610bf8825490565b92915050565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b6000826005811115610c3757610c37611181565b1480610c8b57506001826005811115610c5257610c52611181565b148015610c8b57506003816005811115610c6e57610c6e611181565b1480610c8b57506004816005811115610c8957610c89611181565b145b80610cde57506002826005811115610ca557610ca5611181565b148015610cde57506003816005811115610cc157610cc1611181565b1480610cde57506004816005811115610cdc57610cdc611181565b145b80610d3157506004826005811115610cf857610cf8611181565b148015610d3157506003816005811115610d1457610d14611181565b1480610d3157506005816005811115610d2f57610d2f611181565b145b80610d6957506003826005811115610d4b57610d4b611181565b148015610d6957506005816005811115610d6757610d67611181565b145b15610d72575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101b1919060040161137f565b6000610c1c8383610df9565b6000610c1c836001600160a01b038416610e23565b60606000610c1c83610f16565b6000610c1c836001600160a01b038416610f72565b6000826000018281548110610e1057610e10611577565b9060005260206000200154905092915050565b60008181526001830160205260408120548015610f0c576000610e476001836115af565b8554909150600090610e5b906001906115af565b9050808214610ec0576000866000018281548110610e7b57610e7b611577565b9060005260206000200154905080876000018481548110610e9e57610e9e611577565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610ed157610ed16115d0565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610bf8565b6000915050610bf8565b606081600001805480602002602001604051908101604052809291908181526020018280548015610f6657602002820191906000526020600020905b815481526020019060010190808311610f52575b50505050509050919050565b6000818152600183016020526040812054610fb957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610bf8565b506000610bf8565b508054610fcd906113bc565b6000825580601f10610fdd575050565b601f016020900490600052602060002090810190610ffb9190610ffe565b50565b5b808211156110135760008155600101610fff565b5090565b80356001600160a01b038116811461102e57600080fd5b919050565b80356006811061102e57600080fd5b6000806040838503121561105557600080fd5b61105e83611017565b915061106c60208401611033565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261109c57600080fd5b813567ffffffffffffffff808211156110b7576110b7611075565b604051601f8301601f19908116603f011681019082821181831017156110df576110df611075565b816040528381528660208588010111156110f857600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561112b57600080fd5b61113483611017565b9150602083013567ffffffffffffffff81111561115057600080fd5b61115c8582860161108b565b9150509250929050565b60006020828403121561117857600080fd5b610c1c82611017565b634e487b7160e01b600052602160045260246000fd5b600681106111b557634e487b7160e01b600052602160045260246000fd5b9052565b60005b838110156111d45781810151838201526020016111bc565b50506000910152565b600081518084526111f58160208601602086016111b9565b601f01601f19169290920160200192915050565b611214828251611197565b600060208201516080602085015261122f60808501826111dd565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000610c1c6020830184611209565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156112c757603f198886030184526112b5858351611209565b94509285019290850190600101611299565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156113155783516001600160a01b0316835292840192918401916001016112f0565b50909695505050505050565b60008060006060848603121561133657600080fd5b61133f84611017565b9250602084013567ffffffffffffffff81111561135b57600080fd5b6113678682870161108b565b92505061137660408501611033565b90509250925092565b602081526000610c1c60208301846111dd565b60208101610bf88284611197565b600082516113b28184602087016111b9565b9190910192915050565b600181811c908216806113d057607f821691505b60208210810361084857634e487b7160e01b600052602260045260246000fd5b60008083546113fe816113bc565b60018281168015611416576001811461142b5761145a565b60ff198416875282151583028701945061145a565b8760005260208060002060005b858110156114515781548a820152908401908201611438565b50505082870194505b50929695505050505050565b601f8211156114b2576000816000526020600020601f850160051c8101602086101561148f5750805b601f850160051c820191505b818110156114ae5782815560010161149b565b5050505b505050565b815167ffffffffffffffff8111156114d1576114d1611075565b6114e5816114df84546113bc565b84611466565b602080601f83116001811461151a57600084156115025750858301515b600019600386901b1c1916600185901b1785556114ae565b600085815260208120601f198616915b828110156115495788860151825594840194600190910190840161152a565b50858210156115675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b6040815260006115a060408301856111dd565b9050610c1c6020830184611197565b81810381811115610bf857634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd","sourceMap":"521:3423:195:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2854:91;;;:::i;:::-;;;160:25:654;;;148:2;133:18;2854:91:195;;;;;;;;1733:394;;;;;;:::i;:::-;;:::i;:::-;;2131:453;;;;;;:::i;:::-;;:::i;2588:262::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3060:254::-;;;:::i;:::-;;;;;;;:::i;1253:476::-;;;;;;:::i;:::-;;:::i;2949:107::-;;;:::i;:::-;;;;;;;:::i;636:613::-;;;;;;:::i;:::-;;:::i;2854:91::-;2901:7;2923:17;:8;:15;:17::i;:::-;2916:24;;2854:91;:::o;1733:394::-;-1:-1:-1;;;;;3039:22:201;;;3085:1;3039:22;;;:16;:22;;;;;:34;;;1837:11:195;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;:::-;;;;;;;;3035:102;1867:10:195::1;3204:31:201;:12;1867:10:195::0;3204:21:201::1;:31::i;:::-;3199:74;;3244:28;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3244:28:201::1;::::0;::::1;::::0;3237:36;;-1:-1:-1;;;3237:36:201;;::::1;::::0;3244:28;3237:36:::1;;;:::i;3199:74::-;-1:-1:-1::0;;;;;3490:22:201;;::::2;:2;:22:::0;;;:16:::2;:22;::::0;;;;:31:::2;;::::0;1900:11:195;;1913:10:::2;::::0;3490:31:201::2;:43:::0;::::2;3486:91;;3548:28;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;3548:28:201::2;::::0;::::2;::::0;3541:36;;-1:-1:-1;;;3541:36:201;;::::2;::::0;3548:28;3541:36:::2;;;:::i;3486:91::-;-1:-1:-1::0;;;;;1953:29:195;::::3;1933:17;1953:29:::0;;;:16:::3;:29;::::0;;;;2021:11;;1989:52:::3;::::0;2021:11:::3;;2034:6:::0;1989:31:::3;:52::i;:::-;2048:20:::0;;2062:6;;2048:4;;-1:-1:-1;;2048:20:195::3;::::0;2062:6;2048:20:::3;::::0;::::3;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;2097:16:195::3;::::0;::::3;::::0;2079:43:::3;::::0;-1:-1:-1;;;;;2097:16:195;;::::3;::::0;2079:43:::3;::::0;::::3;::::0;2115:6;;2079:43:::3;:::i;:::-;;;;;;;;1927:200;3279:1:201::2;;3143::::1;1733:394:195::0;;;:::o;2131:453::-;2236:10;3204:31:201;:12;2236:10:195;3204:21:201;:31::i;:::-;3199:74;;3244:28;;;;;;;;;;;-1:-1:-1;;;3244:28:201;;;;3237:36;;-1:-1:-1;;;3237:36:201;;;;3244:28;3237:36;;;:::i;3199:74::-;-1:-1:-1;;;;;3039:22:201;;::::1;3085:1;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;2261:11:195;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;-1:-1:-1::0;;;;;3490:22:201;;::::2;:2;:22:::0;;;:16:::2;:22;::::0;;;;:31:::2;;::::0;2295:11:195;;2308:10:::2;::::0;3490:31:201::2;:43:::0;::::2;3486:91;;3548:28;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;3548:28:201::2;::::0;::::2;::::0;3541:36;;-1:-1:-1;;;3541:36:201;;::::2;::::0;3548:28;3541:36:::2;;;:::i;3486:91::-;-1:-1:-1::0;;;;;2348:29:195;::::3;2328:17;2348:29:::0;;;:16:::3;:29;::::0;;;;;;;;2446:21;;::::3;::::0;2463:3;;2446:21:::3;;:::i;:::-;;;;;;;;;;;;;2436:32;;;;;;2422:4;:8;;2405:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;2395:37;;;;;;:73:::0;2384:126:::3;;2482:27;::::0;;;;::::3;::::0;;::::3;::::0;;-1:-1:-1;;;2482:27:195::3;::::0;::::3;::::0;2475:35;;-1:-1:-1;;;2475:35:195;;::::3;::::0;2482:27;2475:35:::3;;;:::i;2384:126::-;2517:8;::::0;::::3;:14;2528:3:::0;2517:8;:14:::3;:::i;:::-;-1:-1:-1::0;2557:16:195::3;::::0;::::3;::::0;2542:37:::3;::::0;-1:-1:-1;;;;;2557:16:195;;::::3;::::0;2542:37:::3;::::0;::::3;::::0;2575:3;;2542:37:::3;:::i;2588:262::-:0;2649:11;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2649:11:195;2722:30;:8;2740:11;2722:17;:30::i;:::-;2717:85;;2767:34;;;;;;;;;;;-1:-1:-1;;;2767:34:195;;;;2760:42;;-1:-1:-1;;;2760:42:195;;;;2767:34;2760:42;;;:::i;2717:85::-;-1:-1:-1;;;;;2816:29:195;;:2;:29;;;:16;:29;;;;;;;2809:36;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2809:36:195;;;-1:-1:-1;;2809:36:195;;;;-1:-1:-1;;;;;2809:36:195;;;;;;;;;;;;;;;;;;;;;2588:262;-1:-1:-1;;2588:262:195:o;3060:254::-;3106:13;3127:19;3160:17;:8;:15;:17::i;:::-;3149:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3149:29:195;;;;;;;;;;;;;;;;;3127:51;;3190:9;3185:106;3209:17;:8;:15;:17::i;:::-;3205:1;:21;3185:106;;;3252:16;:2;3269:14;:8;3281:1;3269:11;:14::i;:::-;-1:-1:-1;;;;;3252:32:195;;;;;;;;;;;;;;-1:-1:-1;3252:32:195;3241:43;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3241:43:195;;;-1:-1:-1;;3241:43:195;;;;-1:-1:-1;;;;;3241:43:195;;;;;;;;;;;;;;;;;;;;:8;;:5;;3247:1;;3241:8;;;;;;:::i;:::-;;;;;;;;;;:43;3228:3;;3185:106;;;-1:-1:-1;3304:5:195;3060:254;-1:-1:-1;3060:254:195:o;1253:476::-;-1:-1:-1;;;;;3490:22:201;;;:2;:22;;;:16;:22;;;;;:31;;;1328:11:195;;1341:10;;3490:31:201;:43;;3486:91;;3548:28;;;;;;;;;;;-1:-1:-1;;;3548:28:201;;;;3541:36;;-1:-1:-1;;;3541:36:201;;;;3548:28;3541:36;;;:::i;3486:91::-;-1:-1:-1;;;;;1363:29:195;;::::1;1416:1;1363:29:::0;;;:16:::1;:29;::::0;;;;:41:::1;;::::0;::::1;1359:118;;1435:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1435:34:195::1;::::0;::::1;::::0;1428:42;;-1:-1:-1;;;1428:42:195;;::::1;::::0;1435:34;1428:42:::1;;;:::i;1359:118::-;1527:18;-1:-1:-1::0;;;;;1487:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;:36;::::1;;:58;::::0;::::1;;;;;;:::i;:::-;;1483:129;;1562:42;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1562:42:195::1;::::0;::::1;::::0;1555:50;;-1:-1:-1;;;1555:50:195;;::::1;::::0;1562:42;1555:50:::1;;;:::i;1483:129::-;1618:28;:8;1634:11:::0;1618:15:::1;:28::i;:::-;-1:-1:-1::0;;;;;;1659:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;1652:36;;-1:-1:-1;;1652:36:195::1;::::0;;1659:29;1652:36:::1;::::0;;::::1;1659:2:::0;1652:36:::1;:::i;:::-;-1:-1:-1::0;1652:36:195::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;1652:36:195;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;1700:24:::1;::::0;-1:-1:-1;;;;;1700:24:195;::::1;::::0;::::1;::::0;1652:36:::1;::::0;1700:24:::1;1253:476:::0;;;:::o;2949:107::-;3003:16;3034:17;:8;:15;:17::i;636:613::-;755:10;3204:31:201;:12;755:10:195;3204:21:201;:31::i;:::-;3199:74;;3244:28;;;;;;;;;;;-1:-1:-1;;;3244:28:201;;;;3237:36;;-1:-1:-1;;;3237:36:201;;;;3244:28;3237:36;;;:::i;3199:74::-;-1:-1:-1;;;;;838:29:195;;::::1;891:1;838:29:::0;;;:16:::1;:29;::::0;;;;:41:::1;;::::0;::::1;:55:::0;834:109:::1;;908:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;908:34:195::1;::::0;::::1;::::0;901:42;;-1:-1:-1;;;901:42:195;;::::1;::::0;908:34;901:42:::1;;;:::i;834:109::-;950:19;972:110;;;;;;;;1041:6;972:110;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;972:110:195;::::1;::::0;;;;1065:10:::1;972:110:::0;;;;;950:132;-1:-1:-1;1089:25:195::1;:8;998:11:::0;1089:12:::1;:25::i;:::-;-1:-1:-1::0;;;;;;1146:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;:39;;;;1178:7;;1146:29;:39;:29;;-1:-1:-1;;1146:39:195::1;::::0;;::::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;1146:39:195::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;1146:39:195::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;1146:39:195;;::::1;-1:-1:-1::0;;;;;1146:39:195;;::::1;;::::0;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;1197:47;;1220:10:::1;::::0;1197:47;::::1;::::0;::::1;::::0;::::1;::::0;1232:3;;1237:6;;1197:47:::1;:::i;:::-;;;;;;;;767:482;636:613:::0;;;;:::o;9090:115:511:-;9153:7;9179:19;9187:3;4556:18;;4474:107;9179:19;9172:26;9090:115;-1:-1:-1;;9090:115:511:o;8844:165::-;-1:-1:-1;;;;;8977:23:511;;8924:4;4360:21;;;:14;;;:21;;;;;;:26;;8947:55;8940:62;8844:165;-1:-1:-1;;;8844:165:511:o;3318:624:195:-;3442:25;3434:4;:33;;;;;;;;:::i;:::-;;:141;;;-1:-1:-1;3486:21:195;3478:4;:29;;;;;;;;:::i;:::-;;:96;;;;-1:-1:-1;3526:17:195;3520:2;:23;;;;;;;;:::i;:::-;;:53;;;-1:-1:-1;3553:20:195;3547:2;:26;;;;;;;;:::i;:::-;;3520:53;3434:250;;;-1:-1:-1;3594:22:195;3586:4;:30;;;;;;;;:::i;:::-;;:97;;;;-1:-1:-1;3635:17:195;3629:2;:23;;;;;;;;:::i;:::-;;:53;;;-1:-1:-1;3662:20:195;3656:2;:26;;;;;;;;:::i;:::-;;3629:53;3434:355;;;-1:-1:-1;3703:20:195;3695:4;:28;;;;;;;;:::i;:::-;;:93;;;;-1:-1:-1;3742:17:195;3736:2;:23;;;;;;;;:::i;:::-;;:51;;;-1:-1:-1;3769:18:195;3763:2;:24;;;;;;;;:::i;:::-;;3736:51;3434:420;;;-1:-1:-1;3808:17:195;3800:4;:25;;;;;;;;:::i;:::-;;:53;;;;-1:-1:-1;3835:18:195;3829:2;:24;;;;;;;;:::i;:::-;;3800:53;3423:459;;;3318:624;;:::o;3423:459::-;3894:42;;;;;;;;;;;-1:-1:-1;;;3894:42:195;;;;3887:50;;-1:-1:-1;;;3887:50:195;;;;3894:42;3887:50;;;:::i;9547:156:511:-;9621:7;9671:22;9675:3;9687:5;9671:3;:22::i;8607:156::-;8680:4;8703:53;8711:3;-1:-1:-1;;;;;8731:23:511;;8703:7;:53::i;10243:273::-;10306:16;10334:22;10359:19;10367:3;10359:7;:19::i;8289:150::-;8359:4;8382:50;8387:3;-1:-1:-1;;;;;8407:23:511;;8382:4;:50::i;4923:118::-;4990:7;5016:3;:11;;5028:5;5016:18;;;;;;;;:::i;:::-;;;;;;;;;5009:25;;4923:118;;;;:::o;2815:1368::-;2881:4;3010:21;;;:14;;;:21;;;;;;3046:13;;3042:1135;;3413:18;3434:12;3445:1;3434:8;:12;:::i;:::-;3480:18;;3413:33;;-1:-1:-1;3460:17:511;;3480:22;;3501:1;;3480:22;:::i;:::-;3460:42;;3535:9;3521:10;:23;3517:378;;3564:17;3584:3;:11;;3596:9;3584:22;;;;;;;;:::i;:::-;;;;;;;;;3564:42;;3731:9;3705:3;:11;;3717:10;3705:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:35;;;;3844:25;;;:14;;;:25;;;;;:36;;;3517:378;3973:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4076:3;:14;;:21;4091:5;4076:21;;;;;;;;;;;4069:28;;;4119:4;4112:11;;;;;;;3042:1135;4161:5;4154:12;;;;;5581:109;5637:16;5672:3;:11;;5665:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5581:109;;;:::o;2241:406::-;2304:4;4360:21;;;:14;;;:21;;;;;;2320:321;;-1:-1:-1;2362:23:511;;;;;;;;:11;:23;;;;;;;;;;;;;2544:18;;2520:21;;;:14;;;:21;;;;;;:42;;;;2576:11;;2320:321;-1:-1:-1;2625:5:511;2618:12;;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;196:173:654:-;264:20;;-1:-1:-1;;;;;313:31:654;;303:42;;293:70;;359:1;356;349:12;293:70;196:173;;;:::o;374:151::-;450:20;;499:1;489:12;;479:40;;515:1;512;505:12;530:284;614:6;622;675:2;663:9;654:7;650:23;646:32;643:52;;;691:1;688;681:12;643:52;714:29;733:9;714:29;:::i;:::-;704:39;;762:46;804:2;793:9;789:18;762:46;:::i;:::-;752:56;;530:284;;;;;:::o;819:127::-;880:10;875:3;871:20;868:1;861:31;911:4;908:1;901:15;935:4;932:1;925:15;951:719;994:5;1047:3;1040:4;1032:6;1028:17;1024:27;1014:55;;1065:1;1062;1055:12;1014:55;1101:6;1088:20;1127:18;1164:2;1160;1157:10;1154:36;;;1170:18;;:::i;:::-;1245:2;1239:9;1213:2;1299:13;;-1:-1:-1;;1295:22:654;;;1319:2;1291:31;1287:40;1275:53;;;1343:18;;;1363:22;;;1340:46;1337:72;;;1389:18;;:::i;:::-;1429:10;1425:2;1418:22;1464:2;1456:6;1449:18;1510:3;1503:4;1498:2;1490:6;1486:15;1482:26;1479:35;1476:55;;;1527:1;1524;1517:12;1476:55;1591:2;1584:4;1576:6;1572:17;1565:4;1557:6;1553:17;1540:54;1638:1;1631:4;1626:2;1618:6;1614:15;1610:26;1603:37;1658:6;1649:15;;;;;;951:719;;;;:::o;1675:396::-;1753:6;1761;1814:2;1802:9;1793:7;1789:23;1785:32;1782:52;;;1830:1;1827;1820:12;1782:52;1853:29;1872:9;1853:29;:::i;:::-;1843:39;;1933:2;1922:9;1918:18;1905:32;1960:18;1952:6;1949:30;1946:50;;;1992:1;1989;1982:12;1946:50;2015;2057:7;2048:6;2037:9;2033:22;2015:50;:::i;:::-;2005:60;;;1675:396;;;;;:::o;2076:186::-;2135:6;2188:2;2176:9;2167:7;2163:23;2159:32;2156:52;;;2204:1;2201;2194:12;2156:52;2227:29;2246:9;2227:29;:::i;2267:127::-;2328:10;2323:3;2319:20;2316:1;2309:31;2359:4;2356:1;2349:15;2383:4;2380:1;2373:15;2399:238;2481:1;2474:5;2471:12;2461:143;;2526:10;2521:3;2517:20;2514:1;2507:31;2561:4;2558:1;2551:15;2589:4;2586:1;2579:15;2461:143;2613:18;;2399:238::o;2642:250::-;2727:1;2737:113;2751:6;2748:1;2745:13;2737:113;;;2827:11;;;2821:18;2808:11;;;2801:39;2773:2;2766:10;2737:113;;;-1:-1:-1;;2884:1:654;2866:16;;2859:27;2642:250::o;2897:271::-;2939:3;2977:5;2971:12;3004:6;2999:3;2992:19;3020:76;3089:6;3082:4;3077:3;3073:14;3066:4;3059:5;3055:16;3020:76;:::i;:::-;3150:2;3129:15;-1:-1:-1;;3125:29:654;3116:39;;;;3157:4;3112:50;;2897:271;-1:-1:-1;;2897:271:654:o;3173:506::-;3238:45;3279:3;3271:5;3265:12;3238:45;:::i;:::-;3220:3;3329:4;3322:5;3318:16;3312:23;3367:4;3360;3355:3;3351:14;3344:28;3393:47;3434:4;3429:3;3425:14;3411:12;3393:47;:::i;:::-;3488:4;3477:16;;;3471:23;-1:-1:-1;;;;;3564:23:654;;;3548:14;;;3541:47;;;;3641:4;3630:16;;;3624:23;3620:32;3604:14;;;;3597:56;;;;-1:-1:-1;3381:59:654;;3173:506;-1:-1:-1;3173:506:654:o;3684:251::-;3859:2;3848:9;3841:21;3822:4;3879:50;3925:2;3914:9;3910:18;3902:6;3879:50;:::i;3940:834::-;4128:4;4157:2;4197;4186:9;4182:18;4227:2;4216:9;4209:21;4250:6;4285;4279:13;4316:6;4308;4301:22;4354:2;4343:9;4339:18;4332:25;;4416:2;4406:6;4403:1;4399:14;4388:9;4384:30;4380:39;4366:53;;4454:2;4446:6;4442:15;4475:1;4485:260;4499:6;4496:1;4493:13;4485:260;;;4592:2;4588:7;4576:9;4568:6;4564:22;4560:36;4555:3;4548:49;4620:45;4658:6;4649;4643:13;4620:45;:::i;:::-;4610:55;-1:-1:-1;4723:12:654;;;;4688:15;;;;4521:1;4514:9;4485:260;;;-1:-1:-1;4762:6:654;;3940:834;-1:-1:-1;;;;;;;3940:834:654:o;4779:658::-;4950:2;5002:21;;;5072:13;;4975:18;;;5094:22;;;4921:4;;4950:2;5173:15;;;;5147:2;5132:18;;;4921:4;5216:195;5230:6;5227:1;5224:13;5216:195;;;5295:13;;-1:-1:-1;;;;;5291:39:654;5279:52;;5386:15;;;;5351:12;;;;5327:1;5245:9;5216:195;;;-1:-1:-1;5428:3:654;;4779:658;-1:-1:-1;;;;;;4779:658:654:o;5442:494::-;5545:6;5553;5561;5614:2;5602:9;5593:7;5589:23;5585:32;5582:52;;;5630:1;5627;5620:12;5582:52;5653:29;5672:9;5653:29;:::i;:::-;5643:39;;5733:2;5722:9;5718:18;5705:32;5760:18;5752:6;5749:30;5746:50;;;5792:1;5789;5782:12;5746:50;5815;5857:7;5848:6;5837:9;5833:22;5815:50;:::i;:::-;5805:60;;;5884:46;5926:2;5915:9;5911:18;5884:46;:::i;:::-;5874:56;;5442:494;;;;;:::o;5941:220::-;6090:2;6079:9;6072:21;6053:4;6110:45;6151:2;6140:9;6136:18;6128:6;6110:45;:::i;6166:211::-;6314:2;6299:18;;6326:45;6303:9;6353:6;6326:45;:::i;6382:289::-;6513:3;6551:6;6545:13;6567:66;6626:6;6621:3;6614:4;6606:6;6602:17;6567:66;:::i;:::-;6649:16;;;;;6382:289;-1:-1:-1;;6382:289:654:o;6676:380::-;6755:1;6751:12;;;;6798;;;6819:61;;6873:4;6865:6;6861:17;6851:27;;6819:61;6926:2;6918:6;6915:14;6895:18;6892:38;6889:161;;6972:10;6967:3;6963:20;6960:1;6953:31;7007:4;7004:1;6997:15;7035:4;7032:1;7025:15;7187:843;7315:3;7344:1;7377:6;7371:13;7407:36;7433:9;7407:36;:::i;:::-;7462:1;7479:17;;;7505:133;;;;7652:1;7647:358;;;;7472:533;;7505:133;-1:-1:-1;;7538:24:654;;7526:37;;7611:14;;7604:22;7592:35;;7583:45;;;-1:-1:-1;7505:133:654;;7647:358;7678:6;7675:1;7668:17;7708:4;7753;7750:1;7740:18;7780:1;7794:165;7808:6;7805:1;7802:13;7794:165;;;7886:14;;7873:11;;;7866:35;7929:16;;;;7823:10;;7794:165;;;7798:3;;;7988:6;7983:3;7979:16;7972:23;;7472:533;-1:-1:-1;8021:3:654;;7187:843;-1:-1:-1;;;;;;7187:843:654:o;8035:543::-;8137:2;8132:3;8129:11;8126:446;;;8173:1;8197:5;8194:1;8187:16;8241:4;8238:1;8228:18;8311:2;8299:10;8295:19;8292:1;8288:27;8282:4;8278:38;8347:4;8335:10;8332:20;8329:47;;;-1:-1:-1;8370:4:654;8329:47;8425:2;8420:3;8416:12;8413:1;8409:20;8403:4;8399:31;8389:41;;8480:82;8498:2;8491:5;8488:13;8480:82;;;8543:17;;;8524:1;8513:13;8480:82;;;8484:3;;;8126:446;8035:543;;;:::o;8754:1345::-;8880:3;8874:10;8907:18;8899:6;8896:30;8893:56;;;8929:18;;:::i;:::-;8958:97;9048:6;9008:38;9040:4;9034:11;9008:38;:::i;:::-;9002:4;8958:97;:::i;:::-;9110:4;;9167:2;9156:14;;9184:1;9179:663;;;;9886:1;9903:6;9900:89;;;-1:-1:-1;9955:19:654;;;9949:26;9900:89;-1:-1:-1;;8711:1:654;8707:11;;;8703:24;8699:29;8689:40;8735:1;8731:11;;;8686:57;10002:81;;9149:944;;9179:663;7134:1;7127:14;;;7171:4;7158:18;;-1:-1:-1;;9215:20:654;;;9333:236;9347:7;9344:1;9341:14;9333:236;;;9436:19;;;9430:26;9415:42;;9528:27;;;;9496:1;9484:14;;;;9363:19;;9333:236;;;9337:3;9597:6;9588:7;9585:19;9582:201;;;9658:19;;;9652:26;-1:-1:-1;;9741:1:654;9737:14;;;9753:3;9733:24;9729:37;9725:42;9710:58;9695:74;;9582:201;-1:-1:-1;;;;;9829:1:654;9813:14;;;9809:22;9796:36;;-1:-1:-1;8754:1345:654:o;10104:127::-;10165:10;10160:3;10156:20;10153:1;10146:31;10196:4;10193:1;10186:15;10220:4;10217:1;10210:15;10236:325;10427:2;10416:9;10409:21;10390:4;10447:45;10488:2;10477:9;10473:18;10465:6;10447:45;:::i;:::-;10439:53;;10501:54;10551:2;10540:9;10536:18;10528:6;10501:54;:::i;10566:225::-;10633:9;;;10654:11;;;10651:134;;;10707:10;10702:3;10698:20;10695:1;10688:31;10742:4;10739:1;10732:15;10770:4;10767:1;10760:15;10796:127;10857:10;10852:3;10848:20;10845:1;10838:31;10888:4;10885:1;10878:15;10912:4;10909:1;10902:15","linkReferences":{}},"methodIdentifiers":{"getAllNodeAddresses()":"c8fe3a01","getAllNodes()":"a1174e7d","getNode(address)":"9d209048","getNodeCount()":"39bf397e","registerNode(address,string,uint8)":"eecc66f4","removeNode(address)":"b2b99ec9","updateNodeStatus(address,uint8)":"581f8b9b","updateNodeUrl(address,string)":"7e4465e7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"NodeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"NodeRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"NodeStatusUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"NodeUrlUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getAllNodeAddresses\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllNodes\",\"outputs\":[{\"components\":[{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"internalType\":\"struct Node[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"getNode\",\"outputs\":[{\"components\":[{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"internalType\":\"struct Node\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNodeCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"registerNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"removeNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"updateNodeUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getAllNodeAddresses()\":{\"details\":\"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block.\"},\"getAllNodes()\":{\"details\":\"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getAllNodeAddresses()\":{\"notice\":\"Return array containing all node addresses\"},\"getAllNodes()\":{\"notice\":\"Return array containing all nodes\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/river/registry/facets/node/NodeRegistry.sol\":\"NodeRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/river/registry/facets/node/INodeRegistry.sol\":{\"keccak256\":\"0x91ae5e33d5bc5eaf966789d8e1b03c6bb682ae363bdad4b94742bad0431990a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e51a3f583b56c81aa6ce15c2521c7f6682d0292f77dfed420172d7104e1f482\",\"dweb:/ipfs/QmSBmDqF8nR1wvFiqXgk6Z9GknAmZtrL2LStoRWFijEntv\"]},\"contracts/src/river/registry/facets/node/NodeRegistry.sol\":{\"keccak256\":\"0x0134a09c9910214b08b16d3fe7788dd87f0b2084f342e3ec1e191dc455c44c2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://174e8f3c8ec467a9ca0e65e47d3c9415463cd5d4cb7a79d726231f9253674eae\",\"dweb:/ipfs/QmVCnvLS9HbugbcgvzVy4WjdQYbU1YMLonNQZo4szSADZP\"]},\"contracts/src/river/registry/libraries/RegistryErrors.sol\":{\"keccak256\":\"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501\",\"dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP\"]},\"contracts/src/river/registry/libraries/RegistryStorage.sol\":{\"keccak256\":\"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4\",\"dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"string","name":"url","type":"string","indexed":false},{"internalType":"enum NodeStatus","name":"status","type":"uint8","indexed":false}],"type":"event","name":"NodeAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true}],"type":"event","name":"NodeRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"enum NodeStatus","name":"status","type":"uint8","indexed":false}],"type":"event","name":"NodeStatusUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"string","name":"url","type":"string","indexed":false}],"type":"event","name":"NodeUrlUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllNodeAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllNodes","outputs":[{"internalType":"struct Node[]","name":"","type":"tuple[]","components":[{"internalType":"enum NodeStatus","name":"status","type":"uint8"},{"internalType":"string","name":"url","type":"string"},{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getNode","outputs":[{"internalType":"struct Node","name":"","type":"tuple","components":[{"internalType":"enum NodeStatus","name":"status","type":"uint8"},{"internalType":"string","name":"url","type":"string"},{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getNodeCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"string","name":"url","type":"string"},{"internalType":"enum NodeStatus","name":"status","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerNode"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeNode"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"enum NodeStatus","name":"status","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"updateNodeStatus"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateNodeUrl"}],"devdoc":{"kind":"dev","methods":{"getAllNodeAddresses()":{"details":"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."},"getAllNodes()":{"details":"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."}},"version":1},"userdoc":{"kind":"user","methods":{"getAllNodeAddresses()":{"notice":"Return array containing all node addresses"},"getAllNodes()":{"notice":"Return array containing all nodes"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/river/registry/facets/node/NodeRegistry.sol":"NodeRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/river/registry/facets/node/INodeRegistry.sol":{"keccak256":"0x91ae5e33d5bc5eaf966789d8e1b03c6bb682ae363bdad4b94742bad0431990a6","urls":["bzz-raw://5e51a3f583b56c81aa6ce15c2521c7f6682d0292f77dfed420172d7104e1f482","dweb:/ipfs/QmSBmDqF8nR1wvFiqXgk6Z9GknAmZtrL2LStoRWFijEntv"],"license":"MIT"},"contracts/src/river/registry/facets/node/NodeRegistry.sol":{"keccak256":"0x0134a09c9910214b08b16d3fe7788dd87f0b2084f342e3ec1e191dc455c44c2b","urls":["bzz-raw://174e8f3c8ec467a9ca0e65e47d3c9415463cd5d4cb7a79d726231f9253674eae","dweb:/ipfs/QmVCnvLS9HbugbcgvzVy4WjdQYbU1YMLonNQZo4szSADZP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryErrors.sol":{"keccak256":"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497","urls":["bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501","dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryStorage.sol":{"keccak256":"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201","urls":["bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4","dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"}},"version":1},"id":195} \ No newline at end of file +{"abi":[{"type":"function","name":"getAllNodeAddresses","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getAllNodes","inputs":[],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Node[]","components":[{"name":"status","type":"uint8","internalType":"enum NodeStatus"},{"name":"url","type":"string","internalType":"string"},{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Node","components":[{"name":"status","type":"uint8","internalType":"enum NodeStatus"},{"name":"url","type":"string","internalType":"string"},{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getNodeCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registerNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"},{"name":"status","type":"uint8","internalType":"enum NodeStatus"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateNodeStatus","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"status","type":"uint8","internalType":"enum NodeStatus"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateNodeUrl","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"NodeAdded","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"url","type":"string","indexed":false,"internalType":"string"},{"name":"status","type":"uint8","indexed":false,"internalType":"enum NodeStatus"}],"anonymous":false},{"type":"event","name":"NodeRemoved","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"NodeStatusUpdated","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"status","type":"uint8","indexed":false,"internalType":"enum NodeStatus"}],"anonymous":false},{"type":"event","name":"NodeUrlUpdated","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"url","type":"string","indexed":false,"internalType":"string"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50611632806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80639d209048116100665780639d2090481461011c578063a1174e7d1461013c578063b2b99ec914610151578063c8fe3a0114610164578063eecc66f41461017957600080fd5b8063017501521461009857806339bf397e146100de578063581f8b9b146100f45780637e4465e714610109575b600080fd5b6100c96100a636600461107f565b6001600160a01b0390811660009081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b6100e661018c565b6040519081526020016100d5565b6101076101023660046110a9565b61019d565b005b61010761011736600461117f565b610346565b61012f61012a36600461107f565b61053e565b6040516100d591906112a9565b6101446106bf565b6040516100d591906112bc565b61010761015f36600461107f565b61089a565b61016c610a63565b6040516100d59190611320565b61010761018736600461136d565b610a6f565b60006101986005610c3a565b905090565b6001600160a01b0380831660009081526007602052604090206002015483911661020657604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b60405180910390fd5b33610212600882610c4a565b61024c5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b03808516600090815260076020526040902060030154859133911681146102aa5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038616600090815260076020526040902080546102d19060ff1687610c6f565b80548690829060ff191660018360058111156102ef576102ef6111cd565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa0906103359089906113de565b60405180910390a250505050505050565b33610352600882610c4a565b61038c5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038084166000908152600760205260409020600201548491166103ec57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038085166000908152600760205260409020600301548591339116811461044a5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b0386166000908152600760209081526040918290209151610474918891016113ec565b604051602081830303815290604052805190602001208160010160405160200161049e919061143c565b60405160208183030381529060405280519060200120036104ee5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526101fd91906004016113cb565b600181016104fc8782611503565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac906103359089906113cb565b6105696040805160808101909152806000815260606020820181905260006040830181905291015290565b610574600583610c4a565b6105b457604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff1660058111156105ef576105ef6111cd565b6005811115610600576106006111cd565b815260200160018201805461061490611408565b80601f016020809104026020016040519081016040528092919081815260200182805461064090611408565b801561068d5780601f106106625761010080835404028352916020019161068d565b820191906000526020600020905b81548152906001019060200180831161067057829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b606060006106cd6005610c3a565b67ffffffffffffffff8111156106e5576106e56110dc565b60405190808252806020026020018201604052801561074157816020015b61072e6040805160808101909152806000815260606020820181905260006040830181905291015290565b8152602001906001900390816107035790505b50905060005b6107516005610c3a565b8110156108945760076000610767600584610e02565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff1660058111156107a3576107a36111cd565b60058111156107b4576107b46111cd565b81526020016001820180546107c890611408565b80601f01602080910402602001604051908101604052809291908181526020018280546107f490611408565b80156108415780601f1061081657610100808354040283529160200191610841565b820191906000526020600020905b81548152906001019060200180831161082457829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110610881576108816115c3565b6020908102919091010152600101610747565b50919050565b6001600160a01b03808216600090815260076020526040902060030154829133911681146108f85760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038381166000908152600760205260409020600201541661095657604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b60056001600160a01b03841660009081526007602052604090205460ff166005811115610985576109856111cd565b146109ce5760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6109d9600584610e0e565b506001600160a01b0383166000908152600760205260408120805460ff1916815590610a08600183018261100d565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b60606101986005610e23565b33610a7b600882610c4a565b610ab55760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038481166000908152600760205260409020600201541615610b1457604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526101fd91906004016113cb565b60006040518060800160405280846005811115610b3357610b336111cd565b8152602081018690526001600160a01b0387166040820152336060909101529050610b5f600586610e30565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff19166001836005811115610b9a57610b9a6111cd565b021790555060208201516001820190610bb39082611503565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90610c2b90889088906115d9565b60405180910390a35050505050565b6000610c44825490565b92915050565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b6000826005811115610c8357610c836111cd565b1480610cd757506001826005811115610c9e57610c9e6111cd565b148015610cd757506003816005811115610cba57610cba6111cd565b1480610cd757506004816005811115610cd557610cd56111cd565b145b80610d2a57506002826005811115610cf157610cf16111cd565b148015610d2a57506003816005811115610d0d57610d0d6111cd565b1480610d2a57506004816005811115610d2857610d286111cd565b145b80610d7d57506004826005811115610d4457610d446111cd565b148015610d7d57506003816005811115610d6057610d606111cd565b1480610d7d57506005816005811115610d7b57610d7b6111cd565b145b80610db557506003826005811115610d9757610d976111cd565b148015610db557506005816005811115610db357610db36111cd565b145b15610dbe575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6000610c688383610e45565b6000610c68836001600160a01b038416610e6f565b60606000610c6883610f62565b6000610c68836001600160a01b038416610fbe565b6000826000018281548110610e5c57610e5c6115c3565b9060005260206000200154905092915050565b60008181526001830160205260408120548015610f58576000610e936001836115fb565b8554909150600090610ea7906001906115fb565b9050808214610f0c576000866000018281548110610ec757610ec76115c3565b9060005260206000200154905080876000018481548110610eea57610eea6115c3565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610f1d57610f1d61161c565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610c44565b6000915050610c44565b606081600001805480602002602001604051908101604052809291908181526020018280548015610fb257602002820191906000526020600020905b815481526020019060010190808311610f9e575b50505050509050919050565b600081815260018301602052604081205461100557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610c44565b506000610c44565b50805461101990611408565b6000825580601f10611029575050565b601f016020900490600052602060002090810190611047919061104a565b50565b5b8082111561105f576000815560010161104b565b5090565b80356001600160a01b038116811461107a57600080fd5b919050565b60006020828403121561109157600080fd5b610c6882611063565b80356006811061107a57600080fd5b600080604083850312156110bc57600080fd5b6110c583611063565b91506110d36020840161109a565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261110357600080fd5b813567ffffffffffffffff8082111561111e5761111e6110dc565b604051601f8301601f19908116603f01168101908282118183101715611146576111466110dc565b8160405283815286602085880101111561115f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561119257600080fd5b61119b83611063565b9150602083013567ffffffffffffffff8111156111b757600080fd5b6111c3858286016110f2565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b6006811061120157634e487b7160e01b600052602160045260246000fd5b9052565b60005b83811015611220578181015183820152602001611208565b50506000910152565b60008151808452611241816020860160208601611205565b601f01601f19169290920160200192915050565b6112608282516111e3565b600060208201516080602085015261127b6080850182611229565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000610c686020830184611255565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561131357603f19888603018452611301858351611255565b945092850192908501906001016112e5565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156113615783516001600160a01b03168352928401929184019160010161133c565b50909695505050505050565b60008060006060848603121561138257600080fd5b61138b84611063565b9250602084013567ffffffffffffffff8111156113a757600080fd5b6113b3868287016110f2565b9250506113c26040850161109a565b90509250925092565b602081526000610c686020830184611229565b60208101610c4482846111e3565b600082516113fe818460208701611205565b9190910192915050565b600181811c9082168061141c57607f821691505b60208210810361089457634e487b7160e01b600052602260045260246000fd5b600080835461144a81611408565b600182811680156114625760018114611477576114a6565b60ff19841687528215158302870194506114a6565b8760005260208060002060005b8581101561149d5781548a820152908401908201611484565b50505082870194505b50929695505050505050565b601f8211156114fe576000816000526020600020601f850160051c810160208610156114db5750805b601f850160051c820191505b818110156114fa578281556001016114e7565b5050505b505050565b815167ffffffffffffffff81111561151d5761151d6110dc565b6115318161152b8454611408565b846114b2565b602080601f831160018114611566576000841561154e5750858301515b600019600386901b1c1916600185901b1785556114fa565b600085815260208120601f198616915b8281101561159557888601518255948401946001909101908401611576565b50858210156115b35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b6040815260006115ec6040830185611229565b9050610c6860208301846111e3565b81810381811115610c4457634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd","sourceMap":"521:3564:195:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100935760003560e01c80639d209048116100665780639d2090481461011c578063a1174e7d1461013c578063b2b99ec914610151578063c8fe3a0114610164578063eecc66f41461017957600080fd5b8063017501521461009857806339bf397e146100de578063581f8b9b146100f45780637e4465e714610109575b600080fd5b6100c96100a636600461107f565b6001600160a01b0390811660009081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b6100e661018c565b6040519081526020016100d5565b6101076101023660046110a9565b61019d565b005b61010761011736600461117f565b610346565b61012f61012a36600461107f565b61053e565b6040516100d591906112a9565b6101446106bf565b6040516100d591906112bc565b61010761015f36600461107f565b61089a565b61016c610a63565b6040516100d59190611320565b61010761018736600461136d565b610a6f565b60006101986005610c3a565b905090565b6001600160a01b0380831660009081526007602052604090206002015483911661020657604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b60405180910390fd5b33610212600882610c4a565b61024c5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b03808516600090815260076020526040902060030154859133911681146102aa5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038616600090815260076020526040902080546102d19060ff1687610c6f565b80548690829060ff191660018360058111156102ef576102ef6111cd565b021790555060028101546040516001600160a01b03909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa0906103359089906113de565b60405180910390a250505050505050565b33610352600882610c4a565b61038c5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038084166000908152600760205260409020600201548491166103ec57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038085166000908152600760205260409020600301548591339116811461044a5760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b0386166000908152600760209081526040918290209151610474918891016113ec565b604051602081830303815290604052805190602001208160010160405160200161049e919061143c565b60405160208183030381529060405280519060200120036104ee5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b81526101fd91906004016113cb565b600181016104fc8782611503565b5060028101546040516001600160a01b03909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac906103359089906113cb565b6105696040805160808101909152806000815260606020820181905260006040830181905291015290565b610574600583610c4a565b6105b457604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038216600090815260076020526040908190208151608081019092528054829060ff1660058111156105ef576105ef6111cd565b6005811115610600576106006111cd565b815260200160018201805461061490611408565b80601f016020809104026020016040519081016040528092919081815260200182805461064090611408565b801561068d5780601f106106625761010080835404028352916020019161068d565b820191906000526020600020905b81548152906001019060200180831161067057829003601f168201915b505050918352505060028201546001600160a01b03908116602083015260039092015490911660409091015292915050565b606060006106cd6005610c3a565b67ffffffffffffffff8111156106e5576106e56110dc565b60405190808252806020026020018201604052801561074157816020015b61072e6040805160808101909152806000815260606020820181905260006040830181905291015290565b8152602001906001900390816107035790505b50905060005b6107516005610c3a565b8110156108945760076000610767600584610e02565b6001600160a01b03168152602081019190915260409081016000208151608081019092528054829060ff1660058111156107a3576107a36111cd565b60058111156107b4576107b46111cd565b81526020016001820180546107c890611408565b80601f01602080910402602001604051908101604052809291908181526020018280546107f490611408565b80156108415780601f1061081657610100808354040283529160200191610841565b820191906000526020600020905b81548152906001019060200180831161082457829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003909201549091166040909101528251839083908110610881576108816115c3565b6020908102919091010152600101610747565b50919050565b6001600160a01b03808216600090815260076020526040902060030154829133911681146108f85760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038381166000908152600760205260409020600201541661095657604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b81526101fd91906004016113cb565b60056001600160a01b03841660009081526007602052604090205460ff166005811115610985576109856111cd565b146109ce5760408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6109d9600584610e0e565b506001600160a01b0383166000908152600760205260408120805460ff1916815590610a08600183018261100d565b506002810180546001600160a01b03199081169091556003909101805490911690556040516001600160a01b038416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b90600090a2505050565b60606101986005610e23565b33610a7b600882610c4a565b610ab55760408051808201825260088152670848288be82aaa8960c31b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6001600160a01b038481166000908152600760205260409020600201541615610b1457604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b81526101fd91906004016113cb565b60006040518060800160405280846005811115610b3357610b336111cd565b8152602081018690526001600160a01b0387166040820152336060909101529050610b5f600586610e30565b506001600160a01b03851660009081526007602052604090208151815483929190829060ff19166001836005811115610b9a57610b9a6111cd565b021790555060208201516001820190610bb39082611503565b506040828101516002830180546001600160a01b03199081166001600160a01b03938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff90610c2b90889088906115d9565b60405180910390a35050505050565b6000610c44825490565b92915050565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b6000826005811115610c8357610c836111cd565b1480610cd757506001826005811115610c9e57610c9e6111cd565b148015610cd757506003816005811115610cba57610cba6111cd565b1480610cd757506004816005811115610cd557610cd56111cd565b145b80610d2a57506002826005811115610cf157610cf16111cd565b148015610d2a57506003816005811115610d0d57610d0d6111cd565b1480610d2a57506004816005811115610d2857610d286111cd565b145b80610d7d57506004826005811115610d4457610d446111cd565b148015610d7d57506003816005811115610d6057610d606111cd565b1480610d7d57506005816005811115610d7b57610d7b6111cd565b145b80610db557506003826005811115610d9757610d976111cd565b148015610db557506005816005811115610db357610db36111cd565b145b15610dbe575050565b60408051808201825260168152751393d11157d4d510551157d393d517d0531313d5d15160521b6020820152905162461bcd60e51b81526101fd91906004016113cb565b6000610c688383610e45565b6000610c68836001600160a01b038416610e6f565b60606000610c6883610f62565b6000610c68836001600160a01b038416610fbe565b6000826000018281548110610e5c57610e5c6115c3565b9060005260206000200154905092915050565b60008181526001830160205260408120548015610f58576000610e936001836115fb565b8554909150600090610ea7906001906115fb565b9050808214610f0c576000866000018281548110610ec757610ec76115c3565b9060005260206000200154905080876000018481548110610eea57610eea6115c3565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610f1d57610f1d61161c565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610c44565b6000915050610c44565b606081600001805480602002602001604051908101604052809291908181526020018280548015610fb257602002820191906000526020600020905b815481526020019060010190808311610f9e575b50505050509050919050565b600081815260018301602052604081205461100557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610c44565b506000610c44565b50805461101990611408565b6000825580601f10611029575050565b601f016020900490600052602060002090810190611047919061104a565b50565b5b8082111561105f576000815560010161104b565b5090565b80356001600160a01b038116811461107a57600080fd5b919050565b60006020828403121561109157600080fd5b610c6882611063565b80356006811061107a57600080fd5b600080604083850312156110bc57600080fd5b6110c583611063565b91506110d36020840161109a565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261110357600080fd5b813567ffffffffffffffff8082111561111e5761111e6110dc565b604051601f8301601f19908116603f01168101908282118183101715611146576111466110dc565b8160405283815286602085880101111561115f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561119257600080fd5b61119b83611063565b9150602083013567ffffffffffffffff8111156111b757600080fd5b6111c3858286016110f2565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b6006811061120157634e487b7160e01b600052602160045260246000fd5b9052565b60005b83811015611220578181015183820152602001611208565b50506000910152565b60008151808452611241816020860160208601611205565b601f01601f19169290920160200192915050565b6112608282516111e3565b600060208201516080602085015261127b6080850182611229565b6040848101516001600160a01b03908116918701919091526060948501511693909401929092525090919050565b602081526000610c686020830184611255565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561131357603f19888603018452611301858351611255565b945092850192908501906001016112e5565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156113615783516001600160a01b03168352928401929184019160010161133c565b50909695505050505050565b60008060006060848603121561138257600080fd5b61138b84611063565b9250602084013567ffffffffffffffff8111156113a757600080fd5b6113b3868287016110f2565b9250506113c26040850161109a565b90509250925092565b602081526000610c686020830184611229565b60208101610c4482846111e3565b600082516113fe818460208701611205565b9190910192915050565b600181811c9082168061141c57607f821691505b60208210810361089457634e487b7160e01b600052602260045260246000fd5b600080835461144a81611408565b600182811680156114625760018114611477576114a6565b60ff19841687528215158302870194506114a6565b8760005260208060002060005b8581101561149d5781548a820152908401908201611484565b50505082870194505b50929695505050505050565b601f8211156114fe576000816000526020600020601f850160051c810160208610156114db5750805b601f850160051c820191505b818110156114fa578281556001016114e7565b5050505b505050565b815167ffffffffffffffff81111561151d5761151d6110dc565b6115318161152b8454611408565b846114b2565b602080601f831160018114611566576000841561154e5750858301515b600019600386901b1c1916600185901b1785556114fa565b600085815260208120601f198616915b8281101561159557888601518255948401946001909101908401611576565b50858210156115b35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b6040815260006115ec6040830185611229565b9050610c6860208301846111e3565b81810381811115610c4457634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd","sourceMap":"521:3564:195:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;636:137;;;;;;:::i;:::-;-1:-1:-1;;;;;713:29:195;;;694:4;713:29;;;:16;:29;;;;;:41;;;;:55;;;636:137;;;;548:14:654;;541:22;523:41;;511:2;496:18;636:137:195;;;;;;;;2995:91;;;:::i;:::-;;;721:25:654;;;709:2;694:18;2995:91:195;575:177:654;1874:394:195;;;;;;:::i;:::-;;:::i;:::-;;2272:453;;;;;;:::i;:::-;;:::i;2729:262::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3201:254::-;;;:::i;:::-;;;;;;;:::i;1394:476::-;;;;;;:::i;:::-;;:::i;3090:107::-;;;:::i;:::-;;;;;;;:::i;777:613::-;;;;;;:::i;:::-;;:::i;2995:91::-;3042:7;3064:17;:8;:15;:17::i;:::-;3057:24;;2995:91;:::o;1874:394::-;-1:-1:-1;;;;;3039:22:201;;;3085:1;3039:22;;;:16;:22;;;;;:34;;;1978:11:195;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;:::-;;;;;;;;3035:102;2008:10:195::1;3204:31:201;:12;2008:10:195::0;3204:21:201::1;:31::i;:::-;3199:74;;3244:28;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3244:28:201::1;::::0;::::1;::::0;3237:36;;-1:-1:-1;;;3237:36:201;;::::1;::::0;3244:28;3237:36:::1;;;:::i;3199:74::-;-1:-1:-1::0;;;;;3490:22:201;;::::2;:2;:22:::0;;;:16:::2;:22;::::0;;;;:31:::2;;::::0;2041:11:195;;2054:10:::2;::::0;3490:31:201::2;:43:::0;::::2;3486:91;;3548:28;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;3548:28:201::2;::::0;::::2;::::0;3541:36;;-1:-1:-1;;;3541:36:201;;::::2;::::0;3548:28;3541:36:::2;;;:::i;3486:91::-;-1:-1:-1::0;;;;;2094:29:195;::::3;2074:17;2094:29:::0;;;:16:::3;:29;::::0;;;;2162:11;;2130:52:::3;::::0;2162:11:::3;;2175:6:::0;2130:31:::3;:52::i;:::-;2189:20:::0;;2203:6;;2189:4;;-1:-1:-1;;2189:20:195::3;::::0;2203:6;2189:20:::3;::::0;::::3;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;2238:16:195::3;::::0;::::3;::::0;2220:43:::3;::::0;-1:-1:-1;;;;;2238:16:195;;::::3;::::0;2220:43:::3;::::0;::::3;::::0;2256:6;;2220:43:::3;:::i;:::-;;;;;;;;2068:200;3279:1:201::2;;3143::::1;1874:394:195::0;;;:::o;2272:453::-;2377:10;3204:31:201;:12;2377:10:195;3204:21:201;:31::i;:::-;3199:74;;3244:28;;;;;;;;;;;-1:-1:-1;;;3244:28:201;;;;3237:36;;-1:-1:-1;;;3237:36:201;;;;3244:28;3237:36;;;:::i;3199:74::-;-1:-1:-1;;;;;3039:22:201;;::::1;3085:1;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;2402:11:195;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;-1:-1:-1::0;;;;;3490:22:201;;::::2;:2;:22:::0;;;:16:::2;:22;::::0;;;;:31:::2;;::::0;2436:11:195;;2449:10:::2;::::0;3490:31:201::2;:43:::0;::::2;3486:91;;3548:28;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;3548:28:201::2;::::0;::::2;::::0;3541:36;;-1:-1:-1;;;3541:36:201;;::::2;::::0;3548:28;3541:36:::2;;;:::i;3486:91::-;-1:-1:-1::0;;;;;2489:29:195;::::3;2469:17;2489:29:::0;;;:16:::3;:29;::::0;;;;;;;;2587:21;;::::3;::::0;2604:3;;2587:21:::3;;:::i;:::-;;;;;;;;;;;;;2577:32;;;;;;2563:4;:8;;2546:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;2536:37;;;;;;:73:::0;2525:126:::3;;2623:27;::::0;;;;::::3;::::0;;::::3;::::0;;-1:-1:-1;;;2623:27:195::3;::::0;::::3;::::0;2616:35;;-1:-1:-1;;;2616:35:195;;::::3;::::0;2623:27;2616:35:::3;;;:::i;2525:126::-;2658:8;::::0;::::3;:14;2669:3:::0;2658:8;:14:::3;:::i;:::-;-1:-1:-1::0;2698:16:195::3;::::0;::::3;::::0;2683:37:::3;::::0;-1:-1:-1;;;;;2698:16:195;;::::3;::::0;2683:37:::3;::::0;::::3;::::0;2716:3;;2683:37:::3;:::i;2729:262::-:0;2790:11;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2790:11:195;2863:30;:8;2881:11;2863:17;:30::i;:::-;2858:85;;2908:34;;;;;;;;;;;-1:-1:-1;;;2908:34:195;;;;2901:42;;-1:-1:-1;;;2901:42:195;;;;2908:34;2901:42;;;:::i;2858:85::-;-1:-1:-1;;;;;2957:29:195;;:2;:29;;;:16;:29;;;;;;;2950:36;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2950:36:195;;;-1:-1:-1;;2950:36:195;;;;-1:-1:-1;;;;;2950:36:195;;;;;;;;;;;;;;;;;;;;;2729:262;-1:-1:-1;;2729:262:195:o;3201:254::-;3247:13;3268:19;3301:17;:8;:15;:17::i;:::-;3290:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3290:29:195;;;;;;;;;;;;;;;;;3268:51;;3331:9;3326:106;3350:17;:8;:15;:17::i;:::-;3346:1;:21;3326:106;;;3393:16;:2;3410:14;:8;3422:1;3410:11;:14::i;:::-;-1:-1:-1;;;;;3393:32:195;;;;;;;;;;;;;;-1:-1:-1;3393:32:195;3382:43;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3382:43:195;;;-1:-1:-1;;3382:43:195;;;;-1:-1:-1;;;;;3382:43:195;;;;;;;;;;;;;;;;;;;;:8;;:5;;3388:1;;3382:8;;;;;;:::i;:::-;;;;;;;;;;:43;3369:3;;3326:106;;;-1:-1:-1;3445:5:195;3201:254;-1:-1:-1;3201:254:195:o;1394:476::-;-1:-1:-1;;;;;3490:22:201;;;:2;:22;;;:16;:22;;;;;:31;;;1469:11:195;;1482:10;;3490:31:201;:43;;3486:91;;3548:28;;;;;;;;;;;-1:-1:-1;;;3548:28:201;;;;3541:36;;-1:-1:-1;;;3541:36:201;;;;3548:28;3541:36;;;:::i;3486:91::-;-1:-1:-1;;;;;1504:29:195;;::::1;1557:1;1504:29:::0;;;:16:::1;:29;::::0;;;;:41:::1;;::::0;::::1;1500:118;;1576:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1576:34:195::1;::::0;::::1;::::0;1569:42;;-1:-1:-1;;;1569:42:195;;::::1;::::0;1576:34;1569:42:::1;;;:::i;1500:118::-;1668:18;-1:-1:-1::0;;;;;1628:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;:36;::::1;;:58;::::0;::::1;;;;;;:::i;:::-;;1624:129;;1703:42;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1703:42:195::1;::::0;::::1;::::0;1696:50;;-1:-1:-1;;;1696:50:195;;::::1;::::0;1703:42;1696:50:::1;;;:::i;1624:129::-;1759:28;:8;1775:11:::0;1759:15:::1;:28::i;:::-;-1:-1:-1::0;;;;;;1800:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;1793:36;;-1:-1:-1;;1793:36:195::1;::::0;;1800:29;1793:36:::1;::::0;;::::1;1800:2:::0;1793:36:::1;:::i;:::-;-1:-1:-1::0;1793:36:195::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;1793:36:195;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;1841:24:::1;::::0;-1:-1:-1;;;;;1841:24:195;::::1;::::0;::::1;::::0;1793:36:::1;::::0;1841:24:::1;1394:476:::0;;;:::o;3090:107::-;3144:16;3175:17;:8;:15;:17::i;777:613::-;896:10;3204:31:201;:12;896:10:195;3204:21:201;:31::i;:::-;3199:74;;3244:28;;;;;;;;;;;-1:-1:-1;;;3244:28:201;;;;3237:36;;-1:-1:-1;;;3237:36:201;;;;3244:28;3237:36;;;:::i;3199:74::-;-1:-1:-1;;;;;979:29:195;;::::1;1032:1;979:29:::0;;;:16:::1;:29;::::0;;;;:41:::1;;::::0;::::1;:55:::0;975:109:::1;;1049:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1049:34:195::1;::::0;::::1;::::0;1042:42;;-1:-1:-1;;;1042:42:195;;::::1;::::0;1049:34;1042:42:::1;;;:::i;975:109::-;1091:19;1113:110;;;;;;;;1182:6;1113:110;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;1113:110:195;::::1;::::0;;;;1206:10:::1;1113:110:::0;;;;;1091:132;-1:-1:-1;1230:25:195::1;:8;1139:11:::0;1230:12:::1;:25::i;:::-;-1:-1:-1::0;;;;;;1287:29:195;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;:39;;;;1319:7;;1287:29;:39;:29;;-1:-1:-1;;1287:39:195::1;::::0;;::::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;1287:39:195::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;1287:39:195::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;1287:39:195;;::::1;-1:-1:-1::0;;;;;1287:39:195;;::::1;;::::0;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;1338:47;;1361:10:::1;::::0;1338:47;::::1;::::0;::::1;::::0;::::1;::::0;1373:3;;1378:6;;1338:47:::1;:::i;:::-;;;;;;;;908:482;777:613:::0;;;;:::o;9090:115:511:-;9153:7;9179:19;9187:3;4556:18;;4474:107;9179:19;9172:26;9090:115;-1:-1:-1;;9090:115:511:o;8844:165::-;-1:-1:-1;;;;;8977:23:511;;8924:4;4360:21;;;:14;;;:21;;;;;;:26;;8947:55;8940:62;8844:165;-1:-1:-1;;;8844:165:511:o;3459:624:195:-;3583:25;3575:4;:33;;;;;;;;:::i;:::-;;:141;;;-1:-1:-1;3627:21:195;3619:4;:29;;;;;;;;:::i;:::-;;:96;;;;-1:-1:-1;3667:17:195;3661:2;:23;;;;;;;;:::i;:::-;;:53;;;-1:-1:-1;3694:20:195;3688:2;:26;;;;;;;;:::i;:::-;;3661:53;3575:250;;;-1:-1:-1;3735:22:195;3727:4;:30;;;;;;;;:::i;:::-;;:97;;;;-1:-1:-1;3776:17:195;3770:2;:23;;;;;;;;:::i;:::-;;:53;;;-1:-1:-1;3803:20:195;3797:2;:26;;;;;;;;:::i;:::-;;3770:53;3575:355;;;-1:-1:-1;3844:20:195;3836:4;:28;;;;;;;;:::i;:::-;;:93;;;;-1:-1:-1;3883:17:195;3877:2;:23;;;;;;;;:::i;:::-;;:51;;;-1:-1:-1;3910:18:195;3904:2;:24;;;;;;;;:::i;:::-;;3877:51;3575:420;;;-1:-1:-1;3949:17:195;3941:4;:25;;;;;;;;:::i;:::-;;:53;;;;-1:-1:-1;3976:18:195;3970:2;:24;;;;;;;;:::i;:::-;;3941:53;3564:459;;;3459:624;;:::o;3564:459::-;4035:42;;;;;;;;;;;-1:-1:-1;;;4035:42:195;;;;4028:50;;-1:-1:-1;;;4028:50:195;;;;4035:42;4028:50;;;:::i;9547:156:511:-;9621:7;9671:22;9675:3;9687:5;9671:3;:22::i;8607:156::-;8680:4;8703:53;8711:3;-1:-1:-1;;;;;8731:23:511;;8703:7;:53::i;10243:273::-;10306:16;10334:22;10359:19;10367:3;10359:7;:19::i;8289:150::-;8359:4;8382:50;8387:3;-1:-1:-1;;;;;8407:23:511;;8382:4;:50::i;4923:118::-;4990:7;5016:3;:11;;5028:5;5016:18;;;;;;;;:::i;:::-;;;;;;;;;5009:25;;4923:118;;;;:::o;2815:1368::-;2881:4;3010:21;;;:14;;;:21;;;;;;3046:13;;3042:1135;;3413:18;3434:12;3445:1;3434:8;:12;:::i;:::-;3480:18;;3413:33;;-1:-1:-1;3460:17:511;;3480:22;;3501:1;;3480:22;:::i;:::-;3460:42;;3535:9;3521:10;:23;3517:378;;3564:17;3584:3;:11;;3596:9;3584:22;;;;;;;;:::i;:::-;;;;;;;;;3564:42;;3731:9;3705:3;:11;;3717:10;3705:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:35;;;;3844:25;;;:14;;;:25;;;;;:36;;;3517:378;3973:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4076:3;:14;;:21;4091:5;4076:21;;;;;;;;;;;4069:28;;;4119:4;4112:11;;;;;;;3042:1135;4161:5;4154:12;;;;;5581:109;5637:16;5672:3;:11;;5665:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5581:109;;;:::o;2241:406::-;2304:4;4360:21;;;:14;;;:21;;;;;;2320:321;;-1:-1:-1;2362:23:511;;;;;;;;:11;:23;;;;;;;;;;;;;2544:18;;2520:21;;;:14;;;:21;;;;;;:42;;;;2576:11;;2320:321;-1:-1:-1;2625:5:511;2618:12;;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;14:173:654:-;82:20;;-1:-1:-1;;;;;131:31:654;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;757:151::-;833:20;;882:1;872:12;;862:40;;898:1;895;888:12;913:284;997:6;1005;1058:2;1046:9;1037:7;1033:23;1029:32;1026:52;;;1074:1;1071;1064:12;1026:52;1097:29;1116:9;1097:29;:::i;:::-;1087:39;;1145:46;1187:2;1176:9;1172:18;1145:46;:::i;:::-;1135:56;;913:284;;;;;:::o;1202:127::-;1263:10;1258:3;1254:20;1251:1;1244:31;1294:4;1291:1;1284:15;1318:4;1315:1;1308:15;1334:719;1377:5;1430:3;1423:4;1415:6;1411:17;1407:27;1397:55;;1448:1;1445;1438:12;1397:55;1484:6;1471:20;1510:18;1547:2;1543;1540:10;1537:36;;;1553:18;;:::i;:::-;1628:2;1622:9;1596:2;1682:13;;-1:-1:-1;;1678:22:654;;;1702:2;1674:31;1670:40;1658:53;;;1726:18;;;1746:22;;;1723:46;1720:72;;;1772:18;;:::i;:::-;1812:10;1808:2;1801:22;1847:2;1839:6;1832:18;1893:3;1886:4;1881:2;1873:6;1869:15;1865:26;1862:35;1859:55;;;1910:1;1907;1900:12;1859:55;1974:2;1967:4;1959:6;1955:17;1948:4;1940:6;1936:17;1923:54;2021:1;2014:4;2009:2;2001:6;1997:15;1993:26;1986:37;2041:6;2032:15;;;;;;1334:719;;;;:::o;2058:396::-;2136:6;2144;2197:2;2185:9;2176:7;2172:23;2168:32;2165:52;;;2213:1;2210;2203:12;2165:52;2236:29;2255:9;2236:29;:::i;:::-;2226:39;;2316:2;2305:9;2301:18;2288:32;2343:18;2335:6;2332:30;2329:50;;;2375:1;2372;2365:12;2329:50;2398;2440:7;2431:6;2420:9;2416:22;2398:50;:::i;:::-;2388:60;;;2058:396;;;;;:::o;2459:127::-;2520:10;2515:3;2511:20;2508:1;2501:31;2551:4;2548:1;2541:15;2575:4;2572:1;2565:15;2591:238;2673:1;2666:5;2663:12;2653:143;;2718:10;2713:3;2709:20;2706:1;2699:31;2753:4;2750:1;2743:15;2781:4;2778:1;2771:15;2653:143;2805:18;;2591:238::o;2834:250::-;2919:1;2929:113;2943:6;2940:1;2937:13;2929:113;;;3019:11;;;3013:18;3000:11;;;2993:39;2965:2;2958:10;2929:113;;;-1:-1:-1;;3076:1:654;3058:16;;3051:27;2834:250::o;3089:271::-;3131:3;3169:5;3163:12;3196:6;3191:3;3184:19;3212:76;3281:6;3274:4;3269:3;3265:14;3258:4;3251:5;3247:16;3212:76;:::i;:::-;3342:2;3321:15;-1:-1:-1;;3317:29:654;3308:39;;;;3349:4;3304:50;;3089:271;-1:-1:-1;;3089:271:654:o;3365:506::-;3430:45;3471:3;3463:5;3457:12;3430:45;:::i;:::-;3412:3;3521:4;3514:5;3510:16;3504:23;3559:4;3552;3547:3;3543:14;3536:28;3585:47;3626:4;3621:3;3617:14;3603:12;3585:47;:::i;:::-;3680:4;3669:16;;;3663:23;-1:-1:-1;;;;;3756:23:654;;;3740:14;;;3733:47;;;;3833:4;3822:16;;;3816:23;3812:32;3796:14;;;;3789:56;;;;-1:-1:-1;3573:59:654;;3365:506;-1:-1:-1;3365:506:654:o;3876:251::-;4051:2;4040:9;4033:21;4014:4;4071:50;4117:2;4106:9;4102:18;4094:6;4071:50;:::i;4132:834::-;4320:4;4349:2;4389;4378:9;4374:18;4419:2;4408:9;4401:21;4442:6;4477;4471:13;4508:6;4500;4493:22;4546:2;4535:9;4531:18;4524:25;;4608:2;4598:6;4595:1;4591:14;4580:9;4576:30;4572:39;4558:53;;4646:2;4638:6;4634:15;4667:1;4677:260;4691:6;4688:1;4685:13;4677:260;;;4784:2;4780:7;4768:9;4760:6;4756:22;4752:36;4747:3;4740:49;4812:45;4850:6;4841;4835:13;4812:45;:::i;:::-;4802:55;-1:-1:-1;4915:12:654;;;;4880:15;;;;4713:1;4706:9;4677:260;;;-1:-1:-1;4954:6:654;;4132:834;-1:-1:-1;;;;;;;4132:834:654:o;4971:658::-;5142:2;5194:21;;;5264:13;;5167:18;;;5286:22;;;5113:4;;5142:2;5365:15;;;;5339:2;5324:18;;;5113:4;5408:195;5422:6;5419:1;5416:13;5408:195;;;5487:13;;-1:-1:-1;;;;;5483:39:654;5471:52;;5578:15;;;;5543:12;;;;5519:1;5437:9;5408:195;;;-1:-1:-1;5620:3:654;;4971:658;-1:-1:-1;;;;;;4971:658:654:o;5634:494::-;5737:6;5745;5753;5806:2;5794:9;5785:7;5781:23;5777:32;5774:52;;;5822:1;5819;5812:12;5774:52;5845:29;5864:9;5845:29;:::i;:::-;5835:39;;5925:2;5914:9;5910:18;5897:32;5952:18;5944:6;5941:30;5938:50;;;5984:1;5981;5974:12;5938:50;6007;6049:7;6040:6;6029:9;6025:22;6007:50;:::i;:::-;5997:60;;;6076:46;6118:2;6107:9;6103:18;6076:46;:::i;:::-;6066:56;;5634:494;;;;;:::o;6133:220::-;6282:2;6271:9;6264:21;6245:4;6302:45;6343:2;6332:9;6328:18;6320:6;6302:45;:::i;6358:211::-;6506:2;6491:18;;6518:45;6495:9;6545:6;6518:45;:::i;6574:289::-;6705:3;6743:6;6737:13;6759:66;6818:6;6813:3;6806:4;6798:6;6794:17;6759:66;:::i;:::-;6841:16;;;;;6574:289;-1:-1:-1;;6574:289:654:o;6868:380::-;6947:1;6943:12;;;;6990;;;7011:61;;7065:4;7057:6;7053:17;7043:27;;7011:61;7118:2;7110:6;7107:14;7087:18;7084:38;7081:161;;7164:10;7159:3;7155:20;7152:1;7145:31;7199:4;7196:1;7189:15;7227:4;7224:1;7217:15;7379:843;7507:3;7536:1;7569:6;7563:13;7599:36;7625:9;7599:36;:::i;:::-;7654:1;7671:17;;;7697:133;;;;7844:1;7839:358;;;;7664:533;;7697:133;-1:-1:-1;;7730:24:654;;7718:37;;7803:14;;7796:22;7784:35;;7775:45;;;-1:-1:-1;7697:133:654;;7839:358;7870:6;7867:1;7860:17;7900:4;7945;7942:1;7932:18;7972:1;7986:165;8000:6;7997:1;7994:13;7986:165;;;8078:14;;8065:11;;;8058:35;8121:16;;;;8015:10;;7986:165;;;7990:3;;;8180:6;8175:3;8171:16;8164:23;;7664:533;-1:-1:-1;8213:3:654;;7379:843;-1:-1:-1;;;;;;7379:843:654:o;8227:543::-;8329:2;8324:3;8321:11;8318:446;;;8365:1;8389:5;8386:1;8379:16;8433:4;8430:1;8420:18;8503:2;8491:10;8487:19;8484:1;8480:27;8474:4;8470:38;8539:4;8527:10;8524:20;8521:47;;;-1:-1:-1;8562:4:654;8521:47;8617:2;8612:3;8608:12;8605:1;8601:20;8595:4;8591:31;8581:41;;8672:82;8690:2;8683:5;8680:13;8672:82;;;8735:17;;;8716:1;8705:13;8672:82;;;8676:3;;;8318:446;8227:543;;;:::o;8946:1345::-;9072:3;9066:10;9099:18;9091:6;9088:30;9085:56;;;9121:18;;:::i;:::-;9150:97;9240:6;9200:38;9232:4;9226:11;9200:38;:::i;:::-;9194:4;9150:97;:::i;:::-;9302:4;;9359:2;9348:14;;9376:1;9371:663;;;;10078:1;10095:6;10092:89;;;-1:-1:-1;10147:19:654;;;10141:26;10092:89;-1:-1:-1;;8903:1:654;8899:11;;;8895:24;8891:29;8881:40;8927:1;8923:11;;;8878:57;10194:81;;9341:944;;9371:663;7326:1;7319:14;;;7363:4;7350:18;;-1:-1:-1;;9407:20:654;;;9525:236;9539:7;9536:1;9533:14;9525:236;;;9628:19;;;9622:26;9607:42;;9720:27;;;;9688:1;9676:14;;;;9555:19;;9525:236;;;9529:3;9789:6;9780:7;9777:19;9774:201;;;9850:19;;;9844:26;-1:-1:-1;;9933:1:654;9929:14;;;9945:3;9925:24;9921:37;9917:42;9902:58;9887:74;;9774:201;-1:-1:-1;;;;;10021:1:654;10005:14;;;10001:22;9988:36;;-1:-1:-1;8946:1345:654:o;10296:127::-;10357:10;10352:3;10348:20;10345:1;10338:31;10388:4;10385:1;10378:15;10412:4;10409:1;10402:15;10428:325;10619:2;10608:9;10601:21;10582:4;10639:45;10680:2;10669:9;10665:18;10657:6;10639:45;:::i;:::-;10631:53;;10693:54;10743:2;10732:9;10728:18;10720:6;10693:54;:::i;10758:225::-;10825:9;;;10846:11;;;10843:134;;;10899:10;10894:3;10890:20;10887:1;10880:31;10934:4;10931:1;10924:15;10962:4;10959:1;10952:15;10988:127;11049:10;11044:3;11040:20;11037:1;11030:31;11080:4;11077:1;11070:15;11104:4;11101:1;11094:15","linkReferences":{}},"methodIdentifiers":{"getAllNodeAddresses()":"c8fe3a01","getAllNodes()":"a1174e7d","getNode(address)":"9d209048","getNodeCount()":"39bf397e","isNode(address)":"01750152","registerNode(address,string,uint8)":"eecc66f4","removeNode(address)":"b2b99ec9","updateNodeStatus(address,uint8)":"581f8b9b","updateNodeUrl(address,string)":"7e4465e7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"NodeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"NodeRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"NodeStatusUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"NodeUrlUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getAllNodeAddresses\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllNodes\",\"outputs\":[{\"components\":[{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"internalType\":\"struct Node[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"getNode\",\"outputs\":[{\"components\":[{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"internalType\":\"struct Node\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNodeCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"isNode\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"registerNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"removeNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"updateNodeUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getAllNodeAddresses()\":{\"details\":\"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block.\"},\"getAllNodes()\":{\"details\":\"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getAllNodeAddresses()\":{\"notice\":\"Return array containing all node addresses\"},\"getAllNodes()\":{\"notice\":\"Return array containing all nodes\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/river/registry/facets/node/NodeRegistry.sol\":\"NodeRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/river/registry/facets/node/INodeRegistry.sol\":{\"keccak256\":\"0xf521b9a741e45f40098574a6e4f4e62a8e0b457fb053b57624463167691a8cdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97eb4ed98fa25f98f4d2150d6e0b4dc5ade7c88d8b934b786891fb37bf380ce3\",\"dweb:/ipfs/QmU9L2iJAKY6UnckhFAiq5Qw482DZzW4fiGVAJ6qkgPsrs\"]},\"contracts/src/river/registry/facets/node/NodeRegistry.sol\":{\"keccak256\":\"0x938e660fa4b107060b4b954fb4251b87de6f0724c948f73138cf2f8392615821\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7023efa8ae7526aa4650512b05c6cda9c575cea23393c0d25e63ec1c358e2261\",\"dweb:/ipfs/QmXH9Lvc4MBNwXnC6yUmmPxXNxoiDJzdZ2iCreDxSjZPch\"]},\"contracts/src/river/registry/libraries/RegistryErrors.sol\":{\"keccak256\":\"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501\",\"dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP\"]},\"contracts/src/river/registry/libraries/RegistryStorage.sol\":{\"keccak256\":\"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4\",\"dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"string","name":"url","type":"string","indexed":false},{"internalType":"enum NodeStatus","name":"status","type":"uint8","indexed":false}],"type":"event","name":"NodeAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true}],"type":"event","name":"NodeRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"enum NodeStatus","name":"status","type":"uint8","indexed":false}],"type":"event","name":"NodeStatusUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"string","name":"url","type":"string","indexed":false}],"type":"event","name":"NodeUrlUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllNodeAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllNodes","outputs":[{"internalType":"struct Node[]","name":"","type":"tuple[]","components":[{"internalType":"enum NodeStatus","name":"status","type":"uint8"},{"internalType":"string","name":"url","type":"string"},{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getNode","outputs":[{"internalType":"struct Node","name":"","type":"tuple","components":[{"internalType":"enum NodeStatus","name":"status","type":"uint8"},{"internalType":"string","name":"url","type":"string"},{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getNodeCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"isNode","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"string","name":"url","type":"string"},{"internalType":"enum NodeStatus","name":"status","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerNode"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeNode"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"enum NodeStatus","name":"status","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"updateNodeStatus"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateNodeUrl"}],"devdoc":{"kind":"dev","methods":{"getAllNodeAddresses()":{"details":"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."},"getAllNodes()":{"details":"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."}},"version":1},"userdoc":{"kind":"user","methods":{"getAllNodeAddresses()":{"notice":"Return array containing all node addresses"},"getAllNodes()":{"notice":"Return array containing all nodes"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/river/registry/facets/node/NodeRegistry.sol":"NodeRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/river/registry/facets/node/INodeRegistry.sol":{"keccak256":"0xf521b9a741e45f40098574a6e4f4e62a8e0b457fb053b57624463167691a8cdd","urls":["bzz-raw://97eb4ed98fa25f98f4d2150d6e0b4dc5ade7c88d8b934b786891fb37bf380ce3","dweb:/ipfs/QmU9L2iJAKY6UnckhFAiq5Qw482DZzW4fiGVAJ6qkgPsrs"],"license":"MIT"},"contracts/src/river/registry/facets/node/NodeRegistry.sol":{"keccak256":"0x938e660fa4b107060b4b954fb4251b87de6f0724c948f73138cf2f8392615821","urls":["bzz-raw://7023efa8ae7526aa4650512b05c6cda9c575cea23393c0d25e63ec1c358e2261","dweb:/ipfs/QmXH9Lvc4MBNwXnC6yUmmPxXNxoiDJzdZ2iCreDxSjZPch"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryErrors.sol":{"keccak256":"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497","urls":["bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501","dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryStorage.sol":{"keccak256":"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201","urls":["bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4","dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"}},"version":1},"id":195} \ No newline at end of file diff --git a/packages/generated/dev/abis/NodeRegistry.metadata.json b/packages/generated/dev/abis/NodeRegistry.metadata.json index 4298fc6273..d67b162f34 100644 --- a/packages/generated/dev/abis/NodeRegistry.metadata.json +++ b/packages/generated/dev/abis/NodeRegistry.metadata.json @@ -189,6 +189,25 @@ } ] }, + { + "inputs": [ + { + "internalType": "address", + "name": "nodeAddress", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isNode", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, { "inputs": [ { @@ -311,18 +330,18 @@ }, "sources": { "contracts/src/river/registry/facets/node/INodeRegistry.sol": { - "keccak256": "0x91ae5e33d5bc5eaf966789d8e1b03c6bb682ae363bdad4b94742bad0431990a6", + "keccak256": "0xf521b9a741e45f40098574a6e4f4e62a8e0b457fb053b57624463167691a8cdd", "urls": [ - "bzz-raw://5e51a3f583b56c81aa6ce15c2521c7f6682d0292f77dfed420172d7104e1f482", - "dweb:/ipfs/QmSBmDqF8nR1wvFiqXgk6Z9GknAmZtrL2LStoRWFijEntv" + "bzz-raw://97eb4ed98fa25f98f4d2150d6e0b4dc5ade7c88d8b934b786891fb37bf380ce3", + "dweb:/ipfs/QmU9L2iJAKY6UnckhFAiq5Qw482DZzW4fiGVAJ6qkgPsrs" ], "license": "MIT" }, "contracts/src/river/registry/facets/node/NodeRegistry.sol": { - "keccak256": "0x0134a09c9910214b08b16d3fe7788dd87f0b2084f342e3ec1e191dc455c44c2b", + "keccak256": "0x938e660fa4b107060b4b954fb4251b87de6f0724c948f73138cf2f8392615821", "urls": [ - "bzz-raw://174e8f3c8ec467a9ca0e65e47d3c9415463cd5d4cb7a79d726231f9253674eae", - "dweb:/ipfs/QmVCnvLS9HbugbcgvzVy4WjdQYbU1YMLonNQZo4szSADZP" + "bzz-raw://7023efa8ae7526aa4650512b05c6cda9c575cea23393c0d25e63ec1c358e2261", + "dweb:/ipfs/QmXH9Lvc4MBNwXnC6yUmmPxXNxoiDJzdZ2iCreDxSjZPch" ], "license": "MIT" }, diff --git a/packages/generated/dev/abis/PrepayFacet.json b/packages/generated/dev/abis/PrepayFacet.json index b2d1fa4e82..bf2c0d6818 100644 --- a/packages/generated/dev/abis/PrepayFacet.json +++ b/packages/generated/dev/abis/PrepayFacet.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"__PrepayFacet_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"calculateMembershipPrepayFee","inputs":[{"name":"supply","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prepaidMembershipSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prepayMembership","inputs":[{"name":"supply","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Banned","inputs":[{"name":"moderator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Prepay__Prepaid","inputs":[{"name":"supply","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SubscriptionUpdate","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"expiration","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unbanned","inputs":[{"name":"moderator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ApprovalCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"ApprovalQueryForNonexistentToken","inputs":[]},{"type":"error","name":"BalanceQueryForZeroAddress","inputs":[]},{"type":"error","name":"Banning__AlreadyBanned","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Banning__CannotBanOwner","inputs":[]},{"type":"error","name":"Banning__CannotBanSelf","inputs":[]},{"type":"error","name":"Banning__InvalidTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Banning__NotBanned","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC5643__DurationZero","inputs":[]},{"type":"error","name":"ERC5643__InvalidTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC5643__NotApprovedOrOwner","inputs":[]},{"type":"error","name":"ERC5643__SubscriptionNotRenewable","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Entitlement__InvalidValue","inputs":[]},{"type":"error","name":"Entitlement__NotAllowed","inputs":[]},{"type":"error","name":"Entitlement__NotMember","inputs":[]},{"type":"error","name":"Entitlement__ValueAlreadyExists","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"MintERC2309QuantityExceedsLimit","inputs":[]},{"type":"error","name":"MintToZeroAddress","inputs":[]},{"type":"error","name":"MintZeroQuantity","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]},{"type":"error","name":"OwnerQueryForNonexistentToken","inputs":[]},{"type":"error","name":"OwnershipNotInitializedForExtraData","inputs":[]},{"type":"error","name":"Pausable__NotPaused","inputs":[]},{"type":"error","name":"Pausable__Paused","inputs":[]},{"type":"error","name":"Prepay__InvalidAddress","inputs":[]},{"type":"error","name":"Prepay__InvalidAmount","inputs":[]},{"type":"error","name":"Prepay__InvalidMembership","inputs":[]},{"type":"error","name":"Prepay__InvalidSupplyAmount","inputs":[]},{"type":"error","name":"Reentrancy","inputs":[]},{"type":"error","name":"TransferCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"TransferFromIncorrectOwner","inputs":[]},{"type":"error","name":"TransferToNonERC721ReceiverImplementer","inputs":[]},{"type":"error","name":"TransferToZeroAddress","inputs":[]},{"type":"error","name":"URIQueryForNonexistentToken","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001961001e565b6100c4565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff161561006a576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156100c157805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b61073d806100d36000396000f3fe60806040526004361061003f5760003560e01c806306499d7f1461004457806327bc79f114610059578063aabe967d1461008b578063b6a45cd6146100a0575b600080fd5b610057610052366004610695565b6100b5565b005b34801561006557600080fd5b50610079610074366004610695565b61027b565b60405190815260200160405180910390f35b34801561009757600080fd5b50610057610340565b3480156100ac57600080fd5b5061007961039c565b3068929eee149b4bd2126854036100d45763ab143c066000526004601cfd5b3068929eee149b4bd2126855806000036101015760405163305b66fd60e01b815260040160405180910390fd5b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065460408051630eac306d60e01b815290517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600926001600160a01b0316916000918391630eac306d9160048083019260209291908290030181865afa15801561018e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b291906106ae565b6101bc90856106dd565b90508034146101de5760405163cd27698760e01b815260040160405180910390fd5b6101e7846103cb565b600480840154604080516301332c8360e61b815290516001600160a01b0392831693600093871692634ccb20c092818301926020928290030181865afa158015610235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025991906106fa565b90506102678233838661043c565b50505050503868929eee149b4bd212685550565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065460408051630eac306d60e01b815290516000927fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600926001600160a01b03909116918291630eac306d9160048083019260209291908290030181865afa15801561030a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032e91906106ae565b61033890856106dd565b949350505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661038a57604051630ef4733760e31b815260040160405180910390fd5b61039a6312ea370b60e31b610488565b565b60006103c67f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005490565b905090565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c0080548290829060009061040090849061072a565b90915550506040518281527fad9b877dcdf275e10be629bbe390dc68f7b5de14e3cc5f11f1745d300bb3852e9060200160405180910390a15050565b80156104825773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601610476576104718282610561565b610482565b61048284848484610578565b50505050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16610510576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055610529565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b6105746001600160a01b038316826105cb565b5050565b816001600160a01b0316836001600160a01b0316031561048257306001600160a01b038416036105b6576104716001600160a01b03851683836105e7565b6104826001600160a01b038516848484610637565b60003860003884865af16105745763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af1806001600051141661062c57803d853b15171061062c576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af1806001600051141661068657803d873b15171061068657637939f4246000526004601cfd5b50600060605260405250505050565b6000602082840312156106a757600080fd5b5035919050565b6000602082840312156106c057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106f4576106f46106c7565b92915050565b60006020828403121561070c57600080fd5b81516001600160a01b038116811461072357600080fd5b9392505050565b808201808211156106f4576106f46106c756","sourceMap":"713:1372:263:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;713:1372:263;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;713:1372:263;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061003f5760003560e01c806306499d7f1461004457806327bc79f114610059578063aabe967d1461008b578063b6a45cd6146100a0575b600080fd5b610057610052366004610695565b6100b5565b005b34801561006557600080fd5b50610079610074366004610695565b61027b565b60405190815260200160405180910390f35b34801561009757600080fd5b50610057610340565b3480156100ac57600080fd5b5061007961039c565b3068929eee149b4bd2126854036100d45763ab143c066000526004601cfd5b3068929eee149b4bd2126855806000036101015760405163305b66fd60e01b815260040160405180910390fd5b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065460408051630eac306d60e01b815290517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600926001600160a01b0316916000918391630eac306d9160048083019260209291908290030181865afa15801561018e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b291906106ae565b6101bc90856106dd565b90508034146101de5760405163cd27698760e01b815260040160405180910390fd5b6101e7846103cb565b600480840154604080516301332c8360e61b815290516001600160a01b0392831693600093871692634ccb20c092818301926020928290030181865afa158015610235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025991906106fa565b90506102678233838661043c565b50505050503868929eee149b4bd212685550565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065460408051630eac306d60e01b815290516000927fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600926001600160a01b03909116918291630eac306d9160048083019260209291908290030181865afa15801561030a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032e91906106ae565b61033890856106dd565b949350505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661038a57604051630ef4733760e31b815260040160405180910390fd5b61039a6312ea370b60e31b610488565b565b60006103c67f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005490565b905090565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c0080548290829060009061040090849061072a565b90915550506040518281527fad9b877dcdf275e10be629bbe390dc68f7b5de14e3cc5f11f1745d300bb3852e9060200160405180910390a15050565b80156104825773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601610476576104718282610561565b610482565b61048284848484610578565b50505050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16610510576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055610529565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b6105746001600160a01b038316826105cb565b5050565b816001600160a01b0316836001600160a01b0316031561048257306001600160a01b038416036105b6576104716001600160a01b03851683836105e7565b6104826001600160a01b038516848484610637565b60003860003884865af16105745763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af1806001600051141661062c57803d853b15171061062c576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af1806001600051141661068657803d873b15171061068657637939f4246000526004601cfd5b50600060605260405250505050565b6000602082840312156106a757600080fd5b5035919050565b6000602082840312156106c057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106f4576106f46106c7565b92915050565b60006020828403121561070c57600080fd5b81516001600160a01b038116811461072357600080fd5b9392505050565b808201808211156106f4576106f46106c756","sourceMap":"713:1372:263:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;906:770;;;;;;:::i;:::-;;:::i;:::-;;1788:295;;;;;;;;;;-1:-1:-1;1788:295:263;;;;;:::i;:::-;;:::i;:::-;;;345:25:654;;;333:2;318:18;1788:295:263;;;;;;;795:107;;;;;;;;;;;;;:::i;1680:104::-;;;;;;;;;;;;;:::i;906:770::-;1635:9:649;1610:22;1604:29;1601:44;1598:158;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41;988:6:263::1;998:1;988:11:::0;984:53:::1;;1008:29;;-1:-1:-1::0;;;1008:29:263::1;;;;;;;;;;;984:53;1169:15:::0;;1216:27:::1;::::0;;-1:-1:-1;;;1216:27:263;;;;287:66:246;;-1:-1:-1;;;;;1169:15:263::1;::::0;1044:35:::1;::::0;1169:15;;1216:25:::1;::::0;:27:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;1169:15;1216:27:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1207:36;::::0;:6;:36:::1;:::i;:::-;1192:51;;1313:4;1300:9;:17;1296:53;;1326:23;;-1:-1:-1::0;;;1326:23:263::1;;;;;;;;;;;1296:53;1374:18;1385:6;1374:10;:18::i;:::-;1460:21;::::0;;::::1;::::0;1515:26:::1;::::0;;-1:-1:-1;;;1515:26:263;;;;-1:-1:-1;;;;;1460:21:263;;::::1;::::0;1441:16:::1;::::0;1515:24;::::1;::::0;::::1;::::0;:26;;::::1;::::0;::::1;::::0;;;;;;:24;:26:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1487:54;;1547:124;1588:8;1604:10;1630:17;1661:4;1547:33;:124::i;:::-;978:698;;;;;1937:10:649::0;1913:22;1906:42;906:770:263;:::o;1788:295::-;2013:15;;2051:27;;;-1:-1:-1;;;2051:27:263;;;;1873:7;;287:66:246;;-1:-1:-1;;;;;2013:15:263;;;;;;2051:25;;:27;;;;;;;;;;;;;;2013:15;2051:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2042:36;;:6;:36;:::i;:::-;2035:43;1788:295;-1:-1:-1;;;;1788:295:263:o;795:107::-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;857:40:263::1;-1:-1:-1::0;;;857:13:263::1;:40::i;:::-;795:107::o:0;1680:104::-;1738:7;1760:19;272:66:264;636:29:262;;562:108;1760:19:263;1753:26;;1680:104;:::o;243:171:262:-;272:66:264;356:19:262;;369:6;;272:66:264;;294:31:262;;356:19;;369:6;;356:19;:::i;:::-;;;;-1:-1:-1;;386:23:262;;345:25:654;;;386:23:262;;333:2:654;318:18;386:23:262;;;;;;;288:126;243:171;:::o;1077:315:332:-;1198:38;;1223:7;1198:38;-1:-1:-1;;;;;;;1246:24:332;;;1242:146;;1280:35;1304:2;1308:6;1280:23;:35::i;:::-;1242:146;;;1336:45;1354:8;1364:4;1370:2;1374:6;1336:17;:45::i;:::-;1077:315;;;;:::o;456:282:557:-;-1:-1:-1;;;;;;1119:62:557;;1100:4;1119:62;;;296:66:559;1119:62:557;;;;;;;;514:182;;-1:-1:-1;;;;;;560:62:557;;:49;:62;;;296:66:559;560:62:557;;;;;:69;;-1:-1:-1;;560:69:557;625:4;560:69;;;514:182;;;657:32;;-1:-1:-1;;;657:32:557;;;;;;;;;;;514:182;706:27;;-1:-1:-1;;;;;;706:27:557;;;;;;;;456:282;:::o;3165:105:332:-;3240:25;-1:-1:-1;;;;;3240:18:332;;3259:5;3240:18;:25::i;:::-;3165:105;;:::o;2807:299::-;2938:2;-1:-1:-1;;;;;2930:10:332;:4;-1:-1:-1;;;;;2930:10:332;;2926:37;2950:7;2926:37;2989:4;-1:-1:-1;;;;;2973:21:332;;;2969:133;;3004:30;-1:-1:-1;;;;;3004:18:332;;3023:2;3027:6;3004:18;:30::i;2969:133::-;3055:40;-1:-1:-1;;;;;3055:22:332;;3078:4;3084:2;3088:6;3055:22;:40::i;3909:342:651:-;4111:4;4099:10;4093:4;4081:10;4073:6;4069:2;4062:5;4057:59;4047:188;;4149:10;4143:4;4136:24;4216:4;4210;4203:18;13125:887;13288:2;13282:4;13275:16;13345:6;13339:4;13332:20;-1:-1:-1;;;13404:4:651;13397:48;13606:4;13600;13594;13588;13585:1;13578:5;13571;13566:45;13658:7;13654:1;13647:4;13641:11;13638:18;13634:32;13624:275;;13749:7;13730:16;13721:5;13709:18;13702:26;13699:48;13696:61;13686:199;;13794:10;13788:4;13781:24;13862:4;13856;13849:18;13686:199;13624:275;13925:1;13919:4;13912:15;13125:887;;;:::o;8987:1026::-;9170:4;9164:11;9235:6;9229:4;9222:20;9300:2;9294:4;9287:16;9365:4;9361:2;9357:13;9351:4;9344:27;-1:-1:-1;;;9421:4:651;9414:48;9574:4;9568;9562;9556;9553:1;9546:5;9539;9534:45;9626:7;9622:1;9615:4;9609:11;9606:18;9602:32;9592:279;;9717:7;9698:16;9689:5;9677:18;9670:26;9667:48;9664:61;9654:203;;9762:10;9756:4;9749:24;9834:4;9828;9821:18;9654:203;-1:-1:-1;9897:1:651;9891:4;9884:15;9953:4;9946:15;-1:-1:-1;;;;8987:1026:651:o;14:180:654:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:654;;14:180;-1:-1:-1;14:180:654:o;381:184::-;451:6;504:2;492:9;483:7;479:23;475:32;472:52;;;520:1;517;510:12;472:52;-1:-1:-1;543:16:654;;381:184;-1:-1:-1;381:184:654:o;570:127::-;631:10;626:3;622:20;619:1;612:31;662:4;659:1;652:15;686:4;683:1;676:15;702:168;775:9;;;806;;823:15;;;817:22;;803:37;793:71;;844:18;;:::i;:::-;702:168;;;;:::o;875:290::-;945:6;998:2;986:9;977:7;973:23;969:32;966:52;;;1014:1;1011;1004:12;966:52;1040:16;;-1:-1:-1;;;;;1085:31:654;;1075:42;;1065:70;;1131:1;1128;1121:12;1065:70;1154:5;875:290;-1:-1:-1;;;875:290:654:o;1170:125::-;1235:9;;;1256:10;;;1253:36;;;1269:18;;:::i","linkReferences":{}},"methodIdentifiers":{"__PrepayFacet_init()":"aabe967d","calculateMembershipPrepayFee(uint256)":"27bc79f1","prepaidMembershipSupply()":"b6a45cd6","prepayMembership(uint256)":"06499d7f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ApprovalCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ApprovalQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BalanceQueryForZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__AlreadyBanned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Banning__CannotBanOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Banning__CannotBanSelf\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__InvalidTokenId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__NotBanned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC5643__DurationZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC5643__InvalidTokenId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC5643__NotApprovedOrOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC5643__SubscriptionNotRenewable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__ValueAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintERC2309QuantityExceedsLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintZeroQuantity\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnershipNotInitializedForExtraData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__NotPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__Paused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidMembership\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidSupplyAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Reentrancy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFromIncorrectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToNonERC721ReceiverImplementer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"URIQueryForNonexistentToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}],\"name\":\"Prepay__Prepaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"expiration\",\"type\":\"uint64\"}],\"name\":\"SubscriptionUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Unbanned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"__PrepayFacet_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}],\"name\":\"calculateMembershipPrepayFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prepaidMembershipSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}],\"name\":\"prepayMembership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Reentrancy()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"ConsecutiveTransfer(uint256,uint256,address,address)\":{\"details\":\"Emitted when tokens in `fromTokenId` to `toTokenId` (inclusive) is transferred from `from` to `to`, as defined in the [ERC2309](https://eips.ethereum.org/EIPS/eip-2309) standard. See {_mintERC2309} for more details.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"},\"SubscriptionUpdate(uint256,uint64)\":{\"details\":\"When a subscription is canceled, the expiration value should also be 0.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"calculateMembershipPrepayFee(uint256)\":{\"params\":{\"supply\":\"The supply to calculate the fee for\"},\"returns\":{\"_0\":\"The fee\"}},\"prepaidMembershipSupply()\":{\"returns\":{\"_0\":\"The remaining prepaid supply\"}},\"prepayMembership(uint256)\":{\"params\":{\"supply\":\"The amount of memberships to prepay\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"ApprovalCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"ApprovalQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"BalanceQueryForZeroAddress()\":[{\"notice\":\"Cannot query the balance for the zero address.\"}],\"MintERC2309QuantityExceedsLimit()\":[{\"notice\":\"The `quantity` minted with ERC2309 exceeds the safety limit.\"}],\"MintToZeroAddress()\":[{\"notice\":\"Cannot mint to the zero address.\"}],\"MintZeroQuantity()\":[{\"notice\":\"The quantity of tokens minted must be more than zero.\"}],\"OwnerQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"OwnershipNotInitializedForExtraData()\":[{\"notice\":\"The `extraData` cannot be set on an unintialized ownership slot.\"}],\"TransferCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"TransferFromIncorrectOwner()\":[{\"notice\":\"The token must be owned by `from`.\"}],\"TransferToNonERC721ReceiverImplementer()\":[{\"notice\":\"Cannot safely transfer to a contract that does not implement the ERC721Receiver interface.\"}],\"TransferToZeroAddress()\":[{\"notice\":\"Cannot transfer to the zero address.\"}],\"URIQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}]},\"events\":{\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"},\"SubscriptionUpdate(uint256,uint64)\":{\"notice\":\"Emitted when a subscription expiration changes\"}},\"kind\":\"user\",\"methods\":{\"calculateMembershipPrepayFee(uint256)\":{\"notice\":\"Calculate the prepay fee for a given supply\"},\"prepaidMembershipSupply()\":{\"notice\":\"Get the prepaid supply\"},\"prepayMembership(uint256)\":{\"notice\":\"Prepay a membership\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/spaces/facets/prepay/PrepayFacet.sol\":\"PrepayFacet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/diamond/facets/token/ERC5643/ERC5643Base.sol\":{\"keccak256\":\"0x21d3c281732e54c93520a4f2cc72cc5af38c517f2a150ee67aa84704a3d78627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52ce7c061da0142a4d775bb85896410d363d4a28c0275d3171a70872344fc9a4\",\"dweb:/ipfs/Qmdwgs3TaC4b83JVn6RG5pJJdCrxb74ZMRqZbYSe5DuqZf\"]},\"contracts/src/diamond/facets/token/ERC5643/ERC5643Storage.sol\":{\"keccak256\":\"0x68cbff071e6a6a6b91b675af567616799435676fbbbebf4f9226e1226d6128b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e2c7aee6ef32477733a50ba667cc510c8c165b9a9e146609b1f800acd0e4832\",\"dweb:/ipfs/QmcWAz74x3AR6kpzWdyPWw3iLQ1yHBT3ZVoK6jT7T3LwXq\"]},\"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol\":{\"keccak256\":\"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615\",\"dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol\":{\"keccak256\":\"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba\",\"dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol\":{\"keccak256\":\"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04\",\"dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey\"]},\"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol\":{\"keccak256\":\"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d\",\"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz\"]},\"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol\":{\"keccak256\":\"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86\",\"dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT\"]},\"contracts/src/factory/facets/wallet-link/IWalletLink.sol\":{\"keccak256\":\"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d\",\"dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC\"]},\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/facets/Entitled.sol\":{\"keccak256\":\"0x407444b484c8951ee61c5665c18876ce798c8e28b9aa9d4599b4a027d892870c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78692dc68fe28f7d1bd3deea97534f3f4ef92e17cf443cad12c74989370ca689\",\"dweb:/ipfs/QmWRDxd6jZjA1DR7N15pNZtqa5P7mHnB1wQSBHfSabCnSd\"]},\"contracts/src/spaces/facets/banning/BanningBase.sol\":{\"keccak256\":\"0x38c44494221f96568f3efb540a8a6c7af141de95f25caf26df6e8a8333f31249\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cf1f509347cab5090655ff8272443d18f9716fea5ef27cd86269ccbd2570aa7e\",\"dweb:/ipfs/QmbF8StzLRGnVvVXWYBowvdULoPPqQkU5hZR548cnRzuVs\"]},\"contracts/src/spaces/facets/banning/BanningStorage.sol\":{\"keccak256\":\"0xcfbf5c113056e569abf23158853ff4877744b22a4bf2bf49a282d04dab23ab17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f825e97ca65c9cd3bd5885d2fa8b8e5f8f0dcbe227dec064abbbab645685fbe\",\"dweb:/ipfs/QmXAMntxrjzeNUKh9WcyHvzDmnV89vrJ9PkKRceqxJSxZp\"]},\"contracts/src/spaces/facets/banning/IBanning.sol\":{\"keccak256\":\"0x350ec182a95a86a41335979cd7212132858c5cfcd366602b2f6cd0ec0694b63e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ecb4ad0c5a1086c38448b3e279733f33edc0cc39648368e5cb43dfff139ff7e8\",\"dweb:/ipfs/QmWYfYE8Haqk9kBRxmLijfQSfqbfxf7LB3wQ24d3pG5PE3\"]},\"contracts/src/spaces/facets/delegation/WalletLinkProxyBase.sol\":{\"keccak256\":\"0xffef403556b46744bd1833e5df57b02eb79e010841b16610e1740bc0dac929b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1afa30929e8c6b0c69528d328774c98789825a8de53e5945a1e95092bee2ad08\",\"dweb:/ipfs/QmTbCqLJTBHgcMuFwWSTbrgR7uaASJqwqYuku4YkGzTWW1\"]},\"contracts/src/spaces/facets/delegation/WalletLinkProxyStorage.sol\":{\"keccak256\":\"0x9667e475b9ad9f1130583840c9b0594a7512f7edd33163b926b3db21f70d9909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6271ce56258b1e9150378872d250cfaeb4501b5d0288e8f19f02096114c687f\",\"dweb:/ipfs/QmXSBA2CpLL9BdvZb994JYStgB9fJfsHwgcke6gsD3zybW\"]},\"contracts/src/spaces/facets/entitlements/EntitlementsManagerStorage.sol\":{\"keccak256\":\"0x932608993bef144e63002ddef41a5c3cd3e800b49f7b18e0614da4912800d22d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97e1e32435b60f4697a98679884b36c6912cc31a942bf2c92af6590c58c64ca9\",\"dweb:/ipfs/QmNWcuZvzPqgQk2cLsmq7T71oMZGh22Mx1BwKz6Sj1cMAu\"]},\"contracts/src/spaces/facets/membership/MembershipStorage.sol\":{\"keccak256\":\"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd\",\"dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa\"]},\"contracts/src/spaces/facets/prepay/IPrepay.sol\":{\"keccak256\":\"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15\",\"dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT\"]},\"contracts/src/spaces/facets/prepay/PrepayBase.sol\":{\"keccak256\":\"0x07fbb598088d52ff90a2dc5c3fea344823ae240f39b104f8db8a0b3953752ba3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d34b9a5703ac33b27f91049a81f106bdf327ac57f4ac5886e21f3782104a5084\",\"dweb:/ipfs/QmR8ds7bpXxSLZX6QNhVRVYY8Fk2xHVFNqcAD1fY38kERs\"]},\"contracts/src/spaces/facets/prepay/PrepayFacet.sol\":{\"keccak256\":\"0xb869fabd291a761de37e3654f3bff2410bde71baa617377f7195ab293b461ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d351e429d4ae5b8bbd30e942b71e369ddc1e5bb72dce696d79e9b9150e8bc0e5\",\"dweb:/ipfs/QmZZXxwYGHmnJ17s5yNR55qMG9KmdSpfyvExiTjCL8MiGi\"]},\"contracts/src/spaces/facets/prepay/PrepayStorage.sol\":{\"keccak256\":\"0x5daebdd10dafc3bc3552064a2fecd4a2639226b1af240351dd2e005a7ab270b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06cf75e08e360a74822cd846728c5d9f8440698bb43d29a8bcab3c0cebbec336\",\"dweb:/ipfs/QmZ4UfwTNqQg88A7mHmXM3ZExjTJQhPf3qvFLGzcVaGwwG\"]},\"contracts/src/utils/interfaces/IWETH.sol\":{\"keccak256\":\"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5\",\"dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6\"]},\"contracts/src/utils/libraries/CurrencyTransfer.sol\":{\"keccak256\":\"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4\",\"dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr\"]},\"contracts/src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7\",\"dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol\":{\"keccak256\":\"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37\",\"dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol\":{\"keccak256\":\"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711\",\"dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol\":{\"keccak256\":\"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf\",\"dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F\"]},\"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol\":{\"keccak256\":\"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684\",\"dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol\":{\"keccak256\":\"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3\",\"dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol\":{\"keccak256\":\"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd\",\"dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj\"]},\"node_modules/solady/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98\",\"dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi\"]},\"node_modules/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c\",\"dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ApprovalCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"ApprovalQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"BalanceQueryForZeroAddress"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__AlreadyBanned"},{"inputs":[],"type":"error","name":"Banning__CannotBanOwner"},{"inputs":[],"type":"error","name":"Banning__CannotBanSelf"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__InvalidTokenId"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__NotBanned"},{"inputs":[],"type":"error","name":"ERC5643__DurationZero"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC5643__InvalidTokenId"},{"inputs":[],"type":"error","name":"ERC5643__NotApprovedOrOwner"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC5643__SubscriptionNotRenewable"},{"inputs":[],"type":"error","name":"Entitlement__InvalidValue"},{"inputs":[],"type":"error","name":"Entitlement__NotAllowed"},{"inputs":[],"type":"error","name":"Entitlement__NotMember"},{"inputs":[],"type":"error","name":"Entitlement__ValueAlreadyExists"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[],"type":"error","name":"MintERC2309QuantityExceedsLimit"},{"inputs":[],"type":"error","name":"MintToZeroAddress"},{"inputs":[],"type":"error","name":"MintZeroQuantity"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[],"type":"error","name":"OwnerQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"OwnershipNotInitializedForExtraData"},{"inputs":[],"type":"error","name":"Pausable__NotPaused"},{"inputs":[],"type":"error","name":"Pausable__Paused"},{"inputs":[],"type":"error","name":"Prepay__InvalidAddress"},{"inputs":[],"type":"error","name":"Prepay__InvalidAmount"},{"inputs":[],"type":"error","name":"Prepay__InvalidMembership"},{"inputs":[],"type":"error","name":"Prepay__InvalidSupplyAmount"},{"inputs":[],"type":"error","name":"Reentrancy"},{"inputs":[],"type":"error","name":"TransferCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"TransferFromIncorrectOwner"},{"inputs":[],"type":"error","name":"TransferToNonERC721ReceiverImplementer"},{"inputs":[],"type":"error","name":"TransferToZeroAddress"},{"inputs":[],"type":"error","name":"URIQueryForNonexistentToken"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"moderator","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Banned","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256","indexed":false}],"type":"event","name":"Prepay__Prepaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint64","name":"expiration","type":"uint64","indexed":false}],"type":"event","name":"SubscriptionUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"moderator","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Unbanned","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"__PrepayFacet_init"},{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMembershipPrepayFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prepaidMembershipSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256"}],"stateMutability":"payable","type":"function","name":"prepayMembership"}],"devdoc":{"kind":"dev","methods":{"calculateMembershipPrepayFee(uint256)":{"params":{"supply":"The supply to calculate the fee for"},"returns":{"_0":"The fee"}},"prepaidMembershipSupply()":{"returns":{"_0":"The remaining prepaid supply"}},"prepayMembership(uint256)":{"params":{"supply":"The amount of memberships to prepay"}}},"version":1},"userdoc":{"kind":"user","methods":{"calculateMembershipPrepayFee(uint256)":{"notice":"Calculate the prepay fee for a given supply"},"prepaidMembershipSupply()":{"notice":"Get the prepaid supply"},"prepayMembership(uint256)":{"notice":"Prepay a membership"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/spaces/facets/prepay/PrepayFacet.sol":"PrepayFacet"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/diamond/facets/token/ERC5643/ERC5643Base.sol":{"keccak256":"0x21d3c281732e54c93520a4f2cc72cc5af38c517f2a150ee67aa84704a3d78627","urls":["bzz-raw://52ce7c061da0142a4d775bb85896410d363d4a28c0275d3171a70872344fc9a4","dweb:/ipfs/Qmdwgs3TaC4b83JVn6RG5pJJdCrxb74ZMRqZbYSe5DuqZf"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/ERC5643Storage.sol":{"keccak256":"0x68cbff071e6a6a6b91b675af567616799435676fbbbebf4f9226e1226d6128b2","urls":["bzz-raw://2e2c7aee6ef32477733a50ba667cc510c8c165b9a9e146609b1f800acd0e4832","dweb:/ipfs/QmcWAz74x3AR6kpzWdyPWw3iLQ1yHBT3ZVoK6jT7T3LwXq"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol":{"keccak256":"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224","urls":["bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615","dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol":{"keccak256":"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62","urls":["bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba","dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol":{"keccak256":"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4","urls":["bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04","dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol":{"keccak256":"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782","urls":["bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d","dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"],"license":"MIT"},"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol":{"keccak256":"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6","urls":["bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86","dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT"],"license":"MIT"},"contracts/src/factory/facets/wallet-link/IWalletLink.sol":{"keccak256":"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c","urls":["bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d","dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC"],"license":"MIT"},"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/facets/Entitled.sol":{"keccak256":"0x407444b484c8951ee61c5665c18876ce798c8e28b9aa9d4599b4a027d892870c","urls":["bzz-raw://78692dc68fe28f7d1bd3deea97534f3f4ef92e17cf443cad12c74989370ca689","dweb:/ipfs/QmWRDxd6jZjA1DR7N15pNZtqa5P7mHnB1wQSBHfSabCnSd"],"license":"MIT"},"contracts/src/spaces/facets/banning/BanningBase.sol":{"keccak256":"0x38c44494221f96568f3efb540a8a6c7af141de95f25caf26df6e8a8333f31249","urls":["bzz-raw://cf1f509347cab5090655ff8272443d18f9716fea5ef27cd86269ccbd2570aa7e","dweb:/ipfs/QmbF8StzLRGnVvVXWYBowvdULoPPqQkU5hZR548cnRzuVs"],"license":"MIT"},"contracts/src/spaces/facets/banning/BanningStorage.sol":{"keccak256":"0xcfbf5c113056e569abf23158853ff4877744b22a4bf2bf49a282d04dab23ab17","urls":["bzz-raw://4f825e97ca65c9cd3bd5885d2fa8b8e5f8f0dcbe227dec064abbbab645685fbe","dweb:/ipfs/QmXAMntxrjzeNUKh9WcyHvzDmnV89vrJ9PkKRceqxJSxZp"],"license":"MIT"},"contracts/src/spaces/facets/banning/IBanning.sol":{"keccak256":"0x350ec182a95a86a41335979cd7212132858c5cfcd366602b2f6cd0ec0694b63e","urls":["bzz-raw://ecb4ad0c5a1086c38448b3e279733f33edc0cc39648368e5cb43dfff139ff7e8","dweb:/ipfs/QmWYfYE8Haqk9kBRxmLijfQSfqbfxf7LB3wQ24d3pG5PE3"],"license":"MIT"},"contracts/src/spaces/facets/delegation/WalletLinkProxyBase.sol":{"keccak256":"0xffef403556b46744bd1833e5df57b02eb79e010841b16610e1740bc0dac929b2","urls":["bzz-raw://1afa30929e8c6b0c69528d328774c98789825a8de53e5945a1e95092bee2ad08","dweb:/ipfs/QmTbCqLJTBHgcMuFwWSTbrgR7uaASJqwqYuku4YkGzTWW1"],"license":"MIT"},"contracts/src/spaces/facets/delegation/WalletLinkProxyStorage.sol":{"keccak256":"0x9667e475b9ad9f1130583840c9b0594a7512f7edd33163b926b3db21f70d9909","urls":["bzz-raw://d6271ce56258b1e9150378872d250cfaeb4501b5d0288e8f19f02096114c687f","dweb:/ipfs/QmXSBA2CpLL9BdvZb994JYStgB9fJfsHwgcke6gsD3zybW"],"license":"MIT"},"contracts/src/spaces/facets/entitlements/EntitlementsManagerStorage.sol":{"keccak256":"0x932608993bef144e63002ddef41a5c3cd3e800b49f7b18e0614da4912800d22d","urls":["bzz-raw://97e1e32435b60f4697a98679884b36c6912cc31a942bf2c92af6590c58c64ca9","dweb:/ipfs/QmNWcuZvzPqgQk2cLsmq7T71oMZGh22Mx1BwKz6Sj1cMAu"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipStorage.sol":{"keccak256":"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972","urls":["bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd","dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa"],"license":"MIT"},"contracts/src/spaces/facets/prepay/IPrepay.sol":{"keccak256":"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa","urls":["bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15","dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT"],"license":"MIT"},"contracts/src/spaces/facets/prepay/PrepayBase.sol":{"keccak256":"0x07fbb598088d52ff90a2dc5c3fea344823ae240f39b104f8db8a0b3953752ba3","urls":["bzz-raw://d34b9a5703ac33b27f91049a81f106bdf327ac57f4ac5886e21f3782104a5084","dweb:/ipfs/QmR8ds7bpXxSLZX6QNhVRVYY8Fk2xHVFNqcAD1fY38kERs"],"license":"MIT"},"contracts/src/spaces/facets/prepay/PrepayFacet.sol":{"keccak256":"0xb869fabd291a761de37e3654f3bff2410bde71baa617377f7195ab293b461ddc","urls":["bzz-raw://d351e429d4ae5b8bbd30e942b71e369ddc1e5bb72dce696d79e9b9150e8bc0e5","dweb:/ipfs/QmZZXxwYGHmnJ17s5yNR55qMG9KmdSpfyvExiTjCL8MiGi"],"license":"MIT"},"contracts/src/spaces/facets/prepay/PrepayStorage.sol":{"keccak256":"0x5daebdd10dafc3bc3552064a2fecd4a2639226b1af240351dd2e005a7ab270b4","urls":["bzz-raw://06cf75e08e360a74822cd846728c5d9f8440698bb43d29a8bcab3c0cebbec336","dweb:/ipfs/QmZ4UfwTNqQg88A7mHmXM3ZExjTJQhPf3qvFLGzcVaGwwG"],"license":"MIT"},"contracts/src/utils/interfaces/IWETH.sol":{"keccak256":"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0","urls":["bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5","dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6"],"license":"MIT"},"contracts/src/utils/libraries/CurrencyTransfer.sol":{"keccak256":"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083","urls":["bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4","dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr"],"license":"MIT"},"contracts/src/utils/libraries/CustomRevert.sol":{"keccak256":"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059","urls":["bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7","dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol":{"keccak256":"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397","urls":["bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37","dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol":{"keccak256":"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83","urls":["bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711","dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol":{"keccak256":"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479","urls":["bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf","dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol":{"keccak256":"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1","urls":["bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684","dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol":{"keccak256":"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0","urls":["bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3","dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol":{"keccak256":"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f","urls":["bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd","dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj"],"license":"MIT"},"node_modules/solady/src/utils/ReentrancyGuard.sol":{"keccak256":"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8","urls":["bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98","dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi"],"license":"MIT"},"node_modules/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210","urls":["bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c","dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR"],"license":"MIT"}},"version":1},"id":263} \ No newline at end of file +{"abi":[{"type":"function","name":"__PrepayFacet_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"calculateMembershipPrepayFee","inputs":[{"name":"supply","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prepaidMembershipSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prepayMembership","inputs":[{"name":"supply","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Banned","inputs":[{"name":"moderator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Prepay__Prepaid","inputs":[{"name":"supply","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SubscriptionUpdate","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"expiration","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unbanned","inputs":[{"name":"moderator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ApprovalCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"ApprovalQueryForNonexistentToken","inputs":[]},{"type":"error","name":"BalanceQueryForZeroAddress","inputs":[]},{"type":"error","name":"Banning__AlreadyBanned","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Banning__CannotBanOwner","inputs":[]},{"type":"error","name":"Banning__CannotBanSelf","inputs":[]},{"type":"error","name":"Banning__InvalidTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Banning__NotBanned","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC5643__DurationZero","inputs":[]},{"type":"error","name":"ERC5643__InvalidTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC5643__NotApprovedOrOwner","inputs":[]},{"type":"error","name":"ERC5643__SubscriptionNotRenewable","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Entitlement__InvalidValue","inputs":[]},{"type":"error","name":"Entitlement__NotAllowed","inputs":[]},{"type":"error","name":"Entitlement__NotMember","inputs":[]},{"type":"error","name":"Entitlement__ValueAlreadyExists","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"MintERC2309QuantityExceedsLimit","inputs":[]},{"type":"error","name":"MintToZeroAddress","inputs":[]},{"type":"error","name":"MintZeroQuantity","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]},{"type":"error","name":"OwnerQueryForNonexistentToken","inputs":[]},{"type":"error","name":"OwnershipNotInitializedForExtraData","inputs":[]},{"type":"error","name":"Pausable__NotPaused","inputs":[]},{"type":"error","name":"Pausable__Paused","inputs":[]},{"type":"error","name":"Prepay__InvalidAddress","inputs":[]},{"type":"error","name":"Prepay__InvalidAmount","inputs":[]},{"type":"error","name":"Prepay__InvalidMembership","inputs":[]},{"type":"error","name":"Prepay__InvalidSupplyAmount","inputs":[]},{"type":"error","name":"Reentrancy","inputs":[]},{"type":"error","name":"TransferCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"TransferFromIncorrectOwner","inputs":[]},{"type":"error","name":"TransferToNonERC721ReceiverImplementer","inputs":[]},{"type":"error","name":"TransferToZeroAddress","inputs":[]},{"type":"error","name":"URIQueryForNonexistentToken","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001961001e565b6100c4565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff161561006a576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156100c157805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b61073d806100d36000396000f3fe60806040526004361061003f5760003560e01c806306499d7f1461004457806327bc79f114610059578063aabe967d1461008b578063b6a45cd6146100a0575b600080fd5b610057610052366004610695565b6100b5565b005b34801561006557600080fd5b50610079610074366004610695565b61027b565b60405190815260200160405180910390f35b34801561009757600080fd5b50610057610340565b3480156100ac57600080fd5b5061007961039c565b3068929eee149b4bd2126854036100d45763ab143c066000526004601cfd5b3068929eee149b4bd2126855806000036101015760405163305b66fd60e01b815260040160405180910390fd5b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065460408051630eac306d60e01b815290517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600926001600160a01b0316916000918391630eac306d9160048083019260209291908290030181865afa15801561018e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b291906106ae565b6101bc90856106dd565b90508034146101de5760405163cd27698760e01b815260040160405180910390fd5b6101e7846103cb565b600480840154604080516301332c8360e61b815290516001600160a01b0392831693600093871692634ccb20c092818301926020928290030181865afa158015610235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025991906106fa565b90506102678233838661043c565b50505050503868929eee149b4bd212685550565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065460408051630eac306d60e01b815290516000927fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600926001600160a01b03909116918291630eac306d9160048083019260209291908290030181865afa15801561030a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032e91906106ae565b61033890856106dd565b949350505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661038a57604051630ef4733760e31b815260040160405180910390fd5b61039a6312ea370b60e31b610488565b565b60006103c67f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005490565b905090565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c0080548290829060009061040090849061072a565b90915550506040518281527fad9b877dcdf275e10be629bbe390dc68f7b5de14e3cc5f11f1745d300bb3852e9060200160405180910390a15050565b80156104825773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601610476576104718282610561565b610482565b61048284848484610578565b50505050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16610510576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055610529565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b6105746001600160a01b038316826105cb565b5050565b816001600160a01b0316836001600160a01b0316031561048257306001600160a01b038416036105b6576104716001600160a01b03851683836105e7565b6104826001600160a01b038516848484610637565b60003860003884865af16105745763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af1806001600051141661062c57803d853b15171061062c576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af1806001600051141661068657803d873b15171061068657637939f4246000526004601cfd5b50600060605260405250505050565b6000602082840312156106a757600080fd5b5035919050565b6000602082840312156106c057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106f4576106f46106c7565b92915050565b60006020828403121561070c57600080fd5b81516001600160a01b038116811461072357600080fd5b9392505050565b808201808211156106f4576106f46106c756","sourceMap":"713:1372:263:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;713:1372:263;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;713:1372:263;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061003f5760003560e01c806306499d7f1461004457806327bc79f114610059578063aabe967d1461008b578063b6a45cd6146100a0575b600080fd5b610057610052366004610695565b6100b5565b005b34801561006557600080fd5b50610079610074366004610695565b61027b565b60405190815260200160405180910390f35b34801561009757600080fd5b50610057610340565b3480156100ac57600080fd5b5061007961039c565b3068929eee149b4bd2126854036100d45763ab143c066000526004601cfd5b3068929eee149b4bd2126855806000036101015760405163305b66fd60e01b815260040160405180910390fd5b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065460408051630eac306d60e01b815290517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600926001600160a01b0316916000918391630eac306d9160048083019260209291908290030181865afa15801561018e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b291906106ae565b6101bc90856106dd565b90508034146101de5760405163cd27698760e01b815260040160405180910390fd5b6101e7846103cb565b600480840154604080516301332c8360e61b815290516001600160a01b0392831693600093871692634ccb20c092818301926020928290030181865afa158015610235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025991906106fa565b90506102678233838661043c565b50505050503868929eee149b4bd212685550565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065460408051630eac306d60e01b815290516000927fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600926001600160a01b03909116918291630eac306d9160048083019260209291908290030181865afa15801561030a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032e91906106ae565b61033890856106dd565b949350505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661038a57604051630ef4733760e31b815260040160405180910390fd5b61039a6312ea370b60e31b610488565b565b60006103c67f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005490565b905090565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c0080548290829060009061040090849061072a565b90915550506040518281527fad9b877dcdf275e10be629bbe390dc68f7b5de14e3cc5f11f1745d300bb3852e9060200160405180910390a15050565b80156104825773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601610476576104718282610561565b610482565b61048284848484610578565b50505050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16610510576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055610529565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b6105746001600160a01b038316826105cb565b5050565b816001600160a01b0316836001600160a01b0316031561048257306001600160a01b038416036105b6576104716001600160a01b03851683836105e7565b6104826001600160a01b038516848484610637565b60003860003884865af16105745763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af1806001600051141661062c57803d853b15171061062c576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af1806001600051141661068657803d873b15171061068657637939f4246000526004601cfd5b50600060605260405250505050565b6000602082840312156106a757600080fd5b5035919050565b6000602082840312156106c057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106f4576106f46106c7565b92915050565b60006020828403121561070c57600080fd5b81516001600160a01b038116811461072357600080fd5b9392505050565b808201808211156106f4576106f46106c756","sourceMap":"713:1372:263:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;906:770;;;;;;:::i;:::-;;:::i;:::-;;1788:295;;;;;;;;;;-1:-1:-1;1788:295:263;;;;;:::i;:::-;;:::i;:::-;;;345:25:654;;;333:2;318:18;1788:295:263;;;;;;;795:107;;;;;;;;;;;;;:::i;1680:104::-;;;;;;;;;;;;;:::i;906:770::-;1635:9:649;1610:22;1604:29;1601:44;1598:158;;1677:10;1671:4;1664:24;1737:4;1731;1724:18;1598:158;1800:9;1776:22;1769:41;988:6:263::1;998:1;988:11:::0;984:53:::1;;1008:29;;-1:-1:-1::0;;;1008:29:263::1;;;;;;;;;;;984:53;1169:15:::0;;1216:27:::1;::::0;;-1:-1:-1;;;1216:27:263;;;;287:66:246;;-1:-1:-1;;;;;1169:15:263::1;::::0;1044:35:::1;::::0;1169:15;;1216:25:::1;::::0;:27:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;1169:15;1216:27:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1207:36;::::0;:6;:36:::1;:::i;:::-;1192:51;;1313:4;1300:9;:17;1296:53;;1326:23;;-1:-1:-1::0;;;1326:23:263::1;;;;;;;;;;;1296:53;1374:18;1385:6;1374:10;:18::i;:::-;1460:21;::::0;;::::1;::::0;1515:26:::1;::::0;;-1:-1:-1;;;1515:26:263;;;;-1:-1:-1;;;;;1460:21:263;;::::1;::::0;1441:16:::1;::::0;1515:24;::::1;::::0;::::1;::::0;:26;;::::1;::::0;::::1;::::0;;;;;;:24;:26:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1487:54;;1547:124;1588:8;1604:10;1630:17;1661:4;1547:33;:124::i;:::-;978:698;;;;;1937:10:649::0;1913:22;1906:42;906:770:263;:::o;1788:295::-;2013:15;;2051:27;;;-1:-1:-1;;;2051:27:263;;;;1873:7;;287:66:246;;-1:-1:-1;;;;;2013:15:263;;;;;;2051:25;;:27;;;;;;;;;;;;;;2013:15;2051:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2042:36;;:6;:36;:::i;:::-;2035:43;1788:295;-1:-1:-1;;;;1788:295:263:o;795:107::-;296:66:555;1263:42:554;;;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;857:40:263::1;-1:-1:-1::0;;;857:13:263::1;:40::i;:::-;795:107::o:0;1680:104::-;1738:7;1760:19;272:66:264;636:29:262;;562:108;1760:19:263;1753:26;;1680:104;:::o;243:171:262:-;272:66:264;356:19:262;;369:6;;272:66:264;;294:31:262;;356:19;;369:6;;356:19;:::i;:::-;;;;-1:-1:-1;;386:23:262;;345:25:654;;;386:23:262;;333:2:654;318:18;386:23:262;;;;;;;288:126;243:171;:::o;1077:315:332:-;1198:38;;1223:7;1198:38;-1:-1:-1;;;;;;;1246:24:332;;;1242:146;;1280:35;1304:2;1308:6;1280:23;:35::i;:::-;1242:146;;;1336:45;1354:8;1364:4;1370:2;1374:6;1336:17;:45::i;:::-;1077:315;;;;:::o;456:282:557:-;-1:-1:-1;;;;;;1119:62:557;;1100:4;1119:62;;;296:66:559;1119:62:557;;;;;;;;514:182;;-1:-1:-1;;;;;;560:62:557;;:49;:62;;;296:66:559;560:62:557;;;;;:69;;-1:-1:-1;;560:69:557;625:4;560:69;;;514:182;;;657:32;;-1:-1:-1;;;657:32:557;;;;;;;;;;;514:182;706:27;;-1:-1:-1;;;;;;706:27:557;;;;;;;;456:282;:::o;3165:105:332:-;3240:25;-1:-1:-1;;;;;3240:18:332;;3259:5;3240:18;:25::i;:::-;3165:105;;:::o;2807:299::-;2938:2;-1:-1:-1;;;;;2930:10:332;:4;-1:-1:-1;;;;;2930:10:332;;2926:37;2950:7;2926:37;2989:4;-1:-1:-1;;;;;2973:21:332;;;2969:133;;3004:30;-1:-1:-1;;;;;3004:18:332;;3023:2;3027:6;3004:18;:30::i;2969:133::-;3055:40;-1:-1:-1;;;;;3055:22:332;;3078:4;3084:2;3088:6;3055:22;:40::i;4001:342:651:-;4203:4;4191:10;4185:4;4173:10;4165:6;4161:2;4154:5;4149:59;4139:188;;4241:10;4235:4;4228:24;4308:4;4302;4295:18;13217:887;13380:2;13374:4;13367:16;13437:6;13431:4;13424:20;-1:-1:-1;;;13496:4:651;13489:48;13698:4;13692;13686;13680;13677:1;13670:5;13663;13658:45;13750:7;13746:1;13739:4;13733:11;13730:18;13726:32;13716:275;;13841:7;13822:16;13813:5;13801:18;13794:26;13791:48;13788:61;13778:199;;13886:10;13880:4;13873:24;13954:4;13948;13941:18;13778:199;13716:275;14017:1;14011:4;14004:15;13217:887;;;:::o;9079:1026::-;9262:4;9256:11;9327:6;9321:4;9314:20;9392:2;9386:4;9379:16;9457:4;9453:2;9449:13;9443:4;9436:27;-1:-1:-1;;;9513:4:651;9506:48;9666:4;9660;9654;9648;9645:1;9638:5;9631;9626:45;9718:7;9714:1;9707:4;9701:11;9698:18;9694:32;9684:279;;9809:7;9790:16;9781:5;9769:18;9762:26;9759:48;9756:61;9746:203;;9854:10;9848:4;9841:24;9926:4;9920;9913:18;9746:203;-1:-1:-1;9989:1:651;9983:4;9976:15;10045:4;10038:15;-1:-1:-1;;;;9079:1026:651:o;14:180:654:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:654;;14:180;-1:-1:-1;14:180:654:o;381:184::-;451:6;504:2;492:9;483:7;479:23;475:32;472:52;;;520:1;517;510:12;472:52;-1:-1:-1;543:16:654;;381:184;-1:-1:-1;381:184:654:o;570:127::-;631:10;626:3;622:20;619:1;612:31;662:4;659:1;652:15;686:4;683:1;676:15;702:168;775:9;;;806;;823:15;;;817:22;;803:37;793:71;;844:18;;:::i;:::-;702:168;;;;:::o;875:290::-;945:6;998:2;986:9;977:7;973:23;969:32;966:52;;;1014:1;1011;1004:12;966:52;1040:16;;-1:-1:-1;;;;;1085:31:654;;1075:42;;1065:70;;1131:1;1128;1121:12;1065:70;1154:5;875:290;-1:-1:-1;;;875:290:654:o;1170:125::-;1235:9;;;1256:10;;;1253:36;;;1269:18;;:::i","linkReferences":{}},"methodIdentifiers":{"__PrepayFacet_init()":"aabe967d","calculateMembershipPrepayFee(uint256)":"27bc79f1","prepaidMembershipSupply()":"b6a45cd6","prepayMembership(uint256)":"06499d7f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ApprovalCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ApprovalQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BalanceQueryForZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__AlreadyBanned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Banning__CannotBanOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Banning__CannotBanSelf\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__InvalidTokenId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banning__NotBanned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC5643__DurationZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC5643__InvalidTokenId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC5643__NotApprovedOrOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC5643__SubscriptionNotRenewable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__ValueAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintERC2309QuantityExceedsLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintZeroQuantity\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnershipNotInitializedForExtraData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__NotPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Pausable__Paused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidMembership\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Prepay__InvalidSupplyAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Reentrancy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFromIncorrectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToNonERC721ReceiverImplementer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"URIQueryForNonexistentToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Banned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}],\"name\":\"Prepay__Prepaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"expiration\",\"type\":\"uint64\"}],\"name\":\"SubscriptionUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Unbanned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"__PrepayFacet_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}],\"name\":\"calculateMembershipPrepayFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prepaidMembershipSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}],\"name\":\"prepayMembership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Reentrancy()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"ConsecutiveTransfer(uint256,uint256,address,address)\":{\"details\":\"Emitted when tokens in `fromTokenId` to `toTokenId` (inclusive) is transferred from `from` to `to`, as defined in the [ERC2309](https://eips.ethereum.org/EIPS/eip-2309) standard. See {_mintERC2309} for more details.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"},\"SubscriptionUpdate(uint256,uint64)\":{\"details\":\"When a subscription is canceled, the expiration value should also be 0.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"calculateMembershipPrepayFee(uint256)\":{\"params\":{\"supply\":\"The supply to calculate the fee for\"},\"returns\":{\"_0\":\"The fee\"}},\"prepaidMembershipSupply()\":{\"returns\":{\"_0\":\"The remaining prepaid supply\"}},\"prepayMembership(uint256)\":{\"params\":{\"supply\":\"The amount of memberships to prepay\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"ApprovalCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"ApprovalQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"BalanceQueryForZeroAddress()\":[{\"notice\":\"Cannot query the balance for the zero address.\"}],\"MintERC2309QuantityExceedsLimit()\":[{\"notice\":\"The `quantity` minted with ERC2309 exceeds the safety limit.\"}],\"MintToZeroAddress()\":[{\"notice\":\"Cannot mint to the zero address.\"}],\"MintZeroQuantity()\":[{\"notice\":\"The quantity of tokens minted must be more than zero.\"}],\"OwnerQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"OwnershipNotInitializedForExtraData()\":[{\"notice\":\"The `extraData` cannot be set on an unintialized ownership slot.\"}],\"TransferCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"TransferFromIncorrectOwner()\":[{\"notice\":\"The token must be owned by `from`.\"}],\"TransferToNonERC721ReceiverImplementer()\":[{\"notice\":\"Cannot safely transfer to a contract that does not implement the ERC721Receiver interface.\"}],\"TransferToZeroAddress()\":[{\"notice\":\"Cannot transfer to the zero address.\"}],\"URIQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}]},\"events\":{\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"},\"SubscriptionUpdate(uint256,uint64)\":{\"notice\":\"Emitted when a subscription expiration changes\"}},\"kind\":\"user\",\"methods\":{\"calculateMembershipPrepayFee(uint256)\":{\"notice\":\"Calculate the prepay fee for a given supply\"},\"prepaidMembershipSupply()\":{\"notice\":\"Get the prepaid supply\"},\"prepayMembership(uint256)\":{\"notice\":\"Prepay a membership\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/spaces/facets/prepay/PrepayFacet.sol\":\"PrepayFacet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/diamond/facets/token/ERC5643/ERC5643Base.sol\":{\"keccak256\":\"0x21d3c281732e54c93520a4f2cc72cc5af38c517f2a150ee67aa84704a3d78627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52ce7c061da0142a4d775bb85896410d363d4a28c0275d3171a70872344fc9a4\",\"dweb:/ipfs/Qmdwgs3TaC4b83JVn6RG5pJJdCrxb74ZMRqZbYSe5DuqZf\"]},\"contracts/src/diamond/facets/token/ERC5643/ERC5643Storage.sol\":{\"keccak256\":\"0x68cbff071e6a6a6b91b675af567616799435676fbbbebf4f9226e1226d6128b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e2c7aee6ef32477733a50ba667cc510c8c165b9a9e146609b1f800acd0e4832\",\"dweb:/ipfs/QmcWAz74x3AR6kpzWdyPWw3iLQ1yHBT3ZVoK6jT7T3LwXq\"]},\"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol\":{\"keccak256\":\"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615\",\"dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol\":{\"keccak256\":\"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba\",\"dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol\":{\"keccak256\":\"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04\",\"dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey\"]},\"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol\":{\"keccak256\":\"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d\",\"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz\"]},\"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol\":{\"keccak256\":\"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86\",\"dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT\"]},\"contracts/src/factory/facets/wallet-link/IWalletLink.sol\":{\"keccak256\":\"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d\",\"dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC\"]},\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/facets/Entitled.sol\":{\"keccak256\":\"0x407444b484c8951ee61c5665c18876ce798c8e28b9aa9d4599b4a027d892870c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78692dc68fe28f7d1bd3deea97534f3f4ef92e17cf443cad12c74989370ca689\",\"dweb:/ipfs/QmWRDxd6jZjA1DR7N15pNZtqa5P7mHnB1wQSBHfSabCnSd\"]},\"contracts/src/spaces/facets/banning/BanningBase.sol\":{\"keccak256\":\"0x38c44494221f96568f3efb540a8a6c7af141de95f25caf26df6e8a8333f31249\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cf1f509347cab5090655ff8272443d18f9716fea5ef27cd86269ccbd2570aa7e\",\"dweb:/ipfs/QmbF8StzLRGnVvVXWYBowvdULoPPqQkU5hZR548cnRzuVs\"]},\"contracts/src/spaces/facets/banning/BanningStorage.sol\":{\"keccak256\":\"0xcfbf5c113056e569abf23158853ff4877744b22a4bf2bf49a282d04dab23ab17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f825e97ca65c9cd3bd5885d2fa8b8e5f8f0dcbe227dec064abbbab645685fbe\",\"dweb:/ipfs/QmXAMntxrjzeNUKh9WcyHvzDmnV89vrJ9PkKRceqxJSxZp\"]},\"contracts/src/spaces/facets/banning/IBanning.sol\":{\"keccak256\":\"0x350ec182a95a86a41335979cd7212132858c5cfcd366602b2f6cd0ec0694b63e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ecb4ad0c5a1086c38448b3e279733f33edc0cc39648368e5cb43dfff139ff7e8\",\"dweb:/ipfs/QmWYfYE8Haqk9kBRxmLijfQSfqbfxf7LB3wQ24d3pG5PE3\"]},\"contracts/src/spaces/facets/delegation/WalletLinkProxyBase.sol\":{\"keccak256\":\"0xffef403556b46744bd1833e5df57b02eb79e010841b16610e1740bc0dac929b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1afa30929e8c6b0c69528d328774c98789825a8de53e5945a1e95092bee2ad08\",\"dweb:/ipfs/QmTbCqLJTBHgcMuFwWSTbrgR7uaASJqwqYuku4YkGzTWW1\"]},\"contracts/src/spaces/facets/delegation/WalletLinkProxyStorage.sol\":{\"keccak256\":\"0x9667e475b9ad9f1130583840c9b0594a7512f7edd33163b926b3db21f70d9909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6271ce56258b1e9150378872d250cfaeb4501b5d0288e8f19f02096114c687f\",\"dweb:/ipfs/QmXSBA2CpLL9BdvZb994JYStgB9fJfsHwgcke6gsD3zybW\"]},\"contracts/src/spaces/facets/entitlements/EntitlementsManagerStorage.sol\":{\"keccak256\":\"0x932608993bef144e63002ddef41a5c3cd3e800b49f7b18e0614da4912800d22d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97e1e32435b60f4697a98679884b36c6912cc31a942bf2c92af6590c58c64ca9\",\"dweb:/ipfs/QmNWcuZvzPqgQk2cLsmq7T71oMZGh22Mx1BwKz6Sj1cMAu\"]},\"contracts/src/spaces/facets/membership/MembershipStorage.sol\":{\"keccak256\":\"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd\",\"dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa\"]},\"contracts/src/spaces/facets/prepay/IPrepay.sol\":{\"keccak256\":\"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15\",\"dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT\"]},\"contracts/src/spaces/facets/prepay/PrepayBase.sol\":{\"keccak256\":\"0x07fbb598088d52ff90a2dc5c3fea344823ae240f39b104f8db8a0b3953752ba3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d34b9a5703ac33b27f91049a81f106bdf327ac57f4ac5886e21f3782104a5084\",\"dweb:/ipfs/QmR8ds7bpXxSLZX6QNhVRVYY8Fk2xHVFNqcAD1fY38kERs\"]},\"contracts/src/spaces/facets/prepay/PrepayFacet.sol\":{\"keccak256\":\"0xb869fabd291a761de37e3654f3bff2410bde71baa617377f7195ab293b461ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d351e429d4ae5b8bbd30e942b71e369ddc1e5bb72dce696d79e9b9150e8bc0e5\",\"dweb:/ipfs/QmZZXxwYGHmnJ17s5yNR55qMG9KmdSpfyvExiTjCL8MiGi\"]},\"contracts/src/spaces/facets/prepay/PrepayStorage.sol\":{\"keccak256\":\"0x5daebdd10dafc3bc3552064a2fecd4a2639226b1af240351dd2e005a7ab270b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06cf75e08e360a74822cd846728c5d9f8440698bb43d29a8bcab3c0cebbec336\",\"dweb:/ipfs/QmZ4UfwTNqQg88A7mHmXM3ZExjTJQhPf3qvFLGzcVaGwwG\"]},\"contracts/src/utils/interfaces/IWETH.sol\":{\"keccak256\":\"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5\",\"dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6\"]},\"contracts/src/utils/libraries/CurrencyTransfer.sol\":{\"keccak256\":\"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4\",\"dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr\"]},\"contracts/src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7\",\"dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol\":{\"keccak256\":\"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37\",\"dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol\":{\"keccak256\":\"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711\",\"dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ\"]},\"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol\":{\"keccak256\":\"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf\",\"dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F\"]},\"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol\":{\"keccak256\":\"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684\",\"dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol\":{\"keccak256\":\"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3\",\"dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V\"]},\"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol\":{\"keccak256\":\"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd\",\"dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj\"]},\"node_modules/solady/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98\",\"dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi\"]},\"node_modules/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333\",\"dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ApprovalCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"ApprovalQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"BalanceQueryForZeroAddress"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__AlreadyBanned"},{"inputs":[],"type":"error","name":"Banning__CannotBanOwner"},{"inputs":[],"type":"error","name":"Banning__CannotBanSelf"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__InvalidTokenId"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"Banning__NotBanned"},{"inputs":[],"type":"error","name":"ERC5643__DurationZero"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC5643__InvalidTokenId"},{"inputs":[],"type":"error","name":"ERC5643__NotApprovedOrOwner"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC5643__SubscriptionNotRenewable"},{"inputs":[],"type":"error","name":"Entitlement__InvalidValue"},{"inputs":[],"type":"error","name":"Entitlement__NotAllowed"},{"inputs":[],"type":"error","name":"Entitlement__NotMember"},{"inputs":[],"type":"error","name":"Entitlement__ValueAlreadyExists"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[],"type":"error","name":"MintERC2309QuantityExceedsLimit"},{"inputs":[],"type":"error","name":"MintToZeroAddress"},{"inputs":[],"type":"error","name":"MintZeroQuantity"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[],"type":"error","name":"OwnerQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"OwnershipNotInitializedForExtraData"},{"inputs":[],"type":"error","name":"Pausable__NotPaused"},{"inputs":[],"type":"error","name":"Pausable__Paused"},{"inputs":[],"type":"error","name":"Prepay__InvalidAddress"},{"inputs":[],"type":"error","name":"Prepay__InvalidAmount"},{"inputs":[],"type":"error","name":"Prepay__InvalidMembership"},{"inputs":[],"type":"error","name":"Prepay__InvalidSupplyAmount"},{"inputs":[],"type":"error","name":"Reentrancy"},{"inputs":[],"type":"error","name":"TransferCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"TransferFromIncorrectOwner"},{"inputs":[],"type":"error","name":"TransferToNonERC721ReceiverImplementer"},{"inputs":[],"type":"error","name":"TransferToZeroAddress"},{"inputs":[],"type":"error","name":"URIQueryForNonexistentToken"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"moderator","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Banned","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256","indexed":false}],"type":"event","name":"Prepay__Prepaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint64","name":"expiration","type":"uint64","indexed":false}],"type":"event","name":"SubscriptionUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"moderator","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Unbanned","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"__PrepayFacet_init"},{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMembershipPrepayFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prepaidMembershipSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256"}],"stateMutability":"payable","type":"function","name":"prepayMembership"}],"devdoc":{"kind":"dev","methods":{"calculateMembershipPrepayFee(uint256)":{"params":{"supply":"The supply to calculate the fee for"},"returns":{"_0":"The fee"}},"prepaidMembershipSupply()":{"returns":{"_0":"The remaining prepaid supply"}},"prepayMembership(uint256)":{"params":{"supply":"The amount of memberships to prepay"}}},"version":1},"userdoc":{"kind":"user","methods":{"calculateMembershipPrepayFee(uint256)":{"notice":"Calculate the prepay fee for a given supply"},"prepaidMembershipSupply()":{"notice":"Get the prepaid supply"},"prepayMembership(uint256)":{"notice":"Prepay a membership"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/spaces/facets/prepay/PrepayFacet.sol":"PrepayFacet"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/diamond/facets/token/ERC5643/ERC5643Base.sol":{"keccak256":"0x21d3c281732e54c93520a4f2cc72cc5af38c517f2a150ee67aa84704a3d78627","urls":["bzz-raw://52ce7c061da0142a4d775bb85896410d363d4a28c0275d3171a70872344fc9a4","dweb:/ipfs/Qmdwgs3TaC4b83JVn6RG5pJJdCrxb74ZMRqZbYSe5DuqZf"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/ERC5643Storage.sol":{"keccak256":"0x68cbff071e6a6a6b91b675af567616799435676fbbbebf4f9226e1226d6128b2","urls":["bzz-raw://2e2c7aee6ef32477733a50ba667cc510c8c165b9a9e146609b1f800acd0e4832","dweb:/ipfs/QmcWAz74x3AR6kpzWdyPWw3iLQ1yHBT3ZVoK6jT7T3LwXq"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC5643/IERC5643.sol":{"keccak256":"0x82dfa9b4063600f22326a66626284bc1d2dfad2efd89e5057c820d182298f224","urls":["bzz-raw://7ab9fc298c8239a7469c1a55d052eb904620e31e5183904b5928cb48f27f1615","dweb:/ipfs/QmUn3WWo3s6xDYQosaAURbartVnWAbfUffLjNWR5jrbLjU"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol":{"keccak256":"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62","urls":["bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba","dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol":{"keccak256":"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4","urls":["bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04","dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol":{"keccak256":"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782","urls":["bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d","dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"],"license":"MIT"},"contracts/src/factory/facets/platform/requirements/IPlatformRequirements.sol":{"keccak256":"0xd1c61d42973382822d0b8256b5d308ad693dfa59240864cce0bec1bd4208e4c6","urls":["bzz-raw://bff6d50557810f7aa9de451f6ac2b279fe5983eefc0b38ef8be7ebb2ffde0f86","dweb:/ipfs/QmS6DXYXtPTfePgtrUxH1vmPycsVoumBQRJZugjGButowT"],"license":"MIT"},"contracts/src/factory/facets/wallet-link/IWalletLink.sol":{"keccak256":"0x5ed1537dfea0969be2cef70cfd3858695fa7c736a1df677db6c85c0180a0ea0c","urls":["bzz-raw://0305e0d8ba95c608fd848ce99c288bf80892cc61bc01d53bf8d6f79a4a6a550d","dweb:/ipfs/QmQoBXVdpRraU2BcA1Usw5HZB7e6cdnHvNyVhETKRUg4XC"],"license":"MIT"},"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/facets/Entitled.sol":{"keccak256":"0x407444b484c8951ee61c5665c18876ce798c8e28b9aa9d4599b4a027d892870c","urls":["bzz-raw://78692dc68fe28f7d1bd3deea97534f3f4ef92e17cf443cad12c74989370ca689","dweb:/ipfs/QmWRDxd6jZjA1DR7N15pNZtqa5P7mHnB1wQSBHfSabCnSd"],"license":"MIT"},"contracts/src/spaces/facets/banning/BanningBase.sol":{"keccak256":"0x38c44494221f96568f3efb540a8a6c7af141de95f25caf26df6e8a8333f31249","urls":["bzz-raw://cf1f509347cab5090655ff8272443d18f9716fea5ef27cd86269ccbd2570aa7e","dweb:/ipfs/QmbF8StzLRGnVvVXWYBowvdULoPPqQkU5hZR548cnRzuVs"],"license":"MIT"},"contracts/src/spaces/facets/banning/BanningStorage.sol":{"keccak256":"0xcfbf5c113056e569abf23158853ff4877744b22a4bf2bf49a282d04dab23ab17","urls":["bzz-raw://4f825e97ca65c9cd3bd5885d2fa8b8e5f8f0dcbe227dec064abbbab645685fbe","dweb:/ipfs/QmXAMntxrjzeNUKh9WcyHvzDmnV89vrJ9PkKRceqxJSxZp"],"license":"MIT"},"contracts/src/spaces/facets/banning/IBanning.sol":{"keccak256":"0x350ec182a95a86a41335979cd7212132858c5cfcd366602b2f6cd0ec0694b63e","urls":["bzz-raw://ecb4ad0c5a1086c38448b3e279733f33edc0cc39648368e5cb43dfff139ff7e8","dweb:/ipfs/QmWYfYE8Haqk9kBRxmLijfQSfqbfxf7LB3wQ24d3pG5PE3"],"license":"MIT"},"contracts/src/spaces/facets/delegation/WalletLinkProxyBase.sol":{"keccak256":"0xffef403556b46744bd1833e5df57b02eb79e010841b16610e1740bc0dac929b2","urls":["bzz-raw://1afa30929e8c6b0c69528d328774c98789825a8de53e5945a1e95092bee2ad08","dweb:/ipfs/QmTbCqLJTBHgcMuFwWSTbrgR7uaASJqwqYuku4YkGzTWW1"],"license":"MIT"},"contracts/src/spaces/facets/delegation/WalletLinkProxyStorage.sol":{"keccak256":"0x9667e475b9ad9f1130583840c9b0594a7512f7edd33163b926b3db21f70d9909","urls":["bzz-raw://d6271ce56258b1e9150378872d250cfaeb4501b5d0288e8f19f02096114c687f","dweb:/ipfs/QmXSBA2CpLL9BdvZb994JYStgB9fJfsHwgcke6gsD3zybW"],"license":"MIT"},"contracts/src/spaces/facets/entitlements/EntitlementsManagerStorage.sol":{"keccak256":"0x932608993bef144e63002ddef41a5c3cd3e800b49f7b18e0614da4912800d22d","urls":["bzz-raw://97e1e32435b60f4697a98679884b36c6912cc31a942bf2c92af6590c58c64ca9","dweb:/ipfs/QmNWcuZvzPqgQk2cLsmq7T71oMZGh22Mx1BwKz6Sj1cMAu"],"license":"MIT"},"contracts/src/spaces/facets/membership/MembershipStorage.sol":{"keccak256":"0x901e36addd71ab233a40af5185e6070be44b5aa7b1487dab3b0f9dc75d05e972","urls":["bzz-raw://017f70c4ed3fdc4cbef99380339b07f161ea01797acd0181d9d802e407f4b6cd","dweb:/ipfs/QmeJNCJwAPU7VCyfNJSeTxf56dBVXNoJxYV4NN6AhtxsCa"],"license":"MIT"},"contracts/src/spaces/facets/prepay/IPrepay.sol":{"keccak256":"0x4cc23cd204f20bd4a094d9292aaa494f73478d27c8f59e646454cbba11d781fa","urls":["bzz-raw://4f54c224f56396ac03335c95c4808acbeec6366f0c475d29edb2461cd53bcd15","dweb:/ipfs/QmdDKUR8VVXJuR5Fj29SZxvR9GwxXeNQ6rtAT3TxX8VjwT"],"license":"MIT"},"contracts/src/spaces/facets/prepay/PrepayBase.sol":{"keccak256":"0x07fbb598088d52ff90a2dc5c3fea344823ae240f39b104f8db8a0b3953752ba3","urls":["bzz-raw://d34b9a5703ac33b27f91049a81f106bdf327ac57f4ac5886e21f3782104a5084","dweb:/ipfs/QmR8ds7bpXxSLZX6QNhVRVYY8Fk2xHVFNqcAD1fY38kERs"],"license":"MIT"},"contracts/src/spaces/facets/prepay/PrepayFacet.sol":{"keccak256":"0xb869fabd291a761de37e3654f3bff2410bde71baa617377f7195ab293b461ddc","urls":["bzz-raw://d351e429d4ae5b8bbd30e942b71e369ddc1e5bb72dce696d79e9b9150e8bc0e5","dweb:/ipfs/QmZZXxwYGHmnJ17s5yNR55qMG9KmdSpfyvExiTjCL8MiGi"],"license":"MIT"},"contracts/src/spaces/facets/prepay/PrepayStorage.sol":{"keccak256":"0x5daebdd10dafc3bc3552064a2fecd4a2639226b1af240351dd2e005a7ab270b4","urls":["bzz-raw://06cf75e08e360a74822cd846728c5d9f8440698bb43d29a8bcab3c0cebbec336","dweb:/ipfs/QmZ4UfwTNqQg88A7mHmXM3ZExjTJQhPf3qvFLGzcVaGwwG"],"license":"MIT"},"contracts/src/utils/interfaces/IWETH.sol":{"keccak256":"0xb0a9a284b02664b2ceda4ed7cc8e7dbdd39cc09292b65b97a3417ba5b1440dd0","urls":["bzz-raw://701edb4dbdb8ab50ed2fdb568cc0956c07184e1f4e7d63854efc158408fa72a5","dweb:/ipfs/QmV58ikDDcTC92hGEuQKerfsygnPg5cwCVLuMh9R9uYXb6"],"license":"MIT"},"contracts/src/utils/libraries/CurrencyTransfer.sol":{"keccak256":"0x0bb719b327dd2db2bf3c5737aa67142dba8794514ba54291ea55fd9466c47083","urls":["bzz-raw://ca5da86edc38c53c9a80bc9611d7cb72bc96b273f8eeb15e540fae9c8f6544a4","dweb:/ipfs/QmSfyJpsi8Ksw3soevcB5SnmaDevTnmV5NSbQFMLtTmXLr"],"license":"MIT"},"contracts/src/utils/libraries/CustomRevert.sol":{"keccak256":"0xdf3d131cb19a367b2f2842caffe356e3b6437ff9e82f6519dd3b067630e0a059","urls":["bzz-raw://abaae9b8fa22a7b0f6fe0adafb4ec510f9b720ef281d98b900225c033c66f9b7","dweb:/ipfs/QmNU1NRUCkXibWP7PzNyXvtrkgtpwcUEVP8uFzsWeDmBfK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/ITokenOwnable.sol":{"keccak256":"0x125ffc776682deecf6bbf36f4b33b762968a4e6ad182dd5a896fb92fd103b397","urls":["bzz-raw://bdb1d0973416722e1f7772f9f0adb2d76a262c6cb667b5c3907076f4c9b3bd37","dweb:/ipfs/Qme3Xvaq4fWexPd6TAjWpqfmiQ1KCedKGXwE9nxrcv2Cw3"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableBase.sol":{"keccak256":"0xca833201bb1f1d717b6fe8b849da55cfa252aa4eccce9b29c98f355ce2cd8d83","urls":["bzz-raw://d079c6257d5d47f0fa978e47074cfd4d7467b6eec570c1b82d4c4dddf2f0b711","dweb:/ipfs/QmbaNQ6EvLF2KziX7w4fgd6txijG4aR6yh7Qa14KtWvWRZ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/token/TokenOwnableStorage.sol":{"keccak256":"0xb2646ac976d46fe9b135f0fe5b0ca680279a74d6491c8cc49bc9c212d39da479","urls":["bzz-raw://413b2dbc619e27f5b43d38c3aee457a2217ad41aece2689fa7913a6756689faf","dweb:/ipfs/QmW8ToN4UN4FZognfXRgBuKqPkYPJhoQrJAU45GpZoX32F"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/IPausable.sol":{"keccak256":"0x3df1579165cc634718d4619e0760ea3c492b2766c2e42328208a38457e103ca1","urls":["bzz-raw://1c6d3f4e3a3437075fb09c4875cfbf640af5cdc50c31b64e77ff5678dc1a8684","dweb:/ipfs/QmNSnSYZrtNLdQqidpGR6ujbhuxhSr6LJEQBc3pCu6MNNJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableBase.sol":{"keccak256":"0xc15f937b2c4844ecf4831fb7bad77c29db231a6a046bbbf4fc60a4066d138cf0","urls":["bzz-raw://7c787b1d900ab0442f89503a50aba744b7403bb4609c161fae8c9c11a142d6d3","dweb:/ipfs/QmafDG4KCRyetPzLXVjyz4NxUafFKJ8xwGUJEnu7Y3wz8V"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/pausable/PausableStorage.sol":{"keccak256":"0x998397ccc66cda4d76d219cf08bdd45eb26f583e0b484670f43d3b59ed64c19f","urls":["bzz-raw://a153e74c68fc0e2d7aa422d3b169b712a242bbf92da316732c4efd52e31781fd","dweb:/ipfs/QmVtPuvumAG5qRHinmdQn7wkEK3J4HK9gBB5LBDWbeTRNj"],"license":"MIT"},"node_modules/solady/src/utils/ReentrancyGuard.sol":{"keccak256":"0xdb28f318ec45197a6c7cc2abebed67d7cb8b965838ef962e3844423256a9ddb8","urls":["bzz-raw://873cd46b77a2aeb781e7a0d131e7299151323ed884c330101a51d0727e218d98","dweb:/ipfs/QmddadCjyedztvdSgLZEyKWoRes2SqtpviSjhEbSNrkUoi"],"license":"MIT"},"node_modules/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3","urls":["bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333","dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH"],"license":"MIT"}},"version":1},"id":263} \ No newline at end of file diff --git a/packages/generated/dev/abis/PrepayFacet.metadata.json b/packages/generated/dev/abis/PrepayFacet.metadata.json index 1356905895..3b2db1b2ee 100644 --- a/packages/generated/dev/abis/PrepayFacet.metadata.json +++ b/packages/generated/dev/abis/PrepayFacet.metadata.json @@ -959,10 +959,10 @@ "license": "MIT" }, "node_modules/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x7d0de1ff3be5dc32635283280b000d4794015a1b61d7dae7f3ff7b0721b07210", + "keccak256": "0xde0b5b7342367347c95b39a4be48263a63334c67d9923992764038a169d4bcc3", "urls": [ - "bzz-raw://e307c9eece677565e7d584ee77c56134b5db38a70f557f9d2b1b308219276c0c", - "dweb:/ipfs/QmTEtqaTFgRBFGpJyb5o4v2w8yrSpcNThov4bNpcLr2tTR" + "bzz-raw://b4680336a9617d89cc2e89d408426cc1f1dfccb365206a036b8345b2c5240333", + "dweb:/ipfs/QmRYXk7Z5jsHPCwMi6pjUbKFbQwrrQfYVAY69CpV46BxKH" ], "license": "MIT" } diff --git a/packages/generated/dev/abis/SpaceOwner.json b/packages/generated/dev/abis/SpaceOwner.json index 13a6555a0c..b6afbbc996 100644 --- a/packages/generated/dev/abis/SpaceOwner.json +++ b/packages/generated/dev/abis/SpaceOwner.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"__ERC721A_init","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"__SpaceOwner_init","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDefaultUri","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpaceInfo","inputs":[{"name":"space","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISpaceOwnerBase.Space","components":[{"name":"name","type":"string","internalType":"string"},{"name":"uri","type":"string","internalType":"string"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"createdAt","type":"uint256","internalType":"uint256"},{"name":"shortDescription","type":"string","internalType":"string"},{"name":"longDescription","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintSpace","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"uri","type":"string","internalType":"string"},{"name":"space","type":"address","internalType":"address"},{"name":"shortDescription","type":"string","internalType":"string"},{"name":"longDescription","type":"string","internalType":"string"}],"outputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nextTokenId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultUri","inputs":[{"name":"uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFactory","inputs":[{"name":"factory","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"updateSpaceInfo","inputs":[{"name":"space","type":"address","internalType":"address"},{"name":"name","type":"string","internalType":"string"},{"name":"uri","type":"string","internalType":"string"},{"name":"shortDescription","type":"string","internalType":"string"},{"name":"longDescription","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousVotes","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newVotes","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"GuardianDefaultCooldownUpdated","inputs":[{"name":"cooldown","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"GuardianUpdated","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"enabled","type":"bool","indexed":true,"internalType":"bool"},{"name":"cooldown","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"MetadataUpdate","inputs":[{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceOwner__SetDefaultUri","inputs":[{"name":"uri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SpaceOwner__SetFactory","inputs":[{"name":"factory","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceOwner__UpdateSpace","inputs":[{"name":"space","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ApprovalCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"ApprovalQueryForNonexistentToken","inputs":[]},{"type":"error","name":"BalanceQueryForZeroAddress","inputs":[]},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"Guardian_AlreadyDisabled","inputs":[]},{"type":"error","name":"Guardian_AlreadyEnabled","inputs":[]},{"type":"error","name":"Guardian_Enabled","inputs":[]},{"type":"error","name":"Initializable_AlreadyInitialized","inputs":[{"name":"version","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MintERC2309QuantityExceedsLimit","inputs":[]},{"type":"error","name":"MintToZeroAddress","inputs":[]},{"type":"error","name":"MintZeroQuantity","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]},{"type":"error","name":"OwnerQueryForNonexistentToken","inputs":[]},{"type":"error","name":"OwnershipNotInitializedForExtraData","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SpaceOwner__DefaultUriNotSet","inputs":[]},{"type":"error","name":"SpaceOwner__OnlyFactoryAllowed","inputs":[]},{"type":"error","name":"SpaceOwner__OnlySpaceOwnerAllowed","inputs":[]},{"type":"error","name":"SpaceOwner__SpaceNotFound","inputs":[]},{"type":"error","name":"TransferCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"TransferFromIncorrectOwner","inputs":[]},{"type":"error","name":"TransferToNonERC721ReceiverImplementer","inputs":[]},{"type":"error","name":"TransferToZeroAddress","inputs":[]},{"type":"error","name":"URIQueryForNonexistentToken","inputs":[]},{"type":"error","name":"Validator__InvalidAddress","inputs":[]},{"type":"error","name":"Validator__InvalidStringLength","inputs":[]},{"type":"error","name":"VotesExpiredSignature","inputs":[{"name":"expiry","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b506200001c62000022565b620000ca565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200006f576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff9081161015620000c757805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b613b7380620000da6000396000f3fe6080604052600436106101f95760003560e01c806375794a3c1161010d5780639ab24eb0116100a0578063c87b56dd1161006f578063c87b56dd1461057c578063d2f01f191461059c578063d6536540146105bc578063d7a901d3146105d1578063e985e9c5146105f157600080fd5b80639ab24eb014610509578063a22cb46514610529578063b88d4fde14610549578063c3cda5201461055c57600080fd5b806388cc58e4116100dc57806388cc58e4146104935780638e539e8c146104a857806391ddadf4146104c857806395d89b41146104f457600080fd5b806375794a3c146104165780637ecebe001461042b578063848806141461044b57806384b0196e1461046b57600080fd5b806342842e0e116101905780635bb478081161015f5780635bb47808146103695780635c19a95c146103895780636352211e146103a95780636a9a38e6146103c957806370a08231146103f657600080fd5b806342842e0e14610301578063466a18de146103145780634bf5d7e914610334578063587cde1e1461034957600080fd5b806323b872dd116101cc57806323b872dd146102995780633644e515146102ac5780633a46b1a8146102c15780633bf5b8f4146102e157600080fd5b806306fdde03146101fe578063081812fc14610229578063095ea7b31461026157806318160ddd14610276575b600080fd5b34801561020a57600080fd5b50610213610621565b60405161022091906131c7565b60405180910390f35b34801561023557600080fd5b506102496102443660046131da565b6106bc565b6040516001600160a01b039091168152602001610220565b61027461026f36600461320f565b6106cd565b005b34801561028257600080fd5b5061028b610715565b604051908152602001610220565b6102746102a7366004613239565b610724565b3480156102b857600080fd5b5061028b610934565b3480156102cd57600080fd5b5061028b6102dc36600461320f565b61093e565b3480156102ed57600080fd5b5061028b6102fc366004613321565b610951565b61027461030f366004613239565b6109bd565b34801561032057600080fd5b5061027461032f3660046133df565b6109dd565b34801561034057600080fd5b50610213610a3a565b34801561035557600080fd5b50610249610364366004613414565b610a44565b34801561037557600080fd5b50610274610384366004613414565b610a4f565b34801561039557600080fd5b506102746103a4366004613414565b610aa4565b3480156103b557600080fd5b506102496103c43660046131da565b610aae565b3480156103d557600080fd5b506103e96103e4366004613414565b610ab9565b604051610220919061342f565b34801561040257600080fd5b5061028b610411366004613414565b610afb565b34801561042257600080fd5b5061028b610b06565b34801561043757600080fd5b5061028b610446366004613414565b610b10565b34801561045757600080fd5b506102746104663660046134c1565b610b4d565b34801561047757600080fd5b50610480610bf9565b604051610220979695949392919061352d565b34801561049f57600080fd5b50610249610cbc565b3480156104b457600080fd5b5061028b6104c33660046131da565b610cdd565b3480156104d457600080fd5b506104dd610ce8565b60405165ffffffffffff9091168152602001610220565b34801561050057600080fd5b50610213610cf2565b34801561051557600080fd5b5061028b610524366004613414565b610d0a565b34801561053557600080fd5b506102746105443660046135c6565b610d15565b610274610557366004613602565b610d4e565b34801561056857600080fd5b5061027461057736600461367e565b610d98565b34801561058857600080fd5b506102136105973660046131da565b610da6565b3480156105a857600080fd5b506102746105b73660046136de565b610dd7565b3480156105c857600080fd5b50610213610e2a565b3480156105dd57600080fd5b506102746105ec366004613742565b610e34565b3480156105fd57600080fd5b5061061161060c3660046137ca565b610f2d565b6040519015158152602001610220565b606061062b610f39565b6002018054610639906137fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610665906137fd565b80156106b25780601f10610687576101008083540402835291602001916106b2565b820191906000526020600020905b81548152906001019060200180831161069557829003601f168201915b5050505050905090565b60006106c782610f5d565b92915050565b6001600160a01b038216158015906106e957506106e933610faa565b1561070757604051630ed551c360e41b815260040160405180910390fd5b6107118282611042565b5050565b600061071f61104e565b905090565b600061072f8261106d565b9050836001600160a01b0316816001600160a01b0316146107625760405162a1148160e81b815260040160405180910390fd5b60008061076e84611108565b91509150610793818761077e3390565b6001600160a01b039081169116811491141790565b6107be576107a18633610f2d565b6107be57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0385166107e557604051633a954ecd60e21b815260040160405180910390fd5b6107f28686866001611130565b80156107fd57600082555b610805610f39565b6001600160a01b0387166000908152600591909101602052604090208054600019019055610831610f39565b6001600160a01b03861660008181526005929092016020526040909120805460010190554260a01b17600160e11b17610868610f39565b60008681526004919091016020526040812091909155600160e11b841690036108de5760018401610897610f39565b6000828152600491909101602052604081205490036108dc576108b8610f39565b5481146108dc57836108c8610f39565b600083815260049190910160205260409020555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461092c868686600161116f565b505050505050565b600061071f61117a565b600061094a8383611184565b9392505050565b600080600080516020613af383398151915280549091506001600160a01b031633146109905760405163443e750b60e11b815260040160405180910390fd5b610998611222565b91506109a8878784888888611232565b6109b3336001611377565b5095945050505050565b6109d883838360405180602001604052806000815250610d4e565b505050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610a2e576040516365f4906560e01b81523360048201526024015b60405180910390fd5b610a37816114c7565b50565b606061071f611538565b60006106c7826115d0565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610a9b576040516365f4906560e01b8152336004820152602401610a25565b610a378161160d565b610a373382611677565b60006106c78261106d565b610af26040518060c001604052806060815260200160608152602001600081526020016000815260200160608152602001606081525090565b6106c782611711565b60006106c782611a0a565b600061071f611222565b6001600160a01b03811660009081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c0060205260408120546106c7565b610b5685611a73565b610b638585858585611aa7565b846001600160a01b031663410066056040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b9e57600080fd5b505af1158015610bb2573d6000803e3d6000fd5b505050507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7610be086611b80565b6040519081526020015b60405180910390a15050505050565b600060608082808083600080516020613b1383398151915254158015610c3e57507f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d54155b610c825760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610a25565b610c8a611bab565b610c92611bc1565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b600061071f600080516020613af3833981519152546001600160a01b031690565b60006106c782611bd7565b600061071f611c70565b6060610cfc610f39565b6003018054610639906137fd565b60006106c782611c7b565b808015610d265750610d2633610faa565b15610d4457604051630ed551c360e41b815260040160405180910390fd5b6107118282611ca9565b610d59848484610724565b6001600160a01b0383163b15610d9257610d7584848484611d26565b610d92576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b61092c868686868686611e12565b6060610db182611efb565b610dce57604051630a14c4b560e41b815260040160405180910390fd5b6106c782611f37565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054600160201b900460ff16610e2057604051630ef4733760e31b815260040160405180910390fd5b61071182826121b0565b606061071f6121da565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054600160201b900460ff161580610e7057303b1515610e7f565b8154600163ffffffff90911610155b15610ea8578154604051630a8ef77f60e31b815263ffffffff9091166004820152602401610a25565b815463ffffffff191660011782558015610ecf57815464ff000000001916600160201b1782555b610ed985856121b0565b610ee385846121f9565b8015610f2657815464ff0000000019168255604051600181527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c90602001610bea565b5050505050565b600061094a838361224c565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0090565b6000610f6882611efb565b610f85576040516333d1c03960e21b815260040160405180910390fd5b610f8d610f39565b60009283526006016020525060409020546001600160a01b031690565b6000807f0c89d3aad1b583c77a2e9f9fffa651b386c9c29e300bf2a8e2f3de1bb0100a0090506001600160a01b038316600080516020613af3833981519152546001600160a01b03161480159061094a57506001600160a01b0383166000908152600182016020526040902054158061094a57506001600160a01b038316600090815260018201602052604090205442109392505050565b61071182826001612289565b600080611059610f39565b60010154611065610f39565b540303919050565b600080611078610f39565b60008481526004820160205260408120549350909150600160e01b831690036110ee57816000036110e857805483106110c457604051636f96cda160e11b815260040160405180910390fd5b5b6000199092016000818152600484016020526040902054909290915081156110c5575b50919050565b50604051636f96cda160e11b815260040160405180910390fd5b6000806000611115610f39565b60009485526006016020525050604090912080549092909150565b6001600160a01b0384161580159061114c575061114c84610faa565b1561116a57604051630ed551c360e41b815260040160405180910390fd5b610d92565b61116a84848361233e565b600061071f6123e0565b600061118e611c70565b65ffffffffffff1682106111db5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610a25565b6112126111e783612454565b6001600160a01b0385166000908152600080516020613b338339815191526020526040902090612489565b6001600160e01b03169392505050565b600061122c610f39565b54919050565b61123d86600261253d565b61124885600061253d565b61125183612561565b60008481527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020908152604080832080546001600160a01b0319166001600160a01b03881690811790915581516080810183528a81528084018a9052808301899052426060820152908452600080516020613b538339815191529092529091208151600080516020613af383398151915292919081906112f29082613879565b50602082015160018201906113079082613879565b5060408281015160028301556060909201516003918201558151808301835285815260208082018690526001600160a01b03881660009081529285019052919020815181906113569082613879565b506020820151600182019061136b9082613879565b50505050505050505050565b6000611381610f39565b54905060008290036113a65760405163b562e8dd60e01b815260040160405180910390fd5b6113b36000848385611130565b6801000000000000000182026113c7610f39565b6001600160a01b038516600081815260059290920160205260409091208054929092019091554260a01b6001841460e11b1717611402610f39565b600083815260049190910160205260408120919091556001600160a01b0384169083830190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461148c57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101611454565b50816000036114ad57604051622e076360e81b815260040160405180910390fd5b806114b6610f39565b55506109d89050600084838561116f565b6114d281600161253d565b7f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477046114fd8282613879565b507f8fe3adc25723aa6a0b7eb4b4bacf52e92165c180bde5353f7cf606fbf5591f2b8160405161152d91906131c7565b60405180910390a150565b606043611543611c70565b65ffffffffffff16146115985760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610a25565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6001600160a01b0390811660009081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6560205260409020541690565b61161681612561565b600080516020613af383398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f64c14256e532eac2ec90ddc4973ed2d3f5623faf7951d90eec38f9b7812f99a79181900360200190a15050565b6000611682836115d0565b6001600160a01b0384811660008181527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f65602052604080822080546001600160a01b031916888616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46109d8818361170c86612588565b612593565b61174a6040518060c001604052806060815260200160608152602001600081526020016000815260200160608152602001606081525090565b6001600160a01b0382166000908152600080516020613b53833981519152602090815260408083207f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770390925291829020825160c08101909352815491929091819084906117b6906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546117e2906137fd565b801561182f5780601f106118045761010080835404028352916020019161182f565b820191906000526020600020905b81548152906001019060200180831161181257829003601f168201915b50505050508152602001836001018054611848906137fd565b80601f0160208091040260200160405190810160405280929190818152602001828054611874906137fd565b80156118c15780601f10611896576101008083540402835291602001916118c1565b820191906000526020600020905b8154815290600101906020018083116118a457829003601f168201915b5050505050815260200183600201548152602001836003015481526020018260000180546118ee906137fd565b80601f016020809104026020016040519081016040528092919081815260200182805461191a906137fd565b80156119675780601f1061193c57610100808354040283529160200191611967565b820191906000526020600020905b81548152906001019060200180831161194a57829003601f168201915b50505050508152602001826001018054611980906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546119ac906137fd565b80156119f95780601f106119ce576101008083540402835291602001916119f9565b820191906000526020600020905b8154815290600101906020018083116119dc57829003601f168201915b505050505081525092505050919050565b60006001600160a01b038216611a33576040516323d3ad8160e21b815260040160405180910390fd5b67ffffffffffffffff611a44610f39565b6005016000846001600160a01b03166001600160a01b0316815260200190815260200160002054169050919050565b33611a806103c483611b80565b6001600160a01b031614610a375760405163dbfcf17d60e01b815260040160405180910390fd5b611ab284600261253d565b611abd83600061253d565b6001600160a01b0385166000908152600080516020613b5383398151915260205260409020600080516020613af38339815191529080611afd8782613879565b5060018101611b0c8682613879565b506001600160a01b0387166000908152600383016020526040902080611b328682613879565b5060018101611b418582613879565b506040516001600160a01b038916907f66da702131703ee5e745ecf2f5b98311caa00729edd55541baad49289fc42ed890600090a25050505050505050565b6001600160a01b03166000908152600080516020613b53833981519152602052604090206002015490565b6060600080516020613b1383398151915261062b565b6060600080516020613b13833981519152610cfc565b6000611be1611c70565b65ffffffffffff168210611c2e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610a25565b611c61611c3a83612454565b7f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6790612489565b6001600160e01b031692915050565b600061071f43612714565b6001600160a01b0381166000908152600080516020613b3383398151915260205260408120611c6190612747565b80611cb2610f39565b336000818152600792909201602090815260408084206001600160a01b03881680865290835293819020805460ff19169515159590951790945592518415158152919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611d5b903390899088908890600401613939565b6020604051808303816000875af1925050508015611d96575060408051601f3d908101601f19168201909252611d9391810190613976565b60015b611df4573d808015611dc4576040519150601f19603f3d011682016040523d82523d6000602084013e611dc9565b606091505b508051600003611dec576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b83421115611e625760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610a25565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090611edc90611ed49060a00160405160208183030381529060405280519060200120612780565b8585856127ad565b9050611ee881876127db565b611ef28188611677565b50505050505050565b6000611f05610f39565b54821080156106c75750600160e01b611f1c610f39565b60008481526004919091016020526040902054161592915050565b60008181527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020526040902054606090600080516020613af3833981519152906001600160a01b031680611f9f5760405163af5f208f60e01b815260040160405180910390fd5b6001600160a01b03811660009081526002830160205260409020600181018054611fc8906137fd565b15905061206657806001018054611fde906137fd565b80601f016020809104026020016040519081016040528092919081815260200182805461200a906137fd565b80156120575780601f1061202c57610100808354040283529160200191612057565b820191906000526020600020905b81548152906001019060200180831161203a57829003601f168201915b50505050509350505050919050565b6000836004018054612077906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546120a3906137fd565b80156120f05780601f106120c5576101008083540402835291602001916120f0565b820191906000526020600020905b8154815290600101906020018083116120d357829003601f168201915b505050505090506000815190508060000361211e5760405163cd251ac560e01b815260040160405180910390fd5b816001820381518110612133576121336139a0565b6020910101516001600160f81b031916602f60f81b1461218c5781612160856001600160a01b031661284d565b6040516020016121719291906139b6565b60405160208183030381529060405295505050505050919050565b8161219f856001600160a01b031661284d565b6040516020016121719291906139f2565b6121c06380ac58cd60e01b6128f6565b6121d0635b5e139f60e01b6128f6565b61071182826129cf565b6060600080516020613af38339815191526004018054610639906137fd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054600160201b900460ff1661224257604051630ef4733760e31b815260040160405180910390fd5b6107118282612a01565b6000612256610f39565b6001600160a01b039384166000908152600791909101602090815260408083209490951682529290925250205460ff1690565b600061229483610aae565b905081156122d357336001600160a01b038216146122d3576122b6813361224c565b6122d3576040516367d9dca160e11b815260040160405180910390fd5b836122dc610f39565b6000858152600691909101602052604080822080546001600160a01b0319166001600160a01b0394851617905551859287811692908516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a450505050565b6001600160a01b038316612384576123817f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67612a9361237c84612a9f565b612ad3565b50505b6001600160a01b0382166123c5576123c27f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67612b1c61237c84612a9f565b50505b6109d86123d1846115d0565b6123da846115d0565b83612593565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61240b612b28565b612413612b8e565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600063ffffffff821115612485576040516306dfcc6560e41b81526020600482015260248101839052604401610a25565b5090565b8154600090818160058111156124e65760006124a484612bde565b6124ae9085613a37565b60008881526020902090915081015463ffffffff90811690871610156124d6578091506124e4565b6124e1816001613a4a565b92505b505b60006124f487878585612d36565b9050801561252f576125198761250b600184613a37565b600091825260209091200190565b54600160201b90046001600160e01b0316612532565b60005b979650505050505050565b815182908211156109d8576040516374eb20a760e01b815260040160405180910390fd5b6001600160a01b038116610a37576040516302e47d1560e41b815260040160405180910390fd5b60006106c782610afb565b816001600160a01b0316836001600160a01b0316141580156125b55750600081115b156109d8576001600160a01b03831615612665576001600160a01b0383166000908152600080516020613b3383398151915260205260408120819061260090612b1c61237c86612a9f565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161265a929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156109d8576001600160a01b0382166000908152600080516020613b338339815191526020526040812081906126ab90612a9361237c86612a9f565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612705929190918252602082015260400190565b60405180910390a25050505050565b600065ffffffffffff821115612485576040516306dfcc6560e41b81526030600482015260248101839052604401610a25565b80546000908015612777576127618361250b600184613a37565b54600160201b90046001600160e01b031661094a565b60009392505050565b60006106c761278d61117a565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000806127bf88888888612d94565b9250925092506127cf8282612e63565b50909695505050505050565b6001600160a01b03821660009081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c00602052604090208054600181019091558181146109d8576040516301d4b62360e61b81526001600160a01b038416600482015260248101829052604401610a25565b606061285882612f1c565b6028602282019081209192507f4040404040404040404040404040404040404040404040404040404040404040917f888888888888888888888888888888888888888888888888888888888888888016601160f31b60005b82811a8202818001526001810190601219016128b057505050818151166000511660011c8151188152602081019050818151166020511660011c81511881525050919050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff1661297e576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055612997565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b60006129d9610f39565b9050600281016129e98482613879565b50600381016129f88382613879565b50600090555050565b7f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336e612a2c8382613879565b507f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336f612a588282613879565b50506000600080516020613b138339815191528190557f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d5550565b600061094a8284613a5d565b60006001600160e01b03821115612485576040516306dfcc6560e41b815260e0600482015260248101839052604401610a25565b600080612b0f612af1612ae4611c70565b65ffffffffffff16612454565b612b07612afd88612747565b868863ffffffff16565b879190612f40565b915091505b935093915050565b600061094a8284613a84565b600080612b33611bab565b805190915015612b4a578051602090910120919050565b600080516020613b13833981519152548015612b665792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612b99611bc1565b805190915015612bb0578051602090910120919050565b7f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d548015612b665792915050565b600060018211612bec575090565b816001600160801b8210612c055760809190911c9060401b5b680100000000000000008210612c205760409190911c9060201b5b600160201b8210612c365760209190911c9060101b5b620100008210612c4b5760109190911c9060081b5b6101008210612c5f5760089190911c9060041b5b60108210612c725760049190911c9060021b5b60048210612c7e5760011b5b600302600190811c90818581612c9657612c96613aa4565b048201901c90506001818581612cae57612cae613aa4565b048201901c90506001818581612cc657612cc6613aa4565b048201901c90506001818581612cde57612cde613aa4565b048201901c90506001818581612cf657612cf6613aa4565b048201901c90506001818581612d0e57612d0e613aa4565b048201901c9050612d2d818581612d2757612d27613aa4565b04821190565b90039392505050565b60005b81831015612d8c576000612d4d8484612f4e565b60008781526020902090915063ffffffff86169082015463ffffffff161115612d7857809250612d86565b612d83816001613a4a565b93505b50612d39565b509392505050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612dcf5750600091506003905082612e59565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612e23573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612e4f57506000925060019150829050612e59565b9250600091508190505b9450945094915050565b6000826003811115612e7757612e77613aba565b03612e80575050565b6001826003811115612e9457612e94613aba565b03612eb25760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612ec657612ec6613aba565b03612ee75760405163fce698f760e01b815260048101829052602401610a25565b6003826003811115612efb57612efb613aba565b03610711576040516335e2f38360e21b815260048101829052602401610a25565b6060612f2782612f69565b8051613078825260020160011990910190815292915050565b600080612b0f858585612fd8565b6000612f5d6002848418613ad0565b61094a90848416613a4a565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901612fa9575050919050565b82546000908190801561311e576000612ff68761250b600185613a37565b60408051808201909152905463ffffffff808216808452600160201b9092046001600160e01b0316602084015291925090871610156130775760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610a25565b805163ffffffff8088169116036130bf57846130988861250b600186613a37565b80546001600160e01b0392909216600160201b0263ffffffff90921691909117905561310e565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160201b029216919091179101555b602001519250839150612b149050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160201b029190931617920191909155905081612b14565b60005b8381101561319257818101518382015260200161317a565b50506000910152565b600081518084526131b3816020860160208601613177565b601f01601f19169290920160200192915050565b60208152600061094a602083018461319b565b6000602082840312156131ec57600080fd5b5035919050565b80356001600160a01b038116811461320a57600080fd5b919050565b6000806040838503121561322257600080fd5b61322b836131f3565b946020939093013593505050565b60008060006060848603121561324e57600080fd5b613257846131f3565b9250613265602085016131f3565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156132a6576132a6613275565b604051601f8501601f19908116603f011681019082821181831017156132ce576132ce613275565b816040528093508581528686860111156132e757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261331257600080fd5b61094a8383356020850161328b565b600080600080600060a0868803121561333957600080fd5b853567ffffffffffffffff8082111561335157600080fd5b61335d89838a01613301565b9650602088013591508082111561337357600080fd5b61337f89838a01613301565b955061338d604089016131f3565b945060608801359150808211156133a357600080fd5b6133af89838a01613301565b935060808801359150808211156133c557600080fd5b506133d288828901613301565b9150509295509295909350565b6000602082840312156133f157600080fd5b813567ffffffffffffffff81111561340857600080fd5b611e0a84828501613301565b60006020828403121561342657600080fd5b61094a826131f3565b602081526000825160c0602084015261344b60e084018261319b565b90506020840151601f1980858403016040860152613469838361319b565b9250604086015160608601526060860151608086015260808601519150808584030160a086015261349a838361319b565b925060a08601519150808584030160c0860152506134b8828261319b565b95945050505050565b600080600080600060a086880312156134d957600080fd5b6134e2866131f3565b9450602086013567ffffffffffffffff808211156134ff57600080fd5b61350b89838a01613301565b9550604088013591508082111561352157600080fd5b61338d89838a01613301565b60ff60f81b881681526000602060e0602084015261354e60e084018a61319b565b8381036040850152613560818a61319b565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156135b457835183529284019291840191600101613598565b50909c9b505050505050505050505050565b600080604083850312156135d957600080fd5b6135e2836131f3565b9150602083013580151581146135f757600080fd5b809150509250929050565b6000806000806080858703121561361857600080fd5b613621856131f3565b935061362f602086016131f3565b925060408501359150606085013567ffffffffffffffff81111561365257600080fd5b8501601f8101871361366357600080fd5b6136728782356020840161328b565b91505092959194509250565b60008060008060008060c0878903121561369757600080fd5b6136a0876131f3565b95506020870135945060408701359350606087013560ff811681146136c457600080fd5b9598949750929560808101359460a0909101359350915050565b600080604083850312156136f157600080fd5b823567ffffffffffffffff8082111561370957600080fd5b61371586838701613301565b9350602085013591508082111561372b57600080fd5b5061373885828601613301565b9150509250929050565b60008060006060848603121561375757600080fd5b833567ffffffffffffffff8082111561376f57600080fd5b61377b87838801613301565b9450602086013591508082111561379157600080fd5b61379d87838801613301565b935060408601359150808211156137b357600080fd5b506137c086828701613301565b9150509250925092565b600080604083850312156137dd57600080fd5b6137e6836131f3565b91506137f4602084016131f3565b90509250929050565b600181811c9082168061381157607f821691505b6020821081036110e857634e487b7160e01b600052602260045260246000fd5b601f8211156109d8576000816000526020600020601f850160051c8101602086101561385a5750805b601f850160051c820191505b8181101561092c57828155600101613866565b815167ffffffffffffffff81111561389357613893613275565b6138a7816138a184546137fd565b84613831565b602080601f8311600181146138dc57600084156138c45750858301515b600019600386901b1c1916600185901b17855561092c565b600085815260208120601f198616915b8281101561390b578886015182559484019460019091019084016138ec565b50858210156139295787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061396c9083018461319b565b9695505050505050565b60006020828403121561398857600080fd5b81516001600160e01b03198116811461094a57600080fd5b634e487b7160e01b600052603260045260246000fd5b600083516139c8818460208801613177565b602f60f81b90830190815283516139e6816001840160208801613177565b01600101949350505050565b60008351613a04818460208801613177565b835190830190613a18818360208801613177565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106c7576106c7613a21565b808201808211156106c7576106c7613a21565b6001600160e01b03818116838216019080821115613a7d57613a7d613a21565b5092915050565b6001600160e01b03828116828216039080821115613a7d57613a7d613a21565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b600082613aed57634e487b7160e01b600052601260045260246000fd5b50049056fe7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477003a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336c423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f667fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702","sourceMap":"771:4681:257:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;771:4681:257;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;771:4681:257;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101f95760003560e01c806375794a3c1161010d5780639ab24eb0116100a0578063c87b56dd1161006f578063c87b56dd1461057c578063d2f01f191461059c578063d6536540146105bc578063d7a901d3146105d1578063e985e9c5146105f157600080fd5b80639ab24eb014610509578063a22cb46514610529578063b88d4fde14610549578063c3cda5201461055c57600080fd5b806388cc58e4116100dc57806388cc58e4146104935780638e539e8c146104a857806391ddadf4146104c857806395d89b41146104f457600080fd5b806375794a3c146104165780637ecebe001461042b578063848806141461044b57806384b0196e1461046b57600080fd5b806342842e0e116101905780635bb478081161015f5780635bb47808146103695780635c19a95c146103895780636352211e146103a95780636a9a38e6146103c957806370a08231146103f657600080fd5b806342842e0e14610301578063466a18de146103145780634bf5d7e914610334578063587cde1e1461034957600080fd5b806323b872dd116101cc57806323b872dd146102995780633644e515146102ac5780633a46b1a8146102c15780633bf5b8f4146102e157600080fd5b806306fdde03146101fe578063081812fc14610229578063095ea7b31461026157806318160ddd14610276575b600080fd5b34801561020a57600080fd5b50610213610621565b60405161022091906131c7565b60405180910390f35b34801561023557600080fd5b506102496102443660046131da565b6106bc565b6040516001600160a01b039091168152602001610220565b61027461026f36600461320f565b6106cd565b005b34801561028257600080fd5b5061028b610715565b604051908152602001610220565b6102746102a7366004613239565b610724565b3480156102b857600080fd5b5061028b610934565b3480156102cd57600080fd5b5061028b6102dc36600461320f565b61093e565b3480156102ed57600080fd5b5061028b6102fc366004613321565b610951565b61027461030f366004613239565b6109bd565b34801561032057600080fd5b5061027461032f3660046133df565b6109dd565b34801561034057600080fd5b50610213610a3a565b34801561035557600080fd5b50610249610364366004613414565b610a44565b34801561037557600080fd5b50610274610384366004613414565b610a4f565b34801561039557600080fd5b506102746103a4366004613414565b610aa4565b3480156103b557600080fd5b506102496103c43660046131da565b610aae565b3480156103d557600080fd5b506103e96103e4366004613414565b610ab9565b604051610220919061342f565b34801561040257600080fd5b5061028b610411366004613414565b610afb565b34801561042257600080fd5b5061028b610b06565b34801561043757600080fd5b5061028b610446366004613414565b610b10565b34801561045757600080fd5b506102746104663660046134c1565b610b4d565b34801561047757600080fd5b50610480610bf9565b604051610220979695949392919061352d565b34801561049f57600080fd5b50610249610cbc565b3480156104b457600080fd5b5061028b6104c33660046131da565b610cdd565b3480156104d457600080fd5b506104dd610ce8565b60405165ffffffffffff9091168152602001610220565b34801561050057600080fd5b50610213610cf2565b34801561051557600080fd5b5061028b610524366004613414565b610d0a565b34801561053557600080fd5b506102746105443660046135c6565b610d15565b610274610557366004613602565b610d4e565b34801561056857600080fd5b5061027461057736600461367e565b610d98565b34801561058857600080fd5b506102136105973660046131da565b610da6565b3480156105a857600080fd5b506102746105b73660046136de565b610dd7565b3480156105c857600080fd5b50610213610e2a565b3480156105dd57600080fd5b506102746105ec366004613742565b610e34565b3480156105fd57600080fd5b5061061161060c3660046137ca565b610f2d565b6040519015158152602001610220565b606061062b610f39565b6002018054610639906137fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610665906137fd565b80156106b25780601f10610687576101008083540402835291602001916106b2565b820191906000526020600020905b81548152906001019060200180831161069557829003601f168201915b5050505050905090565b60006106c782610f5d565b92915050565b6001600160a01b038216158015906106e957506106e933610faa565b1561070757604051630ed551c360e41b815260040160405180910390fd5b6107118282611042565b5050565b600061071f61104e565b905090565b600061072f8261106d565b9050836001600160a01b0316816001600160a01b0316146107625760405162a1148160e81b815260040160405180910390fd5b60008061076e84611108565b91509150610793818761077e3390565b6001600160a01b039081169116811491141790565b6107be576107a18633610f2d565b6107be57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0385166107e557604051633a954ecd60e21b815260040160405180910390fd5b6107f28686866001611130565b80156107fd57600082555b610805610f39565b6001600160a01b0387166000908152600591909101602052604090208054600019019055610831610f39565b6001600160a01b03861660008181526005929092016020526040909120805460010190554260a01b17600160e11b17610868610f39565b60008681526004919091016020526040812091909155600160e11b841690036108de5760018401610897610f39565b6000828152600491909101602052604081205490036108dc576108b8610f39565b5481146108dc57836108c8610f39565b600083815260049190910160205260409020555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461092c868686600161116f565b505050505050565b600061071f61117a565b600061094a8383611184565b9392505050565b600080600080516020613af383398151915280549091506001600160a01b031633146109905760405163443e750b60e11b815260040160405180910390fd5b610998611222565b91506109a8878784888888611232565b6109b3336001611377565b5095945050505050565b6109d883838360405180602001604052806000815250610d4e565b505050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610a2e576040516365f4906560e01b81523360048201526024015b60405180910390fd5b610a37816114c7565b50565b606061071f611538565b60006106c7826115d0565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610a9b576040516365f4906560e01b8152336004820152602401610a25565b610a378161160d565b610a373382611677565b60006106c78261106d565b610af26040518060c001604052806060815260200160608152602001600081526020016000815260200160608152602001606081525090565b6106c782611711565b60006106c782611a0a565b600061071f611222565b6001600160a01b03811660009081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c0060205260408120546106c7565b610b5685611a73565b610b638585858585611aa7565b846001600160a01b031663410066056040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b9e57600080fd5b505af1158015610bb2573d6000803e3d6000fd5b505050507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7610be086611b80565b6040519081526020015b60405180910390a15050505050565b600060608082808083600080516020613b1383398151915254158015610c3e57507f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d54155b610c825760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610a25565b610c8a611bab565b610c92611bc1565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b600061071f600080516020613af3833981519152546001600160a01b031690565b60006106c782611bd7565b600061071f611c70565b6060610cfc610f39565b6003018054610639906137fd565b60006106c782611c7b565b808015610d265750610d2633610faa565b15610d4457604051630ed551c360e41b815260040160405180910390fd5b6107118282611ca9565b610d59848484610724565b6001600160a01b0383163b15610d9257610d7584848484611d26565b610d92576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b61092c868686868686611e12565b6060610db182611efb565b610dce57604051630a14c4b560e41b815260040160405180910390fd5b6106c782611f37565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054600160201b900460ff16610e2057604051630ef4733760e31b815260040160405180910390fd5b61071182826121b0565b606061071f6121da565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054600160201b900460ff161580610e7057303b1515610e7f565b8154600163ffffffff90911610155b15610ea8578154604051630a8ef77f60e31b815263ffffffff9091166004820152602401610a25565b815463ffffffff191660011782558015610ecf57815464ff000000001916600160201b1782555b610ed985856121b0565b610ee385846121f9565b8015610f2657815464ff0000000019168255604051600181527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c90602001610bea565b5050505050565b600061094a838361224c565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0090565b6000610f6882611efb565b610f85576040516333d1c03960e21b815260040160405180910390fd5b610f8d610f39565b60009283526006016020525060409020546001600160a01b031690565b6000807f0c89d3aad1b583c77a2e9f9fffa651b386c9c29e300bf2a8e2f3de1bb0100a0090506001600160a01b038316600080516020613af3833981519152546001600160a01b03161480159061094a57506001600160a01b0383166000908152600182016020526040902054158061094a57506001600160a01b038316600090815260018201602052604090205442109392505050565b61071182826001612289565b600080611059610f39565b60010154611065610f39565b540303919050565b600080611078610f39565b60008481526004820160205260408120549350909150600160e01b831690036110ee57816000036110e857805483106110c457604051636f96cda160e11b815260040160405180910390fd5b5b6000199092016000818152600484016020526040902054909290915081156110c5575b50919050565b50604051636f96cda160e11b815260040160405180910390fd5b6000806000611115610f39565b60009485526006016020525050604090912080549092909150565b6001600160a01b0384161580159061114c575061114c84610faa565b1561116a57604051630ed551c360e41b815260040160405180910390fd5b610d92565b61116a84848361233e565b600061071f6123e0565b600061118e611c70565b65ffffffffffff1682106111db5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610a25565b6112126111e783612454565b6001600160a01b0385166000908152600080516020613b338339815191526020526040902090612489565b6001600160e01b03169392505050565b600061122c610f39565b54919050565b61123d86600261253d565b61124885600061253d565b61125183612561565b60008481527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020908152604080832080546001600160a01b0319166001600160a01b03881690811790915581516080810183528a81528084018a9052808301899052426060820152908452600080516020613b538339815191529092529091208151600080516020613af383398151915292919081906112f29082613879565b50602082015160018201906113079082613879565b5060408281015160028301556060909201516003918201558151808301835285815260208082018690526001600160a01b03881660009081529285019052919020815181906113569082613879565b506020820151600182019061136b9082613879565b50505050505050505050565b6000611381610f39565b54905060008290036113a65760405163b562e8dd60e01b815260040160405180910390fd5b6113b36000848385611130565b6801000000000000000182026113c7610f39565b6001600160a01b038516600081815260059290920160205260409091208054929092019091554260a01b6001841460e11b1717611402610f39565b600083815260049190910160205260408120919091556001600160a01b0384169083830190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461148c57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101611454565b50816000036114ad57604051622e076360e81b815260040160405180910390fd5b806114b6610f39565b55506109d89050600084838561116f565b6114d281600161253d565b7f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477046114fd8282613879565b507f8fe3adc25723aa6a0b7eb4b4bacf52e92165c180bde5353f7cf606fbf5591f2b8160405161152d91906131c7565b60405180910390a150565b606043611543611c70565b65ffffffffffff16146115985760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610a25565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6001600160a01b0390811660009081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6560205260409020541690565b61161681612561565b600080516020613af383398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f64c14256e532eac2ec90ddc4973ed2d3f5623faf7951d90eec38f9b7812f99a79181900360200190a15050565b6000611682836115d0565b6001600160a01b0384811660008181527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f65602052604080822080546001600160a01b031916888616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46109d8818361170c86612588565b612593565b61174a6040518060c001604052806060815260200160608152602001600081526020016000815260200160608152602001606081525090565b6001600160a01b0382166000908152600080516020613b53833981519152602090815260408083207f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770390925291829020825160c08101909352815491929091819084906117b6906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546117e2906137fd565b801561182f5780601f106118045761010080835404028352916020019161182f565b820191906000526020600020905b81548152906001019060200180831161181257829003601f168201915b50505050508152602001836001018054611848906137fd565b80601f0160208091040260200160405190810160405280929190818152602001828054611874906137fd565b80156118c15780601f10611896576101008083540402835291602001916118c1565b820191906000526020600020905b8154815290600101906020018083116118a457829003601f168201915b5050505050815260200183600201548152602001836003015481526020018260000180546118ee906137fd565b80601f016020809104026020016040519081016040528092919081815260200182805461191a906137fd565b80156119675780601f1061193c57610100808354040283529160200191611967565b820191906000526020600020905b81548152906001019060200180831161194a57829003601f168201915b50505050508152602001826001018054611980906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546119ac906137fd565b80156119f95780601f106119ce576101008083540402835291602001916119f9565b820191906000526020600020905b8154815290600101906020018083116119dc57829003601f168201915b505050505081525092505050919050565b60006001600160a01b038216611a33576040516323d3ad8160e21b815260040160405180910390fd5b67ffffffffffffffff611a44610f39565b6005016000846001600160a01b03166001600160a01b0316815260200190815260200160002054169050919050565b33611a806103c483611b80565b6001600160a01b031614610a375760405163dbfcf17d60e01b815260040160405180910390fd5b611ab284600261253d565b611abd83600061253d565b6001600160a01b0385166000908152600080516020613b5383398151915260205260409020600080516020613af38339815191529080611afd8782613879565b5060018101611b0c8682613879565b506001600160a01b0387166000908152600383016020526040902080611b328682613879565b5060018101611b418582613879565b506040516001600160a01b038916907f66da702131703ee5e745ecf2f5b98311caa00729edd55541baad49289fc42ed890600090a25050505050505050565b6001600160a01b03166000908152600080516020613b53833981519152602052604090206002015490565b6060600080516020613b1383398151915261062b565b6060600080516020613b13833981519152610cfc565b6000611be1611c70565b65ffffffffffff168210611c2e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610a25565b611c61611c3a83612454565b7f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6790612489565b6001600160e01b031692915050565b600061071f43612714565b6001600160a01b0381166000908152600080516020613b3383398151915260205260408120611c6190612747565b80611cb2610f39565b336000818152600792909201602090815260408084206001600160a01b03881680865290835293819020805460ff19169515159590951790945592518415158152919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611d5b903390899088908890600401613939565b6020604051808303816000875af1925050508015611d96575060408051601f3d908101601f19168201909252611d9391810190613976565b60015b611df4573d808015611dc4576040519150601f19603f3d011682016040523d82523d6000602084013e611dc9565b606091505b508051600003611dec576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b83421115611e625760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610a25565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090611edc90611ed49060a00160405160208183030381529060405280519060200120612780565b8585856127ad565b9050611ee881876127db565b611ef28188611677565b50505050505050565b6000611f05610f39565b54821080156106c75750600160e01b611f1c610f39565b60008481526004919091016020526040902054161592915050565b60008181527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020526040902054606090600080516020613af3833981519152906001600160a01b031680611f9f5760405163af5f208f60e01b815260040160405180910390fd5b6001600160a01b03811660009081526002830160205260409020600181018054611fc8906137fd565b15905061206657806001018054611fde906137fd565b80601f016020809104026020016040519081016040528092919081815260200182805461200a906137fd565b80156120575780601f1061202c57610100808354040283529160200191612057565b820191906000526020600020905b81548152906001019060200180831161203a57829003601f168201915b50505050509350505050919050565b6000836004018054612077906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546120a3906137fd565b80156120f05780601f106120c5576101008083540402835291602001916120f0565b820191906000526020600020905b8154815290600101906020018083116120d357829003601f168201915b505050505090506000815190508060000361211e5760405163cd251ac560e01b815260040160405180910390fd5b816001820381518110612133576121336139a0565b6020910101516001600160f81b031916602f60f81b1461218c5781612160856001600160a01b031661284d565b6040516020016121719291906139b6565b60405160208183030381529060405295505050505050919050565b8161219f856001600160a01b031661284d565b6040516020016121719291906139f2565b6121c06380ac58cd60e01b6128f6565b6121d0635b5e139f60e01b6128f6565b61071182826129cf565b6060600080516020613af38339815191526004018054610639906137fd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054600160201b900460ff1661224257604051630ef4733760e31b815260040160405180910390fd5b6107118282612a01565b6000612256610f39565b6001600160a01b039384166000908152600791909101602090815260408083209490951682529290925250205460ff1690565b600061229483610aae565b905081156122d357336001600160a01b038216146122d3576122b6813361224c565b6122d3576040516367d9dca160e11b815260040160405180910390fd5b836122dc610f39565b6000858152600691909101602052604080822080546001600160a01b0319166001600160a01b0394851617905551859287811692908516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a450505050565b6001600160a01b038316612384576123817f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67612a9361237c84612a9f565b612ad3565b50505b6001600160a01b0382166123c5576123c27f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67612b1c61237c84612a9f565b50505b6109d86123d1846115d0565b6123da846115d0565b83612593565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61240b612b28565b612413612b8e565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600063ffffffff821115612485576040516306dfcc6560e41b81526020600482015260248101839052604401610a25565b5090565b8154600090818160058111156124e65760006124a484612bde565b6124ae9085613a37565b60008881526020902090915081015463ffffffff90811690871610156124d6578091506124e4565b6124e1816001613a4a565b92505b505b60006124f487878585612d36565b9050801561252f576125198761250b600184613a37565b600091825260209091200190565b54600160201b90046001600160e01b0316612532565b60005b979650505050505050565b815182908211156109d8576040516374eb20a760e01b815260040160405180910390fd5b6001600160a01b038116610a37576040516302e47d1560e41b815260040160405180910390fd5b60006106c782610afb565b816001600160a01b0316836001600160a01b0316141580156125b55750600081115b156109d8576001600160a01b03831615612665576001600160a01b0383166000908152600080516020613b3383398151915260205260408120819061260090612b1c61237c86612a9f565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161265a929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156109d8576001600160a01b0382166000908152600080516020613b338339815191526020526040812081906126ab90612a9361237c86612a9f565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612705929190918252602082015260400190565b60405180910390a25050505050565b600065ffffffffffff821115612485576040516306dfcc6560e41b81526030600482015260248101839052604401610a25565b80546000908015612777576127618361250b600184613a37565b54600160201b90046001600160e01b031661094a565b60009392505050565b60006106c761278d61117a565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000806127bf88888888612d94565b9250925092506127cf8282612e63565b50909695505050505050565b6001600160a01b03821660009081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c00602052604090208054600181019091558181146109d8576040516301d4b62360e61b81526001600160a01b038416600482015260248101829052604401610a25565b606061285882612f1c565b6028602282019081209192507f4040404040404040404040404040404040404040404040404040404040404040917f888888888888888888888888888888888888888888888888888888888888888016601160f31b60005b82811a8202818001526001810190601219016128b057505050818151166000511660011c8151188152602081019050818151166020511660011c81511881525050919050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff1661297e576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055612997565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b60006129d9610f39565b9050600281016129e98482613879565b50600381016129f88382613879565b50600090555050565b7f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336e612a2c8382613879565b507f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336f612a588282613879565b50506000600080516020613b138339815191528190557f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d5550565b600061094a8284613a5d565b60006001600160e01b03821115612485576040516306dfcc6560e41b815260e0600482015260248101839052604401610a25565b600080612b0f612af1612ae4611c70565b65ffffffffffff16612454565b612b07612afd88612747565b868863ffffffff16565b879190612f40565b915091505b935093915050565b600061094a8284613a84565b600080612b33611bab565b805190915015612b4a578051602090910120919050565b600080516020613b13833981519152548015612b665792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612b99611bc1565b805190915015612bb0578051602090910120919050565b7f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d548015612b665792915050565b600060018211612bec575090565b816001600160801b8210612c055760809190911c9060401b5b680100000000000000008210612c205760409190911c9060201b5b600160201b8210612c365760209190911c9060101b5b620100008210612c4b5760109190911c9060081b5b6101008210612c5f5760089190911c9060041b5b60108210612c725760049190911c9060021b5b60048210612c7e5760011b5b600302600190811c90818581612c9657612c96613aa4565b048201901c90506001818581612cae57612cae613aa4565b048201901c90506001818581612cc657612cc6613aa4565b048201901c90506001818581612cde57612cde613aa4565b048201901c90506001818581612cf657612cf6613aa4565b048201901c90506001818581612d0e57612d0e613aa4565b048201901c9050612d2d818581612d2757612d27613aa4565b04821190565b90039392505050565b60005b81831015612d8c576000612d4d8484612f4e565b60008781526020902090915063ffffffff86169082015463ffffffff161115612d7857809250612d86565b612d83816001613a4a565b93505b50612d39565b509392505050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612dcf5750600091506003905082612e59565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612e23573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612e4f57506000925060019150829050612e59565b9250600091508190505b9450945094915050565b6000826003811115612e7757612e77613aba565b03612e80575050565b6001826003811115612e9457612e94613aba565b03612eb25760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612ec657612ec6613aba565b03612ee75760405163fce698f760e01b815260048101829052602401610a25565b6003826003811115612efb57612efb613aba565b03610711576040516335e2f38360e21b815260048101829052602401610a25565b6060612f2782612f69565b8051613078825260020160011990910190815292915050565b600080612b0f858585612fd8565b6000612f5d6002848418613ad0565b61094a90848416613a4a565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901612fa9575050919050565b82546000908190801561311e576000612ff68761250b600185613a37565b60408051808201909152905463ffffffff808216808452600160201b9092046001600160e01b0316602084015291925090871610156130775760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610a25565b805163ffffffff8088169116036130bf57846130988861250b600186613a37565b80546001600160e01b0392909216600160201b0263ffffffff90921691909117905561310e565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160201b029216919091179101555b602001519250839150612b149050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160201b029190931617920191909155905081612b14565b60005b8381101561319257818101518382015260200161317a565b50506000910152565b600081518084526131b3816020860160208601613177565b601f01601f19169290920160200192915050565b60208152600061094a602083018461319b565b6000602082840312156131ec57600080fd5b5035919050565b80356001600160a01b038116811461320a57600080fd5b919050565b6000806040838503121561322257600080fd5b61322b836131f3565b946020939093013593505050565b60008060006060848603121561324e57600080fd5b613257846131f3565b9250613265602085016131f3565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156132a6576132a6613275565b604051601f8501601f19908116603f011681019082821181831017156132ce576132ce613275565b816040528093508581528686860111156132e757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261331257600080fd5b61094a8383356020850161328b565b600080600080600060a0868803121561333957600080fd5b853567ffffffffffffffff8082111561335157600080fd5b61335d89838a01613301565b9650602088013591508082111561337357600080fd5b61337f89838a01613301565b955061338d604089016131f3565b945060608801359150808211156133a357600080fd5b6133af89838a01613301565b935060808801359150808211156133c557600080fd5b506133d288828901613301565b9150509295509295909350565b6000602082840312156133f157600080fd5b813567ffffffffffffffff81111561340857600080fd5b611e0a84828501613301565b60006020828403121561342657600080fd5b61094a826131f3565b602081526000825160c0602084015261344b60e084018261319b565b90506020840151601f1980858403016040860152613469838361319b565b9250604086015160608601526060860151608086015260808601519150808584030160a086015261349a838361319b565b925060a08601519150808584030160c0860152506134b8828261319b565b95945050505050565b600080600080600060a086880312156134d957600080fd5b6134e2866131f3565b9450602086013567ffffffffffffffff808211156134ff57600080fd5b61350b89838a01613301565b9550604088013591508082111561352157600080fd5b61338d89838a01613301565b60ff60f81b881681526000602060e0602084015261354e60e084018a61319b565b8381036040850152613560818a61319b565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156135b457835183529284019291840191600101613598565b50909c9b505050505050505050505050565b600080604083850312156135d957600080fd5b6135e2836131f3565b9150602083013580151581146135f757600080fd5b809150509250929050565b6000806000806080858703121561361857600080fd5b613621856131f3565b935061362f602086016131f3565b925060408501359150606085013567ffffffffffffffff81111561365257600080fd5b8501601f8101871361366357600080fd5b6136728782356020840161328b565b91505092959194509250565b60008060008060008060c0878903121561369757600080fd5b6136a0876131f3565b95506020870135945060408701359350606087013560ff811681146136c457600080fd5b9598949750929560808101359460a0909101359350915050565b600080604083850312156136f157600080fd5b823567ffffffffffffffff8082111561370957600080fd5b61371586838701613301565b9350602085013591508082111561372b57600080fd5b5061373885828601613301565b9150509250929050565b60008060006060848603121561375757600080fd5b833567ffffffffffffffff8082111561376f57600080fd5b61377b87838801613301565b9450602086013591508082111561379157600080fd5b61379d87838801613301565b935060408601359150808211156137b357600080fd5b506137c086828701613301565b9150509250925092565b600080604083850312156137dd57600080fd5b6137e6836131f3565b91506137f4602084016131f3565b90509250929050565b600181811c9082168061381157607f821691505b6020821081036110e857634e487b7160e01b600052602260045260246000fd5b601f8211156109d8576000816000526020600020601f850160051c8101602086101561385a5750805b601f850160051c820191505b8181101561092c57828155600101613866565b815167ffffffffffffffff81111561389357613893613275565b6138a7816138a184546137fd565b84613831565b602080601f8311600181146138dc57600084156138c45750858301515b600019600386901b1c1916600185901b17855561092c565b600085815260208120601f198616915b8281101561390b578886015182559484019460019091019084016138ec565b50858210156139295787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061396c9083018461319b565b9695505050505050565b60006020828403121561398857600080fd5b81516001600160e01b03198116811461094a57600080fd5b634e487b7160e01b600052603260045260246000fd5b600083516139c8818460208801613177565b602f60f81b90830190815283516139e6816001840160208801613177565b01600101949350505050565b60008351613a04818460208801613177565b835190830190613a18818360208801613177565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106c7576106c7613a21565b808201808211156106c7576106c7613a21565b6001600160e01b03818116838216019080821115613a7d57613a7d613a21565b5092915050565b6001600160e01b03828116828216039080821115613a7d57613a7d613a21565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b600082613aed57634e487b7160e01b600052601260045260246000fd5b50049056fe7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477003a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336c423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f667fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702","sourceMap":"771:4681:257:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2023:116:157;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3501:132;;;;;;;;;;-1:-1:-1;3501:132:157;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1119:32:654;;;1101:51;;1089:2;1074:18;3501:132:157;955:203:654;3787:267:257;;;;;;:::i;:::-;;:::i;:::-;;1506:93:157;;;;;;;;;;;;;:::i;:::-;;;1746:25:654;;;1734:2;1719:18;1506:93:157;1600:177:654;4896:2680:157;;;;;;:::i;:::-;;:::i;2877:105:257:-;;;;;;;;;;;;;:::i;722:159:140:-;;;;;;;;;;-1:-1:-1;722:159:140;;;;;:::i;:::-;;:::i;1855:346:257:-;;;;;;;;;;-1:-1:-1;1855:346:257;;;;;:::i;:::-;;:::i;7659:167:157:-;;;;;;:::i;:::-;;:::i;3186:91:257:-;;;;;;;;;;-1:-1:-1;3186:91:257;;;;;:::i;:::-;;:::i;459:96:140:-;;;;;;;;;;;;;:::i;1080:111::-;;;;;;;;;;-1:-1:-1;1080:111:140;;;;;:::i;:::-;;:::i;1322:87:257:-;;;;;;;;;;-1:-1:-1;1322:87:257;;;;;:::i;:::-;;:::i;1220:95:140:-;;;;;;;;;;-1:-1:-1;1220:95:140;;;;;:::i;:::-;;:::i;2870:152:157:-;;;;;;;;;;-1:-1:-1;2870:152:157;;;;;:::i;:::-;;:::i;2235:108:257:-;;;;;;;;;;-1:-1:-1;2235:108:257;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1676:107:157:-;;;;;;;;;;-1:-1:-1;1676:107:157;;;;;:::i;:::-;;:::i;1734:87:257:-;;;;;;;;;;;;;:::i;2766:107::-;;;;;;;;;;-1:-1:-1;2766:107:257;;;;;:::i;:::-;;:::i;2377:385::-;;;;;;;;;;-1:-1:-1;2377:385:257;;;;;:::i;:::-;;:::i;4531:801:595:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;1443:85:257:-;;;;;;;;;;;;;:::i;910:141:140:-;;;;;;;;;;-1:-1:-1;910:141:140;;;;;:::i;:::-;;:::i;348:80::-;;;;;;;;;;;;;:::i;:::-;;;8345:14:654;8333:27;;;8315:46;;8303:2;8288:18;348:80:140;8171:196:654;2202:120:157;;;;;;;;;;;;;:::i;584:109:140:-;;;;;;;;;;-1:-1:-1;584:109:140;;;;;:::i;:::-;;:::i;4058:282:257:-;;;;;;;;;;-1:-1:-1;4058:282:257;;;;;:::i;:::-;;:::i;8375:348:157:-;;;;;;:::i;:::-;;:::i;1344:214:140:-;;;;;;;;;;-1:-1:-1;1344:214:140;;;;;:::i;:::-;;:::i;3412:196:257:-;;;;;;;;;;-1:-1:-1;3412:196:257;;;;;:::i;:::-;;:::i;872:157:157:-;;;;;;;;;;-1:-1:-1;872:157:157;;;;;:::i;:::-;;:::i;3311:97:257:-;;;;;;;;;;;;;:::i;902:212::-;;;;;;;;;;-1:-1:-1;902:212:257;;;;;:::i;:::-;;:::i;4343:167:157:-;;;;;;;;;;-1:-1:-1;4343:167:157;;;;;:::i;:::-;;:::i;:::-;;;11745:14:654;;11738:22;11720:41;;11708:2;11693:18;4343:167:157;11580:187:654;2023:116:157;2077:13;2105:23;:21;:23::i;:::-;:29;;2098:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2023:116;:::o;3501:132::-;3585:7;3607:21;3620:7;3607:12;:21::i;:::-;3600:28;3501:132;-1:-1:-1;;3501:132:157:o;3787:267:257:-;-1:-1:-1;;;;;3927:16:257;;;;;;:48;;;3947:28;3964:10;3947:16;:28::i;:::-;3923:94;;;3992:18;;-1:-1:-1;;;3992:18:257;;;;;;;;;;;3923:94;4023:26;4037:2;4041:7;4023:13;:26::i;:::-;3787:267;;:::o;1506:93:157:-;1558:7;1580:14;:12;:14::i;:::-;1573:21;;1506:93;:::o;4896:2680::-;5015:27;5045;5064:7;5045:18;:27::i;:::-;5015:57;;5124:4;-1:-1:-1;;;;;5083:45:157;5099:19;-1:-1:-1;;;;;5083:45:157;;5079:92;;5143:28;;-1:-1:-1;;;5143:28:157;;;;;;;;;;;5079:92;5186:27;5221:23;5253:35;5280:7;5253:26;:35::i;:::-;5178:110;;;;5377:68;5402:15;5419:4;5425:19;29364:10:158;;29282:97;5425:19:157;-1:-1:-1;;;;;11870:32:158;;;11728:28;;11985:20;;12007:30;;11982:56;;11461:587;5377:68:157;5372:181;;5458:43;5475:4;29364:10:158;4343:167:157;:::i;5458:43::-;5453:100;;5518:35;;-1:-1:-1;;;5518:35:157;;;;;;;;;;;5453:100;-1:-1:-1;;;;;5564:16:157;;5560:52;;5589:23;;-1:-1:-1;;;5589:23:157;;;;;;;;;;;5560:52;5619:43;5641:4;5647:2;5651:7;5660:1;5619:21;:43::i;:::-;5737:15;5734:135;;;5859:1;5838:19;5831:30;5734:135;6209:23;:21;:23::i;:::-;-1:-1:-1;;;;;6209:48:157;;;;;;:42;;;;;:48;;;;;6207:50;;-1:-1:-1;;6207:50:157;;;6295:23;:21;:23::i;:::-;-1:-1:-1;;;;;6295:46:157;;;;;;:42;;;;;:46;;;;;;6293:48;;;;;;10229:11:158;10204:23;10200:41;10187:63;-1:-1:-1;;;10187:63:158;6569:23:157;:21;:23::i;:::-;:50;;;;:41;;;;;:50;;;;;:184;;;;-1:-1:-1;;;6858:47:157;;:52;;6854:625;;6954:1;6944:11;;7059:23;:21;:23::i;:::-;:54;;;;:41;;;;;:54;;;;;;:59;;7055:416;;7199:23;:21;:23::i;:::-;:37;7184:52;;7180:281;;7429:19;7344:23;:21;:23::i;:::-;:82;;;;:41;;;;;:82;;;;;:104;7180:281;6912:567;6854:625;7515:7;7511:2;-1:-1:-1;;;;;7496:27:157;7505:4;-1:-1:-1;;;;;7496:27:157;;;;;;;;;;;7529:42;7550:4;7556:2;7560:7;7569:1;7529:20;:42::i;:::-;5009:2567;;;4896:2680;;;:::o;2877:105:257:-;2928:14;2957:20;:18;:20::i;722:159:140:-;821:7;843:33;857:7;866:9;843:13;:33::i;:::-;836:40;722:159;-1:-1:-1;;;722:159:140:o;1855:346:257:-;2045:15;;-1:-1:-1;;;;;;;;;;;618:10:258;;;;-1:-1:-1;;;;;;618:10:258;604;:24;600:84;;645:32;;-1:-1:-1;;;645:32:258;;;;;;;;;;;600:84;2078:14:257::1;:12;:14::i;:::-;2068:24;;2098:72;2109:4;2115:3;2120:7;2129:5;2136:16;2154:15;2098:10;:72::i;:::-;2176:20;2182:10;2194:1;2176:5;:20::i;:::-;524:171:258::0;1855:346:257;;;;;;;:::o;7659:167:157:-;7782:39;7799:4;7805:2;7809:7;7782:39;;;;;;;;;;;;:16;:39::i;:::-;7659:167;;;:::o;3186:91:257:-;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;1101:51:654;1074:18;;318:29:564;;;;;;;;275:79;3253:19:257::1;3268:3;3253:14;:19::i;:::-;3186:91:::0;:::o;459:96:140:-;510:13;538:12;:10;:12::i;1080:111::-;1145:7;1167:19;1178:7;1167:10;:19::i;1322:87:257:-;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;1101:51:654;1074:18;;318:29:564;955:203:654;275:79:564;1384:20:257::1;1396:7;1384:11;:20::i;1220:95:140:-:0;1278:32;1288:10;1300:9;1278;:32::i;2870:152:157:-;2950:7;2988:27;3007:7;2988:18;:27::i;2235:108:257:-;2295:12;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2295:12:257;2322:16;2332:5;2322:9;:16::i;1676:107:157:-;1739:7;1761:17;1772:5;1761:10;:17::i;1734:87:257:-;1780:7;1802:14;:12;:14::i;2766:107::-;-1:-1:-1;;;;;526:37:594;;2820:14:257;526:37:594;;;1781:12;526:37;;;;;;2849:19:257;436:132:594;2377:385:257;2558:22;2574:5;2558:15;:22::i;:::-;2586:65;2599:5;2606:4;2612:3;2617:16;2635:15;2586:12;:65::i;:::-;2678:5;-1:-1:-1;;;;;2658:42:257;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2714:43;2738:18;2750:5;2738:11;:18::i;:::-;2714:43;;1746:25:654;;;1734:2;1719:18;2714:43:257;;;;;;;;2377:385;;;;;:::o;4531:801:595:-;4620:13;4641:18;;4620:13;;;4641:18;-1:-1:-1;;;;;;;;;;;5024:34:595;:39;:93;;;;-1:-1:-1;5075:37:595;;:42;5024:93;5009:145;;;;-1:-1:-1;;;5009:145:595;;12359:2:654;5009:145:595;;;12341:21:654;12398:2;12378:18;;;12371:30;-1:-1:-1;;;12417:18:654;;;12410:51;12478:18;;5009:145:595;12157:345:654;5009:145:595;5200:13;:11;:13::i;:::-;5221:16;:14;:16::i;:::-;5305;;;5295:1;5305:16;;;;;;;;;-1:-1:-1;;;5161:166:595;;;-1:-1:-1;5161:166:595;;-1:-1:-1;5245:13:595;;-1:-1:-1;5274:4:595;;-1:-1:-1;5295:1:595;-1:-1:-1;5305:16:595;-1:-1:-1;5161:166:595;-1:-1:-1;4531:801:595:o;1443:85:257:-;1488:7;1510:13;-1:-1:-1;;;;;;;;;;;1069:10:258;-1:-1:-1;;;;;1069:10:258;;931:153;910:141:140;994:7;1016:30;1036:9;1016:19;:30::i;348:80::-;394:6;415:8;:6;:8::i;2202:120:157:-;2258:13;2286:23;:21;:23::i;:::-;:31;;2279:38;;;;;:::i;584:109:140:-;648:7;670:18;680:7;670:9;:18::i;4058:282:257:-;4204:8;:40;;;;;4216:28;4233:10;4216:16;:28::i;:::-;4200:86;;;4261:18;;-1:-1:-1;;;4261:18:257;;;;;;;;;;;4200:86;4292:43;4316:8;4326;4292:23;:43::i;8375:348:157:-;8522:31;8535:4;8541:2;8545:7;8522:12;:31::i;:::-;-1:-1:-1;;;;;8563:14:157;;;:19;8559:160;;8595:56;8626:4;8632:2;8636:7;8645:5;8595:30;:56::i;:::-;8590:129;;8670:40;;-1:-1:-1;;;8670:40:157;;;;;;;;;;;8590:129;8375:348;;;;:::o;1344:214:140:-;1504:49;1519:9;1530:5;1537:6;1545:1;1548;1551;1504:14;:49::i;3412:196:257:-;3493:13;3519:16;3527:7;3519;:16::i;:::-;3514:59;;3544:29;;-1:-1:-1;;;3544:29:257;;;;;;;;;;;3514:59;3587:16;3595:7;3587;:16::i;872:157:157:-;296:66:555;1263:42:554;-1:-1:-1;;;1263:42:554;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;984:40:157::1;1009:5;1016:7;984:24;:40::i;3311:97:257:-:0;3359:13;3387:16;:14;:16::i;902:212::-;296:66:555;540:14:554;;-1:-1:-1;;;540:14:554;;;;539:15;;564:53;;2049:4;2041:25;:30;;564:53;;;581:9;;594:1;581:9;;;;:14;;564:53;560:124;;;667:9;;634:43;;-1:-1:-1;;;634:43:554;;667:9;;;;634:43;;;12651:42:654;12624:18;;634:43:554;12507:192:654;560:124:554;689:13;;-1:-1:-1;;689:13:554;701:1;689:13;;;708:56;;;;736:21;;-1:-1:-1;;736:21:554;-1:-1:-1;;;736:21:554;;;708:56;1037:38:257::1;1062:4;1068:6;1037:24;:38::i;:::-;1081:28;1095:4;1101:7;1081:13;:28::i;:::-;780:14:554::0;776:84;;;804:22;;-1:-1:-1;;804:22:554;;;839:14;;-1:-1:-1;12651:42:654;;839:14:554;;12639:2:654;12624:18;839:14:554;12507:192:654;776:84:554;435:429;;902:212:257;;;:::o;4343:167:157:-;4452:4;4471:34;4489:5;4496:8;4471:17;:34::i;1689:139:160:-;293:66;;1689:139::o;22504:230:158:-;22582:7;22602:16;22610:7;22602;:16::i;:::-;22597:64;;22627:34;;-1:-1:-1;;;22627:34:158;;;;;;;;;;;22597:64;22675:23;:21;:23::i;:::-;:48;;;;:39;;:48;;-1:-1:-1;22675:48:158;;;:54;-1:-1:-1;;;;;22675:54:158;;22504:230::o;1926:456:239:-;1993:4;;280:66:241;2005:60:239;-1:-1:-1;;;;;;2224:46:239;;-1:-1:-1;;;;;;;;;;;2224:34:239;-1:-1:-1;;;;;2224:34:239;:46;;;;:153;;-1:-1:-1;;;;;;2281:30:239;;;;;;:20;;;:30;;;;;;:35;;:95;;-1:-1:-1;;;;;;2346:30:239;;;;;;:20;;;:30;;;;;;2328:15;:48;2211:166;1926:456;-1:-1:-1;;;1926:456:239:o;3239:128:157:-;3335:27;3344:2;3348:7;3357:4;3335:8;:27::i;2978:351:158:-;3025:7;;3256:23;:21;:23::i;:::-;:36;;;3208:23;:21;:23::i;:::-;:37;:84;:110;;2978:351;-1:-1:-1;2978:351:158:o;7829:1501::-;7905:14;7967:32;8002:23;:21;:23::i;:::-;8043:29;;;;:20;;;:29;;;;;;;-1:-1:-1;7967:58:158;;-1:-1:-1;;;;8108:24:158;;:29;;8104:1172;;8229:6;8239:1;8229:11;8225:791;;8269:16;;8258:27;;8254:83;;8306:31;;-1:-1:-1;;;8306:31:158;;;;;;;;;;;8254:83;8824:182;-1:-1:-1;;8903:9:158;;;8882:31;;;;:20;;;:31;;;;;;8903:9;;8882:31;;-1:-1:-1;8941:25:158;;8824:182;8941:25;;8980:13;7829:1501;;;:::o;8104:1172::-;7959:1323;9294:31;;-1:-1:-1;;;9294:31:158;;;;;;;;;;;12148:478;12244:27;12273:23;12306:38;12347:30;:28;:30::i;:::-;:62;;;;:53;;:62;;-1:-1:-1;;12347:62:158;;;;12590:26;;12347:62;;12590:26;;-1:-1:-1;12148:478:158:o;4344:354:257:-;-1:-1:-1;;;;;4489:18:257;;;;;;:44;;;4511:22;4528:4;4511:16;:22::i;:::-;4485:141;;;4601:18;;-1:-1:-1;;;4601:18:257;;;;;;;;;;;4485:141;4632:61;8375:348:157;4702:262:257;4851:41;4872:4;4878:2;4882:9;4851:20;:41::i;3309:103:595:-;3362:7;3384:23;:21;:23::i;4034:301:141:-;4128:7;4163:8;:6;:8::i;:::-;4151:20;;:9;:20;4143:53;;;;-1:-1:-1;;;4143:53:141;;13112:2:654;4143:53:141;;;13094:21:654;13151:2;13131:18;;;13124:30;-1:-1:-1;;;13170:18:654;;;13163:50;13230:18;;4143:53:141;12910:344:654;4143:53:141;4215:115;4294:28;4312:9;4294:17;:28::i;:::-;-1:-1:-1;;;;;4215:51:141;;;;;;-1:-1:-1;;;;;;;;;;;4215:51:141;;;;;;:69;:115::i;:::-;-1:-1:-1;;;;;4202:128:141;;4034:301;-1:-1:-1;;;4034:301:141:o;4035:119:158:-;4090:7;4112:23;:21;:23::i;:::-;:37;;4035:119;-1:-1:-1;4035:119:158:o;1260:808:258:-;1457:30;1479:4;1485:1;1457:21;:30::i;:::-;1578:29;1600:3;1605:1;1578:21;:29::i;:::-;1613;1636:5;1613:22;:29::i;:::-;1649:35;1720:26;;;:17;:26;;;;;;;;:34;;-1:-1:-1;;;;;;1720:34:258;-1:-1:-1;;;;;1720:34:258;;;;;;;;1787:123;;;;;;;;;;;;;;;;;;;;;;1888:15;1787:123;;;;1760:24;;;-1:-1:-1;;;;;;;;;;;1760:24:258;;;;;;:150;;-1:-1:-1;;;;;;;;;;;847:12:259;1787:123:258;1760:24;;;:150;;:24;:150;:::i;:::-;-1:-1:-1;1760:150:258;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1760:150:258;;;;;;;;;;;;;;;;;;;1942:121;;;;;;;;;;-1:-1:-1;1942:121:258;;;;;;-1:-1:-1;;;;;1916:23:258;;-1:-1:-1;1916:23:258;;;:16;;;:23;;;;;:147;;:23;;:147;;:23;:147;:::i;:::-;-1:-1:-1;1916:147:258;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;1260:808:258:o;15799:2642:158:-;15867:20;15890:23;:21;:23::i;:::-;:37;;-1:-1:-1;15890:37:158;15937:13;;;15933:44;;15959:18;;-1:-1:-1;;;15959:18:158;;;;;;;;;;;15933:44;15984:61;16014:1;16018:2;16022:12;16036:8;15984:21;:61::i;:::-;16474:32;16454:53;;16396:23;:21;:23::i;:::-;-1:-1:-1;;;;;16396:46:158;;;;;;:42;;;;;:46;;;;;;:111;;;;;;;;;10229:11;10204:23;10200:41;-1:-1:-1;10624:15:158;;10598:24;10594:46;10197:52;10187:63;16707:23;:21;:23::i;:::-;:71;;;;:41;;;;;:71;;;;;:188;;;;-1:-1:-1;;;;;17416:25:158;;;16942:23;;;;16758:12;;17416:25;;17602;16707:71;;17488:260;18026:1;18012:12;18008:20;17977:275;18058:3;18049:7;18046:16;17977:275;;18234:7;18224:8;18221:1;18194:25;18191:1;18188;18183:59;18100:1;18087:15;17977:275;;;17981:57;18271:8;18283:1;18271:13;18267:45;;18293:19;;-1:-1:-1;;;18293:19:158;;;;;;;;;;;18267:45;18361:3;18321:23;:21;:23::i;:::-;:43;-1:-1:-1;18376:60:158;;-1:-1:-1;18321:37:158;18409:2;18413:12;18427:8;18376:20;:60::i;481:183:260:-;539:29;561:3;566:1;539:21;:29::i;:::-;575:37;:43;615:3;575:37;:43;:::i;:::-;;629:30;655:3;629:30;;;;;;:::i;:::-;;;;;;;;481:183;:::o;3046:221:141:-;3091:13;3177:12;3165:8;:6;:8::i;:::-;:24;;;3157:61;;;;-1:-1:-1;;;3157:61:141;;15656:2:654;3157:61:141;;;15638:21:654;15695:2;15675:18;;;15668:30;15734:26;15714:18;;;15707:54;15778:18;;3157:61:141;15454:348:654;3157:61:141;-1:-1:-1;3224:38:141;;;;;;;;;;;;;;;;;;3046:221::o;5293:129::-;-1:-1:-1;;;;;5375:42:141;;;5353:7;5375:42;;;219:52:142;5375:42:141;;;;;;;;5293:129::o;699:228:258:-;752:31;775:7;752:22;:31::i;:::-;-1:-1:-1;;;;;;;;;;;860:20:258;;-1:-1:-1;;;;;860:20:258;;-1:-1:-1;;;;;;860:20:258;;;;;;;891:31;;;1101:51:654;;;891:31:258;;;;;;1089:2:654;891:31:258;;;746:181;699:228;:::o;6651:401:141:-;6771:19;6793;6804:7;6793:10;:19::i;:::-;-1:-1:-1;;;;;6818:42:141;;;:33;:42;;;219:52:142;6818:42:141;;;;;;:54;;-1:-1:-1;;;;;;6818:54:141;;;;;;;;;;6884:48;;6771:41;;-1:-1:-1;6818:54:141;6884:48;;;;;;6818:33;6884:48;6938:68;6957:11;6970:9;6981:24;6997:7;6981:15;:24::i;:::-;6938:18;:68::i;2828:580:258:-;2885:12;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2885:12:258;-1:-1:-1;;;;;2949:62:258;;2905:41;2949:62;;;-1:-1:-1;;;;;;;;;;;2949:62:258;;;;;;;;3069:54;:61;;;;;;;3150:253;;;;;;;;;;2949:62;;3069:61;;3150:253;;2949:62;;3150:253;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3201:9;:13;;3150:253;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3233:9;:17;;;3150:253;;;;3271:9;:19;;;3150:253;;;;3318:8;:25;;3150:253;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3370:8;:24;;3150:253;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3137:266;;;;2828:580;;;:::o;3333:242:158:-;3391:7;-1:-1:-1;;;;;3410:19:158;;3406:60;;3438:28;;-1:-1:-1;;;3438:28:158;;;;;;;;;;;3406:60;564:13;3485:23;:21;:23::i;:::-;:42;;:49;3528:5;-1:-1:-1;;;;;3485:49:158;-1:-1:-1;;;;;3485:49:158;;;;;;;;;;;;;:85;3472:98;;3333:242;;;:::o;5281:169:257:-;5377:10;5345:28;5354:18;5366:5;5354:11;:18::i;5345:28::-;-1:-1:-1;;;;;5345:42:257;;5341:105;;5404:35;;-1:-1:-1;;;5404:35:257;;;;;;;;;;;2072:752:258;2250:30;2272:4;2278:1;2250:21;:30::i;:::-;2371:29;2393:3;2398:1;2371:21;:29::i;:::-;-1:-1:-1;;;;;2522:24:258;;2407:35;2522:24;;;-1:-1:-1;;;;;;;;;;;2522:24:258;;;;;-1:-1:-1;;;;;;;;;;;847:12:259;2522:24:258;2552:21;2569:4;2522:24;2552:21;:::i;:::-;-1:-1:-1;2579:13:258;;;:19;2595:3;2579:13;:19;:::i;:::-;-1:-1:-1;;;;;;2656:23:258;;2605:48;2656:23;;;:16;;;:23;;;;;;2685:44;2713:16;2656:23;2685:44;:::i;:::-;-1:-1:-1;2735:24:258;;;:42;2762:15;2735:24;:42;:::i;:::-;-1:-1:-1;2789:30:258;;-1:-1:-1;;;;;2789:30:258;;;;;;;;2244:580;;;2072:752;;;;;:::o;3412:142::-;-1:-1:-1;;;;;3493:48:258;3471:7;3493:48;;;-1:-1:-1;;;;;;;;;;;3493:48:258;;;;;:41;:56;;;3412:142::o;5542:115:595:-;5596:13;-1:-1:-1;;;;;;;;;;;5624:22:595;7854:139;5870:121;5927:13;-1:-1:-1;;;;;;;;;;;5955:22:595;7854:139;4945:274:141;5024:7;5059:8;:6;:8::i;:::-;5047:20;;:9;:20;5039:53;;;;-1:-1:-1;;;5039:53:141;;13112:2:654;5039:53:141;;;13094:21:654;13151:2;13131:18;;;13124:30;-1:-1:-1;;;13170:18:654;;;13163:50;13230:18;;5039:53:141;12910:344:654;5039:53:141;5111:103;5178:28;5196:9;5178:17;:28::i;:::-;5111:39;;:57;:103::i;:::-;-1:-1:-1;;;;;5098:116:141;;4945:274;-1:-1:-1;;4945:274:141:o;2803:98::-;2844:6;2865:31;2883:12;2865:17;:31::i;3521:146::-;-1:-1:-1;;;;;3602:51:141;;3580:7;3602:51;;;-1:-1:-1;;;;;;;;;;;3602:51:141;;;;;:60;;:58;:60::i;3936:269:157:-;4126:8;4038:23;:21;:23::i;:::-;29364:10:158;4038:63:157;;;;:42;;;;;:63;;;;;;;;-1:-1:-1;;;;;4038:85:157;;;;;;;;;;;;:96;;-1:-1:-1;;4038:96:157;;;;;;;;;;;4145:55;;11745:14:654;;11738:22;11720:41;;4038:85:157;;29364:10:158;;4145:55:157;;11693:18:654;4145:55:157;;;;;;;3936:269;;:::o;14707:674:158:-;14870:139;;-1:-1:-1;;;14870:139:158;;14848:4;;-1:-1:-1;;;;;14870:56:158;;;;;:139;;29364:10;;14965:4;;14979:7;;14996:5;;14870:139;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14870:139:158;;;;;;;;-1:-1:-1;;14870:139:158;;;;;;;;;;;;:::i;:::-;;;14860:517;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15192:6;:13;15209:1;15192:18;15188:183;;15229:40;;-1:-1:-1;;;15229:40:158;;;;;;;;;;;15188:183;15345:6;15339:13;15330:6;15326:2;15322:15;15315:38;14860:517;-1:-1:-1;;;;;;15061:83:158;-1:-1:-1;;;15061:83:158;;-1:-1:-1;14860:517:158;14707:674;;;;;;:::o;5492:467:141:-;5667:6;5648:15;:25;;5640:62;;;;-1:-1:-1;;;5640:62:141;;16798:2:654;5640:62:141;;;16780:21:654;16837:2;16817:18;;;16810:30;16876:26;16856:18;;;16849:54;16920:18;;5640:62:141;16596:348:654;5640:62:141;5782:58;;;2349:71;5782:58;;;17180:25:654;-1:-1:-1;;;;;17241:32:654;;17221:18;;;17214:60;;;;17290:18;;;17283:34;;;17333:18;;;17326:34;;;5708:14:141;;5725:157;;5746:103;;17152:19:654;;5782:58:141;;;;;;;;;;;;5772:69;;;;;;5746:16;:103::i;:::-;5857:1;5866;5875;5725:13;:157::i;:::-;5708:174;;5889:31;5906:6;5914:5;5889:16;:31::i;:::-;5926:28;5936:6;5944:9;5926;:28::i;:::-;5634:325;5492:467;;;;;;:::o;11064:301:158:-;11129:4;11200:23;:21;:23::i;:::-;:37;11190:47;;11154:187;;;;;-1:-1:-1;;;11268:23:158;:21;:23::i;:::-;:50;;;;:41;;;;;:50;;;;;;:68;:73;11141:200;11064:301;-1:-1:-1;;11064:301:158:o;860:940:260:-;954:35;1047:26;;;:17;:26;;;;;;933:13;;-1:-1:-1;;;;;;;;;;;847:12:259;-1:-1:-1;;;;;1047:26:260;;1080:66;;1119:27;;-1:-1:-1;;;1119:27:260;;;;;;;;;;;1080:66;-1:-1:-1;;;;;1193:31:260;;1153:37;1193:31;;;:17;;;:31;;;;;1286:9;;;1280:23;;;;;:::i;:::-;:28;;-1:-1:-1;1276:50:260;;1317:5;:9;;1310:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;860:940;;;:::o;1276:50::-;1333:24;1360:2;:13;;1333:40;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:14;1403:10;1397:24;1380:41;;1431:6;1441:1;1431:11;1427:54;;1451:30;;-1:-1:-1;;;1451:30:260;;;;;;;;;;;1427:54;1556:10;1577:1;1568:6;:10;1550:29;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;1550:29:260;-1:-1:-1;;;1550:37:260;1546:244;;1630:10;1647:37;:12;-1:-1:-1;;;;;1647:35:260;;:37::i;:::-;1616:69;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1599:86;;;;;;;860:940;;;:::o;1546:244::-;1731:10;1743:37;:12;-1:-1:-1;;;;;1743:35:260;;:37::i;:::-;1717:64;;;;;;;;;:::i;1033:282:157:-;1138:25;-1:-1:-1;;;1138:13:157;:25::i;:::-;1203;-1:-1:-1;;;1203:13:157;:25::i;:::-;1276:34;1295:5;1302:7;1276:18;:34::i;668:119:260:-;717:13;-1:-1:-1;;;;;;;;;;;745:37:260;;738:44;;;;;:::i;2742:153:595:-;296:66:555;1263:42:554;-1:-1:-1;;;1263:42:554;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;2852:38:595::1;2876:4;2882:7;2852:23;:38::i;22314:186:158:-:0;22417:4;22436:23;:21;:23::i;:::-;-1:-1:-1;;;;;22436:49:158;;;;;;;:42;;;;;:49;;;;;;;;:59;;;;;;;;;;-1:-1:-1;22436:59:158;;;;;22314:186::o;23284:439::-;23390:13;23406:17;23415:7;23406:8;:17::i;:::-;23390:33;;23434:13;23430:184;;;29364:10;-1:-1:-1;;;;;23459:28:158;;;23455:159;;23502:45;23520:5;29364:10;23502:17;:45::i;:::-;23497:117;;23568:35;;-1:-1:-1;;;23568:35:158;;;;;;;;;;;23497:117;23677:2;23620:23;:21;:23::i;:::-;:48;;;;:39;;;;;:48;;;;;;:59;;-1:-1:-1;;;;;;23620:59:158;-1:-1:-1;;;;;23620:59:158;;;;;;23690:28;23620:48;;23690:28;;;;;;;;;;23620:48;23690:28;23384:339;23284:439;;;:::o;7276:491:141:-;-1:-1:-1;;;;;7391:18:141;;7387:151;;7419:112;7434:39;7483:4;7497:26;7516:6;7497:18;:26::i;:::-;7419:5;:112::i;:::-;;;7387:151;-1:-1:-1;;;;;7547:16:141;;7543:154;;7573:117;7588:39;7637:9;7656:26;7675:6;7656:18;:26::i;7573:117::-;;;7543:154;7702:60;7721:16;7732:4;7721:10;:16::i;:::-;7739:14;7750:2;7739:10;:14::i;:::-;7755:6;7702:18;:60::i;3416:268:595:-;3471:7;2090:107;3562:17;:15;:17::i;:::-;3591:20;:18;:20::i;:::-;3518:153;;;;;;18897:25:654;;;;18938:18;;18931:34;;;;18981:18;;;18974:34;3623:13:595;19024:18:654;;;19017:34;3656:4:595;19067:19:654;;;19060:61;18869:19;;3518:153:595;;;;;;;;;;;;3499:180;;;;;;3486:193;;3416:268;:::o;15296:213:508:-;15352:6;15382:16;15374:24;;15370:103;;;15421:41;;-1:-1:-1;;;15421:41:508;;15452:2;15421:41;;;19313:36:654;19365:18;;;19358:34;;;19286:18;;15421:41:508;19132:266:654;15370:103:508;-1:-1:-1;15496:5:508;15296:213::o;8964:548:139:-;9090:24;;9061:7;;;9090:24;9177:1;9171:7;;9167:190;;;9188:11;9208:14;9218:3;9208:9;:14::i;:::-;9202:20;;:3;:20;:::i;:::-;13062:28;13115:20;;;13174:4;13161:18;;9188:34;;-1:-1:-1;13157:28:139;;9240:42;;;;;9234:48;;;;9230:121;;;9301:3;9294:10;;9230:121;;;9335:7;:3;9341:1;9335:7;:::i;:::-;9329:13;;9230:121;9180:177;9167:190;9363:11;9377:53;9396:4;9415:3;9420;9425:4;9377:18;:53::i;:::-;9363:67;-1:-1:-1;9444:8:139;;:63;;9459:41;9473:4;9492:7;9498:1;9492:3;:7;:::i;:::-;13062:28;13115:20;;;13174:4;13161:18;;;13157:28;;12962:233;9459:41;:48;-1:-1:-1;;;9459:48:139;;-1:-1:-1;;;;;9459:48:139;9444:63;;;9455:1;9444:63;9437:70;8964:548;-1:-1:-1;;;;;;;8964:548:139:o;418:186:316:-;537:15;;522:4;;537:21;-1:-1:-1;533:66:316;;;567:32;;-1:-1:-1;;;567:32:316;;;;;;;;;;;740:119;-1:-1:-1;;;;;800:18:316;;796:58;;827:27;;-1:-1:-1;;;827:27:316;;;;;;;;;;;4968:135:257;5058:7;5080:18;5090:7;5080:9;:18::i;7845:698:141:-;7957:2;-1:-1:-1;;;;;7949:10:141;:4;-1:-1:-1;;;;;7949:10:141;;;:24;;;;;7972:1;7963:6;:10;7949:24;7945:594;;;-1:-1:-1;;;;;7987:18:141;;;7983:277;;-1:-1:-1;;;;;8073:48:141;;8018:16;8073:48;;;-1:-1:-1;;;;;;;;;;;8073:48:141;;;;;8018:16;;8056:134;;8133:9;8154:26;8173:6;8154:18;:26::i;8056:134::-;-1:-1:-1;;;;;8017:173:141;;;-1:-1:-1;;;;;8017:173:141;;;8226:4;-1:-1:-1;;;;;8205:46:141;;8232:8;8242;8205:46;;;;;;19972:25:654;;;20028:2;20013:18;;20006:34;19960:2;19945:18;;19798:248;8205:46:141;;;;;;;;8007:253;;7983:277;-1:-1:-1;;;;;8271:16:141;;;8267:266;;-1:-1:-1;;;;;8355:46:141;;8300:16;8355:46;;;-1:-1:-1;;;;;;;;;;;8355:46:141;;;;;8300:16;;8338:127;;8413:4;8429:26;8448:6;8429:18;:26::i;8338:127::-;-1:-1:-1;;;;;8299:166:141;;;-1:-1:-1;;;;;8299:166:141;;;8501:2;-1:-1:-1;;;;;8480:44:141;;8505:8;8515;8480:44;;;;;;19972:25:654;;;20028:2;20013:18;;20006:34;19960:2;19945:18;;19798:248;8480:44:141;;;;;;;;8289:244;;7845:698;;;:::o;14296:213:508:-;14352:6;14382:16;14374:24;;14370:103;;;14421:41;;-1:-1:-1;;;14421:41:508;;14452:2;14421:41;;;19313:36:654;19365:18;;;19358:34;;;19286:18;;14421:41:508;19132:266:654;9624:196:139;9715:24;;9686:7;;9752:8;;:63;;9767:41;9781:4;9800:7;9806:1;9800:3;:7;:::i;9767:41::-;:48;-1:-1:-1;;;9767:48:139;;-1:-1:-1;;;;;9767:48:139;9752:63;;;9763:1;9745:70;9624:196;-1:-1:-1;;;9624:196:139:o;4277:178:595:-;4362:7;4384:66;4417:20;:18;:20::i;:::-;4439:10;3501:4:504;3495:11;-1:-1:-1;;;3519:23:504;;3571:4;3562:14;;3555:39;;;;3623:4;3614:14;;3607:34;3679:4;3664:20;;;3326:374;6887:260:500;6972:7;6992:17;7011:18;7031:16;7051:25;7062:4;7068:1;7071;7074;7051:10;:25::i;:::-;6991:85;;;;;;7086:28;7098:5;7105:8;7086:11;:28::i;:::-;-1:-1:-1;7131:9:500;;6887:260;-1:-1:-1;;;;;;6887:260:500:o;1161:202:594:-;-1:-1:-1;;;;;1008:37:594;;1240:15;1008:37;;;1781:12;1008:37;;;;;:39;;;;;;;;1284:16;;;1280:79;;1317:35;;-1:-1:-1;;;1317:35:594;;-1:-1:-1;;;;;20514:32:654;;1317:35:594;;;20496:51:654;20563:18;;;20556:34;;;20469:18;;1317:35:594;20322:274:654;15930:847:646;16000:20;16041:18;16053:5;16041:11;:18::i;:::-;16284:2;16235:4;16223:17;;16271:16;;;16032:27;;-1:-1:-1;16147:24:646;;16289:13;16267:36;-1:-1:-1;;;16162:1:646;16395:168;16462:15;;;16455:23;;16444:9;;;16437:42;16508:1;16501:9;;;-1:-1:-1;;16530:9:646;16395:168;16527:22;16399:14;;;16638:4;16634:1;16628:8;16624:19;16617:4;16611:11;16607:37;16604:1;16600:45;16596:1;16590:8;16586:60;16583:1;16576:71;16672:4;16669:1;16665:12;16660:17;;16752:4;16748:1;16742:8;16738:19;16731:4;16725:11;16721:37;16718:1;16714:45;16710:1;16704:8;16700:60;16697:1;16690:71;;;15930:847;;;:::o;456:282:557:-;-1:-1:-1;;;;;;1119:62:557;;1100:4;1119:62;;;296:66:559;1119:62:557;;;;;;;;514:182;;-1:-1:-1;;;;;;560:62:557;;:49;:62;;;296:66:559;560:62:557;;;;;:69;;-1:-1:-1;;560:69:557;625:4;560:69;;;514:182;;;657:32;;-1:-1:-1;;;657:32:557;;;;;;;;;;;514:182;706:27;;-1:-1:-1;;;;;;706:27:557;;;;;;;;456:282;:::o;2553:247:158:-;2650:32;2685:23;:21;:23::i;:::-;2650:58;-1:-1:-1;2715:8:158;;;:15;2726:4;2715:8;:15;:::i;:::-;-1:-1:-1;2736:10:158;;;:19;2749:6;2736:10;:19;:::i;:::-;-1:-1:-1;3941:7:158;2761:34;;-1:-1:-1;;2553:247:158:o;2899:332:595:-;3002:28;:35;3033:4;3002:28;:35;:::i;:::-;-1:-1:-1;3043:31:595;:41;3077:7;3043:31;:41;:::i;:::-;-1:-1:-1;;3178:1:595;-1:-1:-1;;;;;;;;;;;3141:38:595;;;3185:37;:41;-1:-1:-1;2899:332:595:o;8806:90:141:-;8864:7;8886:5;8890:1;8886;:5;:::i;3156:218:508:-;3213:7;-1:-1:-1;;;;;3236:25:508;;3232:105;;;3284:42;;-1:-1:-1;;;3284:42:508;;3315:3;3284:42;;;19313:36:654;19365:18;;;19358:34;;;19286:18;;3284:42:508;19132:266:654;8547:255:141;8700:7;8709;8731:66;8742:27;8760:8;:6;:8::i;:::-;8742:27;;:17;:27::i;:::-;8771:25;8774:14;:5;:12;:14::i;:::-;8790:5;8771:2;:25;;:::i;:::-;8731:5;;:66;:10;:66::i;:::-;8724:73;;;;8547:255;;;;;;;:::o;8900:95::-;8963:7;8985:5;8989:1;8985;:5;:::i;6194:577:595:-;6244:7;6259:18;6280:13;:11;:13::i;:::-;6303:18;;6259:34;;-1:-1:-1;6303:22:595;6299:468;;6342:22;;;;;;;;6194:577;-1:-1:-1;6194:577:595:o;6299:468::-;-1:-1:-1;;;;;;;;;;;6617:34:595;6663:15;;6659:102;;6697:10;6194:577;-1:-1:-1;;6194:577:595:o;6659:102::-;6739:13;6732:20;;;;6194:577;:::o;6980:613::-;7033:7;7048:21;7072:16;:14;:16::i;:::-;7098:21;;7048:40;;-1:-1:-1;7098:25:595;7094:495;;7140:25;;;;;;;;6980:613;-1:-1:-1;6980:613:595:o;7094:495::-;7430:37;;7479:18;;7475:108;;7516:13;6980:613;-1:-1:-1;;6980:613:595:o;18080:5181:507:-;18128:7;18246:1;18241;:6;18237:53;;-1:-1:-1;18274:1:507;18080:5181::o;18237:53::-;19230:1;19258;-1:-1:-1;;;19278:16:507;;19274:92;;19321:3;19314:10;;;;;19349:2;19342:9;19274:92;19390:7;19383:2;:15;19379:90;;19425:2;19418:9;;;;;19452:2;19445:9;19379:90;-1:-1:-1;;;19486:2:507;:15;19482:90;;19528:2;19521:9;;;;;19555:2;19548:9;19482:90;19596:7;19589:2;:15;19585:89;;19631:2;19624:9;;;;;19658:1;19651:8;19585:89;19698:6;19691:2;:14;19687:87;;19732:1;19725:8;;;;;19758:1;19751:8;19687:87;19798:6;19791:2;:14;19787:87;;19832:1;19825:8;;;;;19858:1;19851:8;19787:87;19898:6;19891:2;:14;19887:61;;19932:1;19925:8;19887:61;20374:1;:6;20385:1;20373:13;;;;;22284:1;20373:13;22284:6;;;;:::i;:::-;;22279:2;:11;22278:18;;22273:23;;22404:1;22397:2;22393:1;:6;;;;;:::i;:::-;;22388:2;:11;22387:18;;22382:23;;22515:1;22508:2;22504:1;:6;;;;;:::i;:::-;;22499:2;:11;22498:18;;22493:23;;22624:1;22617:2;22613:1;:6;;;;;:::i;:::-;;22608:2;:11;22607:18;;22602:23;;22734:1;22727:2;22723:1;:6;;;;;:::i;:::-;;22718:2;:11;22717:18;;22712:23;;22844:1;22837:2;22833:1;:6;;;;;:::i;:::-;;22828:2;:11;22827:18;;22822:23;;23216:28;23241:2;23237:1;:6;;;;;:::i;:::-;;23232:11;;;34795:145:508;23216:28:507;23211:33;;;18080:5181;-1:-1:-1;;;18080:5181:507:o;11772:361:139:-;11911:7;11926:186;11939:4;11933:3;:10;11926:186;;;11953:11;11967:23;11980:3;11985:4;11967:12;:23::i;:::-;13062:28;13115:20;;;13174:4;13161:18;;11953:37;;-1:-1:-1;12002:35:139;;;;13157:28;;12002:29;;;:35;11998:108;;;12056:3;12049:10;;11998:108;;;12090:7;:3;12096:1;12090:7;:::i;:::-;12084:13;;11998:108;11945:167;11926:186;;;-1:-1:-1;12124:4:139;11772:361;-1:-1:-1;;;11772:361:139:o;5203:1551:500:-;5329:17;;;6283:66;6270:79;;6266:164;;;-1:-1:-1;6381:1:500;;-1:-1:-1;6385:30:500;;-1:-1:-1;6417:1:500;6365:54;;6266:164;6541:24;;;6524:14;6541:24;;;;;;;;;21609:25:654;;;21682:4;21670:17;;21650:18;;;21643:45;;;;21704:18;;;21697:34;;;21747:18;;;21740:34;;;6541:24:500;;21581:19:654;;6541:24:500;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6541:24:500;;-1:-1:-1;;6541:24:500;;;-1:-1:-1;;;;;;;6579:20:500;;6575:113;;-1:-1:-1;6631:1:500;;-1:-1:-1;6635:29:500;;-1:-1:-1;6631:1:500;;-1:-1:-1;6615:62:500;;6575:113;6706:6;-1:-1:-1;6714:20:500;;-1:-1:-1;6714:20:500;;-1:-1:-1;5203:1551:500;;;;;;;;;:::o;7280:532::-;7375:20;7366:5;:29;;;;;;;;:::i;:::-;;7362:444;;7280:532;;:::o;7362:444::-;7471:29;7462:5;:38;;;;;;;;:::i;:::-;;7458:348;;7523:23;;-1:-1:-1;;;7523:23:500;;;;;;;;;;;7458:348;7576:35;7567:5;:44;;;;;;;;:::i;:::-;;7563:243;;7634:46;;-1:-1:-1;;;7634:46:500;;;;;1746:25:654;;;1719:18;;7634:46:500;1600:177:654;7563:243:500;7710:30;7701:5;:39;;;;;;;;:::i;:::-;;7697:109;;7763:32;;-1:-1:-1;;;7763:32:500;;;;;1746:25:654;;;1719:18;;7763:32:500;1600:177:654;16937:441:646;16996:20;17037:26;17057:5;17037:19;:26::i;:::-;17152:13;;17220:6;17205:22;;17167:1;17148:21;-1:-1:-1;;17276:14:646;;;17324:17;;;17276:14;16937:441;-1:-1:-1;;16937:441:646:o;7623:172:139:-;7721:7;;7752:38;7760:4;7779:3;7784:5;7752:7;:38::i;3595:153:507:-;3657:7;3730:11;3740:1;3731:5;;;3730:11;:::i;:::-;3720:21;;3721:5;;;3720:21;:::i;17515:1347:646:-;17582:20;17696:4;17690:11;17680:21;;18021:4;18013:6;18009:17;18003:4;17996:31;18053:34;18047:4;18040:48;18164:1;18156:6;18152:14;18142:24;;18194:2;18186:6;18179:18;18252:4;18244:6;18240:17;18289:1;18284:2;18281:1;18277:10;18270:21;18359:5;18355:2;18351:14;18342:23;;18561:1;18546:300;18611:1;18608;18604:9;18601:1;18597:17;18651:5;18648:1;18643:14;18709:2;18703:4;18699:13;18693:20;18689:1;18686;18682:9;18674:40;18755:4;18752:1;18748:12;18742:19;18739:1;18731:31;-1:-1:-1;;18791:1:646;18784:9;;;-1:-1:-1;;18813:9:646;18546:300;18810:22;18550:14;;17515:1347;;;:::o;10688:752:139:-;10833:11;;10795:7;;;;10855;;10851:585;;10918:25;10946:28;10960:4;10966:7;10972:1;10966:3;:7;:::i;10946:28::-;10918:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10918:56:139;;;-1:-1:-1;;;;;10918:56:139;;;;;;;-1:-1:-1;11040:16:139;;;-1:-1:-1;11040:16:139;11032:56;;;;-1:-1:-1;;;11032:56:139;;22341:2:654;11032:56:139;;;22323:21:654;22380:2;22360:18;;;22353:30;22419:29;22399:18;;;22392:57;22466:18;;11032:56:139;22139:351:654;11032:56:139;11140:9;;:16;;;;;;;11136:161;;11206:5;11168:28;11182:4;11188:7;11194:1;11188:3;:7;:::i;11168:28::-;:43;;-1:-1:-1;;;;;11168:43:139;;;;-1:-1:-1;;;11168:43:139;;;;;;;;;;;11136:161;;;11246:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;11246:41:139;;;;;;;;;;11236:52;;;;;;;-1:-1:-1;11236:52:139;;;;;;;;;;;;;;-1:-1:-1;;;11236:52:139;;;;;;;;;;11136:161;11312:11;;;;-1:-1:-1;11325:5:139;;-1:-1:-1;11304:27:139;;-1:-1:-1;11304:27:139;10851:585;-1:-1:-1;;11362:41:139;;;;;;;;;;;;;;;-1:-1:-1;;;;;11362:41:139;;;;;;;;;;11352:52;;;;;;;-1:-1:-1;11352:52:139;;;;;;;;;;;;;-1:-1:-1;;;11352:52:139;;;;;;;;;;;;-1:-1:-1;;11396:5:139;11412:17;;14:250:654;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:654;238:16;;231:27;14:250::o;269:271::-;311:3;349:5;343:12;376:6;371:3;364:19;392:76;461:6;454:4;449:3;445:14;438:4;431:5;427:16;392:76;:::i;:::-;522:2;501:15;-1:-1:-1;;497:29:654;488:39;;;;529:4;484:50;;269:271;-1:-1:-1;;269:271:654:o;545:220::-;694:2;683:9;676:21;657:4;714:45;755:2;744:9;740:18;732:6;714:45;:::i;770:180::-;829:6;882:2;870:9;861:7;857:23;853:32;850:52;;;898:1;895;888:12;850:52;-1:-1:-1;921:23:654;;770:180;-1:-1:-1;770:180:654:o;1163:173::-;1231:20;;-1:-1:-1;;;;;1280:31:654;;1270:42;;1260:70;;1326:1;1323;1316:12;1260:70;1163:173;;;:::o;1341:254::-;1409:6;1417;1470:2;1458:9;1449:7;1445:23;1441:32;1438:52;;;1486:1;1483;1476:12;1438:52;1509:29;1528:9;1509:29;:::i;:::-;1499:39;1585:2;1570:18;;;;1557:32;;-1:-1:-1;;;1341:254:654:o;1782:328::-;1859:6;1867;1875;1928:2;1916:9;1907:7;1903:23;1899:32;1896:52;;;1944:1;1941;1934:12;1896:52;1967:29;1986:9;1967:29;:::i;:::-;1957:39;;2015:38;2049:2;2038:9;2034:18;2015:38;:::i;:::-;2005:48;;2100:2;2089:9;2085:18;2072:32;2062:42;;1782:328;;;;;:::o;2297:127::-;2358:10;2353:3;2349:20;2346:1;2339:31;2389:4;2386:1;2379:15;2413:4;2410:1;2403:15;2429:632;2494:5;2524:18;2565:2;2557:6;2554:14;2551:40;;;2571:18;;:::i;:::-;2646:2;2640:9;2614:2;2700:15;;-1:-1:-1;;2696:24:654;;;2722:2;2692:33;2688:42;2676:55;;;2746:18;;;2766:22;;;2743:46;2740:72;;;2792:18;;:::i;:::-;2832:10;2828:2;2821:22;2861:6;2852:15;;2891:6;2883;2876:22;2931:3;2922:6;2917:3;2913:16;2910:25;2907:45;;;2948:1;2945;2938:12;2907:45;2998:6;2993:3;2986:4;2978:6;2974:17;2961:44;3053:1;3046:4;3037:6;3029;3025:19;3021:30;3014:41;;;;2429:632;;;;;:::o;3066:222::-;3109:5;3162:3;3155:4;3147:6;3143:17;3139:27;3129:55;;3180:1;3177;3170:12;3129:55;3202:80;3278:3;3269:6;3256:20;3249:4;3241:6;3237:17;3202:80;:::i;3293:1019::-;3428:6;3436;3444;3452;3460;3513:3;3501:9;3492:7;3488:23;3484:33;3481:53;;;3530:1;3527;3520:12;3481:53;3570:9;3557:23;3599:18;3640:2;3632:6;3629:14;3626:34;;;3656:1;3653;3646:12;3626:34;3679:50;3721:7;3712:6;3701:9;3697:22;3679:50;:::i;:::-;3669:60;;3782:2;3771:9;3767:18;3754:32;3738:48;;3811:2;3801:8;3798:16;3795:36;;;3827:1;3824;3817:12;3795:36;3850:52;3894:7;3883:8;3872:9;3868:24;3850:52;:::i;:::-;3840:62;;3921:38;3955:2;3944:9;3940:18;3921:38;:::i;:::-;3911:48;;4012:2;4001:9;3997:18;3984:32;3968:48;;4041:2;4031:8;4028:16;4025:36;;;4057:1;4054;4047:12;4025:36;4080:52;4124:7;4113:8;4102:9;4098:24;4080:52;:::i;:::-;4070:62;;4185:3;4174:9;4170:19;4157:33;4141:49;;4215:2;4205:8;4202:16;4199:36;;;4231:1;4228;4221:12;4199:36;;4254:52;4298:7;4287:8;4276:9;4272:24;4254:52;:::i;:::-;4244:62;;;3293:1019;;;;;;;;:::o;4317:322::-;4386:6;4439:2;4427:9;4418:7;4414:23;4410:32;4407:52;;;4455:1;4452;4445:12;4407:52;4495:9;4482:23;4528:18;4520:6;4517:30;4514:50;;;4560:1;4557;4550:12;4514:50;4583;4625:7;4616:6;4605:9;4601:22;4583:50;:::i;4644:186::-;4703:6;4756:2;4744:9;4735:7;4731:23;4727:32;4724:52;;;4772:1;4769;4762:12;4724:52;4795:29;4814:9;4795:29;:::i;4835:1043::-;5012:2;5001:9;4994:21;4975:4;5050:6;5044:13;5093:4;5088:2;5077:9;5073:18;5066:32;5121:52;5168:3;5157:9;5153:19;5139:12;5121:52;:::i;:::-;5107:66;;5222:2;5214:6;5210:15;5204:22;5249:2;5245:7;5316:2;5304:9;5296:6;5292:22;5288:31;5283:2;5272:9;5268:18;5261:59;5343:41;5377:6;5361:14;5343:41;:::i;:::-;5329:55;;5438:2;5430:6;5426:15;5420:22;5415:2;5404:9;5400:18;5393:50;5498:2;5490:6;5486:15;5480:22;5474:3;5463:9;5459:19;5452:51;5552:3;5544:6;5540:16;5534:23;5512:45;;5622:2;5610:9;5602:6;5598:22;5594:31;5588:3;5577:9;5573:19;5566:60;5649:41;5683:6;5667:14;5649:41;:::i;:::-;5635:55;;5739:3;5731:6;5727:16;5721:23;5699:45;;5810:2;5798:9;5790:6;5786:22;5782:31;5775:4;5764:9;5760:20;5753:61;;5831:41;5865:6;5849:14;5831:41;:::i;:::-;5823:49;4835:1043;-1:-1:-1;;;;;4835:1043:654:o;5883:1019::-;6018:6;6026;6034;6042;6050;6103:3;6091:9;6082:7;6078:23;6074:33;6071:53;;;6120:1;6117;6110:12;6071:53;6143:29;6162:9;6143:29;:::i;:::-;6133:39;;6223:2;6212:9;6208:18;6195:32;6246:18;6287:2;6279:6;6276:14;6273:34;;;6303:1;6300;6293:12;6273:34;6326:50;6368:7;6359:6;6348:9;6344:22;6326:50;:::i;:::-;6316:60;;6429:2;6418:9;6414:18;6401:32;6385:48;;6458:2;6448:8;6445:16;6442:36;;;6474:1;6471;6464:12;6442:36;6497:52;6541:7;6530:8;6519:9;6515:24;6497:52;:::i;6907:1259::-;7313:3;7308;7304:13;7296:6;7292:26;7281:9;7274:45;7255:4;7338:2;7376:3;7371:2;7360:9;7356:18;7349:31;7403:46;7444:3;7433:9;7429:19;7421:6;7403:46;:::i;:::-;7497:9;7489:6;7485:22;7480:2;7469:9;7465:18;7458:50;7531:33;7557:6;7549;7531:33;:::i;:::-;7595:2;7580:18;;7573:34;;;-1:-1:-1;;;;;7644:32:654;;7638:3;7623:19;;7616:61;7664:3;7693:19;;7686:35;;;7758:22;;;7752:3;7737:19;;7730:51;7830:13;;7852:22;;;7902:2;7928:15;;;;-1:-1:-1;7890:15:654;;;;-1:-1:-1;7971:169:654;7985:6;7982:1;7979:13;7971:169;;;8046:13;;8034:26;;8115:15;;;;8080:12;;;;8007:1;8000:9;7971:169;;;-1:-1:-1;8157:3:654;;6907:1259;-1:-1:-1;;;;;;;;;;;;6907:1259:654:o;8372:347::-;8437:6;8445;8498:2;8486:9;8477:7;8473:23;8469:32;8466:52;;;8514:1;8511;8504:12;8466:52;8537:29;8556:9;8537:29;:::i;:::-;8527:39;;8616:2;8605:9;8601:18;8588:32;8663:5;8656:13;8649:21;8642:5;8639:32;8629:60;;8685:1;8682;8675:12;8629:60;8708:5;8698:15;;;8372:347;;;;;:::o;8724:667::-;8819:6;8827;8835;8843;8896:3;8884:9;8875:7;8871:23;8867:33;8864:53;;;8913:1;8910;8903:12;8864:53;8936:29;8955:9;8936:29;:::i;:::-;8926:39;;8984:38;9018:2;9007:9;9003:18;8984:38;:::i;:::-;8974:48;;9069:2;9058:9;9054:18;9041:32;9031:42;;9124:2;9113:9;9109:18;9096:32;9151:18;9143:6;9140:30;9137:50;;;9183:1;9180;9173:12;9137:50;9206:22;;9259:4;9251:13;;9247:27;-1:-1:-1;9237:55:654;;9288:1;9285;9278:12;9237:55;9311:74;9377:7;9372:2;9359:16;9354:2;9350;9346:11;9311:74;:::i;:::-;9301:84;;;8724:667;;;;;;;:::o;9396:618::-;9498:6;9506;9514;9522;9530;9538;9591:3;9579:9;9570:7;9566:23;9562:33;9559:53;;;9608:1;9605;9598:12;9559:53;9631:29;9650:9;9631:29;:::i;:::-;9621:39;;9707:2;9696:9;9692:18;9679:32;9669:42;;9758:2;9747:9;9743:18;9730:32;9720:42;;9812:2;9801:9;9797:18;9784:32;9856:4;9849:5;9845:16;9838:5;9835:27;9825:55;;9876:1;9873;9866:12;9825:55;9396:618;;;;-1:-1:-1;9396:618:654;;9951:3;9936:19;;9923:33;;10003:3;9988:19;;;9975:33;;-1:-1:-1;9396:618:654;-1:-1:-1;;9396:618:654:o;10019:543::-;10107:6;10115;10168:2;10156:9;10147:7;10143:23;10139:32;10136:52;;;10184:1;10181;10174:12;10136:52;10224:9;10211:23;10253:18;10294:2;10286:6;10283:14;10280:34;;;10310:1;10307;10300:12;10280:34;10333:50;10375:7;10366:6;10355:9;10351:22;10333:50;:::i;:::-;10323:60;;10436:2;10425:9;10421:18;10408:32;10392:48;;10465:2;10455:8;10452:16;10449:36;;;10481:1;10478;10471:12;10449:36;;10504:52;10548:7;10537:8;10526:9;10522:24;10504:52;:::i;:::-;10494:62;;;10019:543;;;;;:::o;10567:743::-;10674:6;10682;10690;10743:2;10731:9;10722:7;10718:23;10714:32;10711:52;;;10759:1;10756;10749:12;10711:52;10799:9;10786:23;10828:18;10869:2;10861:6;10858:14;10855:34;;;10885:1;10882;10875:12;10855:34;10908:50;10950:7;10941:6;10930:9;10926:22;10908:50;:::i;:::-;10898:60;;11011:2;11000:9;10996:18;10983:32;10967:48;;11040:2;11030:8;11027:16;11024:36;;;11056:1;11053;11046:12;11024:36;11079:52;11123:7;11112:8;11101:9;11097:24;11079:52;:::i;:::-;11069:62;;11184:2;11173:9;11169:18;11156:32;11140:48;;11213:2;11203:8;11200:16;11197:36;;;11229:1;11226;11219:12;11197:36;;11252:52;11296:7;11285:8;11274:9;11270:24;11252:52;:::i;:::-;11242:62;;;10567:743;;;;;:::o;11315:260::-;11383:6;11391;11444:2;11432:9;11423:7;11419:23;11415:32;11412:52;;;11460:1;11457;11450:12;11412:52;11483:29;11502:9;11483:29;:::i;:::-;11473:39;;11531:38;11565:2;11554:9;11550:18;11531:38;:::i;:::-;11521:48;;11315:260;;;;;:::o;11772:380::-;11851:1;11847:12;;;;11894;;;11915:61;;11969:4;11961:6;11957:17;11947:27;;11915:61;12022:2;12014:6;12011:14;11991:18;11988:38;11985:161;;12068:10;12063:3;12059:20;12056:1;12049:31;12103:4;12100:1;12093:15;12131:4;12128:1;12121:15;13385:543;13487:2;13482:3;13479:11;13476:446;;;13523:1;13547:5;13544:1;13537:16;13591:4;13588:1;13578:18;13661:2;13649:10;13645:19;13642:1;13638:27;13632:4;13628:38;13697:4;13685:10;13682:20;13679:47;;;-1:-1:-1;13720:4:654;13679:47;13775:2;13770:3;13766:12;13763:1;13759:20;13753:4;13749:31;13739:41;;13830:82;13848:2;13841:5;13838:13;13830:82;;;13893:17;;;13874:1;13863:13;13830:82;;14104:1345;14230:3;14224:10;14257:18;14249:6;14246:30;14243:56;;;14279:18;;:::i;:::-;14308:97;14398:6;14358:38;14390:4;14384:11;14358:38;:::i;:::-;14352:4;14308:97;:::i;:::-;14460:4;;14517:2;14506:14;;14534:1;14529:663;;;;15236:1;15253:6;15250:89;;;-1:-1:-1;15305:19:654;;;15299:26;15250:89;-1:-1:-1;;14061:1:654;14057:11;;;14053:24;14049:29;14039:40;14085:1;14081:11;;;14036:57;15352:81;;14499:944;;14529:663;13332:1;13325:14;;;13369:4;13356:18;;-1:-1:-1;;14565:20:654;;;14683:236;14697:7;14694:1;14691:14;14683:236;;;14786:19;;;14780:26;14765:42;;14878:27;;;;14846:1;14834:14;;;;14713:19;;14683:236;;;14687:3;14947:6;14938:7;14935:19;14932:201;;;15008:19;;;15002:26;-1:-1:-1;;15091:1:654;15087:14;;;15103:3;15083:24;15079:37;15075:42;15060:58;15045:74;;14932:201;-1:-1:-1;;;;;15179:1:654;15163:14;;;15159:22;15146:36;;-1:-1:-1;14104:1345:654:o;15807:489::-;-1:-1:-1;;;;;16076:15:654;;;16058:34;;16128:15;;16123:2;16108:18;;16101:43;16175:2;16160:18;;16153:34;;;16223:3;16218:2;16203:18;;16196:31;;;16001:4;;16244:46;;16270:19;;16262:6;16244:46;:::i;:::-;16236:54;15807:489;-1:-1:-1;;;;;;15807:489:654:o;16301:290::-;16370:6;16423:2;16411:9;16402:7;16398:23;16394:32;16391:52;;;16439:1;16436;16429:12;16391:52;16465:16;;-1:-1:-1;;;;;;16510:32:654;;16500:43;;16490:71;;16557:1;16554;16547:12;17371:127;17432:10;17427:3;17423:20;17420:1;17413:31;17463:4;17460:1;17453:15;17487:4;17484:1;17477:15;17503:629;17772:3;17810:6;17804:13;17826:66;17885:6;17880:3;17873:4;17865:6;17861:17;17826:66;:::i;:::-;-1:-1:-1;;;17914:16:654;;;17939:18;;;17982:13;;18004:78;17982:13;18069:1;18058:13;;18051:4;18039:17;;18004:78;:::i;:::-;18102:20;18124:1;18098:28;;17503:629;-1:-1:-1;;;;17503:629:654:o;18137:496::-;18316:3;18354:6;18348:13;18370:66;18429:6;18424:3;18417:4;18409:6;18405:17;18370:66;:::i;:::-;18499:13;;18458:16;;;;18521:70;18499:13;18458:16;18568:4;18556:17;;18521:70;:::i;:::-;18607:20;;18137:496;-1:-1:-1;;;;18137:496:654:o;19403:127::-;19464:10;19459:3;19455:20;19452:1;19445:31;19495:4;19492:1;19485:15;19519:4;19516:1;19509:15;19535:128;19602:9;;;19623:11;;;19620:37;;;19637:18;;:::i;19668:125::-;19733:9;;;19754:10;;;19751:36;;;19767:18;;:::i;20601:182::-;-1:-1:-1;;;;;20708:10:654;;;20720;;;20704:27;;20743:11;;;20740:37;;;20757:18;;:::i;:::-;20740:37;20601:182;;;;:::o;21060:185::-;-1:-1:-1;;;;;21181:10:654;;;21169;;;21165:27;;21204:12;;;21201:38;;;21219:18;;:::i;21250:127::-;21311:10;21306:3;21302:20;21299:1;21292:31;21342:4;21339:1;21332:15;21366:4;21363:1;21356:15;21785:127;21846:10;21841:3;21837:20;21834:1;21827:31;21877:4;21874:1;21867:15;21901:4;21898:1;21891:15;21917:217;21957:1;21983;21973:132;;22027:10;22022:3;22018:20;22015:1;22008:31;22062:4;22059:1;22052:15;22090:4;22087:1;22080:15;21973:132;-1:-1:-1;22119:9:654;;21917:217::o","linkReferences":{}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","__ERC721A_init(string,string)":"d2f01f19","__SpaceOwner_init(string,string,string)":"d7a901d3","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","clock()":"91ddadf4","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getApproved(uint256)":"081812fc","getDefaultUri()":"d6536540","getFactory()":"88cc58e4","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getSpaceInfo(address)":"6a9a38e6","getVotes(address)":"9ab24eb0","isApprovedForAll(address,address)":"e985e9c5","mintSpace(string,string,address,string,string)":"3bf5b8f4","name()":"06fdde03","nextTokenId()":"75794a3c","nonces(address)":"7ecebe00","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultUri(string)":"466a18de","setFactory(address)":"5bb47808","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","updateSpaceInfo(address,string,string,string,string)":"84880614"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ApprovalCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ApprovalQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BalanceQueryForZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Guardian_AlreadyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Guardian_AlreadyEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Guardian_Enabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initializable_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintERC2309QuantityExceedsLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintZeroQuantity\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnershipNotInitializedForExtraData\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceOwner__DefaultUriNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceOwner__OnlyFactoryAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceOwner__OnlySpaceOwnerAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceOwner__SpaceNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFromIncorrectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToNonERC721ReceiverImplementer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"URIQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Validator__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Validator__InvalidStringLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cooldown\",\"type\":\"uint256\"}],\"name\":\"GuardianDefaultCooldownUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"cooldown\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"GuardianUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"SpaceOwner__SetDefaultUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"}],\"name\":\"SpaceOwner__SetFactory\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"SpaceOwner__UpdateSpace\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"name\":\"__ERC721A_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"__SpaceOwner_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"getSpaceInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"shortDescription\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"longDescription\",\"type\":\"string\"}],\"internalType\":\"struct ISpaceOwnerBase.Space\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"shortDescription\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"longDescription\",\"type\":\"string\"}],\"name\":\"mintSpace\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"setDefaultUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"}],\"name\":\"setFactory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"shortDescription\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"longDescription\",\"type\":\"string\"}],\"name\":\"updateSpaceInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"ConsecutiveTransfer(uint256,uint256,address,address)\":{\"details\":\"Emitted when tokens in `fromTokenId` to `toTokenId` (inclusive) is transferred from `from` to `to`, as defined in the [ERC2309](https://eips.ethereum.org/EIPS/eip-2309) standard. See {_mintERC2309} for more details.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. See {ERC721A-_approve}. Requirements: - The caller must own the token or be an approved operator.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in `owner`'s account.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block.\"},\"getSpaceInfo(address)\":{\"params\":{\"space\":\"The address of the space\"},\"returns\":{\"_0\":\"space The space info\"}},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}.\"},\"mintSpace(string,string,address,string,string)\":{\"details\":\"Only the factory is allowed to mint spaces\",\"params\":{\"longDescription\":\"The long description of the space\",\"name\":\"The name of the space\",\"shortDescription\":\"The short description of the space\",\"space\":\"The address of the space\",\"uri\":\"The URI of the space\"},\"returns\":{\"tokenId\":\"The token id of the minted space\"}},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Equivalent to `safeTransferFrom(from, to, tokenId, '')`.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"totalSupply()\":{\"details\":\"Returns the total number of tokens in existence. Burned tokens will reduce the count. To get the total number of tokens minted, please see {_totalMinted}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"},\"updateSpaceInfo(address,string,string,string,string)\":{\"details\":\"Only the space owner is allowed to update the space info\",\"params\":{\"longDescription\":\"The long description of the space\",\"name\":\"The name of the space\",\"shortDescription\":\"The short description of the space\",\"space\":\"The address of the space\",\"uri\":\"The URI of the space\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"ApprovalCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"ApprovalQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"BalanceQueryForZeroAddress()\":[{\"notice\":\"Cannot query the balance for the zero address.\"}],\"MintERC2309QuantityExceedsLimit()\":[{\"notice\":\"The `quantity` minted with ERC2309 exceeds the safety limit.\"}],\"MintToZeroAddress()\":[{\"notice\":\"Cannot mint to the zero address.\"}],\"MintZeroQuantity()\":[{\"notice\":\"The quantity of tokens minted must be more than zero.\"}],\"OwnerQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"OwnershipNotInitializedForExtraData()\":[{\"notice\":\"The `extraData` cannot be set on an unintialized ownership slot.\"}],\"TransferCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"TransferFromIncorrectOwner()\":[{\"notice\":\"The token must be owned by `from`.\"}],\"TransferToNonERC721ReceiverImplementer()\":[{\"notice\":\"Cannot safely transfer to a contract that does not implement the ERC721Receiver interface.\"}],\"TransferToZeroAddress()\":[{\"notice\":\"Cannot transfer to the zero address.\"}],\"URIQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}]},\"events\":{\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"}},\"kind\":\"user\",\"methods\":{\"getDefaultUri()\":{\"notice\":\"Get the default URI\"},\"getFactory()\":{\"notice\":\"Get the factory address\"},\"getSpaceInfo(address)\":{\"notice\":\"Get the space info\"},\"mintSpace(string,string,address,string,string)\":{\"notice\":\"Mint a space\"},\"nextTokenId()\":{\"notice\":\"Get the next token id that will be used to mint a space\"},\"setDefaultUri(string)\":{\"notice\":\"Set the default URI\"},\"setFactory(address)\":{\"notice\":\"Set the factory address that is allowed to mint spaces\"},\"updateSpaceInfo(address,string,string,string,string)\":{\"notice\":\"Update the space info\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/spaces/facets/owner/SpaceOwner.sol\":\"SpaceOwner\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/diamond/facets/governance/votes/Checkpoints.sol\":{\"keccak256\":\"0x4b98db2e67e47ec59caa78fade51e9ec6fa33ee2592e46fed09d9167ebe76c8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72ec6949ee33fb9c137bba362b94af699762fadd66334128d1dd0dbcd4301bc6\",\"dweb:/ipfs/QmQybe6k5K3gss4zzCPqoba6ZBZE5p8KJRoQ2RzkE91JRV\"]},\"contracts/src/diamond/facets/governance/votes/Votes.sol\":{\"keccak256\":\"0x9df4a59415c2a2d260248b6f17b5afebd359c1fc3fa3d30de28c96295a128cb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7bac8e7e2ba6f34aaf7eef070d727f1fb1f05dc0a06acfd84e9ac32e3bc32501\",\"dweb:/ipfs/QmeRpJPPyJzdag6FSyyPYjABFz57XhCQfDKFS72tYMJ69Q\"]},\"contracts/src/diamond/facets/governance/votes/VotesBase.sol\":{\"keccak256\":\"0xe81e2262d09986bb570783b1ede2db66ad63ec80832dd6ae7b95cfad85646ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a9cd57237f494ffe148d39bcf869a12701adbec89b5645e8fc006e52cdceefe\",\"dweb:/ipfs/QmYboWzFp5FTpv3eqEndo6GyDWtzWKoQPV8eQt4TKPcEA5\"]},\"contracts/src/diamond/facets/governance/votes/VotesStorage.sol\":{\"keccak256\":\"0x87a2f9c85f63fcfa8ce2dc14d5a9a6118b33fd7000fb988b300519dec9b89629\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daef1e04a36eb664ec08d4627a2038f3decbeac93b13a2c651b52681ef6f5f5e\",\"dweb:/ipfs/QmbV5SXhZnUW52HLEbhNhKeRXDCyPR6zAJRa98Vh3m9ptF\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721A.sol\":{\"keccak256\":\"0x661d83db028bcc05f041e1bc576e9e6a31d61ca1b2cadf6682c1774a2989d1ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e624fc220c7060456c473e821bd55d7b9e2338081c74e59d9bc7f0f6a0043465\",\"dweb:/ipfs/QmXosKFhm5facMAzgn265aRnkmWL2wwY79WKy6qohuDH2T\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol\":{\"keccak256\":\"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba\",\"dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol\":{\"keccak256\":\"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04\",\"dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey\"]},\"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol\":{\"keccak256\":\"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d\",\"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz\"]},\"contracts/src/diamond/utils/Context.sol\":{\"keccak256\":\"0x4566c941f553d989324d4308c037fe0669062c746d6e5108ce533fcc8ffbcaac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87908ef7e56c826210414cb25a50a3073188e96e6ac2afc2b56d0bba6abb48a7\",\"dweb:/ipfs/QmT41NMs4REQxxeuR48JUcB39UTgcaKdUvizc2XawUF5aq\"]},\"contracts/src/spaces/facets/guardian/GuardianBase.sol\":{\"keccak256\":\"0xa407bb80710960a4faf7cda09ef05d779887d4227c1823dc92f0910d1508039f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://075ccda5d24f69c2ad13eec21e37cb1cd3eac7faef2108179fe6a23005729957\",\"dweb:/ipfs/QmX1Q58kQtwWmwox2oA1nHJ7aoYr9cBVVzi7xdoJBfycmQ\"]},\"contracts/src/spaces/facets/guardian/GuardianStorage.sol\":{\"keccak256\":\"0xb6d7ae2fe80c40120223e660bf5888612f8e93c0e7dc70d6d2532d3e366f0674\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff77c0e4ad11ae6967a46d67c38422e06e45eb4e06aa7d99d611b8e4672aae5f\",\"dweb:/ipfs/QmfZui9wfZimGa4Q93zudgdit6ZUSgTET2WCKYWB7QkpVD\"]},\"contracts/src/spaces/facets/guardian/IGuardian.sol\":{\"keccak256\":\"0x5688fd791b42e359f37edd7b40576e5326b360f5e922ba091eb4bd2fe6234478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93bc1fca6f842a91ae26ac7e19b1f73515c320469b35938c5ab57414b009d206\",\"dweb:/ipfs/QmZ47oFNcHWzP3TQtRzesSz66gJZmhAndHt139nkbeoUTr\"]},\"contracts/src/spaces/facets/membership/metadata/IMembershipMetadata.sol\":{\"keccak256\":\"0x880c5cb358b4a471d273ae582bb0068f679ca0adfd75cf36f21107aced4ecfcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c8f64c60534a1bbf0242d1a4ee69a8b164b78dd62ea1681bf60a801d6db6c80\",\"dweb:/ipfs/QmYYaFyqzZBb6KnJ2BVft418C5m7viZAPLpxHitP8kbJZb\"]},\"contracts/src/spaces/facets/owner/ISpaceOwner.sol\":{\"keccak256\":\"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a\",\"dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw\"]},\"contracts/src/spaces/facets/owner/SpaceOwner.sol\":{\"keccak256\":\"0x7a9f9be94b604d4c22310e0a707876b28fafc29972739bbb041a8fa76288f830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c5d7d95f4cf04bed36afbef4de58efc62ddde1c23f120490755322c6e1b2d6\",\"dweb:/ipfs/QmSz4mwGkKTt9ZDPegmbKPiEtb2HHYgL93BrT8KtJkMsFd\"]},\"contracts/src/spaces/facets/owner/SpaceOwnerBase.sol\":{\"keccak256\":\"0x5f13f9246fbf565ebef09d61477e24a5d6c1a9e0cc3b285521ef356c022d1d0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15fdda81ae99a64bce64200403443cf42bd968c21806146741252489ba537cca\",\"dweb:/ipfs/QmQ7EigQNBttBS2SY3YBmeNqDB7wzaEWSz3GVMYkaKRZpm\"]},\"contracts/src/spaces/facets/owner/SpaceOwnerStorage.sol\":{\"keccak256\":\"0x150e03077204bb3bc21aae37b86f1b0513c55d07ab21cc22885f1376a1411317\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12c4b4d27e0a93ea2a85646a754ffe5b6c02029efeadceafa0bf7a745e08dd1e\",\"dweb:/ipfs/QmWHR5yFEEaPo9SdtRWj13KeJS5uSRhjYdtZRKHx6CQqaN\"]},\"contracts/src/spaces/facets/owner/SpaceOwnerUriBase.sol\":{\"keccak256\":\"0xbc0f6bc661567cdc37620e295a3619aa5787a60fe6330fa6e2044314ab46fe49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eae9fe0a43035a47e600d7a476f314c0a9aebaa59754e851751a18b1736751f\",\"dweb:/ipfs/QmfN95VxwSkkvemoJ3w8gtzYjnehb1aocuu8zVLk6KPCBv\"]},\"contracts/src/utils/Validator.sol\":{\"keccak256\":\"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3\",\"dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x1b8691e244f6e11d987459993671db0af33e6a29f7805eac6a9925cc6b601957\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9e2a5efc2e14e98f5fe91bbab769199b4987a40dd3b96075b04957fda2ae80f\",\"dweb:/ipfs/QmbAjrSSVBiJ6MbgF7Jkr53m674iGMZ6haWbbRrWDZJraK\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875\",\"dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e\",\"dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik\"]},\"node_modules/@river-build/diamond/src/utils/Nonces.sol\":{\"keccak256\":\"0x9217eb7e1a632747cb0b01e6a43f968e61107161b774c47e3c23ec7b2d4f73ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f53415ba8c68ea88c9b14c5265ea1412b8ec30162f121ca10b5ad63226662747\",\"dweb:/ipfs/QmcJ1Moezv2R3RHAsprYWbJe6Pd9754RnEZPvUkiKLN4Eu\"]},\"node_modules/@river-build/diamond/src/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x70463eaed8e7b80bd62948d0f1993c181290d618b21c173f3d25857a41f78d0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9feb0babd6ecc782337d5b13c9e03733b7f099d4b62df28586c0340f47449d09\",\"dweb:/ipfs/QmRDSLeTC4R5mNgzeRsJmpv6ascU52vgmfRx4u3gkatfiJ\"]},\"node_modules/solady/src/utils/LibBytes.sol\":{\"keccak256\":\"0x905f1c122299888350964a3bdd3dccd4b969273389b8d869f9aacb6871ff199e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6cff3ef7090aa48f214b960f373a33c15878f80e617443a3a4d53f130bab862\",\"dweb:/ipfs/QmdMEpK6ZVxUesqSpurqS9UkDnm1kAnjUeJKLN6ZWPNJnT\"]},\"node_modules/solady/src/utils/LibString.sol\":{\"keccak256\":\"0x5311374141ba0733b55d2824b48f61fe3b143ad59e9a3f928b457c3b36676366\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18858389267b3df8acd68f25dfc86f74574a26e95fa8f8cf1ce28dcee037a415\",\"dweb:/ipfs/Qma847UQ2jSfpfo2qNUxVJExTD3VLCipfR7x7yT9eLjbJ5\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ApprovalCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"ApprovalQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"BalanceQueryForZeroAddress"},{"inputs":[],"type":"error","name":"ECDSAInvalidSignature"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"ECDSAInvalidSignatureLength"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"type":"error","name":"ECDSAInvalidSignatureS"},{"inputs":[],"type":"error","name":"Guardian_AlreadyDisabled"},{"inputs":[],"type":"error","name":"Guardian_AlreadyEnabled"},{"inputs":[],"type":"error","name":"Guardian_Enabled"},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32"}],"type":"error","name":"Initializable_AlreadyInitialized"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"type":"error","name":"InvalidAccountNonce"},{"inputs":[],"type":"error","name":"MintERC2309QuantityExceedsLimit"},{"inputs":[],"type":"error","name":"MintToZeroAddress"},{"inputs":[],"type":"error","name":"MintZeroQuantity"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[],"type":"error","name":"OwnerQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"OwnershipNotInitializedForExtraData"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[],"type":"error","name":"SpaceOwner__DefaultUriNotSet"},{"inputs":[],"type":"error","name":"SpaceOwner__OnlyFactoryAllowed"},{"inputs":[],"type":"error","name":"SpaceOwner__OnlySpaceOwnerAllowed"},{"inputs":[],"type":"error","name":"SpaceOwner__SpaceNotFound"},{"inputs":[],"type":"error","name":"TransferCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"TransferFromIncorrectOwner"},{"inputs":[],"type":"error","name":"TransferToNonERC721ReceiverImplementer"},{"inputs":[],"type":"error","name":"TransferToZeroAddress"},{"inputs":[],"type":"error","name":"URIQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"Validator__InvalidAddress"},{"inputs":[],"type":"error","name":"Validator__InvalidStringLength"},{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"type":"error","name":"VotesExpiredSignature"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousVotes","type":"uint256","indexed":false},{"internalType":"uint256","name":"newVotes","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"cooldown","type":"uint256","indexed":true}],"type":"event","name":"GuardianDefaultCooldownUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"bool","name":"enabled","type":"bool","indexed":true},{"internalType":"uint256","name":"cooldown","type":"uint256","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"GuardianUpdated","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"MetadataUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"string","name":"uri","type":"string","indexed":false}],"type":"event","name":"SpaceOwner__SetDefaultUri","anonymous":false},{"inputs":[{"internalType":"address","name":"factory","type":"address","indexed":false}],"type":"event","name":"SpaceOwner__SetFactory","anonymous":false},{"inputs":[{"internalType":"address","name":"space","type":"address","indexed":true}],"type":"event","name":"SpaceOwner__UpdateSpace","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"__ERC721A_init"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"version","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"__SpaceOwner_init"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultUri","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"space","type":"address"}],"stateMutability":"view","type":"function","name":"getSpaceInfo","outputs":[{"internalType":"struct ISpaceOwnerBase.Space","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"string","name":"shortDescription","type":"string"},{"internalType":"string","name":"longDescription","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"address","name":"space","type":"address"},{"internalType":"string","name":"shortDescription","type":"string"},{"internalType":"string","name":"longDescription","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintSpace","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"string","name":"uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultUri"},{"inputs":[{"internalType":"address","name":"factory","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFactory"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"space","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"string","name":"shortDescription","type":"string"},{"internalType":"string","name":"longDescription","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateSpaceInfo"}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Description of the clock"},"approve(address,uint256)":{"details":"Gives permission to `to` to transfer `tokenId` token to another account. See {ERC721A-_approve}. Requirements: - The caller must own the token or be an approved operator."},"balanceOf(address)":{"details":"Returns the number of tokens in `owner`'s account."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getApproved(uint256)":{"details":"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block."},"getSpaceInfo(address)":{"params":{"space":"The address of the space"},"returns":{"_0":"space The space info"}},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"isApprovedForAll(address,address)":{"details":"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}."},"mintSpace(string,string,address,string,string)":{"details":"Only the factory is allowed to mint spaces","params":{"longDescription":"The long description of the space","name":"The name of the space","shortDescription":"The short description of the space","space":"The address of the space","uri":"The URI of the space"},"returns":{"tokenId":"The token id of the minted space"}},"name()":{"details":"Returns the token collection name."},"ownerOf(uint256)":{"details":"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."},"safeTransferFrom(address,address,uint256)":{"details":"Equivalent to `safeTransferFrom(from, to, tokenId, '')`."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"setApprovalForAll(address,bool)":{"details":"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."},"symbol()":{"details":"Returns the token collection symbol."},"tokenURI(uint256)":{"details":"Returns the Uniform Resource Identifier (URI) for `tokenId` token."},"totalSupply()":{"details":"Returns the total number of tokens in existence. Burned tokens will reduce the count. To get the total number of tokens minted, please see {_totalMinted}."},"transferFrom(address,address,uint256)":{"details":"Transfers `tokenId` from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."},"updateSpaceInfo(address,string,string,string,string)":{"details":"Only the space owner is allowed to update the space info","params":{"longDescription":"The long description of the space","name":"The name of the space","shortDescription":"The short description of the space","space":"The address of the space","uri":"The URI of the space"}}},"version":1},"userdoc":{"kind":"user","methods":{"getDefaultUri()":{"notice":"Get the default URI"},"getFactory()":{"notice":"Get the factory address"},"getSpaceInfo(address)":{"notice":"Get the space info"},"mintSpace(string,string,address,string,string)":{"notice":"Mint a space"},"nextTokenId()":{"notice":"Get the next token id that will be used to mint a space"},"setDefaultUri(string)":{"notice":"Set the default URI"},"setFactory(address)":{"notice":"Set the factory address that is allowed to mint spaces"},"updateSpaceInfo(address,string,string,string,string)":{"notice":"Update the space info"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/spaces/facets/owner/SpaceOwner.sol":"SpaceOwner"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/diamond/facets/governance/votes/Checkpoints.sol":{"keccak256":"0x4b98db2e67e47ec59caa78fade51e9ec6fa33ee2592e46fed09d9167ebe76c8a","urls":["bzz-raw://72ec6949ee33fb9c137bba362b94af699762fadd66334128d1dd0dbcd4301bc6","dweb:/ipfs/QmQybe6k5K3gss4zzCPqoba6ZBZE5p8KJRoQ2RzkE91JRV"],"license":"MIT"},"contracts/src/diamond/facets/governance/votes/Votes.sol":{"keccak256":"0x9df4a59415c2a2d260248b6f17b5afebd359c1fc3fa3d30de28c96295a128cb0","urls":["bzz-raw://7bac8e7e2ba6f34aaf7eef070d727f1fb1f05dc0a06acfd84e9ac32e3bc32501","dweb:/ipfs/QmeRpJPPyJzdag6FSyyPYjABFz57XhCQfDKFS72tYMJ69Q"],"license":"MIT"},"contracts/src/diamond/facets/governance/votes/VotesBase.sol":{"keccak256":"0xe81e2262d09986bb570783b1ede2db66ad63ec80832dd6ae7b95cfad85646ad9","urls":["bzz-raw://9a9cd57237f494ffe148d39bcf869a12701adbec89b5645e8fc006e52cdceefe","dweb:/ipfs/QmYboWzFp5FTpv3eqEndo6GyDWtzWKoQPV8eQt4TKPcEA5"],"license":"MIT"},"contracts/src/diamond/facets/governance/votes/VotesStorage.sol":{"keccak256":"0x87a2f9c85f63fcfa8ce2dc14d5a9a6118b33fd7000fb988b300519dec9b89629","urls":["bzz-raw://daef1e04a36eb664ec08d4627a2038f3decbeac93b13a2c651b52681ef6f5f5e","dweb:/ipfs/QmbV5SXhZnUW52HLEbhNhKeRXDCyPR6zAJRa98Vh3m9ptF"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721A.sol":{"keccak256":"0x661d83db028bcc05f041e1bc576e9e6a31d61ca1b2cadf6682c1774a2989d1ef","urls":["bzz-raw://e624fc220c7060456c473e821bd55d7b9e2338081c74e59d9bc7f0f6a0043465","dweb:/ipfs/QmXosKFhm5facMAzgn265aRnkmWL2wwY79WKy6qohuDH2T"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol":{"keccak256":"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62","urls":["bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba","dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol":{"keccak256":"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4","urls":["bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04","dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol":{"keccak256":"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782","urls":["bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d","dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"],"license":"MIT"},"contracts/src/diamond/utils/Context.sol":{"keccak256":"0x4566c941f553d989324d4308c037fe0669062c746d6e5108ce533fcc8ffbcaac","urls":["bzz-raw://87908ef7e56c826210414cb25a50a3073188e96e6ac2afc2b56d0bba6abb48a7","dweb:/ipfs/QmT41NMs4REQxxeuR48JUcB39UTgcaKdUvizc2XawUF5aq"],"license":"MIT"},"contracts/src/spaces/facets/guardian/GuardianBase.sol":{"keccak256":"0xa407bb80710960a4faf7cda09ef05d779887d4227c1823dc92f0910d1508039f","urls":["bzz-raw://075ccda5d24f69c2ad13eec21e37cb1cd3eac7faef2108179fe6a23005729957","dweb:/ipfs/QmX1Q58kQtwWmwox2oA1nHJ7aoYr9cBVVzi7xdoJBfycmQ"],"license":"MIT"},"contracts/src/spaces/facets/guardian/GuardianStorage.sol":{"keccak256":"0xb6d7ae2fe80c40120223e660bf5888612f8e93c0e7dc70d6d2532d3e366f0674","urls":["bzz-raw://ff77c0e4ad11ae6967a46d67c38422e06e45eb4e06aa7d99d611b8e4672aae5f","dweb:/ipfs/QmfZui9wfZimGa4Q93zudgdit6ZUSgTET2WCKYWB7QkpVD"],"license":"MIT"},"contracts/src/spaces/facets/guardian/IGuardian.sol":{"keccak256":"0x5688fd791b42e359f37edd7b40576e5326b360f5e922ba091eb4bd2fe6234478","urls":["bzz-raw://93bc1fca6f842a91ae26ac7e19b1f73515c320469b35938c5ab57414b009d206","dweb:/ipfs/QmZ47oFNcHWzP3TQtRzesSz66gJZmhAndHt139nkbeoUTr"],"license":"MIT"},"contracts/src/spaces/facets/membership/metadata/IMembershipMetadata.sol":{"keccak256":"0x880c5cb358b4a471d273ae582bb0068f679ca0adfd75cf36f21107aced4ecfcb","urls":["bzz-raw://6c8f64c60534a1bbf0242d1a4ee69a8b164b78dd62ea1681bf60a801d6db6c80","dweb:/ipfs/QmYYaFyqzZBb6KnJ2BVft418C5m7viZAPLpxHitP8kbJZb"],"license":"MIT"},"contracts/src/spaces/facets/owner/ISpaceOwner.sol":{"keccak256":"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4","urls":["bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a","dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw"],"license":"MIT"},"contracts/src/spaces/facets/owner/SpaceOwner.sol":{"keccak256":"0x7a9f9be94b604d4c22310e0a707876b28fafc29972739bbb041a8fa76288f830","urls":["bzz-raw://10c5d7d95f4cf04bed36afbef4de58efc62ddde1c23f120490755322c6e1b2d6","dweb:/ipfs/QmSz4mwGkKTt9ZDPegmbKPiEtb2HHYgL93BrT8KtJkMsFd"],"license":"MIT"},"contracts/src/spaces/facets/owner/SpaceOwnerBase.sol":{"keccak256":"0x5f13f9246fbf565ebef09d61477e24a5d6c1a9e0cc3b285521ef356c022d1d0e","urls":["bzz-raw://15fdda81ae99a64bce64200403443cf42bd968c21806146741252489ba537cca","dweb:/ipfs/QmQ7EigQNBttBS2SY3YBmeNqDB7wzaEWSz3GVMYkaKRZpm"],"license":"MIT"},"contracts/src/spaces/facets/owner/SpaceOwnerStorage.sol":{"keccak256":"0x150e03077204bb3bc21aae37b86f1b0513c55d07ab21cc22885f1376a1411317","urls":["bzz-raw://12c4b4d27e0a93ea2a85646a754ffe5b6c02029efeadceafa0bf7a745e08dd1e","dweb:/ipfs/QmWHR5yFEEaPo9SdtRWj13KeJS5uSRhjYdtZRKHx6CQqaN"],"license":"MIT"},"contracts/src/spaces/facets/owner/SpaceOwnerUriBase.sol":{"keccak256":"0xbc0f6bc661567cdc37620e295a3619aa5787a60fe6330fa6e2044314ab46fe49","urls":["bzz-raw://6eae9fe0a43035a47e600d7a476f314c0a9aebaa59754e851751a18b1736751f","dweb:/ipfs/QmfN95VxwSkkvemoJ3w8gtzYjnehb1aocuu8zVLk6KPCBv"],"license":"MIT"},"contracts/src/utils/Validator.sol":{"keccak256":"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f","urls":["bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3","dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol":{"keccak256":"0x1b8691e244f6e11d987459993671db0af33e6a29f7805eac6a9925cc6b601957","urls":["bzz-raw://a9e2a5efc2e14e98f5fe91bbab769199b4987a40dd3b96075b04957fda2ae80f","dweb:/ipfs/QmbAjrSSVBiJ6MbgF7Jkr53m674iGMZ6haWbbRrWDZJraK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC721.sol":{"keccak256":"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d","urls":["bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b","dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2","urls":["bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875","dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd","urls":["bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e","dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik"],"license":"MIT"},"node_modules/@river-build/diamond/src/utils/Nonces.sol":{"keccak256":"0x9217eb7e1a632747cb0b01e6a43f968e61107161b774c47e3c23ec7b2d4f73ba","urls":["bzz-raw://f53415ba8c68ea88c9b14c5265ea1412b8ec30162f121ca10b5ad63226662747","dweb:/ipfs/QmcJ1Moezv2R3RHAsprYWbJe6Pd9754RnEZPvUkiKLN4Eu"],"license":"MIT"},"node_modules/@river-build/diamond/src/utils/cryptography/EIP712.sol":{"keccak256":"0x70463eaed8e7b80bd62948d0f1993c181290d618b21c173f3d25857a41f78d0b","urls":["bzz-raw://9feb0babd6ecc782337d5b13c9e03733b7f099d4b62df28586c0340f47449d09","dweb:/ipfs/QmRDSLeTC4R5mNgzeRsJmpv6ascU52vgmfRx4u3gkatfiJ"],"license":"MIT"},"node_modules/solady/src/utils/LibBytes.sol":{"keccak256":"0x905f1c122299888350964a3bdd3dccd4b969273389b8d869f9aacb6871ff199e","urls":["bzz-raw://b6cff3ef7090aa48f214b960f373a33c15878f80e617443a3a4d53f130bab862","dweb:/ipfs/QmdMEpK6ZVxUesqSpurqS9UkDnm1kAnjUeJKLN6ZWPNJnT"],"license":"MIT"},"node_modules/solady/src/utils/LibString.sol":{"keccak256":"0x5311374141ba0733b55d2824b48f61fe3b143ad59e9a3f928b457c3b36676366","urls":["bzz-raw://18858389267b3df8acd68f25dfc86f74574a26e95fa8f8cf1ce28dcee037a415","dweb:/ipfs/Qma847UQ2jSfpfo2qNUxVJExTD3VLCipfR7x7yT9eLjbJ5"],"license":"MIT"}},"version":1},"id":257} \ No newline at end of file +{"abi":[{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"__ERC721A_init","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"__SpaceOwner_init","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDefaultUri","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpaceInfo","inputs":[{"name":"space","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISpaceOwnerBase.Space","components":[{"name":"name","type":"string","internalType":"string"},{"name":"uri","type":"string","internalType":"string"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"createdAt","type":"uint256","internalType":"uint256"},{"name":"shortDescription","type":"string","internalType":"string"},{"name":"longDescription","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintSpace","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"uri","type":"string","internalType":"string"},{"name":"space","type":"address","internalType":"address"},{"name":"shortDescription","type":"string","internalType":"string"},{"name":"longDescription","type":"string","internalType":"string"}],"outputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nextTokenId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultUri","inputs":[{"name":"uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFactory","inputs":[{"name":"factory","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"updateSpaceInfo","inputs":[{"name":"space","type":"address","internalType":"address"},{"name":"name","type":"string","internalType":"string"},{"name":"uri","type":"string","internalType":"string"},{"name":"shortDescription","type":"string","internalType":"string"},{"name":"longDescription","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousVotes","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newVotes","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"GuardianDefaultCooldownUpdated","inputs":[{"name":"cooldown","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"GuardianUpdated","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"enabled","type":"bool","indexed":true,"internalType":"bool"},{"name":"cooldown","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"MetadataUpdate","inputs":[{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceOwner__SetDefaultUri","inputs":[{"name":"uri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SpaceOwner__SetFactory","inputs":[{"name":"factory","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceOwner__UpdateSpace","inputs":[{"name":"space","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ApprovalCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"ApprovalQueryForNonexistentToken","inputs":[]},{"type":"error","name":"BalanceQueryForZeroAddress","inputs":[]},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"Guardian_AlreadyDisabled","inputs":[]},{"type":"error","name":"Guardian_AlreadyEnabled","inputs":[]},{"type":"error","name":"Guardian_Enabled","inputs":[]},{"type":"error","name":"Initializable_AlreadyInitialized","inputs":[{"name":"version","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MintERC2309QuantityExceedsLimit","inputs":[]},{"type":"error","name":"MintToZeroAddress","inputs":[]},{"type":"error","name":"MintZeroQuantity","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]},{"type":"error","name":"OwnerQueryForNonexistentToken","inputs":[]},{"type":"error","name":"OwnershipNotInitializedForExtraData","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SpaceOwner__DefaultUriNotSet","inputs":[]},{"type":"error","name":"SpaceOwner__OnlyFactoryAllowed","inputs":[]},{"type":"error","name":"SpaceOwner__OnlySpaceOwnerAllowed","inputs":[]},{"type":"error","name":"SpaceOwner__SpaceNotFound","inputs":[]},{"type":"error","name":"TransferCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"TransferFromIncorrectOwner","inputs":[]},{"type":"error","name":"TransferToNonERC721ReceiverImplementer","inputs":[]},{"type":"error","name":"TransferToZeroAddress","inputs":[]},{"type":"error","name":"URIQueryForNonexistentToken","inputs":[]},{"type":"error","name":"Validator__InvalidAddress","inputs":[]},{"type":"error","name":"Validator__InvalidStringLength","inputs":[]},{"type":"error","name":"VotesExpiredSignature","inputs":[{"name":"expiry","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b506200001c62000022565b620000ca565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200006f576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff9081161015620000c757805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b613b7380620000da6000396000f3fe6080604052600436106101f95760003560e01c806375794a3c1161010d5780639ab24eb0116100a0578063c87b56dd1161006f578063c87b56dd1461057c578063d2f01f191461059c578063d6536540146105bc578063d7a901d3146105d1578063e985e9c5146105f157600080fd5b80639ab24eb014610509578063a22cb46514610529578063b88d4fde14610549578063c3cda5201461055c57600080fd5b806388cc58e4116100dc57806388cc58e4146104935780638e539e8c146104a857806391ddadf4146104c857806395d89b41146104f457600080fd5b806375794a3c146104165780637ecebe001461042b578063848806141461044b57806384b0196e1461046b57600080fd5b806342842e0e116101905780635bb478081161015f5780635bb47808146103695780635c19a95c146103895780636352211e146103a95780636a9a38e6146103c957806370a08231146103f657600080fd5b806342842e0e14610301578063466a18de146103145780634bf5d7e914610334578063587cde1e1461034957600080fd5b806323b872dd116101cc57806323b872dd146102995780633644e515146102ac5780633a46b1a8146102c15780633bf5b8f4146102e157600080fd5b806306fdde03146101fe578063081812fc14610229578063095ea7b31461026157806318160ddd14610276575b600080fd5b34801561020a57600080fd5b50610213610621565b60405161022091906131c7565b60405180910390f35b34801561023557600080fd5b506102496102443660046131da565b6106bc565b6040516001600160a01b039091168152602001610220565b61027461026f36600461320f565b6106cd565b005b34801561028257600080fd5b5061028b610715565b604051908152602001610220565b6102746102a7366004613239565b610724565b3480156102b857600080fd5b5061028b610934565b3480156102cd57600080fd5b5061028b6102dc36600461320f565b61093e565b3480156102ed57600080fd5b5061028b6102fc366004613321565b610951565b61027461030f366004613239565b6109bd565b34801561032057600080fd5b5061027461032f3660046133df565b6109dd565b34801561034057600080fd5b50610213610a3a565b34801561035557600080fd5b50610249610364366004613414565b610a44565b34801561037557600080fd5b50610274610384366004613414565b610a4f565b34801561039557600080fd5b506102746103a4366004613414565b610aa4565b3480156103b557600080fd5b506102496103c43660046131da565b610aae565b3480156103d557600080fd5b506103e96103e4366004613414565b610ab9565b604051610220919061342f565b34801561040257600080fd5b5061028b610411366004613414565b610afb565b34801561042257600080fd5b5061028b610b06565b34801561043757600080fd5b5061028b610446366004613414565b610b10565b34801561045757600080fd5b506102746104663660046134c1565b610b4d565b34801561047757600080fd5b50610480610bf9565b604051610220979695949392919061352d565b34801561049f57600080fd5b50610249610cbc565b3480156104b457600080fd5b5061028b6104c33660046131da565b610cdd565b3480156104d457600080fd5b506104dd610ce8565b60405165ffffffffffff9091168152602001610220565b34801561050057600080fd5b50610213610cf2565b34801561051557600080fd5b5061028b610524366004613414565b610d0a565b34801561053557600080fd5b506102746105443660046135c6565b610d15565b610274610557366004613602565b610d4e565b34801561056857600080fd5b5061027461057736600461367e565b610d98565b34801561058857600080fd5b506102136105973660046131da565b610da6565b3480156105a857600080fd5b506102746105b73660046136de565b610dd7565b3480156105c857600080fd5b50610213610e2a565b3480156105dd57600080fd5b506102746105ec366004613742565b610e34565b3480156105fd57600080fd5b5061061161060c3660046137ca565b610f2d565b6040519015158152602001610220565b606061062b610f39565b6002018054610639906137fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610665906137fd565b80156106b25780601f10610687576101008083540402835291602001916106b2565b820191906000526020600020905b81548152906001019060200180831161069557829003601f168201915b5050505050905090565b60006106c782610f5d565b92915050565b6001600160a01b038216158015906106e957506106e933610faa565b1561070757604051630ed551c360e41b815260040160405180910390fd5b6107118282611042565b5050565b600061071f61104e565b905090565b600061072f8261106d565b9050836001600160a01b0316816001600160a01b0316146107625760405162a1148160e81b815260040160405180910390fd5b60008061076e84611108565b91509150610793818761077e3390565b6001600160a01b039081169116811491141790565b6107be576107a18633610f2d565b6107be57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0385166107e557604051633a954ecd60e21b815260040160405180910390fd5b6107f28686866001611130565b80156107fd57600082555b610805610f39565b6001600160a01b0387166000908152600591909101602052604090208054600019019055610831610f39565b6001600160a01b03861660008181526005929092016020526040909120805460010190554260a01b17600160e11b17610868610f39565b60008681526004919091016020526040812091909155600160e11b841690036108de5760018401610897610f39565b6000828152600491909101602052604081205490036108dc576108b8610f39565b5481146108dc57836108c8610f39565b600083815260049190910160205260409020555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461092c868686600161116f565b505050505050565b600061071f61117a565b600061094a8383611184565b9392505050565b600080600080516020613af383398151915280549091506001600160a01b031633146109905760405163443e750b60e11b815260040160405180910390fd5b610998611222565b91506109a8878784888888611232565b6109b3336001611377565b5095945050505050565b6109d883838360405180602001604052806000815250610d4e565b505050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610a2e576040516365f4906560e01b81523360048201526024015b60405180910390fd5b610a37816114c7565b50565b606061071f611538565b60006106c7826115d0565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610a9b576040516365f4906560e01b8152336004820152602401610a25565b610a378161160d565b610a373382611677565b60006106c78261106d565b610af26040518060c001604052806060815260200160608152602001600081526020016000815260200160608152602001606081525090565b6106c782611711565b60006106c782611a0a565b600061071f611222565b6001600160a01b03811660009081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c0060205260408120546106c7565b610b5685611a73565b610b638585858585611aa7565b846001600160a01b031663410066056040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b9e57600080fd5b505af1158015610bb2573d6000803e3d6000fd5b505050507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7610be086611b80565b6040519081526020015b60405180910390a15050505050565b600060608082808083600080516020613b1383398151915254158015610c3e57507f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d54155b610c825760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610a25565b610c8a611bab565b610c92611bc1565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b600061071f600080516020613af3833981519152546001600160a01b031690565b60006106c782611bd7565b600061071f611c70565b6060610cfc610f39565b6003018054610639906137fd565b60006106c782611c7b565b808015610d265750610d2633610faa565b15610d4457604051630ed551c360e41b815260040160405180910390fd5b6107118282611ca9565b610d59848484610724565b6001600160a01b0383163b15610d9257610d7584848484611d26565b610d92576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b61092c868686868686611e12565b6060610db182611efb565b610dce57604051630a14c4b560e41b815260040160405180910390fd5b6106c782611f37565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054600160201b900460ff16610e2057604051630ef4733760e31b815260040160405180910390fd5b61071182826121b0565b606061071f6121da565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054600160201b900460ff161580610e7057303b1515610e7f565b8154600163ffffffff90911610155b15610ea8578154604051630a8ef77f60e31b815263ffffffff9091166004820152602401610a25565b815463ffffffff191660011782558015610ecf57815464ff000000001916600160201b1782555b610ed985856121b0565b610ee385846121f9565b8015610f2657815464ff0000000019168255604051600181527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c90602001610bea565b5050505050565b600061094a838361224c565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0090565b6000610f6882611efb565b610f85576040516333d1c03960e21b815260040160405180910390fd5b610f8d610f39565b60009283526006016020525060409020546001600160a01b031690565b6000807f0c89d3aad1b583c77a2e9f9fffa651b386c9c29e300bf2a8e2f3de1bb0100a0090506001600160a01b038316600080516020613af3833981519152546001600160a01b03161480159061094a57506001600160a01b0383166000908152600182016020526040902054158061094a57506001600160a01b038316600090815260018201602052604090205442109392505050565b61071182826001612289565b600080611059610f39565b60010154611065610f39565b540303919050565b600080611078610f39565b60008481526004820160205260408120549350909150600160e01b831690036110ee57816000036110e857805483106110c457604051636f96cda160e11b815260040160405180910390fd5b5b6000199092016000818152600484016020526040902054909290915081156110c5575b50919050565b50604051636f96cda160e11b815260040160405180910390fd5b6000806000611115610f39565b60009485526006016020525050604090912080549092909150565b6001600160a01b0384161580159061114c575061114c84610faa565b1561116a57604051630ed551c360e41b815260040160405180910390fd5b610d92565b61116a84848361233e565b600061071f6123e0565b600061118e611c70565b65ffffffffffff1682106111db5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610a25565b6112126111e783612454565b6001600160a01b0385166000908152600080516020613b338339815191526020526040902090612489565b6001600160e01b03169392505050565b600061122c610f39565b54919050565b61123d86600261253d565b61124885600061253d565b61125183612561565b60008481527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020908152604080832080546001600160a01b0319166001600160a01b03881690811790915581516080810183528a81528084018a9052808301899052426060820152908452600080516020613b538339815191529092529091208151600080516020613af383398151915292919081906112f29082613879565b50602082015160018201906113079082613879565b5060408281015160028301556060909201516003918201558151808301835285815260208082018690526001600160a01b03881660009081529285019052919020815181906113569082613879565b506020820151600182019061136b9082613879565b50505050505050505050565b6000611381610f39565b54905060008290036113a65760405163b562e8dd60e01b815260040160405180910390fd5b6113b36000848385611130565b6801000000000000000182026113c7610f39565b6001600160a01b038516600081815260059290920160205260409091208054929092019091554260a01b6001841460e11b1717611402610f39565b600083815260049190910160205260408120919091556001600160a01b0384169083830190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461148c57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101611454565b50816000036114ad57604051622e076360e81b815260040160405180910390fd5b806114b6610f39565b55506109d89050600084838561116f565b6114d281600161253d565b7f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477046114fd8282613879565b507f8fe3adc25723aa6a0b7eb4b4bacf52e92165c180bde5353f7cf606fbf5591f2b8160405161152d91906131c7565b60405180910390a150565b606043611543611c70565b65ffffffffffff16146115985760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610a25565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6001600160a01b0390811660009081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6560205260409020541690565b61161681612561565b600080516020613af383398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f64c14256e532eac2ec90ddc4973ed2d3f5623faf7951d90eec38f9b7812f99a79181900360200190a15050565b6000611682836115d0565b6001600160a01b0384811660008181527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f65602052604080822080546001600160a01b031916888616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46109d8818361170c86612588565b612593565b61174a6040518060c001604052806060815260200160608152602001600081526020016000815260200160608152602001606081525090565b6001600160a01b0382166000908152600080516020613b53833981519152602090815260408083207f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770390925291829020825160c08101909352815491929091819084906117b6906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546117e2906137fd565b801561182f5780601f106118045761010080835404028352916020019161182f565b820191906000526020600020905b81548152906001019060200180831161181257829003601f168201915b50505050508152602001836001018054611848906137fd565b80601f0160208091040260200160405190810160405280929190818152602001828054611874906137fd565b80156118c15780601f10611896576101008083540402835291602001916118c1565b820191906000526020600020905b8154815290600101906020018083116118a457829003601f168201915b5050505050815260200183600201548152602001836003015481526020018260000180546118ee906137fd565b80601f016020809104026020016040519081016040528092919081815260200182805461191a906137fd565b80156119675780601f1061193c57610100808354040283529160200191611967565b820191906000526020600020905b81548152906001019060200180831161194a57829003601f168201915b50505050508152602001826001018054611980906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546119ac906137fd565b80156119f95780601f106119ce576101008083540402835291602001916119f9565b820191906000526020600020905b8154815290600101906020018083116119dc57829003601f168201915b505050505081525092505050919050565b60006001600160a01b038216611a33576040516323d3ad8160e21b815260040160405180910390fd5b67ffffffffffffffff611a44610f39565b6005016000846001600160a01b03166001600160a01b0316815260200190815260200160002054169050919050565b33611a806103c483611b80565b6001600160a01b031614610a375760405163dbfcf17d60e01b815260040160405180910390fd5b611ab284600261253d565b611abd83600061253d565b6001600160a01b0385166000908152600080516020613b5383398151915260205260409020600080516020613af38339815191529080611afd8782613879565b5060018101611b0c8682613879565b506001600160a01b0387166000908152600383016020526040902080611b328682613879565b5060018101611b418582613879565b506040516001600160a01b038916907f66da702131703ee5e745ecf2f5b98311caa00729edd55541baad49289fc42ed890600090a25050505050505050565b6001600160a01b03166000908152600080516020613b53833981519152602052604090206002015490565b6060600080516020613b1383398151915261062b565b6060600080516020613b13833981519152610cfc565b6000611be1611c70565b65ffffffffffff168210611c2e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610a25565b611c61611c3a83612454565b7f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6790612489565b6001600160e01b031692915050565b600061071f43612714565b6001600160a01b0381166000908152600080516020613b3383398151915260205260408120611c6190612747565b80611cb2610f39565b336000818152600792909201602090815260408084206001600160a01b03881680865290835293819020805460ff19169515159590951790945592518415158152919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611d5b903390899088908890600401613939565b6020604051808303816000875af1925050508015611d96575060408051601f3d908101601f19168201909252611d9391810190613976565b60015b611df4573d808015611dc4576040519150601f19603f3d011682016040523d82523d6000602084013e611dc9565b606091505b508051600003611dec576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b83421115611e625760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610a25565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090611edc90611ed49060a00160405160208183030381529060405280519060200120612780565b8585856127ad565b9050611ee881876127db565b611ef28188611677565b50505050505050565b6000611f05610f39565b54821080156106c75750600160e01b611f1c610f39565b60008481526004919091016020526040902054161592915050565b60008181527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020526040902054606090600080516020613af3833981519152906001600160a01b031680611f9f5760405163af5f208f60e01b815260040160405180910390fd5b6001600160a01b03811660009081526002830160205260409020600181018054611fc8906137fd565b15905061206657806001018054611fde906137fd565b80601f016020809104026020016040519081016040528092919081815260200182805461200a906137fd565b80156120575780601f1061202c57610100808354040283529160200191612057565b820191906000526020600020905b81548152906001019060200180831161203a57829003601f168201915b50505050509350505050919050565b6000836004018054612077906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546120a3906137fd565b80156120f05780601f106120c5576101008083540402835291602001916120f0565b820191906000526020600020905b8154815290600101906020018083116120d357829003601f168201915b505050505090506000815190508060000361211e5760405163cd251ac560e01b815260040160405180910390fd5b816001820381518110612133576121336139a0565b6020910101516001600160f81b031916602f60f81b1461218c5781612160856001600160a01b031661284d565b6040516020016121719291906139b6565b60405160208183030381529060405295505050505050919050565b8161219f856001600160a01b031661284d565b6040516020016121719291906139f2565b6121c06380ac58cd60e01b6128f6565b6121d0635b5e139f60e01b6128f6565b61071182826129cf565b6060600080516020613af38339815191526004018054610639906137fd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054600160201b900460ff1661224257604051630ef4733760e31b815260040160405180910390fd5b6107118282612a01565b6000612256610f39565b6001600160a01b039384166000908152600791909101602090815260408083209490951682529290925250205460ff1690565b600061229483610aae565b905081156122d357336001600160a01b038216146122d3576122b6813361224c565b6122d3576040516367d9dca160e11b815260040160405180910390fd5b836122dc610f39565b6000858152600691909101602052604080822080546001600160a01b0319166001600160a01b0394851617905551859287811692908516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a450505050565b6001600160a01b038316612384576123817f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67612a9361237c84612a9f565b612ad3565b50505b6001600160a01b0382166123c5576123c27f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67612b1c61237c84612a9f565b50505b6109d86123d1846115d0565b6123da846115d0565b83612593565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61240b612b28565b612413612b8e565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600063ffffffff821115612485576040516306dfcc6560e41b81526020600482015260248101839052604401610a25565b5090565b8154600090818160058111156124e65760006124a484612bde565b6124ae9085613a37565b60008881526020902090915081015463ffffffff90811690871610156124d6578091506124e4565b6124e1816001613a4a565b92505b505b60006124f487878585612d36565b9050801561252f576125198761250b600184613a37565b600091825260209091200190565b54600160201b90046001600160e01b0316612532565b60005b979650505050505050565b815182908211156109d8576040516374eb20a760e01b815260040160405180910390fd5b6001600160a01b038116610a37576040516302e47d1560e41b815260040160405180910390fd5b60006106c782610afb565b816001600160a01b0316836001600160a01b0316141580156125b55750600081115b156109d8576001600160a01b03831615612665576001600160a01b0383166000908152600080516020613b3383398151915260205260408120819061260090612b1c61237c86612a9f565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161265a929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156109d8576001600160a01b0382166000908152600080516020613b338339815191526020526040812081906126ab90612a9361237c86612a9f565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612705929190918252602082015260400190565b60405180910390a25050505050565b600065ffffffffffff821115612485576040516306dfcc6560e41b81526030600482015260248101839052604401610a25565b80546000908015612777576127618361250b600184613a37565b54600160201b90046001600160e01b031661094a565b60009392505050565b60006106c761278d61117a565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000806127bf88888888612d94565b9250925092506127cf8282612e63565b50909695505050505050565b6001600160a01b03821660009081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c00602052604090208054600181019091558181146109d8576040516301d4b62360e61b81526001600160a01b038416600482015260248101829052604401610a25565b606061285882612f1c565b6028602282019081209192507f4040404040404040404040404040404040404040404040404040404040404040917f888888888888888888888888888888888888888888888888888888888888888016601160f31b60005b82811a8202818001526001810190601219016128b057505050818151166000511660011c8151188152602081019050818151166020511660011c81511881525050919050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff1661297e576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055612997565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b60006129d9610f39565b9050600281016129e98482613879565b50600381016129f88382613879565b50600090555050565b7f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336e612a2c8382613879565b507f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336f612a588282613879565b50506000600080516020613b138339815191528190557f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d5550565b600061094a8284613a5d565b60006001600160e01b03821115612485576040516306dfcc6560e41b815260e0600482015260248101839052604401610a25565b600080612b0f612af1612ae4611c70565b65ffffffffffff16612454565b612b07612afd88612747565b868863ffffffff16565b879190612f40565b915091505b935093915050565b600061094a8284613a84565b600080612b33611bab565b805190915015612b4a578051602090910120919050565b600080516020613b13833981519152548015612b665792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612b99611bc1565b805190915015612bb0578051602090910120919050565b7f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d548015612b665792915050565b600060018211612bec575090565b816001600160801b8210612c055760809190911c9060401b5b680100000000000000008210612c205760409190911c9060201b5b600160201b8210612c365760209190911c9060101b5b620100008210612c4b5760109190911c9060081b5b6101008210612c5f5760089190911c9060041b5b60108210612c725760049190911c9060021b5b60048210612c7e5760011b5b600302600190811c90818581612c9657612c96613aa4565b048201901c90506001818581612cae57612cae613aa4565b048201901c90506001818581612cc657612cc6613aa4565b048201901c90506001818581612cde57612cde613aa4565b048201901c90506001818581612cf657612cf6613aa4565b048201901c90506001818581612d0e57612d0e613aa4565b048201901c9050612d2d818581612d2757612d27613aa4565b04821190565b90039392505050565b60005b81831015612d8c576000612d4d8484612f4e565b60008781526020902090915063ffffffff86169082015463ffffffff161115612d7857809250612d86565b612d83816001613a4a565b93505b50612d39565b509392505050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612dcf5750600091506003905082612e59565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612e23573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612e4f57506000925060019150829050612e59565b9250600091508190505b9450945094915050565b6000826003811115612e7757612e77613aba565b03612e80575050565b6001826003811115612e9457612e94613aba565b03612eb25760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612ec657612ec6613aba565b03612ee75760405163fce698f760e01b815260048101829052602401610a25565b6003826003811115612efb57612efb613aba565b03610711576040516335e2f38360e21b815260048101829052602401610a25565b6060612f2782612f69565b8051613078825260020160011990910190815292915050565b600080612b0f858585612fd8565b6000612f5d6002848418613ad0565b61094a90848416613a4a565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901612fa9575050919050565b82546000908190801561311e576000612ff68761250b600185613a37565b60408051808201909152905463ffffffff808216808452600160201b9092046001600160e01b0316602084015291925090871610156130775760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610a25565b805163ffffffff8088169116036130bf57846130988861250b600186613a37565b80546001600160e01b0392909216600160201b0263ffffffff90921691909117905561310e565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160201b029216919091179101555b602001519250839150612b149050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160201b029190931617920191909155905081612b14565b60005b8381101561319257818101518382015260200161317a565b50506000910152565b600081518084526131b3816020860160208601613177565b601f01601f19169290920160200192915050565b60208152600061094a602083018461319b565b6000602082840312156131ec57600080fd5b5035919050565b80356001600160a01b038116811461320a57600080fd5b919050565b6000806040838503121561322257600080fd5b61322b836131f3565b946020939093013593505050565b60008060006060848603121561324e57600080fd5b613257846131f3565b9250613265602085016131f3565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156132a6576132a6613275565b604051601f8501601f19908116603f011681019082821181831017156132ce576132ce613275565b816040528093508581528686860111156132e757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261331257600080fd5b61094a8383356020850161328b565b600080600080600060a0868803121561333957600080fd5b853567ffffffffffffffff8082111561335157600080fd5b61335d89838a01613301565b9650602088013591508082111561337357600080fd5b61337f89838a01613301565b955061338d604089016131f3565b945060608801359150808211156133a357600080fd5b6133af89838a01613301565b935060808801359150808211156133c557600080fd5b506133d288828901613301565b9150509295509295909350565b6000602082840312156133f157600080fd5b813567ffffffffffffffff81111561340857600080fd5b611e0a84828501613301565b60006020828403121561342657600080fd5b61094a826131f3565b602081526000825160c0602084015261344b60e084018261319b565b90506020840151601f1980858403016040860152613469838361319b565b9250604086015160608601526060860151608086015260808601519150808584030160a086015261349a838361319b565b925060a08601519150808584030160c0860152506134b8828261319b565b95945050505050565b600080600080600060a086880312156134d957600080fd5b6134e2866131f3565b9450602086013567ffffffffffffffff808211156134ff57600080fd5b61350b89838a01613301565b9550604088013591508082111561352157600080fd5b61338d89838a01613301565b60ff60f81b881681526000602060e0602084015261354e60e084018a61319b565b8381036040850152613560818a61319b565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156135b457835183529284019291840191600101613598565b50909c9b505050505050505050505050565b600080604083850312156135d957600080fd5b6135e2836131f3565b9150602083013580151581146135f757600080fd5b809150509250929050565b6000806000806080858703121561361857600080fd5b613621856131f3565b935061362f602086016131f3565b925060408501359150606085013567ffffffffffffffff81111561365257600080fd5b8501601f8101871361366357600080fd5b6136728782356020840161328b565b91505092959194509250565b60008060008060008060c0878903121561369757600080fd5b6136a0876131f3565b95506020870135945060408701359350606087013560ff811681146136c457600080fd5b9598949750929560808101359460a0909101359350915050565b600080604083850312156136f157600080fd5b823567ffffffffffffffff8082111561370957600080fd5b61371586838701613301565b9350602085013591508082111561372b57600080fd5b5061373885828601613301565b9150509250929050565b60008060006060848603121561375757600080fd5b833567ffffffffffffffff8082111561376f57600080fd5b61377b87838801613301565b9450602086013591508082111561379157600080fd5b61379d87838801613301565b935060408601359150808211156137b357600080fd5b506137c086828701613301565b9150509250925092565b600080604083850312156137dd57600080fd5b6137e6836131f3565b91506137f4602084016131f3565b90509250929050565b600181811c9082168061381157607f821691505b6020821081036110e857634e487b7160e01b600052602260045260246000fd5b601f8211156109d8576000816000526020600020601f850160051c8101602086101561385a5750805b601f850160051c820191505b8181101561092c57828155600101613866565b815167ffffffffffffffff81111561389357613893613275565b6138a7816138a184546137fd565b84613831565b602080601f8311600181146138dc57600084156138c45750858301515b600019600386901b1c1916600185901b17855561092c565b600085815260208120601f198616915b8281101561390b578886015182559484019460019091019084016138ec565b50858210156139295787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061396c9083018461319b565b9695505050505050565b60006020828403121561398857600080fd5b81516001600160e01b03198116811461094a57600080fd5b634e487b7160e01b600052603260045260246000fd5b600083516139c8818460208801613177565b602f60f81b90830190815283516139e6816001840160208801613177565b01600101949350505050565b60008351613a04818460208801613177565b835190830190613a18818360208801613177565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106c7576106c7613a21565b808201808211156106c7576106c7613a21565b6001600160e01b03818116838216019080821115613a7d57613a7d613a21565b5092915050565b6001600160e01b03828116828216039080821115613a7d57613a7d613a21565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b600082613aed57634e487b7160e01b600052601260045260246000fd5b50049056fe7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477003a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336c423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f667fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702","sourceMap":"771:4681:257:-:0;;;;;;;;;;;;-1:-1:-1;324:22:549;:20;:22::i;:::-;771:4681:257;;1653:314:554;296:66:555;1779:14:554;;;;;;;1775:62;;;1802:35;;-1:-1:-1;;;1802:35:554;;;;;;;;;;;1775:62;1848:9;;1860:16;1848:9;;;:28;1844:119;;;1886:28;;-1:-1:-1;;1886:28:554;1898:16;1886:28;;;;;1927:29;;158:42:654;;;1927:29:554;;146:2:654;131:18;1927:29:554;;;;;;;1844:119;1694:273;1653:314::o;14:192:654:-;771:4681:257;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101f95760003560e01c806375794a3c1161010d5780639ab24eb0116100a0578063c87b56dd1161006f578063c87b56dd1461057c578063d2f01f191461059c578063d6536540146105bc578063d7a901d3146105d1578063e985e9c5146105f157600080fd5b80639ab24eb014610509578063a22cb46514610529578063b88d4fde14610549578063c3cda5201461055c57600080fd5b806388cc58e4116100dc57806388cc58e4146104935780638e539e8c146104a857806391ddadf4146104c857806395d89b41146104f457600080fd5b806375794a3c146104165780637ecebe001461042b578063848806141461044b57806384b0196e1461046b57600080fd5b806342842e0e116101905780635bb478081161015f5780635bb47808146103695780635c19a95c146103895780636352211e146103a95780636a9a38e6146103c957806370a08231146103f657600080fd5b806342842e0e14610301578063466a18de146103145780634bf5d7e914610334578063587cde1e1461034957600080fd5b806323b872dd116101cc57806323b872dd146102995780633644e515146102ac5780633a46b1a8146102c15780633bf5b8f4146102e157600080fd5b806306fdde03146101fe578063081812fc14610229578063095ea7b31461026157806318160ddd14610276575b600080fd5b34801561020a57600080fd5b50610213610621565b60405161022091906131c7565b60405180910390f35b34801561023557600080fd5b506102496102443660046131da565b6106bc565b6040516001600160a01b039091168152602001610220565b61027461026f36600461320f565b6106cd565b005b34801561028257600080fd5b5061028b610715565b604051908152602001610220565b6102746102a7366004613239565b610724565b3480156102b857600080fd5b5061028b610934565b3480156102cd57600080fd5b5061028b6102dc36600461320f565b61093e565b3480156102ed57600080fd5b5061028b6102fc366004613321565b610951565b61027461030f366004613239565b6109bd565b34801561032057600080fd5b5061027461032f3660046133df565b6109dd565b34801561034057600080fd5b50610213610a3a565b34801561035557600080fd5b50610249610364366004613414565b610a44565b34801561037557600080fd5b50610274610384366004613414565b610a4f565b34801561039557600080fd5b506102746103a4366004613414565b610aa4565b3480156103b557600080fd5b506102496103c43660046131da565b610aae565b3480156103d557600080fd5b506103e96103e4366004613414565b610ab9565b604051610220919061342f565b34801561040257600080fd5b5061028b610411366004613414565b610afb565b34801561042257600080fd5b5061028b610b06565b34801561043757600080fd5b5061028b610446366004613414565b610b10565b34801561045757600080fd5b506102746104663660046134c1565b610b4d565b34801561047757600080fd5b50610480610bf9565b604051610220979695949392919061352d565b34801561049f57600080fd5b50610249610cbc565b3480156104b457600080fd5b5061028b6104c33660046131da565b610cdd565b3480156104d457600080fd5b506104dd610ce8565b60405165ffffffffffff9091168152602001610220565b34801561050057600080fd5b50610213610cf2565b34801561051557600080fd5b5061028b610524366004613414565b610d0a565b34801561053557600080fd5b506102746105443660046135c6565b610d15565b610274610557366004613602565b610d4e565b34801561056857600080fd5b5061027461057736600461367e565b610d98565b34801561058857600080fd5b506102136105973660046131da565b610da6565b3480156105a857600080fd5b506102746105b73660046136de565b610dd7565b3480156105c857600080fd5b50610213610e2a565b3480156105dd57600080fd5b506102746105ec366004613742565b610e34565b3480156105fd57600080fd5b5061061161060c3660046137ca565b610f2d565b6040519015158152602001610220565b606061062b610f39565b6002018054610639906137fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610665906137fd565b80156106b25780601f10610687576101008083540402835291602001916106b2565b820191906000526020600020905b81548152906001019060200180831161069557829003601f168201915b5050505050905090565b60006106c782610f5d565b92915050565b6001600160a01b038216158015906106e957506106e933610faa565b1561070757604051630ed551c360e41b815260040160405180910390fd5b6107118282611042565b5050565b600061071f61104e565b905090565b600061072f8261106d565b9050836001600160a01b0316816001600160a01b0316146107625760405162a1148160e81b815260040160405180910390fd5b60008061076e84611108565b91509150610793818761077e3390565b6001600160a01b039081169116811491141790565b6107be576107a18633610f2d565b6107be57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0385166107e557604051633a954ecd60e21b815260040160405180910390fd5b6107f28686866001611130565b80156107fd57600082555b610805610f39565b6001600160a01b0387166000908152600591909101602052604090208054600019019055610831610f39565b6001600160a01b03861660008181526005929092016020526040909120805460010190554260a01b17600160e11b17610868610f39565b60008681526004919091016020526040812091909155600160e11b841690036108de5760018401610897610f39565b6000828152600491909101602052604081205490036108dc576108b8610f39565b5481146108dc57836108c8610f39565b600083815260049190910160205260409020555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461092c868686600161116f565b505050505050565b600061071f61117a565b600061094a8383611184565b9392505050565b600080600080516020613af383398151915280549091506001600160a01b031633146109905760405163443e750b60e11b815260040160405180910390fd5b610998611222565b91506109a8878784888888611232565b6109b3336001611377565b5095945050505050565b6109d883838360405180602001604052806000815250610d4e565b505050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610a2e576040516365f4906560e01b81523360048201526024015b60405180910390fd5b610a37816114c7565b50565b606061071f611538565b60006106c7826115d0565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610a9b576040516365f4906560e01b8152336004820152602401610a25565b610a378161160d565b610a373382611677565b60006106c78261106d565b610af26040518060c001604052806060815260200160608152602001600081526020016000815260200160608152602001606081525090565b6106c782611711565b60006106c782611a0a565b600061071f611222565b6001600160a01b03811660009081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c0060205260408120546106c7565b610b5685611a73565b610b638585858585611aa7565b846001600160a01b031663410066056040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b9e57600080fd5b505af1158015610bb2573d6000803e3d6000fd5b505050507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7610be086611b80565b6040519081526020015b60405180910390a15050505050565b600060608082808083600080516020613b1383398151915254158015610c3e57507f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d54155b610c825760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610a25565b610c8a611bab565b610c92611bc1565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b600061071f600080516020613af3833981519152546001600160a01b031690565b60006106c782611bd7565b600061071f611c70565b6060610cfc610f39565b6003018054610639906137fd565b60006106c782611c7b565b808015610d265750610d2633610faa565b15610d4457604051630ed551c360e41b815260040160405180910390fd5b6107118282611ca9565b610d59848484610724565b6001600160a01b0383163b15610d9257610d7584848484611d26565b610d92576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b61092c868686868686611e12565b6060610db182611efb565b610dce57604051630a14c4b560e41b815260040160405180910390fd5b6106c782611f37565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054600160201b900460ff16610e2057604051630ef4733760e31b815260040160405180910390fd5b61071182826121b0565b606061071f6121da565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054600160201b900460ff161580610e7057303b1515610e7f565b8154600163ffffffff90911610155b15610ea8578154604051630a8ef77f60e31b815263ffffffff9091166004820152602401610a25565b815463ffffffff191660011782558015610ecf57815464ff000000001916600160201b1782555b610ed985856121b0565b610ee385846121f9565b8015610f2657815464ff0000000019168255604051600181527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c90602001610bea565b5050505050565b600061094a838361224c565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0090565b6000610f6882611efb565b610f85576040516333d1c03960e21b815260040160405180910390fd5b610f8d610f39565b60009283526006016020525060409020546001600160a01b031690565b6000807f0c89d3aad1b583c77a2e9f9fffa651b386c9c29e300bf2a8e2f3de1bb0100a0090506001600160a01b038316600080516020613af3833981519152546001600160a01b03161480159061094a57506001600160a01b0383166000908152600182016020526040902054158061094a57506001600160a01b038316600090815260018201602052604090205442109392505050565b61071182826001612289565b600080611059610f39565b60010154611065610f39565b540303919050565b600080611078610f39565b60008481526004820160205260408120549350909150600160e01b831690036110ee57816000036110e857805483106110c457604051636f96cda160e11b815260040160405180910390fd5b5b6000199092016000818152600484016020526040902054909290915081156110c5575b50919050565b50604051636f96cda160e11b815260040160405180910390fd5b6000806000611115610f39565b60009485526006016020525050604090912080549092909150565b6001600160a01b0384161580159061114c575061114c84610faa565b1561116a57604051630ed551c360e41b815260040160405180910390fd5b610d92565b61116a84848361233e565b600061071f6123e0565b600061118e611c70565b65ffffffffffff1682106111db5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610a25565b6112126111e783612454565b6001600160a01b0385166000908152600080516020613b338339815191526020526040902090612489565b6001600160e01b03169392505050565b600061122c610f39565b54919050565b61123d86600261253d565b61124885600061253d565b61125183612561565b60008481527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020908152604080832080546001600160a01b0319166001600160a01b03881690811790915581516080810183528a81528084018a9052808301899052426060820152908452600080516020613b538339815191529092529091208151600080516020613af383398151915292919081906112f29082613879565b50602082015160018201906113079082613879565b5060408281015160028301556060909201516003918201558151808301835285815260208082018690526001600160a01b03881660009081529285019052919020815181906113569082613879565b506020820151600182019061136b9082613879565b50505050505050505050565b6000611381610f39565b54905060008290036113a65760405163b562e8dd60e01b815260040160405180910390fd5b6113b36000848385611130565b6801000000000000000182026113c7610f39565b6001600160a01b038516600081815260059290920160205260409091208054929092019091554260a01b6001841460e11b1717611402610f39565b600083815260049190910160205260408120919091556001600160a01b0384169083830190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461148c57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101611454565b50816000036114ad57604051622e076360e81b815260040160405180910390fd5b806114b6610f39565b55506109d89050600084838561116f565b6114d281600161253d565b7f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477046114fd8282613879565b507f8fe3adc25723aa6a0b7eb4b4bacf52e92165c180bde5353f7cf606fbf5591f2b8160405161152d91906131c7565b60405180910390a150565b606043611543611c70565b65ffffffffffff16146115985760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610a25565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6001600160a01b0390811660009081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6560205260409020541690565b61161681612561565b600080516020613af383398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f64c14256e532eac2ec90ddc4973ed2d3f5623faf7951d90eec38f9b7812f99a79181900360200190a15050565b6000611682836115d0565b6001600160a01b0384811660008181527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f65602052604080822080546001600160a01b031916888616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46109d8818361170c86612588565b612593565b61174a6040518060c001604052806060815260200160608152602001600081526020016000815260200160608152602001606081525090565b6001600160a01b0382166000908152600080516020613b53833981519152602090815260408083207f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770390925291829020825160c08101909352815491929091819084906117b6906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546117e2906137fd565b801561182f5780601f106118045761010080835404028352916020019161182f565b820191906000526020600020905b81548152906001019060200180831161181257829003601f168201915b50505050508152602001836001018054611848906137fd565b80601f0160208091040260200160405190810160405280929190818152602001828054611874906137fd565b80156118c15780601f10611896576101008083540402835291602001916118c1565b820191906000526020600020905b8154815290600101906020018083116118a457829003601f168201915b5050505050815260200183600201548152602001836003015481526020018260000180546118ee906137fd565b80601f016020809104026020016040519081016040528092919081815260200182805461191a906137fd565b80156119675780601f1061193c57610100808354040283529160200191611967565b820191906000526020600020905b81548152906001019060200180831161194a57829003601f168201915b50505050508152602001826001018054611980906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546119ac906137fd565b80156119f95780601f106119ce576101008083540402835291602001916119f9565b820191906000526020600020905b8154815290600101906020018083116119dc57829003601f168201915b505050505081525092505050919050565b60006001600160a01b038216611a33576040516323d3ad8160e21b815260040160405180910390fd5b67ffffffffffffffff611a44610f39565b6005016000846001600160a01b03166001600160a01b0316815260200190815260200160002054169050919050565b33611a806103c483611b80565b6001600160a01b031614610a375760405163dbfcf17d60e01b815260040160405180910390fd5b611ab284600261253d565b611abd83600061253d565b6001600160a01b0385166000908152600080516020613b5383398151915260205260409020600080516020613af38339815191529080611afd8782613879565b5060018101611b0c8682613879565b506001600160a01b0387166000908152600383016020526040902080611b328682613879565b5060018101611b418582613879565b506040516001600160a01b038916907f66da702131703ee5e745ecf2f5b98311caa00729edd55541baad49289fc42ed890600090a25050505050505050565b6001600160a01b03166000908152600080516020613b53833981519152602052604090206002015490565b6060600080516020613b1383398151915261062b565b6060600080516020613b13833981519152610cfc565b6000611be1611c70565b65ffffffffffff168210611c2e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610a25565b611c61611c3a83612454565b7f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6790612489565b6001600160e01b031692915050565b600061071f43612714565b6001600160a01b0381166000908152600080516020613b3383398151915260205260408120611c6190612747565b80611cb2610f39565b336000818152600792909201602090815260408084206001600160a01b03881680865290835293819020805460ff19169515159590951790945592518415158152919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611d5b903390899088908890600401613939565b6020604051808303816000875af1925050508015611d96575060408051601f3d908101601f19168201909252611d9391810190613976565b60015b611df4573d808015611dc4576040519150601f19603f3d011682016040523d82523d6000602084013e611dc9565b606091505b508051600003611dec576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b83421115611e625760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610a25565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090611edc90611ed49060a00160405160208183030381529060405280519060200120612780565b8585856127ad565b9050611ee881876127db565b611ef28188611677565b50505050505050565b6000611f05610f39565b54821080156106c75750600160e01b611f1c610f39565b60008481526004919091016020526040902054161592915050565b60008181527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020526040902054606090600080516020613af3833981519152906001600160a01b031680611f9f5760405163af5f208f60e01b815260040160405180910390fd5b6001600160a01b03811660009081526002830160205260409020600181018054611fc8906137fd565b15905061206657806001018054611fde906137fd565b80601f016020809104026020016040519081016040528092919081815260200182805461200a906137fd565b80156120575780601f1061202c57610100808354040283529160200191612057565b820191906000526020600020905b81548152906001019060200180831161203a57829003601f168201915b50505050509350505050919050565b6000836004018054612077906137fd565b80601f01602080910402602001604051908101604052809291908181526020018280546120a3906137fd565b80156120f05780601f106120c5576101008083540402835291602001916120f0565b820191906000526020600020905b8154815290600101906020018083116120d357829003601f168201915b505050505090506000815190508060000361211e5760405163cd251ac560e01b815260040160405180910390fd5b816001820381518110612133576121336139a0565b6020910101516001600160f81b031916602f60f81b1461218c5781612160856001600160a01b031661284d565b6040516020016121719291906139b6565b60405160208183030381529060405295505050505050919050565b8161219f856001600160a01b031661284d565b6040516020016121719291906139f2565b6121c06380ac58cd60e01b6128f6565b6121d0635b5e139f60e01b6128f6565b61071182826129cf565b6060600080516020613af38339815191526004018054610639906137fd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054600160201b900460ff1661224257604051630ef4733760e31b815260040160405180910390fd5b6107118282612a01565b6000612256610f39565b6001600160a01b039384166000908152600791909101602090815260408083209490951682529290925250205460ff1690565b600061229483610aae565b905081156122d357336001600160a01b038216146122d3576122b6813361224c565b6122d3576040516367d9dca160e11b815260040160405180910390fd5b836122dc610f39565b6000858152600691909101602052604080822080546001600160a01b0319166001600160a01b0394851617905551859287811692908516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a450505050565b6001600160a01b038316612384576123817f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67612a9361237c84612a9f565b612ad3565b50505b6001600160a01b0382166123c5576123c27f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67612b1c61237c84612a9f565b50505b6109d86123d1846115d0565b6123da846115d0565b83612593565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61240b612b28565b612413612b8e565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600063ffffffff821115612485576040516306dfcc6560e41b81526020600482015260248101839052604401610a25565b5090565b8154600090818160058111156124e65760006124a484612bde565b6124ae9085613a37565b60008881526020902090915081015463ffffffff90811690871610156124d6578091506124e4565b6124e1816001613a4a565b92505b505b60006124f487878585612d36565b9050801561252f576125198761250b600184613a37565b600091825260209091200190565b54600160201b90046001600160e01b0316612532565b60005b979650505050505050565b815182908211156109d8576040516374eb20a760e01b815260040160405180910390fd5b6001600160a01b038116610a37576040516302e47d1560e41b815260040160405180910390fd5b60006106c782610afb565b816001600160a01b0316836001600160a01b0316141580156125b55750600081115b156109d8576001600160a01b03831615612665576001600160a01b0383166000908152600080516020613b3383398151915260205260408120819061260090612b1c61237c86612a9f565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161265a929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156109d8576001600160a01b0382166000908152600080516020613b338339815191526020526040812081906126ab90612a9361237c86612a9f565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612705929190918252602082015260400190565b60405180910390a25050505050565b600065ffffffffffff821115612485576040516306dfcc6560e41b81526030600482015260248101839052604401610a25565b80546000908015612777576127618361250b600184613a37565b54600160201b90046001600160e01b031661094a565b60009392505050565b60006106c761278d61117a565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000806127bf88888888612d94565b9250925092506127cf8282612e63565b50909695505050505050565b6001600160a01b03821660009081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c00602052604090208054600181019091558181146109d8576040516301d4b62360e61b81526001600160a01b038416600482015260248101829052604401610a25565b606061285882612f1c565b6028602282019081209192507f4040404040404040404040404040404040404040404040404040404040404040917f888888888888888888888888888888888888888888888888888888888888888016601160f31b60005b82811a8202818001526001810190601219016128b057505050818151166000511660011c8151188152602081019050818151166020511660011c81511881525050919050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff1661297e576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055612997565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b60006129d9610f39565b9050600281016129e98482613879565b50600381016129f88382613879565b50600090555050565b7f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336e612a2c8382613879565b507f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336f612a588282613879565b50506000600080516020613b138339815191528190557f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d5550565b600061094a8284613a5d565b60006001600160e01b03821115612485576040516306dfcc6560e41b815260e0600482015260248101839052604401610a25565b600080612b0f612af1612ae4611c70565b65ffffffffffff16612454565b612b07612afd88612747565b868863ffffffff16565b879190612f40565b915091505b935093915050565b600061094a8284613a84565b600080612b33611bab565b805190915015612b4a578051602090910120919050565b600080516020613b13833981519152548015612b665792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612b99611bc1565b805190915015612bb0578051602090910120919050565b7f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d548015612b665792915050565b600060018211612bec575090565b816001600160801b8210612c055760809190911c9060401b5b680100000000000000008210612c205760409190911c9060201b5b600160201b8210612c365760209190911c9060101b5b620100008210612c4b5760109190911c9060081b5b6101008210612c5f5760089190911c9060041b5b60108210612c725760049190911c9060021b5b60048210612c7e5760011b5b600302600190811c90818581612c9657612c96613aa4565b048201901c90506001818581612cae57612cae613aa4565b048201901c90506001818581612cc657612cc6613aa4565b048201901c90506001818581612cde57612cde613aa4565b048201901c90506001818581612cf657612cf6613aa4565b048201901c90506001818581612d0e57612d0e613aa4565b048201901c9050612d2d818581612d2757612d27613aa4565b04821190565b90039392505050565b60005b81831015612d8c576000612d4d8484612f4e565b60008781526020902090915063ffffffff86169082015463ffffffff161115612d7857809250612d86565b612d83816001613a4a565b93505b50612d39565b509392505050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612dcf5750600091506003905082612e59565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612e23573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612e4f57506000925060019150829050612e59565b9250600091508190505b9450945094915050565b6000826003811115612e7757612e77613aba565b03612e80575050565b6001826003811115612e9457612e94613aba565b03612eb25760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612ec657612ec6613aba565b03612ee75760405163fce698f760e01b815260048101829052602401610a25565b6003826003811115612efb57612efb613aba565b03610711576040516335e2f38360e21b815260048101829052602401610a25565b6060612f2782612f69565b8051613078825260020160011990910190815292915050565b600080612b0f858585612fd8565b6000612f5d6002848418613ad0565b61094a90848416613a4a565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901612fa9575050919050565b82546000908190801561311e576000612ff68761250b600185613a37565b60408051808201909152905463ffffffff808216808452600160201b9092046001600160e01b0316602084015291925090871610156130775760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610a25565b805163ffffffff8088169116036130bf57846130988861250b600186613a37565b80546001600160e01b0392909216600160201b0263ffffffff90921691909117905561310e565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160201b029216919091179101555b602001519250839150612b149050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160201b029190931617920191909155905081612b14565b60005b8381101561319257818101518382015260200161317a565b50506000910152565b600081518084526131b3816020860160208601613177565b601f01601f19169290920160200192915050565b60208152600061094a602083018461319b565b6000602082840312156131ec57600080fd5b5035919050565b80356001600160a01b038116811461320a57600080fd5b919050565b6000806040838503121561322257600080fd5b61322b836131f3565b946020939093013593505050565b60008060006060848603121561324e57600080fd5b613257846131f3565b9250613265602085016131f3565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156132a6576132a6613275565b604051601f8501601f19908116603f011681019082821181831017156132ce576132ce613275565b816040528093508581528686860111156132e757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261331257600080fd5b61094a8383356020850161328b565b600080600080600060a0868803121561333957600080fd5b853567ffffffffffffffff8082111561335157600080fd5b61335d89838a01613301565b9650602088013591508082111561337357600080fd5b61337f89838a01613301565b955061338d604089016131f3565b945060608801359150808211156133a357600080fd5b6133af89838a01613301565b935060808801359150808211156133c557600080fd5b506133d288828901613301565b9150509295509295909350565b6000602082840312156133f157600080fd5b813567ffffffffffffffff81111561340857600080fd5b611e0a84828501613301565b60006020828403121561342657600080fd5b61094a826131f3565b602081526000825160c0602084015261344b60e084018261319b565b90506020840151601f1980858403016040860152613469838361319b565b9250604086015160608601526060860151608086015260808601519150808584030160a086015261349a838361319b565b925060a08601519150808584030160c0860152506134b8828261319b565b95945050505050565b600080600080600060a086880312156134d957600080fd5b6134e2866131f3565b9450602086013567ffffffffffffffff808211156134ff57600080fd5b61350b89838a01613301565b9550604088013591508082111561352157600080fd5b61338d89838a01613301565b60ff60f81b881681526000602060e0602084015261354e60e084018a61319b565b8381036040850152613560818a61319b565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156135b457835183529284019291840191600101613598565b50909c9b505050505050505050505050565b600080604083850312156135d957600080fd5b6135e2836131f3565b9150602083013580151581146135f757600080fd5b809150509250929050565b6000806000806080858703121561361857600080fd5b613621856131f3565b935061362f602086016131f3565b925060408501359150606085013567ffffffffffffffff81111561365257600080fd5b8501601f8101871361366357600080fd5b6136728782356020840161328b565b91505092959194509250565b60008060008060008060c0878903121561369757600080fd5b6136a0876131f3565b95506020870135945060408701359350606087013560ff811681146136c457600080fd5b9598949750929560808101359460a0909101359350915050565b600080604083850312156136f157600080fd5b823567ffffffffffffffff8082111561370957600080fd5b61371586838701613301565b9350602085013591508082111561372b57600080fd5b5061373885828601613301565b9150509250929050565b60008060006060848603121561375757600080fd5b833567ffffffffffffffff8082111561376f57600080fd5b61377b87838801613301565b9450602086013591508082111561379157600080fd5b61379d87838801613301565b935060408601359150808211156137b357600080fd5b506137c086828701613301565b9150509250925092565b600080604083850312156137dd57600080fd5b6137e6836131f3565b91506137f4602084016131f3565b90509250929050565b600181811c9082168061381157607f821691505b6020821081036110e857634e487b7160e01b600052602260045260246000fd5b601f8211156109d8576000816000526020600020601f850160051c8101602086101561385a5750805b601f850160051c820191505b8181101561092c57828155600101613866565b815167ffffffffffffffff81111561389357613893613275565b6138a7816138a184546137fd565b84613831565b602080601f8311600181146138dc57600084156138c45750858301515b600019600386901b1c1916600185901b17855561092c565b600085815260208120601f198616915b8281101561390b578886015182559484019460019091019084016138ec565b50858210156139295787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061396c9083018461319b565b9695505050505050565b60006020828403121561398857600080fd5b81516001600160e01b03198116811461094a57600080fd5b634e487b7160e01b600052603260045260246000fd5b600083516139c8818460208801613177565b602f60f81b90830190815283516139e6816001840160208801613177565b01600101949350505050565b60008351613a04818460208801613177565b835190830190613a18818360208801613177565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106c7576106c7613a21565b808201808211156106c7576106c7613a21565b6001600160e01b03818116838216019080821115613a7d57613a7d613a21565b5092915050565b6001600160e01b03828116828216039080821115613a7d57613a7d613a21565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b600082613aed57634e487b7160e01b600052601260045260246000fd5b50049056fe7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477003a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336c423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f667fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702","sourceMap":"771:4681:257:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2023:116:157;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3501:132;;;;;;;;;;-1:-1:-1;3501:132:157;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1119:32:654;;;1101:51;;1089:2;1074:18;3501:132:157;955:203:654;3787:267:257;;;;;;:::i;:::-;;:::i;:::-;;1506:93:157;;;;;;;;;;;;;:::i;:::-;;;1746:25:654;;;1734:2;1719:18;1506:93:157;1600:177:654;4896:2680:157;;;;;;:::i;:::-;;:::i;2877:105:257:-;;;;;;;;;;;;;:::i;722:159:140:-;;;;;;;;;;-1:-1:-1;722:159:140;;;;;:::i;:::-;;:::i;1855:346:257:-;;;;;;;;;;-1:-1:-1;1855:346:257;;;;;:::i;:::-;;:::i;7659:167:157:-;;;;;;:::i;:::-;;:::i;3186:91:257:-;;;;;;;;;;-1:-1:-1;3186:91:257;;;;;:::i;:::-;;:::i;459:96:140:-;;;;;;;;;;;;;:::i;1080:111::-;;;;;;;;;;-1:-1:-1;1080:111:140;;;;;:::i;:::-;;:::i;1322:87:257:-;;;;;;;;;;-1:-1:-1;1322:87:257;;;;;:::i;:::-;;:::i;1220:95:140:-;;;;;;;;;;-1:-1:-1;1220:95:140;;;;;:::i;:::-;;:::i;2870:152:157:-;;;;;;;;;;-1:-1:-1;2870:152:157;;;;;:::i;:::-;;:::i;2235:108:257:-;;;;;;;;;;-1:-1:-1;2235:108:257;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1676:107:157:-;;;;;;;;;;-1:-1:-1;1676:107:157;;;;;:::i;:::-;;:::i;1734:87:257:-;;;;;;;;;;;;;:::i;2766:107::-;;;;;;;;;;-1:-1:-1;2766:107:257;;;;;:::i;:::-;;:::i;2377:385::-;;;;;;;;;;-1:-1:-1;2377:385:257;;;;;:::i;:::-;;:::i;4531:801:595:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;1443:85:257:-;;;;;;;;;;;;;:::i;910:141:140:-;;;;;;;;;;-1:-1:-1;910:141:140;;;;;:::i;:::-;;:::i;348:80::-;;;;;;;;;;;;;:::i;:::-;;;8345:14:654;8333:27;;;8315:46;;8303:2;8288:18;348:80:140;8171:196:654;2202:120:157;;;;;;;;;;;;;:::i;584:109:140:-;;;;;;;;;;-1:-1:-1;584:109:140;;;;;:::i;:::-;;:::i;4058:282:257:-;;;;;;;;;;-1:-1:-1;4058:282:257;;;;;:::i;:::-;;:::i;8375:348:157:-;;;;;;:::i;:::-;;:::i;1344:214:140:-;;;;;;;;;;-1:-1:-1;1344:214:140;;;;;:::i;:::-;;:::i;3412:196:257:-;;;;;;;;;;-1:-1:-1;3412:196:257;;;;;:::i;:::-;;:::i;872:157:157:-;;;;;;;;;;-1:-1:-1;872:157:157;;;;;:::i;:::-;;:::i;3311:97:257:-;;;;;;;;;;;;;:::i;902:212::-;;;;;;;;;;-1:-1:-1;902:212:257;;;;;:::i;:::-;;:::i;4343:167:157:-;;;;;;;;;;-1:-1:-1;4343:167:157;;;;;:::i;:::-;;:::i;:::-;;;11745:14:654;;11738:22;11720:41;;11708:2;11693:18;4343:167:157;11580:187:654;2023:116:157;2077:13;2105:23;:21;:23::i;:::-;:29;;2098:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2023:116;:::o;3501:132::-;3585:7;3607:21;3620:7;3607:12;:21::i;:::-;3600:28;3501:132;-1:-1:-1;;3501:132:157:o;3787:267:257:-;-1:-1:-1;;;;;3927:16:257;;;;;;:48;;;3947:28;3964:10;3947:16;:28::i;:::-;3923:94;;;3992:18;;-1:-1:-1;;;3992:18:257;;;;;;;;;;;3923:94;4023:26;4037:2;4041:7;4023:13;:26::i;:::-;3787:267;;:::o;1506:93:157:-;1558:7;1580:14;:12;:14::i;:::-;1573:21;;1506:93;:::o;4896:2680::-;5015:27;5045;5064:7;5045:18;:27::i;:::-;5015:57;;5124:4;-1:-1:-1;;;;;5083:45:157;5099:19;-1:-1:-1;;;;;5083:45:157;;5079:92;;5143:28;;-1:-1:-1;;;5143:28:157;;;;;;;;;;;5079:92;5186:27;5221:23;5253:35;5280:7;5253:26;:35::i;:::-;5178:110;;;;5377:68;5402:15;5419:4;5425:19;29364:10:158;;29282:97;5425:19:157;-1:-1:-1;;;;;11870:32:158;;;11728:28;;11985:20;;12007:30;;11982:56;;11461:587;5377:68:157;5372:181;;5458:43;5475:4;29364:10:158;4343:167:157;:::i;5458:43::-;5453:100;;5518:35;;-1:-1:-1;;;5518:35:157;;;;;;;;;;;5453:100;-1:-1:-1;;;;;5564:16:157;;5560:52;;5589:23;;-1:-1:-1;;;5589:23:157;;;;;;;;;;;5560:52;5619:43;5641:4;5647:2;5651:7;5660:1;5619:21;:43::i;:::-;5737:15;5734:135;;;5859:1;5838:19;5831:30;5734:135;6209:23;:21;:23::i;:::-;-1:-1:-1;;;;;6209:48:157;;;;;;:42;;;;;:48;;;;;6207:50;;-1:-1:-1;;6207:50:157;;;6295:23;:21;:23::i;:::-;-1:-1:-1;;;;;6295:46:157;;;;;;:42;;;;;:46;;;;;;6293:48;;;;;;10229:11:158;10204:23;10200:41;10187:63;-1:-1:-1;;;10187:63:158;6569:23:157;:21;:23::i;:::-;:50;;;;:41;;;;;:50;;;;;:184;;;;-1:-1:-1;;;6858:47:157;;:52;;6854:625;;6954:1;6944:11;;7059:23;:21;:23::i;:::-;:54;;;;:41;;;;;:54;;;;;;:59;;7055:416;;7199:23;:21;:23::i;:::-;:37;7184:52;;7180:281;;7429:19;7344:23;:21;:23::i;:::-;:82;;;;:41;;;;;:82;;;;;:104;7180:281;6912:567;6854:625;7515:7;7511:2;-1:-1:-1;;;;;7496:27:157;7505:4;-1:-1:-1;;;;;7496:27:157;;;;;;;;;;;7529:42;7550:4;7556:2;7560:7;7569:1;7529:20;:42::i;:::-;5009:2567;;;4896:2680;;;:::o;2877:105:257:-;2928:14;2957:20;:18;:20::i;722:159:140:-;821:7;843:33;857:7;866:9;843:13;:33::i;:::-;836:40;722:159;-1:-1:-1;;;722:159:140:o;1855:346:257:-;2045:15;;-1:-1:-1;;;;;;;;;;;618:10:258;;;;-1:-1:-1;;;;;;618:10:258;604;:24;600:84;;645:32;;-1:-1:-1;;;645:32:258;;;;;;;;;;;600:84;2078:14:257::1;:12;:14::i;:::-;2068:24;;2098:72;2109:4;2115:3;2120:7;2129:5;2136:16;2154:15;2098:10;:72::i;:::-;2176:20;2182:10;2194:1;2176:5;:20::i;:::-;524:171:258::0;1855:346:257;;;;;;;:::o;7659:167:157:-;7782:39;7799:4;7805:2;7809:7;7782:39;;;;;;;;;;;;:16;:39::i;:::-;7659:167;;;:::o;3186:91:257:-;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;1101:51:654;1074:18;;318:29:564;;;;;;;;275:79;3253:19:257::1;3268:3;3253:14;:19::i;:::-;3186:91:::0;:::o;459:96:140:-;510:13;538:12;:10;:12::i;1080:111::-;1145:7;1167:19;1178:7;1167:10;:19::i;1322:87:257:-;284:66:566;438:29:564;-1:-1:-1;;;;;438:29:564;279:10;:22;275:79;;318:29;;-1:-1:-1;;;318:29:564;;336:10;318:29;;;1101:51:654;1074:18;;318:29:564;955:203:654;275:79:564;1384:20:257::1;1396:7;1384:11;:20::i;1220:95:140:-:0;1278:32;1288:10;1300:9;1278;:32::i;2870:152:157:-;2950:7;2988:27;3007:7;2988:18;:27::i;2235:108:257:-;2295:12;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2295:12:257;2322:16;2332:5;2322:9;:16::i;1676:107:157:-;1739:7;1761:17;1772:5;1761:10;:17::i;1734:87:257:-;1780:7;1802:14;:12;:14::i;2766:107::-;-1:-1:-1;;;;;526:37:594;;2820:14:257;526:37:594;;;1781:12;526:37;;;;;;2849:19:257;436:132:594;2377:385:257;2558:22;2574:5;2558:15;:22::i;:::-;2586:65;2599:5;2606:4;2612:3;2617:16;2635:15;2586:12;:65::i;:::-;2678:5;-1:-1:-1;;;;;2658:42:257;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2714:43;2738:18;2750:5;2738:11;:18::i;:::-;2714:43;;1746:25:654;;;1734:2;1719:18;2714:43:257;;;;;;;;2377:385;;;;;:::o;4531:801:595:-;4620:13;4641:18;;4620:13;;;4641:18;-1:-1:-1;;;;;;;;;;;5024:34:595;:39;:93;;;;-1:-1:-1;5075:37:595;;:42;5024:93;5009:145;;;;-1:-1:-1;;;5009:145:595;;12359:2:654;5009:145:595;;;12341:21:654;12398:2;12378:18;;;12371:30;-1:-1:-1;;;12417:18:654;;;12410:51;12478:18;;5009:145:595;12157:345:654;5009:145:595;5200:13;:11;:13::i;:::-;5221:16;:14;:16::i;:::-;5305;;;5295:1;5305:16;;;;;;;;;-1:-1:-1;;;5161:166:595;;;-1:-1:-1;5161:166:595;;-1:-1:-1;5245:13:595;;-1:-1:-1;5274:4:595;;-1:-1:-1;5295:1:595;-1:-1:-1;5305:16:595;-1:-1:-1;5161:166:595;-1:-1:-1;4531:801:595:o;1443:85:257:-;1488:7;1510:13;-1:-1:-1;;;;;;;;;;;1069:10:258;-1:-1:-1;;;;;1069:10:258;;931:153;910:141:140;994:7;1016:30;1036:9;1016:19;:30::i;348:80::-;394:6;415:8;:6;:8::i;2202:120:157:-;2258:13;2286:23;:21;:23::i;:::-;:31;;2279:38;;;;;:::i;584:109:140:-;648:7;670:18;680:7;670:9;:18::i;4058:282:257:-;4204:8;:40;;;;;4216:28;4233:10;4216:16;:28::i;:::-;4200:86;;;4261:18;;-1:-1:-1;;;4261:18:257;;;;;;;;;;;4200:86;4292:43;4316:8;4326;4292:23;:43::i;8375:348:157:-;8522:31;8535:4;8541:2;8545:7;8522:12;:31::i;:::-;-1:-1:-1;;;;;8563:14:157;;;:19;8559:160;;8595:56;8626:4;8632:2;8636:7;8645:5;8595:30;:56::i;:::-;8590:129;;8670:40;;-1:-1:-1;;;8670:40:157;;;;;;;;;;;8590:129;8375:348;;;;:::o;1344:214:140:-;1504:49;1519:9;1530:5;1537:6;1545:1;1548;1551;1504:14;:49::i;3412:196:257:-;3493:13;3519:16;3527:7;3519;:16::i;:::-;3514:59;;3544:29;;-1:-1:-1;;;3544:29:257;;;;;;;;;;;3514:59;3587:16;3595:7;3587;:16::i;872:157:157:-;296:66:555;1263:42:554;-1:-1:-1;;;1263:42:554;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;984:40:157::1;1009:5;1016:7;984:24;:40::i;3311:97:257:-:0;3359:13;3387:16;:14;:16::i;902:212::-;296:66:555;540:14:554;;-1:-1:-1;;;540:14:554;;;;539:15;;564:53;;2049:4;2041:25;:30;;564:53;;;581:9;;594:1;581:9;;;;:14;;564:53;560:124;;;667:9;;634:43;;-1:-1:-1;;;634:43:554;;667:9;;;;634:43;;;12651:42:654;12624:18;;634:43:554;12507:192:654;560:124:554;689:13;;-1:-1:-1;;689:13:554;701:1;689:13;;;708:56;;;;736:21;;-1:-1:-1;;736:21:554;-1:-1:-1;;;736:21:554;;;708:56;1037:38:257::1;1062:4;1068:6;1037:24;:38::i;:::-;1081:28;1095:4;1101:7;1081:13;:28::i;:::-;780:14:554::0;776:84;;;804:22;;-1:-1:-1;;804:22:554;;;839:14;;-1:-1:-1;12651:42:654;;839:14:554;;12639:2:654;12624:18;839:14:554;12507:192:654;776:84:554;435:429;;902:212:257;;;:::o;4343:167:157:-;4452:4;4471:34;4489:5;4496:8;4471:17;:34::i;1689:139:160:-;293:66;;1689:139::o;22504:230:158:-;22582:7;22602:16;22610:7;22602;:16::i;:::-;22597:64;;22627:34;;-1:-1:-1;;;22627:34:158;;;;;;;;;;;22597:64;22675:23;:21;:23::i;:::-;:48;;;;:39;;:48;;-1:-1:-1;22675:48:158;;;:54;-1:-1:-1;;;;;22675:54:158;;22504:230::o;1926:456:239:-;1993:4;;280:66:241;2005:60:239;-1:-1:-1;;;;;;2224:46:239;;-1:-1:-1;;;;;;;;;;;2224:34:239;-1:-1:-1;;;;;2224:34:239;:46;;;;:153;;-1:-1:-1;;;;;;2281:30:239;;;;;;:20;;;:30;;;;;;:35;;:95;;-1:-1:-1;;;;;;2346:30:239;;;;;;:20;;;:30;;;;;;2328:15;:48;2211:166;1926:456;-1:-1:-1;;;1926:456:239:o;3239:128:157:-;3335:27;3344:2;3348:7;3357:4;3335:8;:27::i;2978:351:158:-;3025:7;;3256:23;:21;:23::i;:::-;:36;;;3208:23;:21;:23::i;:::-;:37;:84;:110;;2978:351;-1:-1:-1;2978:351:158:o;7829:1501::-;7905:14;7967:32;8002:23;:21;:23::i;:::-;8043:29;;;;:20;;;:29;;;;;;;-1:-1:-1;7967:58:158;;-1:-1:-1;;;;8108:24:158;;:29;;8104:1172;;8229:6;8239:1;8229:11;8225:791;;8269:16;;8258:27;;8254:83;;8306:31;;-1:-1:-1;;;8306:31:158;;;;;;;;;;;8254:83;8824:182;-1:-1:-1;;8903:9:158;;;8882:31;;;;:20;;;:31;;;;;;8903:9;;8882:31;;-1:-1:-1;8941:25:158;;8824:182;8941:25;;8980:13;7829:1501;;;:::o;8104:1172::-;7959:1323;9294:31;;-1:-1:-1;;;9294:31:158;;;;;;;;;;;12148:478;12244:27;12273:23;12306:38;12347:30;:28;:30::i;:::-;:62;;;;:53;;:62;;-1:-1:-1;;12347:62:158;;;;12590:26;;12347:62;;12590:26;;-1:-1:-1;12148:478:158:o;4344:354:257:-;-1:-1:-1;;;;;4489:18:257;;;;;;:44;;;4511:22;4528:4;4511:16;:22::i;:::-;4485:141;;;4601:18;;-1:-1:-1;;;4601:18:257;;;;;;;;;;;4485:141;4632:61;8375:348:157;4702:262:257;4851:41;4872:4;4878:2;4882:9;4851:20;:41::i;3309:103:595:-;3362:7;3384:23;:21;:23::i;4034:301:141:-;4128:7;4163:8;:6;:8::i;:::-;4151:20;;:9;:20;4143:53;;;;-1:-1:-1;;;4143:53:141;;13112:2:654;4143:53:141;;;13094:21:654;13151:2;13131:18;;;13124:30;-1:-1:-1;;;13170:18:654;;;13163:50;13230:18;;4143:53:141;12910:344:654;4143:53:141;4215:115;4294:28;4312:9;4294:17;:28::i;:::-;-1:-1:-1;;;;;4215:51:141;;;;;;-1:-1:-1;;;;;;;;;;;4215:51:141;;;;;;:69;:115::i;:::-;-1:-1:-1;;;;;4202:128:141;;4034:301;-1:-1:-1;;;4034:301:141:o;4035:119:158:-;4090:7;4112:23;:21;:23::i;:::-;:37;;4035:119;-1:-1:-1;4035:119:158:o;1260:808:258:-;1457:30;1479:4;1485:1;1457:21;:30::i;:::-;1578:29;1600:3;1605:1;1578:21;:29::i;:::-;1613;1636:5;1613:22;:29::i;:::-;1649:35;1720:26;;;:17;:26;;;;;;;;:34;;-1:-1:-1;;;;;;1720:34:258;-1:-1:-1;;;;;1720:34:258;;;;;;;;1787:123;;;;;;;;;;;;;;;;;;;;;;1888:15;1787:123;;;;1760:24;;;-1:-1:-1;;;;;;;;;;;1760:24:258;;;;;;:150;;-1:-1:-1;;;;;;;;;;;847:12:259;1787:123:258;1760:24;;;:150;;:24;:150;:::i;:::-;-1:-1:-1;1760:150:258;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1760:150:258;;;;;;;;;;;;;;;;;;;1942:121;;;;;;;;;;-1:-1:-1;1942:121:258;;;;;;-1:-1:-1;;;;;1916:23:258;;-1:-1:-1;1916:23:258;;;:16;;;:23;;;;;:147;;:23;;:147;;:23;:147;:::i;:::-;-1:-1:-1;1916:147:258;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;1260:808:258:o;15799:2642:158:-;15867:20;15890:23;:21;:23::i;:::-;:37;;-1:-1:-1;15890:37:158;15937:13;;;15933:44;;15959:18;;-1:-1:-1;;;15959:18:158;;;;;;;;;;;15933:44;15984:61;16014:1;16018:2;16022:12;16036:8;15984:21;:61::i;:::-;16474:32;16454:53;;16396:23;:21;:23::i;:::-;-1:-1:-1;;;;;16396:46:158;;;;;;:42;;;;;:46;;;;;;:111;;;;;;;;;10229:11;10204:23;10200:41;-1:-1:-1;10624:15:158;;10598:24;10594:46;10197:52;10187:63;16707:23;:21;:23::i;:::-;:71;;;;:41;;;;;:71;;;;;:188;;;;-1:-1:-1;;;;;17416:25:158;;;16942:23;;;;16758:12;;17416:25;;17602;16707:71;;17488:260;18026:1;18012:12;18008:20;17977:275;18058:3;18049:7;18046:16;17977:275;;18234:7;18224:8;18221:1;18194:25;18191:1;18188;18183:59;18100:1;18087:15;17977:275;;;17981:57;18271:8;18283:1;18271:13;18267:45;;18293:19;;-1:-1:-1;;;18293:19:158;;;;;;;;;;;18267:45;18361:3;18321:23;:21;:23::i;:::-;:43;-1:-1:-1;18376:60:158;;-1:-1:-1;18321:37:158;18409:2;18413:12;18427:8;18376:20;:60::i;481:183:260:-;539:29;561:3;566:1;539:21;:29::i;:::-;575:37;:43;615:3;575:37;:43;:::i;:::-;;629:30;655:3;629:30;;;;;;:::i;:::-;;;;;;;;481:183;:::o;3046:221:141:-;3091:13;3177:12;3165:8;:6;:8::i;:::-;:24;;;3157:61;;;;-1:-1:-1;;;3157:61:141;;15656:2:654;3157:61:141;;;15638:21:654;15695:2;15675:18;;;15668:30;15734:26;15714:18;;;15707:54;15778:18;;3157:61:141;15454:348:654;3157:61:141;-1:-1:-1;3224:38:141;;;;;;;;;;;;;;;;;;3046:221::o;5293:129::-;-1:-1:-1;;;;;5375:42:141;;;5353:7;5375:42;;;219:52:142;5375:42:141;;;;;;;;5293:129::o;699:228:258:-;752:31;775:7;752:22;:31::i;:::-;-1:-1:-1;;;;;;;;;;;860:20:258;;-1:-1:-1;;;;;860:20:258;;-1:-1:-1;;;;;;860:20:258;;;;;;;891:31;;;1101:51:654;;;891:31:258;;;;;;1089:2:654;891:31:258;;;746:181;699:228;:::o;6651:401:141:-;6771:19;6793;6804:7;6793:10;:19::i;:::-;-1:-1:-1;;;;;6818:42:141;;;:33;:42;;;219:52:142;6818:42:141;;;;;;:54;;-1:-1:-1;;;;;;6818:54:141;;;;;;;;;;6884:48;;6771:41;;-1:-1:-1;6818:54:141;6884:48;;;;;;6818:33;6884:48;6938:68;6957:11;6970:9;6981:24;6997:7;6981:15;:24::i;:::-;6938:18;:68::i;2828:580:258:-;2885:12;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2885:12:258;-1:-1:-1;;;;;2949:62:258;;2905:41;2949:62;;;-1:-1:-1;;;;;;;;;;;2949:62:258;;;;;;;;3069:54;:61;;;;;;;3150:253;;;;;;;;;;2949:62;;3069:61;;3150:253;;2949:62;;3150:253;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3201:9;:13;;3150:253;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3233:9;:17;;;3150:253;;;;3271:9;:19;;;3150:253;;;;3318:8;:25;;3150:253;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3370:8;:24;;3150:253;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3137:266;;;;2828:580;;;:::o;3333:242:158:-;3391:7;-1:-1:-1;;;;;3410:19:158;;3406:60;;3438:28;;-1:-1:-1;;;3438:28:158;;;;;;;;;;;3406:60;564:13;3485:23;:21;:23::i;:::-;:42;;:49;3528:5;-1:-1:-1;;;;;3485:49:158;-1:-1:-1;;;;;3485:49:158;;;;;;;;;;;;;:85;3472:98;;3333:242;;;:::o;5281:169:257:-;5377:10;5345:28;5354:18;5366:5;5354:11;:18::i;5345:28::-;-1:-1:-1;;;;;5345:42:257;;5341:105;;5404:35;;-1:-1:-1;;;5404:35:257;;;;;;;;;;;2072:752:258;2250:30;2272:4;2278:1;2250:21;:30::i;:::-;2371:29;2393:3;2398:1;2371:21;:29::i;:::-;-1:-1:-1;;;;;2522:24:258;;2407:35;2522:24;;;-1:-1:-1;;;;;;;;;;;2522:24:258;;;;;-1:-1:-1;;;;;;;;;;;847:12:259;2522:24:258;2552:21;2569:4;2522:24;2552:21;:::i;:::-;-1:-1:-1;2579:13:258;;;:19;2595:3;2579:13;:19;:::i;:::-;-1:-1:-1;;;;;;2656:23:258;;2605:48;2656:23;;;:16;;;:23;;;;;;2685:44;2713:16;2656:23;2685:44;:::i;:::-;-1:-1:-1;2735:24:258;;;:42;2762:15;2735:24;:42;:::i;:::-;-1:-1:-1;2789:30:258;;-1:-1:-1;;;;;2789:30:258;;;;;;;;2244:580;;;2072:752;;;;;:::o;3412:142::-;-1:-1:-1;;;;;3493:48:258;3471:7;3493:48;;;-1:-1:-1;;;;;;;;;;;3493:48:258;;;;;:41;:56;;;3412:142::o;5542:115:595:-;5596:13;-1:-1:-1;;;;;;;;;;;5624:22:595;7854:139;5870:121;5927:13;-1:-1:-1;;;;;;;;;;;5955:22:595;7854:139;4945:274:141;5024:7;5059:8;:6;:8::i;:::-;5047:20;;:9;:20;5039:53;;;;-1:-1:-1;;;5039:53:141;;13112:2:654;5039:53:141;;;13094:21:654;13151:2;13131:18;;;13124:30;-1:-1:-1;;;13170:18:654;;;13163:50;13230:18;;5039:53:141;12910:344:654;5039:53:141;5111:103;5178:28;5196:9;5178:17;:28::i;:::-;5111:39;;:57;:103::i;:::-;-1:-1:-1;;;;;5098:116:141;;4945:274;-1:-1:-1;;4945:274:141:o;2803:98::-;2844:6;2865:31;2883:12;2865:17;:31::i;3521:146::-;-1:-1:-1;;;;;3602:51:141;;3580:7;3602:51;;;-1:-1:-1;;;;;;;;;;;3602:51:141;;;;;:60;;:58;:60::i;3936:269:157:-;4126:8;4038:23;:21;:23::i;:::-;29364:10:158;4038:63:157;;;;:42;;;;;:63;;;;;;;;-1:-1:-1;;;;;4038:85:157;;;;;;;;;;;;:96;;-1:-1:-1;;4038:96:157;;;;;;;;;;;4145:55;;11745:14:654;;11738:22;11720:41;;4038:85:157;;29364:10:158;;4145:55:157;;11693:18:654;4145:55:157;;;;;;;3936:269;;:::o;14707:674:158:-;14870:139;;-1:-1:-1;;;14870:139:158;;14848:4;;-1:-1:-1;;;;;14870:56:158;;;;;:139;;29364:10;;14965:4;;14979:7;;14996:5;;14870:139;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14870:139:158;;;;;;;;-1:-1:-1;;14870:139:158;;;;;;;;;;;;:::i;:::-;;;14860:517;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15192:6;:13;15209:1;15192:18;15188:183;;15229:40;;-1:-1:-1;;;15229:40:158;;;;;;;;;;;15188:183;15345:6;15339:13;15330:6;15326:2;15322:15;15315:38;14860:517;-1:-1:-1;;;;;;15061:83:158;-1:-1:-1;;;15061:83:158;;-1:-1:-1;14860:517:158;14707:674;;;;;;:::o;5492:467:141:-;5667:6;5648:15;:25;;5640:62;;;;-1:-1:-1;;;5640:62:141;;16798:2:654;5640:62:141;;;16780:21:654;16837:2;16817:18;;;16810:30;16876:26;16856:18;;;16849:54;16920:18;;5640:62:141;16596:348:654;5640:62:141;5782:58;;;2349:71;5782:58;;;17180:25:654;-1:-1:-1;;;;;17241:32:654;;17221:18;;;17214:60;;;;17290:18;;;17283:34;;;17333:18;;;17326:34;;;5708:14:141;;5725:157;;5746:103;;17152:19:654;;5782:58:141;;;;;;;;;;;;5772:69;;;;;;5746:16;:103::i;:::-;5857:1;5866;5875;5725:13;:157::i;:::-;5708:174;;5889:31;5906:6;5914:5;5889:16;:31::i;:::-;5926:28;5936:6;5944:9;5926;:28::i;:::-;5634:325;5492:467;;;;;;:::o;11064:301:158:-;11129:4;11200:23;:21;:23::i;:::-;:37;11190:47;;11154:187;;;;;-1:-1:-1;;;11268:23:158;:21;:23::i;:::-;:50;;;;:41;;;;;:50;;;;;;:68;:73;11141:200;11064:301;-1:-1:-1;;11064:301:158:o;860:940:260:-;954:35;1047:26;;;:17;:26;;;;;;933:13;;-1:-1:-1;;;;;;;;;;;847:12:259;-1:-1:-1;;;;;1047:26:260;;1080:66;;1119:27;;-1:-1:-1;;;1119:27:260;;;;;;;;;;;1080:66;-1:-1:-1;;;;;1193:31:260;;1153:37;1193:31;;;:17;;;:31;;;;;1286:9;;;1280:23;;;;;:::i;:::-;:28;;-1:-1:-1;1276:50:260;;1317:5;:9;;1310:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;860:940;;;:::o;1276:50::-;1333:24;1360:2;:13;;1333:40;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:14;1403:10;1397:24;1380:41;;1431:6;1441:1;1431:11;1427:54;;1451:30;;-1:-1:-1;;;1451:30:260;;;;;;;;;;;1427:54;1556:10;1577:1;1568:6;:10;1550:29;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;1550:29:260;-1:-1:-1;;;1550:37:260;1546:244;;1630:10;1647:37;:12;-1:-1:-1;;;;;1647:35:260;;:37::i;:::-;1616:69;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1599:86;;;;;;;860:940;;;:::o;1546:244::-;1731:10;1743:37;:12;-1:-1:-1;;;;;1743:35:260;;:37::i;:::-;1717:64;;;;;;;;;:::i;1033:282:157:-;1138:25;-1:-1:-1;;;1138:13:157;:25::i;:::-;1203;-1:-1:-1;;;1203:13:157;:25::i;:::-;1276:34;1295:5;1302:7;1276:18;:34::i;668:119:260:-;717:13;-1:-1:-1;;;;;;;;;;;745:37:260;;738:44;;;;;:::i;2742:153:595:-;296:66:555;1263:42:554;-1:-1:-1;;;1263:42:554;;;;1258:100;;1320:38;;-1:-1:-1;;;1320:38:554;;;;;;;;;;;1258:100;2852:38:595::1;2876:4;2882:7;2852:23;:38::i;22314:186:158:-:0;22417:4;22436:23;:21;:23::i;:::-;-1:-1:-1;;;;;22436:49:158;;;;;;;:42;;;;;:49;;;;;;;;:59;;;;;;;;;;-1:-1:-1;22436:59:158;;;;;22314:186::o;23284:439::-;23390:13;23406:17;23415:7;23406:8;:17::i;:::-;23390:33;;23434:13;23430:184;;;29364:10;-1:-1:-1;;;;;23459:28:158;;;23455:159;;23502:45;23520:5;29364:10;23502:17;:45::i;:::-;23497:117;;23568:35;;-1:-1:-1;;;23568:35:158;;;;;;;;;;;23497:117;23677:2;23620:23;:21;:23::i;:::-;:48;;;;:39;;;;;:48;;;;;;:59;;-1:-1:-1;;;;;;23620:59:158;-1:-1:-1;;;;;23620:59:158;;;;;;23690:28;23620:48;;23690:28;;;;;;;;;;23620:48;23690:28;23384:339;23284:439;;;:::o;7276:491:141:-;-1:-1:-1;;;;;7391:18:141;;7387:151;;7419:112;7434:39;7483:4;7497:26;7516:6;7497:18;:26::i;:::-;7419:5;:112::i;:::-;;;7387:151;-1:-1:-1;;;;;7547:16:141;;7543:154;;7573:117;7588:39;7637:9;7656:26;7675:6;7656:18;:26::i;7573:117::-;;;7543:154;7702:60;7721:16;7732:4;7721:10;:16::i;:::-;7739:14;7750:2;7739:10;:14::i;:::-;7755:6;7702:18;:60::i;3416:268:595:-;3471:7;2090:107;3562:17;:15;:17::i;:::-;3591:20;:18;:20::i;:::-;3518:153;;;;;;18897:25:654;;;;18938:18;;18931:34;;;;18981:18;;;18974:34;3623:13:595;19024:18:654;;;19017:34;3656:4:595;19067:19:654;;;19060:61;18869:19;;3518:153:595;;;;;;;;;;;;3499:180;;;;;;3486:193;;3416:268;:::o;15296:213:508:-;15352:6;15382:16;15374:24;;15370:103;;;15421:41;;-1:-1:-1;;;15421:41:508;;15452:2;15421:41;;;19313:36:654;19365:18;;;19358:34;;;19286:18;;15421:41:508;19132:266:654;15370:103:508;-1:-1:-1;15496:5:508;15296:213::o;8964:548:139:-;9090:24;;9061:7;;;9090:24;9177:1;9171:7;;9167:190;;;9188:11;9208:14;9218:3;9208:9;:14::i;:::-;9202:20;;:3;:20;:::i;:::-;13062:28;13115:20;;;13174:4;13161:18;;9188:34;;-1:-1:-1;13157:28:139;;9240:42;;;;;9234:48;;;;9230:121;;;9301:3;9294:10;;9230:121;;;9335:7;:3;9341:1;9335:7;:::i;:::-;9329:13;;9230:121;9180:177;9167:190;9363:11;9377:53;9396:4;9415:3;9420;9425:4;9377:18;:53::i;:::-;9363:67;-1:-1:-1;9444:8:139;;:63;;9459:41;9473:4;9492:7;9498:1;9492:3;:7;:::i;:::-;13062:28;13115:20;;;13174:4;13161:18;;;13157:28;;12962:233;9459:41;:48;-1:-1:-1;;;9459:48:139;;-1:-1:-1;;;;;9459:48:139;9444:63;;;9455:1;9444:63;9437:70;8964:548;-1:-1:-1;;;;;;;8964:548:139:o;418:186:316:-;537:15;;522:4;;537:21;-1:-1:-1;533:66:316;;;567:32;;-1:-1:-1;;;567:32:316;;;;;;;;;;;740:119;-1:-1:-1;;;;;800:18:316;;796:58;;827:27;;-1:-1:-1;;;827:27:316;;;;;;;;;;;4968:135:257;5058:7;5080:18;5090:7;5080:9;:18::i;7845:698:141:-;7957:2;-1:-1:-1;;;;;7949:10:141;:4;-1:-1:-1;;;;;7949:10:141;;;:24;;;;;7972:1;7963:6;:10;7949:24;7945:594;;;-1:-1:-1;;;;;7987:18:141;;;7983:277;;-1:-1:-1;;;;;8073:48:141;;8018:16;8073:48;;;-1:-1:-1;;;;;;;;;;;8073:48:141;;;;;8018:16;;8056:134;;8133:9;8154:26;8173:6;8154:18;:26::i;8056:134::-;-1:-1:-1;;;;;8017:173:141;;;-1:-1:-1;;;;;8017:173:141;;;8226:4;-1:-1:-1;;;;;8205:46:141;;8232:8;8242;8205:46;;;;;;19972:25:654;;;20028:2;20013:18;;20006:34;19960:2;19945:18;;19798:248;8205:46:141;;;;;;;;8007:253;;7983:277;-1:-1:-1;;;;;8271:16:141;;;8267:266;;-1:-1:-1;;;;;8355:46:141;;8300:16;8355:46;;;-1:-1:-1;;;;;;;;;;;8355:46:141;;;;;8300:16;;8338:127;;8413:4;8429:26;8448:6;8429:18;:26::i;8338:127::-;-1:-1:-1;;;;;8299:166:141;;;-1:-1:-1;;;;;8299:166:141;;;8501:2;-1:-1:-1;;;;;8480:44:141;;8505:8;8515;8480:44;;;;;;19972:25:654;;;20028:2;20013:18;;20006:34;19960:2;19945:18;;19798:248;8480:44:141;;;;;;;;8289:244;;7845:698;;;:::o;14296:213:508:-;14352:6;14382:16;14374:24;;14370:103;;;14421:41;;-1:-1:-1;;;14421:41:508;;14452:2;14421:41;;;19313:36:654;19365:18;;;19358:34;;;19286:18;;14421:41:508;19132:266:654;9624:196:139;9715:24;;9686:7;;9752:8;;:63;;9767:41;9781:4;9800:7;9806:1;9800:3;:7;:::i;9767:41::-;:48;-1:-1:-1;;;9767:48:139;;-1:-1:-1;;;;;9767:48:139;9752:63;;;9763:1;9745:70;9624:196;-1:-1:-1;;;9624:196:139:o;4277:178:595:-;4362:7;4384:66;4417:20;:18;:20::i;:::-;4439:10;3501:4:504;3495:11;-1:-1:-1;;;3519:23:504;;3571:4;3562:14;;3555:39;;;;3623:4;3614:14;;3607:34;3679:4;3664:20;;;3326:374;6887:260:500;6972:7;6992:17;7011:18;7031:16;7051:25;7062:4;7068:1;7071;7074;7051:10;:25::i;:::-;6991:85;;;;;;7086:28;7098:5;7105:8;7086:11;:28::i;:::-;-1:-1:-1;7131:9:500;;6887:260;-1:-1:-1;;;;;;6887:260:500:o;1161:202:594:-;-1:-1:-1;;;;;1008:37:594;;1240:15;1008:37;;;1781:12;1008:37;;;;;:39;;;;;;;;1284:16;;;1280:79;;1317:35;;-1:-1:-1;;;1317:35:594;;-1:-1:-1;;;;;20514:32:654;;1317:35:594;;;20496:51:654;20563:18;;;20556:34;;;20469:18;;1317:35:594;20322:274:654;15930:847:646;16000:20;16041:18;16053:5;16041:11;:18::i;:::-;16284:2;16235:4;16223:17;;16271:16;;;16032:27;;-1:-1:-1;16147:24:646;;16289:13;16267:36;-1:-1:-1;;;16162:1:646;16395:168;16462:15;;;16455:23;;16444:9;;;16437:42;16508:1;16501:9;;;-1:-1:-1;;16530:9:646;16395:168;16527:22;16399:14;;;16638:4;16634:1;16628:8;16624:19;16617:4;16611:11;16607:37;16604:1;16600:45;16596:1;16590:8;16586:60;16583:1;16576:71;16672:4;16669:1;16665:12;16660:17;;16752:4;16748:1;16742:8;16738:19;16731:4;16725:11;16721:37;16718:1;16714:45;16710:1;16704:8;16700:60;16697:1;16690:71;;;15930:847;;;:::o;456:282:557:-;-1:-1:-1;;;;;;1119:62:557;;1100:4;1119:62;;;296:66:559;1119:62:557;;;;;;;;514:182;;-1:-1:-1;;;;;;560:62:557;;:49;:62;;;296:66:559;560:62:557;;;;;:69;;-1:-1:-1;;560:69:557;625:4;560:69;;;514:182;;;657:32;;-1:-1:-1;;;657:32:557;;;;;;;;;;;514:182;706:27;;-1:-1:-1;;;;;;706:27:557;;;;;;;;456:282;:::o;2553:247:158:-;2650:32;2685:23;:21;:23::i;:::-;2650:58;-1:-1:-1;2715:8:158;;;:15;2726:4;2715:8;:15;:::i;:::-;-1:-1:-1;2736:10:158;;;:19;2749:6;2736:10;:19;:::i;:::-;-1:-1:-1;3941:7:158;2761:34;;-1:-1:-1;;2553:247:158:o;2899:332:595:-;3002:28;:35;3033:4;3002:28;:35;:::i;:::-;-1:-1:-1;3043:31:595;:41;3077:7;3043:31;:41;:::i;:::-;-1:-1:-1;;3178:1:595;-1:-1:-1;;;;;;;;;;;3141:38:595;;;3185:37;:41;-1:-1:-1;2899:332:595:o;8806:90:141:-;8864:7;8886:5;8890:1;8886;:5;:::i;3156:218:508:-;3213:7;-1:-1:-1;;;;;3236:25:508;;3232:105;;;3284:42;;-1:-1:-1;;;3284:42:508;;3315:3;3284:42;;;19313:36:654;19365:18;;;19358:34;;;19286:18;;3284:42:508;19132:266:654;8547:255:141;8700:7;8709;8731:66;8742:27;8760:8;:6;:8::i;:::-;8742:27;;:17;:27::i;:::-;8771:25;8774:14;:5;:12;:14::i;:::-;8790:5;8771:2;:25;;:::i;:::-;8731:5;;:66;:10;:66::i;:::-;8724:73;;;;8547:255;;;;;;;:::o;8900:95::-;8963:7;8985:5;8989:1;8985;:5;:::i;6194:577:595:-;6244:7;6259:18;6280:13;:11;:13::i;:::-;6303:18;;6259:34;;-1:-1:-1;6303:22:595;6299:468;;6342:22;;;;;;;;6194:577;-1:-1:-1;6194:577:595:o;6299:468::-;-1:-1:-1;;;;;;;;;;;6617:34:595;6663:15;;6659:102;;6697:10;6194:577;-1:-1:-1;;6194:577:595:o;6659:102::-;6739:13;6732:20;;;;6194:577;:::o;6980:613::-;7033:7;7048:21;7072:16;:14;:16::i;:::-;7098:21;;7048:40;;-1:-1:-1;7098:25:595;7094:495;;7140:25;;;;;;;;6980:613;-1:-1:-1;6980:613:595:o;7094:495::-;7430:37;;7479:18;;7475:108;;7516:13;6980:613;-1:-1:-1;;6980:613:595:o;18080:5181:507:-;18128:7;18246:1;18241;:6;18237:53;;-1:-1:-1;18274:1:507;18080:5181::o;18237:53::-;19230:1;19258;-1:-1:-1;;;19278:16:507;;19274:92;;19321:3;19314:10;;;;;19349:2;19342:9;19274:92;19390:7;19383:2;:15;19379:90;;19425:2;19418:9;;;;;19452:2;19445:9;19379:90;-1:-1:-1;;;19486:2:507;:15;19482:90;;19528:2;19521:9;;;;;19555:2;19548:9;19482:90;19596:7;19589:2;:15;19585:89;;19631:2;19624:9;;;;;19658:1;19651:8;19585:89;19698:6;19691:2;:14;19687:87;;19732:1;19725:8;;;;;19758:1;19751:8;19687:87;19798:6;19791:2;:14;19787:87;;19832:1;19825:8;;;;;19858:1;19851:8;19787:87;19898:6;19891:2;:14;19887:61;;19932:1;19925:8;19887:61;20374:1;:6;20385:1;20373:13;;;;;22284:1;20373:13;22284:6;;;;:::i;:::-;;22279:2;:11;22278:18;;22273:23;;22404:1;22397:2;22393:1;:6;;;;;:::i;:::-;;22388:2;:11;22387:18;;22382:23;;22515:1;22508:2;22504:1;:6;;;;;:::i;:::-;;22499:2;:11;22498:18;;22493:23;;22624:1;22617:2;22613:1;:6;;;;;:::i;:::-;;22608:2;:11;22607:18;;22602:23;;22734:1;22727:2;22723:1;:6;;;;;:::i;:::-;;22718:2;:11;22717:18;;22712:23;;22844:1;22837:2;22833:1;:6;;;;;:::i;:::-;;22828:2;:11;22827:18;;22822:23;;23216:28;23241:2;23237:1;:6;;;;;:::i;:::-;;23232:11;;;34795:145:508;23216:28:507;23211:33;;;18080:5181;-1:-1:-1;;;18080:5181:507:o;11772:361:139:-;11911:7;11926:186;11939:4;11933:3;:10;11926:186;;;11953:11;11967:23;11980:3;11985:4;11967:12;:23::i;:::-;13062:28;13115:20;;;13174:4;13161:18;;11953:37;;-1:-1:-1;12002:35:139;;;;13157:28;;12002:29;;;:35;11998:108;;;12056:3;12049:10;;11998:108;;;12090:7;:3;12096:1;12090:7;:::i;:::-;12084:13;;11998:108;11945:167;11926:186;;;-1:-1:-1;12124:4:139;11772:361;-1:-1:-1;;;11772:361:139:o;5203:1551:500:-;5329:17;;;6283:66;6270:79;;6266:164;;;-1:-1:-1;6381:1:500;;-1:-1:-1;6385:30:500;;-1:-1:-1;6417:1:500;6365:54;;6266:164;6541:24;;;6524:14;6541:24;;;;;;;;;21609:25:654;;;21682:4;21670:17;;21650:18;;;21643:45;;;;21704:18;;;21697:34;;;21747:18;;;21740:34;;;6541:24:500;;21581:19:654;;6541:24:500;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6541:24:500;;-1:-1:-1;;6541:24:500;;;-1:-1:-1;;;;;;;6579:20:500;;6575:113;;-1:-1:-1;6631:1:500;;-1:-1:-1;6635:29:500;;-1:-1:-1;6631:1:500;;-1:-1:-1;6615:62:500;;6575:113;6706:6;-1:-1:-1;6714:20:500;;-1:-1:-1;6714:20:500;;-1:-1:-1;5203:1551:500;;;;;;;;;:::o;7280:532::-;7375:20;7366:5;:29;;;;;;;;:::i;:::-;;7362:444;;7280:532;;:::o;7362:444::-;7471:29;7462:5;:38;;;;;;;;:::i;:::-;;7458:348;;7523:23;;-1:-1:-1;;;7523:23:500;;;;;;;;;;;7458:348;7576:35;7567:5;:44;;;;;;;;:::i;:::-;;7563:243;;7634:46;;-1:-1:-1;;;7634:46:500;;;;;1746:25:654;;;1719:18;;7634:46:500;1600:177:654;7563:243:500;7710:30;7701:5;:39;;;;;;;;:::i;:::-;;7697:109;;7763:32;;-1:-1:-1;;;7763:32:500;;;;;1746:25:654;;;1719:18;;7763:32:500;1600:177:654;16937:441:646;16996:20;17037:26;17057:5;17037:19;:26::i;:::-;17152:13;;17220:6;17205:22;;17167:1;17148:21;-1:-1:-1;;17276:14:646;;;17324:17;;;17276:14;16937:441;-1:-1:-1;;16937:441:646:o;7623:172:139:-;7721:7;;7752:38;7760:4;7779:3;7784:5;7752:7;:38::i;3595:153:507:-;3657:7;3730:11;3740:1;3731:5;;;3730:11;:::i;:::-;3720:21;;3721:5;;;3720:21;:::i;17515:1347:646:-;17582:20;17696:4;17690:11;17680:21;;18021:4;18013:6;18009:17;18003:4;17996:31;18053:34;18047:4;18040:48;18164:1;18156:6;18152:14;18142:24;;18194:2;18186:6;18179:18;18252:4;18244:6;18240:17;18289:1;18284:2;18281:1;18277:10;18270:21;18359:5;18355:2;18351:14;18342:23;;18561:1;18546:300;18611:1;18608;18604:9;18601:1;18597:17;18651:5;18648:1;18643:14;18709:2;18703:4;18699:13;18693:20;18689:1;18686;18682:9;18674:40;18755:4;18752:1;18748:12;18742:19;18739:1;18731:31;-1:-1:-1;;18791:1:646;18784:9;;;-1:-1:-1;;18813:9:646;18546:300;18810:22;18550:14;;17515:1347;;;:::o;10688:752:139:-;10833:11;;10795:7;;;;10855;;10851:585;;10918:25;10946:28;10960:4;10966:7;10972:1;10966:3;:7;:::i;10946:28::-;10918:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10918:56:139;;;-1:-1:-1;;;;;10918:56:139;;;;;;;-1:-1:-1;11040:16:139;;;-1:-1:-1;11040:16:139;11032:56;;;;-1:-1:-1;;;11032:56:139;;22341:2:654;11032:56:139;;;22323:21:654;22380:2;22360:18;;;22353:30;22419:29;22399:18;;;22392:57;22466:18;;11032:56:139;22139:351:654;11032:56:139;11140:9;;:16;;;;;;;11136:161;;11206:5;11168:28;11182:4;11188:7;11194:1;11188:3;:7;:::i;11168:28::-;:43;;-1:-1:-1;;;;;11168:43:139;;;;-1:-1:-1;;;11168:43:139;;;;;;;;;;;11136:161;;;11246:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;11246:41:139;;;;;;;;;;11236:52;;;;;;;-1:-1:-1;11236:52:139;;;;;;;;;;;;;;-1:-1:-1;;;11236:52:139;;;;;;;;;;11136:161;11312:11;;;;-1:-1:-1;11325:5:139;;-1:-1:-1;11304:27:139;;-1:-1:-1;11304:27:139;10851:585;-1:-1:-1;;11362:41:139;;;;;;;;;;;;;;;-1:-1:-1;;;;;11362:41:139;;;;;;;;;;11352:52;;;;;;;-1:-1:-1;11352:52:139;;;;;;;;;;;;;-1:-1:-1;;;11352:52:139;;;;;;;;;;;;-1:-1:-1;;11396:5:139;11412:17;;14:250:654;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:654;238:16;;231:27;14:250::o;269:271::-;311:3;349:5;343:12;376:6;371:3;364:19;392:76;461:6;454:4;449:3;445:14;438:4;431:5;427:16;392:76;:::i;:::-;522:2;501:15;-1:-1:-1;;497:29:654;488:39;;;;529:4;484:50;;269:271;-1:-1:-1;;269:271:654:o;545:220::-;694:2;683:9;676:21;657:4;714:45;755:2;744:9;740:18;732:6;714:45;:::i;770:180::-;829:6;882:2;870:9;861:7;857:23;853:32;850:52;;;898:1;895;888:12;850:52;-1:-1:-1;921:23:654;;770:180;-1:-1:-1;770:180:654:o;1163:173::-;1231:20;;-1:-1:-1;;;;;1280:31:654;;1270:42;;1260:70;;1326:1;1323;1316:12;1260:70;1163:173;;;:::o;1341:254::-;1409:6;1417;1470:2;1458:9;1449:7;1445:23;1441:32;1438:52;;;1486:1;1483;1476:12;1438:52;1509:29;1528:9;1509:29;:::i;:::-;1499:39;1585:2;1570:18;;;;1557:32;;-1:-1:-1;;;1341:254:654:o;1782:328::-;1859:6;1867;1875;1928:2;1916:9;1907:7;1903:23;1899:32;1896:52;;;1944:1;1941;1934:12;1896:52;1967:29;1986:9;1967:29;:::i;:::-;1957:39;;2015:38;2049:2;2038:9;2034:18;2015:38;:::i;:::-;2005:48;;2100:2;2089:9;2085:18;2072:32;2062:42;;1782:328;;;;;:::o;2297:127::-;2358:10;2353:3;2349:20;2346:1;2339:31;2389:4;2386:1;2379:15;2413:4;2410:1;2403:15;2429:632;2494:5;2524:18;2565:2;2557:6;2554:14;2551:40;;;2571:18;;:::i;:::-;2646:2;2640:9;2614:2;2700:15;;-1:-1:-1;;2696:24:654;;;2722:2;2692:33;2688:42;2676:55;;;2746:18;;;2766:22;;;2743:46;2740:72;;;2792:18;;:::i;:::-;2832:10;2828:2;2821:22;2861:6;2852:15;;2891:6;2883;2876:22;2931:3;2922:6;2917:3;2913:16;2910:25;2907:45;;;2948:1;2945;2938:12;2907:45;2998:6;2993:3;2986:4;2978:6;2974:17;2961:44;3053:1;3046:4;3037:6;3029;3025:19;3021:30;3014:41;;;;2429:632;;;;;:::o;3066:222::-;3109:5;3162:3;3155:4;3147:6;3143:17;3139:27;3129:55;;3180:1;3177;3170:12;3129:55;3202:80;3278:3;3269:6;3256:20;3249:4;3241:6;3237:17;3202:80;:::i;3293:1019::-;3428:6;3436;3444;3452;3460;3513:3;3501:9;3492:7;3488:23;3484:33;3481:53;;;3530:1;3527;3520:12;3481:53;3570:9;3557:23;3599:18;3640:2;3632:6;3629:14;3626:34;;;3656:1;3653;3646:12;3626:34;3679:50;3721:7;3712:6;3701:9;3697:22;3679:50;:::i;:::-;3669:60;;3782:2;3771:9;3767:18;3754:32;3738:48;;3811:2;3801:8;3798:16;3795:36;;;3827:1;3824;3817:12;3795:36;3850:52;3894:7;3883:8;3872:9;3868:24;3850:52;:::i;:::-;3840:62;;3921:38;3955:2;3944:9;3940:18;3921:38;:::i;:::-;3911:48;;4012:2;4001:9;3997:18;3984:32;3968:48;;4041:2;4031:8;4028:16;4025:36;;;4057:1;4054;4047:12;4025:36;4080:52;4124:7;4113:8;4102:9;4098:24;4080:52;:::i;:::-;4070:62;;4185:3;4174:9;4170:19;4157:33;4141:49;;4215:2;4205:8;4202:16;4199:36;;;4231:1;4228;4221:12;4199:36;;4254:52;4298:7;4287:8;4276:9;4272:24;4254:52;:::i;:::-;4244:62;;;3293:1019;;;;;;;;:::o;4317:322::-;4386:6;4439:2;4427:9;4418:7;4414:23;4410:32;4407:52;;;4455:1;4452;4445:12;4407:52;4495:9;4482:23;4528:18;4520:6;4517:30;4514:50;;;4560:1;4557;4550:12;4514:50;4583;4625:7;4616:6;4605:9;4601:22;4583:50;:::i;4644:186::-;4703:6;4756:2;4744:9;4735:7;4731:23;4727:32;4724:52;;;4772:1;4769;4762:12;4724:52;4795:29;4814:9;4795:29;:::i;4835:1043::-;5012:2;5001:9;4994:21;4975:4;5050:6;5044:13;5093:4;5088:2;5077:9;5073:18;5066:32;5121:52;5168:3;5157:9;5153:19;5139:12;5121:52;:::i;:::-;5107:66;;5222:2;5214:6;5210:15;5204:22;5249:2;5245:7;5316:2;5304:9;5296:6;5292:22;5288:31;5283:2;5272:9;5268:18;5261:59;5343:41;5377:6;5361:14;5343:41;:::i;:::-;5329:55;;5438:2;5430:6;5426:15;5420:22;5415:2;5404:9;5400:18;5393:50;5498:2;5490:6;5486:15;5480:22;5474:3;5463:9;5459:19;5452:51;5552:3;5544:6;5540:16;5534:23;5512:45;;5622:2;5610:9;5602:6;5598:22;5594:31;5588:3;5577:9;5573:19;5566:60;5649:41;5683:6;5667:14;5649:41;:::i;:::-;5635:55;;5739:3;5731:6;5727:16;5721:23;5699:45;;5810:2;5798:9;5790:6;5786:22;5782:31;5775:4;5764:9;5760:20;5753:61;;5831:41;5865:6;5849:14;5831:41;:::i;:::-;5823:49;4835:1043;-1:-1:-1;;;;;4835:1043:654:o;5883:1019::-;6018:6;6026;6034;6042;6050;6103:3;6091:9;6082:7;6078:23;6074:33;6071:53;;;6120:1;6117;6110:12;6071:53;6143:29;6162:9;6143:29;:::i;:::-;6133:39;;6223:2;6212:9;6208:18;6195:32;6246:18;6287:2;6279:6;6276:14;6273:34;;;6303:1;6300;6293:12;6273:34;6326:50;6368:7;6359:6;6348:9;6344:22;6326:50;:::i;:::-;6316:60;;6429:2;6418:9;6414:18;6401:32;6385:48;;6458:2;6448:8;6445:16;6442:36;;;6474:1;6471;6464:12;6442:36;6497:52;6541:7;6530:8;6519:9;6515:24;6497:52;:::i;6907:1259::-;7313:3;7308;7304:13;7296:6;7292:26;7281:9;7274:45;7255:4;7338:2;7376:3;7371:2;7360:9;7356:18;7349:31;7403:46;7444:3;7433:9;7429:19;7421:6;7403:46;:::i;:::-;7497:9;7489:6;7485:22;7480:2;7469:9;7465:18;7458:50;7531:33;7557:6;7549;7531:33;:::i;:::-;7595:2;7580:18;;7573:34;;;-1:-1:-1;;;;;7644:32:654;;7638:3;7623:19;;7616:61;7664:3;7693:19;;7686:35;;;7758:22;;;7752:3;7737:19;;7730:51;7830:13;;7852:22;;;7902:2;7928:15;;;;-1:-1:-1;7890:15:654;;;;-1:-1:-1;7971:169:654;7985:6;7982:1;7979:13;7971:169;;;8046:13;;8034:26;;8115:15;;;;8080:12;;;;8007:1;8000:9;7971:169;;;-1:-1:-1;8157:3:654;;6907:1259;-1:-1:-1;;;;;;;;;;;;6907:1259:654:o;8372:347::-;8437:6;8445;8498:2;8486:9;8477:7;8473:23;8469:32;8466:52;;;8514:1;8511;8504:12;8466:52;8537:29;8556:9;8537:29;:::i;:::-;8527:39;;8616:2;8605:9;8601:18;8588:32;8663:5;8656:13;8649:21;8642:5;8639:32;8629:60;;8685:1;8682;8675:12;8629:60;8708:5;8698:15;;;8372:347;;;;;:::o;8724:667::-;8819:6;8827;8835;8843;8896:3;8884:9;8875:7;8871:23;8867:33;8864:53;;;8913:1;8910;8903:12;8864:53;8936:29;8955:9;8936:29;:::i;:::-;8926:39;;8984:38;9018:2;9007:9;9003:18;8984:38;:::i;:::-;8974:48;;9069:2;9058:9;9054:18;9041:32;9031:42;;9124:2;9113:9;9109:18;9096:32;9151:18;9143:6;9140:30;9137:50;;;9183:1;9180;9173:12;9137:50;9206:22;;9259:4;9251:13;;9247:27;-1:-1:-1;9237:55:654;;9288:1;9285;9278:12;9237:55;9311:74;9377:7;9372:2;9359:16;9354:2;9350;9346:11;9311:74;:::i;:::-;9301:84;;;8724:667;;;;;;;:::o;9396:618::-;9498:6;9506;9514;9522;9530;9538;9591:3;9579:9;9570:7;9566:23;9562:33;9559:53;;;9608:1;9605;9598:12;9559:53;9631:29;9650:9;9631:29;:::i;:::-;9621:39;;9707:2;9696:9;9692:18;9679:32;9669:42;;9758:2;9747:9;9743:18;9730:32;9720:42;;9812:2;9801:9;9797:18;9784:32;9856:4;9849:5;9845:16;9838:5;9835:27;9825:55;;9876:1;9873;9866:12;9825:55;9396:618;;;;-1:-1:-1;9396:618:654;;9951:3;9936:19;;9923:33;;10003:3;9988:19;;;9975:33;;-1:-1:-1;9396:618:654;-1:-1:-1;;9396:618:654:o;10019:543::-;10107:6;10115;10168:2;10156:9;10147:7;10143:23;10139:32;10136:52;;;10184:1;10181;10174:12;10136:52;10224:9;10211:23;10253:18;10294:2;10286:6;10283:14;10280:34;;;10310:1;10307;10300:12;10280:34;10333:50;10375:7;10366:6;10355:9;10351:22;10333:50;:::i;:::-;10323:60;;10436:2;10425:9;10421:18;10408:32;10392:48;;10465:2;10455:8;10452:16;10449:36;;;10481:1;10478;10471:12;10449:36;;10504:52;10548:7;10537:8;10526:9;10522:24;10504:52;:::i;:::-;10494:62;;;10019:543;;;;;:::o;10567:743::-;10674:6;10682;10690;10743:2;10731:9;10722:7;10718:23;10714:32;10711:52;;;10759:1;10756;10749:12;10711:52;10799:9;10786:23;10828:18;10869:2;10861:6;10858:14;10855:34;;;10885:1;10882;10875:12;10855:34;10908:50;10950:7;10941:6;10930:9;10926:22;10908:50;:::i;:::-;10898:60;;11011:2;11000:9;10996:18;10983:32;10967:48;;11040:2;11030:8;11027:16;11024:36;;;11056:1;11053;11046:12;11024:36;11079:52;11123:7;11112:8;11101:9;11097:24;11079:52;:::i;:::-;11069:62;;11184:2;11173:9;11169:18;11156:32;11140:48;;11213:2;11203:8;11200:16;11197:36;;;11229:1;11226;11219:12;11197:36;;11252:52;11296:7;11285:8;11274:9;11270:24;11252:52;:::i;:::-;11242:62;;;10567:743;;;;;:::o;11315:260::-;11383:6;11391;11444:2;11432:9;11423:7;11419:23;11415:32;11412:52;;;11460:1;11457;11450:12;11412:52;11483:29;11502:9;11483:29;:::i;:::-;11473:39;;11531:38;11565:2;11554:9;11550:18;11531:38;:::i;:::-;11521:48;;11315:260;;;;;:::o;11772:380::-;11851:1;11847:12;;;;11894;;;11915:61;;11969:4;11961:6;11957:17;11947:27;;11915:61;12022:2;12014:6;12011:14;11991:18;11988:38;11985:161;;12068:10;12063:3;12059:20;12056:1;12049:31;12103:4;12100:1;12093:15;12131:4;12128:1;12121:15;13385:543;13487:2;13482:3;13479:11;13476:446;;;13523:1;13547:5;13544:1;13537:16;13591:4;13588:1;13578:18;13661:2;13649:10;13645:19;13642:1;13638:27;13632:4;13628:38;13697:4;13685:10;13682:20;13679:47;;;-1:-1:-1;13720:4:654;13679:47;13775:2;13770:3;13766:12;13763:1;13759:20;13753:4;13749:31;13739:41;;13830:82;13848:2;13841:5;13838:13;13830:82;;;13893:17;;;13874:1;13863:13;13830:82;;14104:1345;14230:3;14224:10;14257:18;14249:6;14246:30;14243:56;;;14279:18;;:::i;:::-;14308:97;14398:6;14358:38;14390:4;14384:11;14358:38;:::i;:::-;14352:4;14308:97;:::i;:::-;14460:4;;14517:2;14506:14;;14534:1;14529:663;;;;15236:1;15253:6;15250:89;;;-1:-1:-1;15305:19:654;;;15299:26;15250:89;-1:-1:-1;;14061:1:654;14057:11;;;14053:24;14049:29;14039:40;14085:1;14081:11;;;14036:57;15352:81;;14499:944;;14529:663;13332:1;13325:14;;;13369:4;13356:18;;-1:-1:-1;;14565:20:654;;;14683:236;14697:7;14694:1;14691:14;14683:236;;;14786:19;;;14780:26;14765:42;;14878:27;;;;14846:1;14834:14;;;;14713:19;;14683:236;;;14687:3;14947:6;14938:7;14935:19;14932:201;;;15008:19;;;15002:26;-1:-1:-1;;15091:1:654;15087:14;;;15103:3;15083:24;15079:37;15075:42;15060:58;15045:74;;14932:201;-1:-1:-1;;;;;15179:1:654;15163:14;;;15159:22;15146:36;;-1:-1:-1;14104:1345:654:o;15807:489::-;-1:-1:-1;;;;;16076:15:654;;;16058:34;;16128:15;;16123:2;16108:18;;16101:43;16175:2;16160:18;;16153:34;;;16223:3;16218:2;16203:18;;16196:31;;;16001:4;;16244:46;;16270:19;;16262:6;16244:46;:::i;:::-;16236:54;15807:489;-1:-1:-1;;;;;;15807:489:654:o;16301:290::-;16370:6;16423:2;16411:9;16402:7;16398:23;16394:32;16391:52;;;16439:1;16436;16429:12;16391:52;16465:16;;-1:-1:-1;;;;;;16510:32:654;;16500:43;;16490:71;;16557:1;16554;16547:12;17371:127;17432:10;17427:3;17423:20;17420:1;17413:31;17463:4;17460:1;17453:15;17487:4;17484:1;17477:15;17503:629;17772:3;17810:6;17804:13;17826:66;17885:6;17880:3;17873:4;17865:6;17861:17;17826:66;:::i;:::-;-1:-1:-1;;;17914:16:654;;;17939:18;;;17982:13;;18004:78;17982:13;18069:1;18058:13;;18051:4;18039:17;;18004:78;:::i;:::-;18102:20;18124:1;18098:28;;17503:629;-1:-1:-1;;;;17503:629:654:o;18137:496::-;18316:3;18354:6;18348:13;18370:66;18429:6;18424:3;18417:4;18409:6;18405:17;18370:66;:::i;:::-;18499:13;;18458:16;;;;18521:70;18499:13;18458:16;18568:4;18556:17;;18521:70;:::i;:::-;18607:20;;18137:496;-1:-1:-1;;;;18137:496:654:o;19403:127::-;19464:10;19459:3;19455:20;19452:1;19445:31;19495:4;19492:1;19485:15;19519:4;19516:1;19509:15;19535:128;19602:9;;;19623:11;;;19620:37;;;19637:18;;:::i;19668:125::-;19733:9;;;19754:10;;;19751:36;;;19767:18;;:::i;20601:182::-;-1:-1:-1;;;;;20708:10:654;;;20720;;;20704:27;;20743:11;;;20740:37;;;20757:18;;:::i;:::-;20740:37;20601:182;;;;:::o;21060:185::-;-1:-1:-1;;;;;21181:10:654;;;21169;;;21165:27;;21204:12;;;21201:38;;;21219:18;;:::i;21250:127::-;21311:10;21306:3;21302:20;21299:1;21292:31;21342:4;21339:1;21332:15;21366:4;21363:1;21356:15;21785:127;21846:10;21841:3;21837:20;21834:1;21827:31;21877:4;21874:1;21867:15;21901:4;21898:1;21891:15;21917:217;21957:1;21983;21973:132;;22027:10;22022:3;22018:20;22015:1;22008:31;22062:4;22059:1;22052:15;22090:4;22087:1;22080:15;21973:132;-1:-1:-1;22119:9:654;;21917:217::o","linkReferences":{}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","__ERC721A_init(string,string)":"d2f01f19","__SpaceOwner_init(string,string,string)":"d7a901d3","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","clock()":"91ddadf4","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getApproved(uint256)":"081812fc","getDefaultUri()":"d6536540","getFactory()":"88cc58e4","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getSpaceInfo(address)":"6a9a38e6","getVotes(address)":"9ab24eb0","isApprovedForAll(address,address)":"e985e9c5","mintSpace(string,string,address,string,string)":"3bf5b8f4","name()":"06fdde03","nextTokenId()":"75794a3c","nonces(address)":"7ecebe00","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultUri(string)":"466a18de","setFactory(address)":"5bb47808","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","updateSpaceInfo(address,string,string,string,string)":"84880614"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ApprovalCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ApprovalQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BalanceQueryForZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Guardian_AlreadyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Guardian_AlreadyEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Guardian_Enabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initializable_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintERC2309QuantityExceedsLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintZeroQuantity\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnershipNotInitializedForExtraData\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceOwner__DefaultUriNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceOwner__OnlyFactoryAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceOwner__OnlySpaceOwnerAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceOwner__SpaceNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFromIncorrectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToNonERC721ReceiverImplementer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"URIQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Validator__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Validator__InvalidStringLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cooldown\",\"type\":\"uint256\"}],\"name\":\"GuardianDefaultCooldownUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"cooldown\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"GuardianUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"SpaceOwner__SetDefaultUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"}],\"name\":\"SpaceOwner__SetFactory\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"SpaceOwner__UpdateSpace\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"name\":\"__ERC721A_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"__SpaceOwner_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"getSpaceInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"shortDescription\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"longDescription\",\"type\":\"string\"}],\"internalType\":\"struct ISpaceOwnerBase.Space\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"shortDescription\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"longDescription\",\"type\":\"string\"}],\"name\":\"mintSpace\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"setDefaultUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"}],\"name\":\"setFactory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"shortDescription\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"longDescription\",\"type\":\"string\"}],\"name\":\"updateSpaceInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"ConsecutiveTransfer(uint256,uint256,address,address)\":{\"details\":\"Emitted when tokens in `fromTokenId` to `toTokenId` (inclusive) is transferred from `from` to `to`, as defined in the [ERC2309](https://eips.ethereum.org/EIPS/eip-2309) standard. See {_mintERC2309} for more details.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. See {ERC721A-_approve}. Requirements: - The caller must own the token or be an approved operator.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in `owner`'s account.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block.\"},\"getSpaceInfo(address)\":{\"params\":{\"space\":\"The address of the space\"},\"returns\":{\"_0\":\"space The space info\"}},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}.\"},\"mintSpace(string,string,address,string,string)\":{\"details\":\"Only the factory is allowed to mint spaces\",\"params\":{\"longDescription\":\"The long description of the space\",\"name\":\"The name of the space\",\"shortDescription\":\"The short description of the space\",\"space\":\"The address of the space\",\"uri\":\"The URI of the space\"},\"returns\":{\"tokenId\":\"The token id of the minted space\"}},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Equivalent to `safeTransferFrom(from, to, tokenId, '')`.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"totalSupply()\":{\"details\":\"Returns the total number of tokens in existence. Burned tokens will reduce the count. To get the total number of tokens minted, please see {_totalMinted}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"},\"updateSpaceInfo(address,string,string,string,string)\":{\"details\":\"Only the space owner is allowed to update the space info\",\"params\":{\"longDescription\":\"The long description of the space\",\"name\":\"The name of the space\",\"shortDescription\":\"The short description of the space\",\"space\":\"The address of the space\",\"uri\":\"The URI of the space\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"ApprovalCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"ApprovalQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"BalanceQueryForZeroAddress()\":[{\"notice\":\"Cannot query the balance for the zero address.\"}],\"MintERC2309QuantityExceedsLimit()\":[{\"notice\":\"The `quantity` minted with ERC2309 exceeds the safety limit.\"}],\"MintToZeroAddress()\":[{\"notice\":\"Cannot mint to the zero address.\"}],\"MintZeroQuantity()\":[{\"notice\":\"The quantity of tokens minted must be more than zero.\"}],\"OwnerQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"OwnershipNotInitializedForExtraData()\":[{\"notice\":\"The `extraData` cannot be set on an unintialized ownership slot.\"}],\"TransferCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"TransferFromIncorrectOwner()\":[{\"notice\":\"The token must be owned by `from`.\"}],\"TransferToNonERC721ReceiverImplementer()\":[{\"notice\":\"Cannot safely transfer to a contract that does not implement the ERC721Receiver interface.\"}],\"TransferToZeroAddress()\":[{\"notice\":\"Cannot transfer to the zero address.\"}],\"URIQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}]},\"events\":{\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"}},\"kind\":\"user\",\"methods\":{\"getDefaultUri()\":{\"notice\":\"Get the default URI\"},\"getFactory()\":{\"notice\":\"Get the factory address\"},\"getSpaceInfo(address)\":{\"notice\":\"Get the space info\"},\"mintSpace(string,string,address,string,string)\":{\"notice\":\"Mint a space\"},\"nextTokenId()\":{\"notice\":\"Get the next token id that will be used to mint a space\"},\"setDefaultUri(string)\":{\"notice\":\"Set the default URI\"},\"setFactory(address)\":{\"notice\":\"Set the factory address that is allowed to mint spaces\"},\"updateSpaceInfo(address,string,string,string,string)\":{\"notice\":\"Update the space info\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/spaces/facets/owner/SpaceOwner.sol\":\"SpaceOwner\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/diamond/facets/governance/votes/Checkpoints.sol\":{\"keccak256\":\"0x4b98db2e67e47ec59caa78fade51e9ec6fa33ee2592e46fed09d9167ebe76c8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72ec6949ee33fb9c137bba362b94af699762fadd66334128d1dd0dbcd4301bc6\",\"dweb:/ipfs/QmQybe6k5K3gss4zzCPqoba6ZBZE5p8KJRoQ2RzkE91JRV\"]},\"contracts/src/diamond/facets/governance/votes/Votes.sol\":{\"keccak256\":\"0x9df4a59415c2a2d260248b6f17b5afebd359c1fc3fa3d30de28c96295a128cb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7bac8e7e2ba6f34aaf7eef070d727f1fb1f05dc0a06acfd84e9ac32e3bc32501\",\"dweb:/ipfs/QmeRpJPPyJzdag6FSyyPYjABFz57XhCQfDKFS72tYMJ69Q\"]},\"contracts/src/diamond/facets/governance/votes/VotesBase.sol\":{\"keccak256\":\"0xe81e2262d09986bb570783b1ede2db66ad63ec80832dd6ae7b95cfad85646ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a9cd57237f494ffe148d39bcf869a12701adbec89b5645e8fc006e52cdceefe\",\"dweb:/ipfs/QmYboWzFp5FTpv3eqEndo6GyDWtzWKoQPV8eQt4TKPcEA5\"]},\"contracts/src/diamond/facets/governance/votes/VotesStorage.sol\":{\"keccak256\":\"0x87a2f9c85f63fcfa8ce2dc14d5a9a6118b33fd7000fb988b300519dec9b89629\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daef1e04a36eb664ec08d4627a2038f3decbeac93b13a2c651b52681ef6f5f5e\",\"dweb:/ipfs/QmbV5SXhZnUW52HLEbhNhKeRXDCyPR6zAJRa98Vh3m9ptF\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721A.sol\":{\"keccak256\":\"0x661d83db028bcc05f041e1bc576e9e6a31d61ca1b2cadf6682c1774a2989d1ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e624fc220c7060456c473e821bd55d7b9e2338081c74e59d9bc7f0f6a0043465\",\"dweb:/ipfs/QmXosKFhm5facMAzgn265aRnkmWL2wwY79WKy6qohuDH2T\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol\":{\"keccak256\":\"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba\",\"dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE\"]},\"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol\":{\"keccak256\":\"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04\",\"dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey\"]},\"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol\":{\"keccak256\":\"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d\",\"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz\"]},\"contracts/src/diamond/utils/Context.sol\":{\"keccak256\":\"0x4566c941f553d989324d4308c037fe0669062c746d6e5108ce533fcc8ffbcaac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87908ef7e56c826210414cb25a50a3073188e96e6ac2afc2b56d0bba6abb48a7\",\"dweb:/ipfs/QmT41NMs4REQxxeuR48JUcB39UTgcaKdUvizc2XawUF5aq\"]},\"contracts/src/spaces/facets/guardian/GuardianBase.sol\":{\"keccak256\":\"0xa407bb80710960a4faf7cda09ef05d779887d4227c1823dc92f0910d1508039f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://075ccda5d24f69c2ad13eec21e37cb1cd3eac7faef2108179fe6a23005729957\",\"dweb:/ipfs/QmX1Q58kQtwWmwox2oA1nHJ7aoYr9cBVVzi7xdoJBfycmQ\"]},\"contracts/src/spaces/facets/guardian/GuardianStorage.sol\":{\"keccak256\":\"0xb6d7ae2fe80c40120223e660bf5888612f8e93c0e7dc70d6d2532d3e366f0674\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff77c0e4ad11ae6967a46d67c38422e06e45eb4e06aa7d99d611b8e4672aae5f\",\"dweb:/ipfs/QmfZui9wfZimGa4Q93zudgdit6ZUSgTET2WCKYWB7QkpVD\"]},\"contracts/src/spaces/facets/guardian/IGuardian.sol\":{\"keccak256\":\"0x5688fd791b42e359f37edd7b40576e5326b360f5e922ba091eb4bd2fe6234478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93bc1fca6f842a91ae26ac7e19b1f73515c320469b35938c5ab57414b009d206\",\"dweb:/ipfs/QmZ47oFNcHWzP3TQtRzesSz66gJZmhAndHt139nkbeoUTr\"]},\"contracts/src/spaces/facets/membership/metadata/IMembershipMetadata.sol\":{\"keccak256\":\"0x880c5cb358b4a471d273ae582bb0068f679ca0adfd75cf36f21107aced4ecfcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c8f64c60534a1bbf0242d1a4ee69a8b164b78dd62ea1681bf60a801d6db6c80\",\"dweb:/ipfs/QmYYaFyqzZBb6KnJ2BVft418C5m7viZAPLpxHitP8kbJZb\"]},\"contracts/src/spaces/facets/owner/ISpaceOwner.sol\":{\"keccak256\":\"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a\",\"dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw\"]},\"contracts/src/spaces/facets/owner/SpaceOwner.sol\":{\"keccak256\":\"0x7a9f9be94b604d4c22310e0a707876b28fafc29972739bbb041a8fa76288f830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c5d7d95f4cf04bed36afbef4de58efc62ddde1c23f120490755322c6e1b2d6\",\"dweb:/ipfs/QmSz4mwGkKTt9ZDPegmbKPiEtb2HHYgL93BrT8KtJkMsFd\"]},\"contracts/src/spaces/facets/owner/SpaceOwnerBase.sol\":{\"keccak256\":\"0x5f13f9246fbf565ebef09d61477e24a5d6c1a9e0cc3b285521ef356c022d1d0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15fdda81ae99a64bce64200403443cf42bd968c21806146741252489ba537cca\",\"dweb:/ipfs/QmQ7EigQNBttBS2SY3YBmeNqDB7wzaEWSz3GVMYkaKRZpm\"]},\"contracts/src/spaces/facets/owner/SpaceOwnerStorage.sol\":{\"keccak256\":\"0x150e03077204bb3bc21aae37b86f1b0513c55d07ab21cc22885f1376a1411317\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12c4b4d27e0a93ea2a85646a754ffe5b6c02029efeadceafa0bf7a745e08dd1e\",\"dweb:/ipfs/QmWHR5yFEEaPo9SdtRWj13KeJS5uSRhjYdtZRKHx6CQqaN\"]},\"contracts/src/spaces/facets/owner/SpaceOwnerUriBase.sol\":{\"keccak256\":\"0xbc0f6bc661567cdc37620e295a3619aa5787a60fe6330fa6e2044314ab46fe49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eae9fe0a43035a47e600d7a476f314c0a9aebaa59754e851751a18b1736751f\",\"dweb:/ipfs/QmfN95VxwSkkvemoJ3w8gtzYjnehb1aocuu8zVLk6KPCBv\"]},\"contracts/src/utils/Validator.sol\":{\"keccak256\":\"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3\",\"dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x1b8691e244f6e11d987459993671db0af33e6a29f7805eac6a9925cc6b601957\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9e2a5efc2e14e98f5fe91bbab769199b4987a40dd3b96075b04957fda2ae80f\",\"dweb:/ipfs/QmbAjrSSVBiJ6MbgF7Jkr53m674iGMZ6haWbbRrWDZJraK\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"node_modules/@river-build/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e\",\"dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY\"]},\"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552\",\"dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC\"]},\"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4\",\"dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19\",\"dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006\",\"dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz\"]},\"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91\",\"dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM\"]},\"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2\",\"dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875\",\"dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf\"]},\"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e\",\"dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik\"]},\"node_modules/@river-build/diamond/src/utils/Nonces.sol\":{\"keccak256\":\"0x9217eb7e1a632747cb0b01e6a43f968e61107161b774c47e3c23ec7b2d4f73ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f53415ba8c68ea88c9b14c5265ea1412b8ec30162f121ca10b5ad63226662747\",\"dweb:/ipfs/QmcJ1Moezv2R3RHAsprYWbJe6Pd9754RnEZPvUkiKLN4Eu\"]},\"node_modules/@river-build/diamond/src/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x70463eaed8e7b80bd62948d0f1993c181290d618b21c173f3d25857a41f78d0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9feb0babd6ecc782337d5b13c9e03733b7f099d4b62df28586c0340f47449d09\",\"dweb:/ipfs/QmRDSLeTC4R5mNgzeRsJmpv6ascU52vgmfRx4u3gkatfiJ\"]},\"node_modules/solady/src/utils/LibBytes.sol\":{\"keccak256\":\"0x0ce2f2607e6408787d6f66d73f1b6d5726a96403f66e5c4edfc6d8451f96537c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40e21b56aca96c72bd257f3bed95a41a0450de054eae1565f3079bbd913a8b5\",\"dweb:/ipfs/QmcsCzJZn8zciFTxozK2aKjRT8egyD5fG71MBSXQVWbZ17\"]},\"node_modules/solady/src/utils/LibString.sol\":{\"keccak256\":\"0x6c922f48e2ecc1c8fd6581b3a1c16d24ca0f30e816e9a73d4e6a194b4df03e48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4e942ce2188a529e84b454ee78a657de9465dc8244da081dc706d01b30e4dae\",\"dweb:/ipfs/QmX6WPTUZwNkUNKyUmJUW1jjf8Eh51Y2i1BdWyD8S16Mty\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ApprovalCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"ApprovalQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"BalanceQueryForZeroAddress"},{"inputs":[],"type":"error","name":"ECDSAInvalidSignature"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"ECDSAInvalidSignatureLength"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"type":"error","name":"ECDSAInvalidSignatureS"},{"inputs":[],"type":"error","name":"Guardian_AlreadyDisabled"},{"inputs":[],"type":"error","name":"Guardian_AlreadyEnabled"},{"inputs":[],"type":"error","name":"Guardian_Enabled"},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32"}],"type":"error","name":"Initializable_AlreadyInitialized"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"type":"error","name":"InvalidAccountNonce"},{"inputs":[],"type":"error","name":"MintERC2309QuantityExceedsLimit"},{"inputs":[],"type":"error","name":"MintToZeroAddress"},{"inputs":[],"type":"error","name":"MintZeroQuantity"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[],"type":"error","name":"OwnerQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"OwnershipNotInitializedForExtraData"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[],"type":"error","name":"SpaceOwner__DefaultUriNotSet"},{"inputs":[],"type":"error","name":"SpaceOwner__OnlyFactoryAllowed"},{"inputs":[],"type":"error","name":"SpaceOwner__OnlySpaceOwnerAllowed"},{"inputs":[],"type":"error","name":"SpaceOwner__SpaceNotFound"},{"inputs":[],"type":"error","name":"TransferCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"TransferFromIncorrectOwner"},{"inputs":[],"type":"error","name":"TransferToNonERC721ReceiverImplementer"},{"inputs":[],"type":"error","name":"TransferToZeroAddress"},{"inputs":[],"type":"error","name":"URIQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"Validator__InvalidAddress"},{"inputs":[],"type":"error","name":"Validator__InvalidStringLength"},{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"type":"error","name":"VotesExpiredSignature"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousVotes","type":"uint256","indexed":false},{"internalType":"uint256","name":"newVotes","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"cooldown","type":"uint256","indexed":true}],"type":"event","name":"GuardianDefaultCooldownUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"bool","name":"enabled","type":"bool","indexed":true},{"internalType":"uint256","name":"cooldown","type":"uint256","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"GuardianUpdated","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"MetadataUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"string","name":"uri","type":"string","indexed":false}],"type":"event","name":"SpaceOwner__SetDefaultUri","anonymous":false},{"inputs":[{"internalType":"address","name":"factory","type":"address","indexed":false}],"type":"event","name":"SpaceOwner__SetFactory","anonymous":false},{"inputs":[{"internalType":"address","name":"space","type":"address","indexed":true}],"type":"event","name":"SpaceOwner__UpdateSpace","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"__ERC721A_init"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"version","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"__SpaceOwner_init"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultUri","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"space","type":"address"}],"stateMutability":"view","type":"function","name":"getSpaceInfo","outputs":[{"internalType":"struct ISpaceOwnerBase.Space","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"string","name":"shortDescription","type":"string"},{"internalType":"string","name":"longDescription","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"address","name":"space","type":"address"},{"internalType":"string","name":"shortDescription","type":"string"},{"internalType":"string","name":"longDescription","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintSpace","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"string","name":"uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultUri"},{"inputs":[{"internalType":"address","name":"factory","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFactory"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"space","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"string","name":"shortDescription","type":"string"},{"internalType":"string","name":"longDescription","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateSpaceInfo"}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Description of the clock"},"approve(address,uint256)":{"details":"Gives permission to `to` to transfer `tokenId` token to another account. See {ERC721A-_approve}. Requirements: - The caller must own the token or be an approved operator."},"balanceOf(address)":{"details":"Returns the number of tokens in `owner`'s account."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getApproved(uint256)":{"details":"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block."},"getSpaceInfo(address)":{"params":{"space":"The address of the space"},"returns":{"_0":"space The space info"}},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"isApprovedForAll(address,address)":{"details":"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}."},"mintSpace(string,string,address,string,string)":{"details":"Only the factory is allowed to mint spaces","params":{"longDescription":"The long description of the space","name":"The name of the space","shortDescription":"The short description of the space","space":"The address of the space","uri":"The URI of the space"},"returns":{"tokenId":"The token id of the minted space"}},"name()":{"details":"Returns the token collection name."},"ownerOf(uint256)":{"details":"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."},"safeTransferFrom(address,address,uint256)":{"details":"Equivalent to `safeTransferFrom(from, to, tokenId, '')`."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"setApprovalForAll(address,bool)":{"details":"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."},"symbol()":{"details":"Returns the token collection symbol."},"tokenURI(uint256)":{"details":"Returns the Uniform Resource Identifier (URI) for `tokenId` token."},"totalSupply()":{"details":"Returns the total number of tokens in existence. Burned tokens will reduce the count. To get the total number of tokens minted, please see {_totalMinted}."},"transferFrom(address,address,uint256)":{"details":"Transfers `tokenId` from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."},"updateSpaceInfo(address,string,string,string,string)":{"details":"Only the space owner is allowed to update the space info","params":{"longDescription":"The long description of the space","name":"The name of the space","shortDescription":"The short description of the space","space":"The address of the space","uri":"The URI of the space"}}},"version":1},"userdoc":{"kind":"user","methods":{"getDefaultUri()":{"notice":"Get the default URI"},"getFactory()":{"notice":"Get the factory address"},"getSpaceInfo(address)":{"notice":"Get the space info"},"mintSpace(string,string,address,string,string)":{"notice":"Mint a space"},"nextTokenId()":{"notice":"Get the next token id that will be used to mint a space"},"setDefaultUri(string)":{"notice":"Set the default URI"},"setFactory(address)":{"notice":"Set the factory address that is allowed to mint spaces"},"updateSpaceInfo(address,string,string,string,string)":{"notice":"Update the space info"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/spaces/facets/owner/SpaceOwner.sol":"SpaceOwner"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/diamond/facets/governance/votes/Checkpoints.sol":{"keccak256":"0x4b98db2e67e47ec59caa78fade51e9ec6fa33ee2592e46fed09d9167ebe76c8a","urls":["bzz-raw://72ec6949ee33fb9c137bba362b94af699762fadd66334128d1dd0dbcd4301bc6","dweb:/ipfs/QmQybe6k5K3gss4zzCPqoba6ZBZE5p8KJRoQ2RzkE91JRV"],"license":"MIT"},"contracts/src/diamond/facets/governance/votes/Votes.sol":{"keccak256":"0x9df4a59415c2a2d260248b6f17b5afebd359c1fc3fa3d30de28c96295a128cb0","urls":["bzz-raw://7bac8e7e2ba6f34aaf7eef070d727f1fb1f05dc0a06acfd84e9ac32e3bc32501","dweb:/ipfs/QmeRpJPPyJzdag6FSyyPYjABFz57XhCQfDKFS72tYMJ69Q"],"license":"MIT"},"contracts/src/diamond/facets/governance/votes/VotesBase.sol":{"keccak256":"0xe81e2262d09986bb570783b1ede2db66ad63ec80832dd6ae7b95cfad85646ad9","urls":["bzz-raw://9a9cd57237f494ffe148d39bcf869a12701adbec89b5645e8fc006e52cdceefe","dweb:/ipfs/QmYboWzFp5FTpv3eqEndo6GyDWtzWKoQPV8eQt4TKPcEA5"],"license":"MIT"},"contracts/src/diamond/facets/governance/votes/VotesStorage.sol":{"keccak256":"0x87a2f9c85f63fcfa8ce2dc14d5a9a6118b33fd7000fb988b300519dec9b89629","urls":["bzz-raw://daef1e04a36eb664ec08d4627a2038f3decbeac93b13a2c651b52681ef6f5f5e","dweb:/ipfs/QmbV5SXhZnUW52HLEbhNhKeRXDCyPR6zAJRa98Vh3m9ptF"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721A.sol":{"keccak256":"0x661d83db028bcc05f041e1bc576e9e6a31d61ca1b2cadf6682c1774a2989d1ef","urls":["bzz-raw://e624fc220c7060456c473e821bd55d7b9e2338081c74e59d9bc7f0f6a0043465","dweb:/ipfs/QmXosKFhm5facMAzgn265aRnkmWL2wwY79WKy6qohuDH2T"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721ABase.sol":{"keccak256":"0x27b65225578e0cd90b90ab4ce91c4dfe621b43a58df227d3fdb0494c8f317d62","urls":["bzz-raw://70db26d8735dd6b7e7a847712603f793728521ebd05ad8640d6068b395dce3ba","dweb:/ipfs/QmYeC1EM3XQWgHjQKpT41TksDFcCzr4Sz8JPRdagFms7mE"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/ERC721AStorage.sol":{"keccak256":"0x1f85619c07524883b96fd2f3ca92ea3e2343466c0832cc03f6eb1cbb828896f4","urls":["bzz-raw://06adf57b874d40a123eb3e7bf89cd7f49d29a93c142b26336263529ccd692e04","dweb:/ipfs/QmQAhsfGRBPuBcSE1mqocTvutK9c4NfJPsbN4XQXtbsLey"],"license":"MIT"},"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol":{"keccak256":"0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782","urls":["bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d","dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"],"license":"MIT"},"contracts/src/diamond/utils/Context.sol":{"keccak256":"0x4566c941f553d989324d4308c037fe0669062c746d6e5108ce533fcc8ffbcaac","urls":["bzz-raw://87908ef7e56c826210414cb25a50a3073188e96e6ac2afc2b56d0bba6abb48a7","dweb:/ipfs/QmT41NMs4REQxxeuR48JUcB39UTgcaKdUvizc2XawUF5aq"],"license":"MIT"},"contracts/src/spaces/facets/guardian/GuardianBase.sol":{"keccak256":"0xa407bb80710960a4faf7cda09ef05d779887d4227c1823dc92f0910d1508039f","urls":["bzz-raw://075ccda5d24f69c2ad13eec21e37cb1cd3eac7faef2108179fe6a23005729957","dweb:/ipfs/QmX1Q58kQtwWmwox2oA1nHJ7aoYr9cBVVzi7xdoJBfycmQ"],"license":"MIT"},"contracts/src/spaces/facets/guardian/GuardianStorage.sol":{"keccak256":"0xb6d7ae2fe80c40120223e660bf5888612f8e93c0e7dc70d6d2532d3e366f0674","urls":["bzz-raw://ff77c0e4ad11ae6967a46d67c38422e06e45eb4e06aa7d99d611b8e4672aae5f","dweb:/ipfs/QmfZui9wfZimGa4Q93zudgdit6ZUSgTET2WCKYWB7QkpVD"],"license":"MIT"},"contracts/src/spaces/facets/guardian/IGuardian.sol":{"keccak256":"0x5688fd791b42e359f37edd7b40576e5326b360f5e922ba091eb4bd2fe6234478","urls":["bzz-raw://93bc1fca6f842a91ae26ac7e19b1f73515c320469b35938c5ab57414b009d206","dweb:/ipfs/QmZ47oFNcHWzP3TQtRzesSz66gJZmhAndHt139nkbeoUTr"],"license":"MIT"},"contracts/src/spaces/facets/membership/metadata/IMembershipMetadata.sol":{"keccak256":"0x880c5cb358b4a471d273ae582bb0068f679ca0adfd75cf36f21107aced4ecfcb","urls":["bzz-raw://6c8f64c60534a1bbf0242d1a4ee69a8b164b78dd62ea1681bf60a801d6db6c80","dweb:/ipfs/QmYYaFyqzZBb6KnJ2BVft418C5m7viZAPLpxHitP8kbJZb"],"license":"MIT"},"contracts/src/spaces/facets/owner/ISpaceOwner.sol":{"keccak256":"0x7baa36238144aae1068d9df8b28c6741cbcf1f26e53c0e429fc62c351623c1f4","urls":["bzz-raw://4d702b63539e714f343482f80de3f342d7870647cbeb01b42abab7dc9805683a","dweb:/ipfs/QmcTDjumaJfXvAoyT6G38meixc7omy6MUuX33FrRuc8hNw"],"license":"MIT"},"contracts/src/spaces/facets/owner/SpaceOwner.sol":{"keccak256":"0x7a9f9be94b604d4c22310e0a707876b28fafc29972739bbb041a8fa76288f830","urls":["bzz-raw://10c5d7d95f4cf04bed36afbef4de58efc62ddde1c23f120490755322c6e1b2d6","dweb:/ipfs/QmSz4mwGkKTt9ZDPegmbKPiEtb2HHYgL93BrT8KtJkMsFd"],"license":"MIT"},"contracts/src/spaces/facets/owner/SpaceOwnerBase.sol":{"keccak256":"0x5f13f9246fbf565ebef09d61477e24a5d6c1a9e0cc3b285521ef356c022d1d0e","urls":["bzz-raw://15fdda81ae99a64bce64200403443cf42bd968c21806146741252489ba537cca","dweb:/ipfs/QmQ7EigQNBttBS2SY3YBmeNqDB7wzaEWSz3GVMYkaKRZpm"],"license":"MIT"},"contracts/src/spaces/facets/owner/SpaceOwnerStorage.sol":{"keccak256":"0x150e03077204bb3bc21aae37b86f1b0513c55d07ab21cc22885f1376a1411317","urls":["bzz-raw://12c4b4d27e0a93ea2a85646a754ffe5b6c02029efeadceafa0bf7a745e08dd1e","dweb:/ipfs/QmWHR5yFEEaPo9SdtRWj13KeJS5uSRhjYdtZRKHx6CQqaN"],"license":"MIT"},"contracts/src/spaces/facets/owner/SpaceOwnerUriBase.sol":{"keccak256":"0xbc0f6bc661567cdc37620e295a3619aa5787a60fe6330fa6e2044314ab46fe49","urls":["bzz-raw://6eae9fe0a43035a47e600d7a476f314c0a9aebaa59754e851751a18b1736751f","dweb:/ipfs/QmfN95VxwSkkvemoJ3w8gtzYjnehb1aocuu8zVLk6KPCBv"],"license":"MIT"},"contracts/src/utils/Validator.sol":{"keccak256":"0x902f8ae6b6ec4703e6a72e40411ddaf062b73eb2890cab3c893ac3828367c61f","urls":["bzz-raw://39e68f53191121d78a6adc94587e085fb2845206cc8f5c58bf7f4532126e6bb3","dweb:/ipfs/QmPLJ9UXfvhJEPhyKpQyz2WM7oNtGgJtbFpXfM8hmZDWRG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol":{"keccak256":"0x1b8691e244f6e11d987459993671db0af33e6a29f7805eac6a9925cc6b601957","urls":["bzz-raw://a9e2a5efc2e14e98f5fe91bbab769199b4987a40dd3b96075b04957fda2ae80f","dweb:/ipfs/QmbAjrSSVBiJ6MbgF7Jkr53m674iGMZ6haWbbRrWDZJraK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC721.sol":{"keccak256":"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d","urls":["bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b","dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/Facet.sol":{"keccak256":"0xca7529809751c8c40aebd904b776f9ff28074b5a8a2df99f5bd1b588cb4b297c","urls":["bzz-raw://74bf56c81fcb3064f372bf9fb5ae895fd976d1cf8fd535c4f03397bdfabeb25e","dweb:/ipfs/QmRmNLBWakunagRHRLXsEZAq6b2CyWM4voFrEjQn2tRGYY"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0xe02e99665b5acb22d5c508c3bda97c35acd2597ce0a58569a19cc12f0010da90","urls":["bzz-raw://b586a51dbe63e8763ae0b2b3dadd5c8559f47bc8cbaa0e9fe52aaec4c3677552","dweb:/ipfs/QmRtaVikg6YDwzUAtY7WV793taZgT1ZxyMB4PLAEqGBeCC"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xf8170e6977d685c218f65185478fbb9916e64f63aab1dcd195056438466f458a","urls":["bzz-raw://83ea3cf77f012eef93d10593e3beded36b449611063fd8dfbdb44e4346f87eb4","dweb:/ipfs/QmVasL7QnxXEmiUsLJzpfig8717zLUhZfyQxiBbFGDEVVg"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x51e706ab1184a3a5b353b87cfee07d471b9a5ef93897022bbcd1085b39a0c762","urls":["bzz-raw://3df386912c5cc759faee161b7825b2014040d04bf06528e74f4d759f06f2eb19","dweb:/ipfs/QmP5AnGGNY4gsV1ABJ3WaueAsAwJVQ229ZfGjGxW8rSbEL"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x35f27aa0a4b64673a2648110422f31de0c5a71c68df562eccb9c4f2a27ee6647","urls":["bzz-raw://2eb1f2ff2e2d7222bf8fe2cf7558a2e47925e3d4557208362b1f50e63cb43006","dweb:/ipfs/QmNcJZSAEPreUy66tt5brPrauVnUb4tqvcxej5Uc4SZZWz"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x306f41ef86bc5050a28c1dbf855d3f6f623be4aebc0a0f96474dae85979f7763","urls":["bzz-raw://dbad6f8e6685690ae75f6c9066972a45400b45307245feab8990af18a4c38e91","dweb:/ipfs/QmcTUqiSL1z2nwokpNNsXQkjVTaFdFJiM2exguZpPDDXEM"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x187fcc652a498aa18be665689a8496daad50511e6d7d926be0a210469325cdd8","urls":["bzz-raw://00c489916ad6e3ef2bfeb1d5f0230022cf776caab4b1372f0bf79b839810f1a2","dweb:/ipfs/QmV2h8sDoHeyZKvbKeJBk6WaS5F87QaDMCq3iEymsbrmVh"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0x272abaecc104d5f23d77a623cf1548620d24b0f447eb2a12144e27561ff489f2","urls":["bzz-raw://fcb8c20ff7346bdc5dba82e6680cc0ea64087460a12153e3b6c3416f6addf875","dweb:/ipfs/QmfEEufJBzudSDekQteQkb3CzmnzUPT3GDhNgVpHNC9xaf"],"license":"MIT"},"node_modules/@river-build/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0xda650482ce08c04110366cb01408aaabd01383d9c504b7cacfb2674aae688dcd","urls":["bzz-raw://694f42ffb353fccaa1eadf91dee3a3cee7253e3f357bcba2b175fd7be701e27e","dweb:/ipfs/QmPxxVerATSYrNLp7snnSvNVsbLPm1wzHULhBbtR333eik"],"license":"MIT"},"node_modules/@river-build/diamond/src/utils/Nonces.sol":{"keccak256":"0x9217eb7e1a632747cb0b01e6a43f968e61107161b774c47e3c23ec7b2d4f73ba","urls":["bzz-raw://f53415ba8c68ea88c9b14c5265ea1412b8ec30162f121ca10b5ad63226662747","dweb:/ipfs/QmcJ1Moezv2R3RHAsprYWbJe6Pd9754RnEZPvUkiKLN4Eu"],"license":"MIT"},"node_modules/@river-build/diamond/src/utils/cryptography/EIP712.sol":{"keccak256":"0x70463eaed8e7b80bd62948d0f1993c181290d618b21c173f3d25857a41f78d0b","urls":["bzz-raw://9feb0babd6ecc782337d5b13c9e03733b7f099d4b62df28586c0340f47449d09","dweb:/ipfs/QmRDSLeTC4R5mNgzeRsJmpv6ascU52vgmfRx4u3gkatfiJ"],"license":"MIT"},"node_modules/solady/src/utils/LibBytes.sol":{"keccak256":"0x0ce2f2607e6408787d6f66d73f1b6d5726a96403f66e5c4edfc6d8451f96537c","urls":["bzz-raw://e40e21b56aca96c72bd257f3bed95a41a0450de054eae1565f3079bbd913a8b5","dweb:/ipfs/QmcsCzJZn8zciFTxozK2aKjRT8egyD5fG71MBSXQVWbZ17"],"license":"MIT"},"node_modules/solady/src/utils/LibString.sol":{"keccak256":"0x6c922f48e2ecc1c8fd6581b3a1c16d24ca0f30e816e9a73d4e6a194b4df03e48","urls":["bzz-raw://e4e942ce2188a529e84b454ee78a657de9465dc8244da081dc706d01b30e4dae","dweb:/ipfs/QmX6WPTUZwNkUNKyUmJUW1jjf8Eh51Y2i1BdWyD8S16Mty"],"license":"MIT"}},"version":1},"id":257} \ No newline at end of file diff --git a/packages/generated/dev/abis/SpaceOwner.metadata.json b/packages/generated/dev/abis/SpaceOwner.metadata.json index c77fe68b4f..6ae4314365 100644 --- a/packages/generated/dev/abis/SpaceOwner.metadata.json +++ b/packages/generated/dev/abis/SpaceOwner.metadata.json @@ -1794,18 +1794,18 @@ "license": "MIT" }, "node_modules/solady/src/utils/LibBytes.sol": { - "keccak256": "0x905f1c122299888350964a3bdd3dccd4b969273389b8d869f9aacb6871ff199e", + "keccak256": "0x0ce2f2607e6408787d6f66d73f1b6d5726a96403f66e5c4edfc6d8451f96537c", "urls": [ - "bzz-raw://b6cff3ef7090aa48f214b960f373a33c15878f80e617443a3a4d53f130bab862", - "dweb:/ipfs/QmdMEpK6ZVxUesqSpurqS9UkDnm1kAnjUeJKLN6ZWPNJnT" + "bzz-raw://e40e21b56aca96c72bd257f3bed95a41a0450de054eae1565f3079bbd913a8b5", + "dweb:/ipfs/QmcsCzJZn8zciFTxozK2aKjRT8egyD5fG71MBSXQVWbZ17" ], "license": "MIT" }, "node_modules/solady/src/utils/LibString.sol": { - "keccak256": "0x5311374141ba0733b55d2824b48f61fe3b143ad59e9a3f928b457c3b36676366", + "keccak256": "0x6c922f48e2ecc1c8fd6581b3a1c16d24ca0f30e816e9a73d4e6a194b4df03e48", "urls": [ - "bzz-raw://18858389267b3df8acd68f25dfc86f74574a26e95fa8f8cf1ce28dcee037a415", - "dweb:/ipfs/Qma847UQ2jSfpfo2qNUxVJExTD3VLCipfR7x7yT9eLjbJ5" + "bzz-raw://e4e942ce2188a529e84b454ee78a657de9465dc8244da081dc706d01b30e4dae", + "dweb:/ipfs/QmX6WPTUZwNkUNKyUmJUW1jjf8Eh51Y2i1BdWyD8S16Mty" ], "license": "MIT" } diff --git a/packages/generated/dev/abis/StreamFlags.json b/packages/generated/dev/abis/StreamFlags.json index 4a5008a55c..618ac13785 100644 --- a/packages/generated/dev/abis/StreamFlags.json +++ b/packages/generated/dev/abis/StreamFlags.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60206037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fd","sourceMap":"543:53:199:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;543:53:199;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fd","sourceMap":"543:53:199:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/river/registry/facets/stream/StreamRegistry.sol\":\"StreamFlags\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/river/registry/facets/stream/IStreamRegistry.sol\":{\"keccak256\":\"0x7f6ffecdb47e776a49fd5eb344aad912ddcf838502e58a0b7f1d7628ba484f5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4501a262214df3d792aba76b6e707e2901a7e0f15f05c4d2d903549e32afa839\",\"dweb:/ipfs/QmUzHM6rvqBrtB3CrNZe4kWDwhfTDY933HoLfwMfeLddHq\"]},\"contracts/src/river/registry/facets/stream/StreamRegistry.sol\":{\"keccak256\":\"0x50c476331f6dc1d7f63c7ebe81f046b1bd6e8bfb51752c1a636c0e4924ceb614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8c9c118175100073386f6bdb82501cef8a0b246a99a62ad143d2ed6c594e9ea\",\"dweb:/ipfs/QmQL5Rc4iVvXciv8dd2R8UYnHMLDoB4QSbfqgfgCn1JdXe\"]},\"contracts/src/river/registry/libraries/RegistryErrors.sol\":{\"keccak256\":\"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501\",\"dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP\"]},\"contracts/src/river/registry/libraries/RegistryStorage.sol\":{\"keccak256\":\"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4\",\"dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/river/registry/facets/stream/StreamRegistry.sol":"StreamFlags"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/river/registry/facets/stream/IStreamRegistry.sol":{"keccak256":"0x7f6ffecdb47e776a49fd5eb344aad912ddcf838502e58a0b7f1d7628ba484f5c","urls":["bzz-raw://4501a262214df3d792aba76b6e707e2901a7e0f15f05c4d2d903549e32afa839","dweb:/ipfs/QmUzHM6rvqBrtB3CrNZe4kWDwhfTDY933HoLfwMfeLddHq"],"license":"MIT"},"contracts/src/river/registry/facets/stream/StreamRegistry.sol":{"keccak256":"0x50c476331f6dc1d7f63c7ebe81f046b1bd6e8bfb51752c1a636c0e4924ceb614","urls":["bzz-raw://c8c9c118175100073386f6bdb82501cef8a0b246a99a62ad143d2ed6c594e9ea","dweb:/ipfs/QmQL5Rc4iVvXciv8dd2R8UYnHMLDoB4QSbfqgfgCn1JdXe"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryErrors.sol":{"keccak256":"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497","urls":["bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501","dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryStorage.sol":{"keccak256":"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201","urls":["bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4","dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"}},"version":1},"id":199} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60206037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fd","sourceMap":"543:53:199:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;543:53:199;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fd","sourceMap":"543:53:199:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/river/registry/facets/stream/StreamRegistry.sol\":\"StreamFlags\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/river/registry/facets/stream/IStreamRegistry.sol\":{\"keccak256\":\"0x5e8bd4aa3130035d463d4fbc0214aaeb7c23a7042d29a10c593b422d6d2a47b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928c460af3995f8df31e48557a6d9eb16a6d89307f268709570bdfc932dc3a58\",\"dweb:/ipfs/QmTpiActnDg7Kvzezvvj9JCQWM2EsRmrZbXhXnzjhpCzCT\"]},\"contracts/src/river/registry/facets/stream/StreamRegistry.sol\":{\"keccak256\":\"0x31d16e776e27f5643ad19a2dc2c12524dedd50d674b96e142e381287a0c3e235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11baf58c6569cdd9444367586114223dfc9b7f07d7e56bba8a62e00daf9842bf\",\"dweb:/ipfs/QmRp1sHsnu75ar6X8U6qVUCnCaQQTYEJWhv5pFAvFuriYP\"]},\"contracts/src/river/registry/libraries/RegistryErrors.sol\":{\"keccak256\":\"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501\",\"dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP\"]},\"contracts/src/river/registry/libraries/RegistryStorage.sol\":{\"keccak256\":\"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4\",\"dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/river/registry/facets/stream/StreamRegistry.sol":"StreamFlags"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/river/registry/facets/stream/IStreamRegistry.sol":{"keccak256":"0x5e8bd4aa3130035d463d4fbc0214aaeb7c23a7042d29a10c593b422d6d2a47b4","urls":["bzz-raw://928c460af3995f8df31e48557a6d9eb16a6d89307f268709570bdfc932dc3a58","dweb:/ipfs/QmTpiActnDg7Kvzezvvj9JCQWM2EsRmrZbXhXnzjhpCzCT"],"license":"MIT"},"contracts/src/river/registry/facets/stream/StreamRegistry.sol":{"keccak256":"0x31d16e776e27f5643ad19a2dc2c12524dedd50d674b96e142e381287a0c3e235","urls":["bzz-raw://11baf58c6569cdd9444367586114223dfc9b7f07d7e56bba8a62e00daf9842bf","dweb:/ipfs/QmRp1sHsnu75ar6X8U6qVUCnCaQQTYEJWhv5pFAvFuriYP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryErrors.sol":{"keccak256":"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497","urls":["bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501","dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryStorage.sol":{"keccak256":"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201","urls":["bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4","dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"}},"version":1},"id":199} \ No newline at end of file diff --git a/packages/generated/dev/abis/StreamFlags.metadata.json b/packages/generated/dev/abis/StreamFlags.metadata.json index a034fe2ee6..00cef0cb23 100644 --- a/packages/generated/dev/abis/StreamFlags.metadata.json +++ b/packages/generated/dev/abis/StreamFlags.metadata.json @@ -44,18 +44,18 @@ }, "sources": { "contracts/src/river/registry/facets/stream/IStreamRegistry.sol": { - "keccak256": "0x7f6ffecdb47e776a49fd5eb344aad912ddcf838502e58a0b7f1d7628ba484f5c", + "keccak256": "0x5e8bd4aa3130035d463d4fbc0214aaeb7c23a7042d29a10c593b422d6d2a47b4", "urls": [ - "bzz-raw://4501a262214df3d792aba76b6e707e2901a7e0f15f05c4d2d903549e32afa839", - "dweb:/ipfs/QmUzHM6rvqBrtB3CrNZe4kWDwhfTDY933HoLfwMfeLddHq" + "bzz-raw://928c460af3995f8df31e48557a6d9eb16a6d89307f268709570bdfc932dc3a58", + "dweb:/ipfs/QmTpiActnDg7Kvzezvvj9JCQWM2EsRmrZbXhXnzjhpCzCT" ], "license": "MIT" }, "contracts/src/river/registry/facets/stream/StreamRegistry.sol": { - "keccak256": "0x50c476331f6dc1d7f63c7ebe81f046b1bd6e8bfb51752c1a636c0e4924ceb614", + "keccak256": "0x31d16e776e27f5643ad19a2dc2c12524dedd50d674b96e142e381287a0c3e235", "urls": [ - "bzz-raw://c8c9c118175100073386f6bdb82501cef8a0b246a99a62ad143d2ed6c594e9ea", - "dweb:/ipfs/QmQL5Rc4iVvXciv8dd2R8UYnHMLDoB4QSbfqgfgCn1JdXe" + "bzz-raw://11baf58c6569cdd9444367586114223dfc9b7f07d7e56bba8a62e00daf9842bf", + "dweb:/ipfs/QmRp1sHsnu75ar6X8U6qVUCnCaQQTYEJWhv5pFAvFuriYP" ], "license": "MIT" }, diff --git a/packages/generated/dev/abis/StreamRegistry.abi.json b/packages/generated/dev/abis/StreamRegistry.abi.json index f99d6e5117..7d0a213f46 100644 --- a/packages/generated/dev/abis/StreamRegistry.abi.json +++ b/packages/generated/dev/abis/StreamRegistry.abi.json @@ -284,6 +284,39 @@ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setStreamLastMiniblock", + "inputs": [ + { + "name": "streamId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "lastMiniblockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "lastMiniblockNum", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isSealed", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "setStreamLastMiniblockBatch", diff --git a/packages/generated/dev/abis/StreamRegistry.abi.ts b/packages/generated/dev/abis/StreamRegistry.abi.ts index 7de2198fbc..9ef364cc04 100644 --- a/packages/generated/dev/abis/StreamRegistry.abi.ts +++ b/packages/generated/dev/abis/StreamRegistry.abi.ts @@ -284,6 +284,39 @@ export default [ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setStreamLastMiniblock", + "inputs": [ + { + "name": "streamId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "lastMiniblockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "lastMiniblockNum", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isSealed", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "setStreamLastMiniblockBatch", diff --git a/packages/generated/dev/abis/StreamRegistry.bin b/packages/generated/dev/abis/StreamRegistry.bin index 603b6a7396..446bf0481a 100644 --- a/packages/generated/dev/abis/StreamRegistry.bin +++ b/packages/generated/dev/abis/StreamRegistry.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b506119e4806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063c87d132411610066578063c87d13241461012c578063ca78c41a1461013f578063d0c27c4f14610160578063ee885b1214610183578063ff3a14ab1461019657600080fd5b80631290abe8146100a35780633c2544d1146100cc5780636b883c39146100ee5780639ee86d3814610103578063c0f2208414610116575b600080fd5b6100b66100b13660046112d2565b6101a9565b6040516100c3919061137c565b60405180910390f35b6100df6100da3660046112d2565b6102d4565b6040516100c3939291906113d5565b6101016100fc3660046114db565b6104a5565b005b6101016101113660046115be565b61070c565b61011e6108c9565b6040519081526020016100c3565b61011e61013a3660046115ea565b6108d9565b61015261014d366004611605565b610987565b6040516100c3929190611627565b61017361016e3660046112d2565b610b77565b60405190151581526020016100c3565b6101016101913660046115be565b610b89565b6101016101a43660046116a6565b610dd2565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906101dd90836110f9565b6102215760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b60405180910390fd5b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156102c457602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102a6575b5050505050815250509050919050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820181905290919061030c82856110f9565b6103475760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b9091041660608201529482018054845181870281018701909552808552929695919491938793608086019391929183018282801561040157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103e3575b50505050508152505092508080546104189061172d565b80601f01602080910402602001604051908101604052809291908181526020018280546104449061172d565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b505050505090509250925092509193909250565b336000818152600760205260409020600201546001600160a01b031661050157604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b61050c6000866110f9565b1561054d57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b8152610218919060040161171a565b835160005b818110156105d25761058a86828151811061056f5761056f611767565b6020026020010151600060050161111490919063ffffffff16565b6105ca57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b600101610552565b506040805160a0810182528581526000602082018190529181018290526060810182905260808101879052906106089088611136565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff19909916919094161796909617959095161790935560808401518051859493610698939085019201906111d1565b50505060008781526003602052604090206106b385826117ce565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb906106fb90899089908990899061188d565b60405180910390a150505050505050565b816107186000826110f9565b6107535760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b336000818152600760205260409020600201546001600160a01b03166107af57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b600084815260026020819052604082209081015490915b8181101561084b57856001600160a01b03168360020182815481106107ed576107ed611767565b6000918252602090912001546001600160a01b03160361084357604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b8152610218919060040161171a565b6001016107c6565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f9060600160405180910390a1505050505050565b60006108d481611142565b905090565b600080806108e681611142565b905060005b8181101561097e5760006108ff818361114c565b60008181526002602052604081209192505b600282015481101561097057876001600160a01b031682600201828154811061093c5761093c611767565b6000918252602090912001546001600160a01b031603610968578561096081611916565b965050610970565b600101610911565b5050508060010190506108eb565b50909392505050565b606060008284106109c75760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b8152610218919060040161171a565b60006109d281611142565b905060008185116109e357846109e5565b815b905060008682116109f7576000610a01565b610a01878361192f565b90506000816001600160401b03811115610a1d57610a1d61140a565b604051908082528060200260200182016040528015610a5657816020015b610a43611236565b815260200190600190039081610a3b5790505b50905060005b82811015610b66576000610a7b610a73838c611942565b60009061114c565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b9091041660608201529181018054865181860281018601909752808752969750939583870195929491936080860193929190830182828015610b3457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b16575b505050505081525050815250838381518110610b5257610b52611767565b602090810291909101015250600101610a5c565b509450505083101590509250929050565b6000610b8381836110f9565b92915050565b81610b956000826110f9565b610bd05760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b336000818152600760205260409020600201546001600160a01b0316610c2c57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b6000848152600260208190526040822090810154909190815b81811015610d4757866001600160a01b0316846002018281548110610c6c57610c6c611767565b6000918252602090912001546001600160a01b031603610d3f5760028401610c9560018461192f565b81548110610ca557610ca5611767565b6000918252602090912001546002850180546001600160a01b039092169183908110610cd357610cd3611767565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083600201805480610d1457610d14611955565b600082815260209020810160001990810180546001600160a01b031916905501905560019250610d47565b600101610c45565b5081610d8957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060016106fb565b336000818152600760205260409020600201546001600160a01b0316610e2e57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b816000819003610e6d5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b8152610218919060040161171a565b60005b818110156110f25736858583818110610e8b57610e8b611767565b60a002919091019150610ea29050600082356110f9565b610f1a577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135610ede608085016060860161196b565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051610f0c9493929190611994565b60405180910390a1506110ea565b80356000908152600260205260409020600180820154600160801b90041615610fb6577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135610f75608086016060870161196b565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051610fa79493929190611994565b60405180910390a150506110ea565b60018101546001600160401b0316600003610fe45781356000908152600360205260408120610fe491611280565b60408201358155610ffb608083016060840161196b565b60018201805467ffffffffffffffff19166001600160401b039290921691909117905561102e60a08301608084016119c2565b15611066576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b8235604084013561109e608086016060870161196b565b6110ae60a08701608088016119c2565b6040516110df949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101610e70565b5050505050565b600081815260018301602052604081205415155b9392505050565b6001600160a01b0381166000908152600183016020526040812054151561110d565b600061110d8383611158565b6000610b83825490565b600061110d83836111a7565b600081815260018301602052604081205461119f57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b83565b506000610b83565b60008260000182815481106111be576111be611767565b9060005260206000200154905092915050565b828054828255906000526020600020908101928215611226579160200282015b8281111561122657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906111f1565b506112329291506112bd565b5090565b60408051808201909152600081526020810161127b6040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b50805461128c9061172d565b6000825580601f1061129c575050565b601f0160209004906000526020600020908101906112ba91906112bd565b50565b5b8082111561123257600081556001016112be565b6000602082840312156112e457600080fd5b5035919050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156113715784516001600160a01b03168252938301936001929092019190830190611348565b509695505050505050565b60208152600061110d60208301846112eb565b6000815180845260005b818110156113b557602081850181015186830182015201611399565b506000602082860101526020601f19601f83011685010191505092915050565b6060815260006113e860608301866112eb565b8460208401528281036040840152611400818561138f565b9695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156114485761144861140a565b604052919050565b80356001600160a01b038116811461146757600080fd5b919050565b600082601f83011261147d57600080fd5b81356001600160401b038111156114965761149661140a565b6114a9601f8201601f1916602001611420565b8181528460208386010111156114be57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156114f157600080fd5b843593506020808601356001600160401b038082111561151057600080fd5b818801915088601f83011261152457600080fd5b8135818111156115365761153661140a565b8060051b611545858201611420565b918252838101850191858101908c84111561155f57600080fd5b948601945b838610156115845761157586611450565b82529486019490860190611564565b98505050506040880135945060608801359250808311156115a457600080fd5b50506115b28782880161146c565b91505092959194509250565b600080604083850312156115d157600080fd5b823591506115e160208401611450565b90509250929050565b6000602082840312156115fc57600080fd5b61110d82611450565b6000806040838503121561161857600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b8381101561169057888603605f1901855281518051875283015183870188905261167d888801826112eb565b9650509382019390820190600101611651565b5050961515959096019490945295945050505050565b600080602083850312156116b957600080fd5b82356001600160401b03808211156116d057600080fd5b818501915085601f8301126116e457600080fd5b8135818111156116f357600080fd5b86602060a08302850101111561170857600080fd5b60209290920196919550909350505050565b60208152600061110d602083018461138f565b600181811c9082168061174157607f821691505b60208210810361176157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b601f8211156117c9576000816000526020600020601f850160051c810160208610156117a65750805b601f850160051c820191505b818110156117c5578281556001016117b2565b5050505b505050565b81516001600160401b038111156117e7576117e761140a565b6117fb816117f5845461172d565b8461177d565b602080601f83116001811461183057600084156118185750858301515b600019600386901b1c1916600185901b1785556117c5565b600085815260208120601f198616915b8281101561185f57888601518255948401946001909101908401611840565b508582101561187d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006080820186835260206080602085015281875180845260a08601915060208901935060005b818110156118d95784516001600160a01b0316835293830193918301916001016118b4565b505086604086015284810360608601526118f3818761138f565b9998505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60006001820161192857611928611900565b5060010190565b81810381811115610b8357610b83611900565b80820180821115610b8357610b83611900565b634e487b7160e01b600052603160045260246000fd5b60006020828403121561197d57600080fd5b81356001600160401b038116811461110d57600080fd5b8481528360208201526001600160401b0383166040820152608060608201526000611400608083018461138f565b6000602082840312156119d457600080fd5b8135801515811461110d57600080fd \ No newline at end of file +608060405234801561001057600080fd5b50611c70806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063c87d132411610071578063c87d132414610137578063ca78c41a1461014a578063d0c27c4f1461016b578063d7a3158a1461018e578063ee885b12146101a1578063ff3a14ab146101b457600080fd5b80631290abe8146100ae5780633c2544d1146100d75780636b883c39146100f95780639ee86d381461010e578063c0f2208414610121575b600080fd5b6100c16100bc3660046114fc565b6101c7565b6040516100ce91906115a6565b60405180910390f35b6100ea6100e53660046114fc565b6102f2565b6040516100ce939291906115ff565b61010c610107366004611705565b6104c3565b005b61010c61011c3660046117e8565b61072a565b6101296108e7565b6040519081526020016100ce565b610129610145366004611814565b6108f7565b61015d61015836600461182f565b6109a5565b6040516100ce929190611851565b61017e6101793660046114fc565b610b95565b60405190151581526020016100ce565b61010c61019c3660046118f7565b610ba7565b61010c6101af3660046117e8565b610db3565b61010c6101c2366004611947565b610ffc565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906101fb9083611323565b61023f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b60405180910390fd5b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156102e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102c4575b5050505050815250509050919050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820181905290919061032a8285611323565b6103655760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b9091041660608201529482018054845181870281018701909552808552929695919491938793608086019391929183018282801561041f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610401575b5050505050815250509250808054610436906119ce565b80601f0160208091040260200160405190810160405280929190818152602001828054610462906119ce565b80156104af5780601f10610484576101008083540402835291602001916104af565b820191906000526020600020905b81548152906001019060200180831161049257829003601f168201915b505050505090509250925092509193909250565b336000818152600760205260409020600201546001600160a01b031661051f57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b61052a600086611323565b1561056b57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b815261023691906004016119bb565b835160005b818110156105f0576105a886828151811061058d5761058d611a08565b6020026020010151600060050161133e90919063ffffffff16565b6105e857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b600101610570565b506040805160a0810182528581526000602082018190529181018290526060810182905260808101879052906106269088611360565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff199099169190941617969096179590951617909355608084015180518594936106b6939085019201906113fb565b50505060008781526003602052604090206106d18582611a6f565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb90610719908990899089908990611b2e565b60405180910390a150505050505050565b81610736600082611323565b6107715760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b336000818152600760205260409020600201546001600160a01b03166107cd57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b600084815260026020819052604082209081015490915b8181101561086957856001600160a01b031683600201828154811061080b5761080b611a08565b6000918252602090912001546001600160a01b03160361086157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b815261023691906004016119bb565b6001016107e4565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f9060600160405180910390a1505050505050565b60006108f28161136c565b905090565b600080806109048161136c565b905060005b8181101561099c57600061091d8183611376565b60008181526002602052604081209192505b600282015481101561098e57876001600160a01b031682600201828154811061095a5761095a611a08565b6000918252602090912001546001600160a01b031603610986578561097e81611bb7565b96505061098e565b60010161092f565b505050806001019050610909565b50909392505050565b606060008284106109e55760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b815261023691906004016119bb565b60006109f08161136c565b90506000818511610a015784610a03565b815b90506000868211610a15576000610a1f565b610a1f8783611bd0565b90506000816001600160401b03811115610a3b57610a3b611634565b604051908082528060200260200182016040528015610a7457816020015b610a61611460565b815260200190600190039081610a595790505b50905060005b82811015610b84576000610a99610a91838c611be3565b600090611376565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b9091041660608201529181018054865181860281018601909752808752969750939583870195929491936080860193929190830182828015610b5257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b34575b505050505081525050815250838381518110610b7057610b70611a08565b602090810291909101015250600101610a7a565b509450505083101590509250929050565b6000610ba18183611323565b92915050565b336000818152600760205260409020600201546001600160a01b0316610c0357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b610c0e600087611323565b610c495760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b6000868152600260205260409020600180820154600160801b90041615610ca557604080518082018252600d81526c14d51491505357d4d150531151609a1b6020820152905162461bcd60e51b815261023691906004016119bb565b60018101546001600160401b03808616911610610cf15760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b815261023691906004016119bb565b6000878152600360205260408120610d08916114aa565b84815560018101805467ffffffffffffffff19166001600160401b0386161790558215610d62576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b60408051888152602081018790526001600160401b0386169181019190915283151560608201527fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b90608001610719565b81610dbf600082611323565b610dfa5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b336000818152600760205260409020600201546001600160a01b0316610e5657604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b6000848152600260208190526040822090810154909190815b81811015610f7157866001600160a01b0316846002018281548110610e9657610e96611a08565b6000918252602090912001546001600160a01b031603610f695760028401610ebf600184611bd0565b81548110610ecf57610ecf611a08565b6000918252602090912001546002850180546001600160a01b039092169183908110610efd57610efd611a08565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083600201805480610f3e57610f3e611bf6565b600082815260209020810160001990810180546001600160a01b031916905501905560019250610f71565b600101610e6f565b5081610fb357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f90606001610719565b336000818152600760205260409020600201546001600160a01b031661105857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b8160008190036110975760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b815261023691906004016119bb565b60005b8181101561131c57368585838181106110b5576110b5611a08565b60a0029190910191506110cc905060008235611323565b611144577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa813560408301356111086080850160608601611c0c565b60408051808201825260098152681393d517d193d5539160ba1b602082015290516111369493929190611c27565b60405180910390a150611314565b80356000908152600260205260409020600180820154600160801b900416156111e0577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa8235604084013561119f6080860160608701611c0c565b604080518082018252600d81526c14d51491505357d4d150531151609a1b602082015290516111d19493929190611c27565b60405180910390a15050611314565b60018101546001600160401b031660000361120e578135600090815260036020526040812061120e916114aa565b604082013581556112256080830160608401611c0c565b60018201805467ffffffffffffffff19166001600160401b039290921691909117905561125860a0830160808401611c55565b15611290576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b823560408401356112c86080860160608701611c0c565b6112d860a0870160808801611c55565b604051611309949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b60010161109a565b5050505050565b600081815260018301602052604081205415155b9392505050565b6001600160a01b03811660009081526001830160205260408120541515611337565b60006113378383611382565b6000610ba1825490565b600061133783836113d1565b60008181526001830160205260408120546113c957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610ba1565b506000610ba1565b60008260000182815481106113e8576113e8611a08565b9060005260206000200154905092915050565b828054828255906000526020600020908101928215611450579160200282015b8281111561145057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061141b565b5061145c9291506114e7565b5090565b6040805180820190915260008152602081016114a56040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5080546114b6906119ce565b6000825580601f106114c6575050565b601f0160209004906000526020600020908101906114e491906114e7565b50565b5b8082111561145c57600081556001016114e8565b60006020828403121561150e57600080fd5b5035919050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b8083101561159b5784516001600160a01b03168252938301936001929092019190830190611572565b509695505050505050565b6020815260006113376020830184611515565b6000815180845260005b818110156115df576020818501810151868301820152016115c3565b506000602082860101526020601f19601f83011685010191505092915050565b6060815260006116126060830186611515565b846020840152828103604084015261162a81856115b9565b9695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561167257611672611634565b604052919050565b80356001600160a01b038116811461169157600080fd5b919050565b600082601f8301126116a757600080fd5b81356001600160401b038111156116c0576116c0611634565b6116d3601f8201601f191660200161164a565b8181528460208386010111156116e857600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561171b57600080fd5b843593506020808601356001600160401b038082111561173a57600080fd5b818801915088601f83011261174e57600080fd5b81358181111561176057611760611634565b8060051b61176f85820161164a565b918252838101850191858101908c84111561178957600080fd5b948601945b838610156117ae5761179f8661167a565b8252948601949086019061178e565b98505050506040880135945060608801359250808311156117ce57600080fd5b50506117dc87828801611696565b91505092959194509250565b600080604083850312156117fb57600080fd5b8235915061180b6020840161167a565b90509250929050565b60006020828403121561182657600080fd5b6113378261167a565b6000806040838503121561184257600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b838110156118ba57888603605f190185528151805187528301518387018890526118a788880182611515565b965050938201939082019060010161187b565b5050961515959096019490945295945050505050565b80356001600160401b038116811461169157600080fd5b8035801515811461169157600080fd5b600080600080600060a0868803121561190f57600080fd5b85359450602086013593506040860135925061192d606087016118d0565b915061193b608087016118e7565b90509295509295909350565b6000806020838503121561195a57600080fd5b82356001600160401b038082111561197157600080fd5b818501915085601f83011261198557600080fd5b81358181111561199457600080fd5b86602060a0830285010111156119a957600080fd5b60209290920196919550909350505050565b60208152600061133760208301846115b9565b600181811c908216806119e257607f821691505b602082108103611a0257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b601f821115611a6a576000816000526020600020601f850160051c81016020861015611a475750805b601f850160051c820191505b81811015611a6657828155600101611a53565b5050505b505050565b81516001600160401b03811115611a8857611a88611634565b611a9c81611a9684546119ce565b84611a1e565b602080601f831160018114611ad15760008415611ab95750858301515b600019600386901b1c1916600185901b178555611a66565b600085815260208120601f198616915b82811015611b0057888601518255948401946001909101908401611ae1565b5085821015611b1e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006080820186835260206080602085015281875180845260a08601915060208901935060005b81811015611b7a5784516001600160a01b031683529383019391830191600101611b55565b50508660408601528481036060860152611b9481876115b9565b9998505050505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201611bc957611bc9611ba1565b5060010190565b81810381811115610ba157610ba1611ba1565b80820180821115610ba157610ba1611ba1565b634e487b7160e01b600052603160045260246000fd5b600060208284031215611c1e57600080fd5b611337826118d0565b8481528360208201526001600160401b038316604082015260806060820152600061162a60808301846115b9565b600060208284031215611c6757600080fd5b611337826118e756 \ No newline at end of file diff --git a/packages/generated/dev/abis/StreamRegistry.json b/packages/generated/dev/abis/StreamRegistry.json index 262b83e419..fc3241d8d2 100644 --- a/packages/generated/dev/abis/StreamRegistry.json +++ b/packages/generated/dev/abis/StreamRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allocateStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodes","type":"address[]","internalType":"address[]"},{"name":"genesisMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"genesisMiniblock","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getPaginatedStreams","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"stop","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct StreamWithId[]","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"stream","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}]},{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}],"stateMutability":"view"},{"type":"function","name":"getStreamCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStreamCountOnNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStreamWithGenesis","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"isStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"placeStreamOnNode","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStreamFromNode","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStreamLastMiniblockBatch","inputs":[{"name":"miniblocks","type":"tuple[]","internalType":"struct SetMiniblock[]","components":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"prevMiniBlockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"isSealed","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"StreamAllocated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"nodes","type":"address[]","indexed":false,"internalType":"address[]"},{"name":"genesisMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"genesisMiniblock","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"StreamLastMiniblockUpdateFailed","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"reason","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"StreamLastMiniblockUpdated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"isSealed","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"StreamPlacementUpdated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"nodeAddress","type":"address","indexed":false,"internalType":"address"},{"name":"isAdded","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506119e4806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063c87d132411610066578063c87d13241461012c578063ca78c41a1461013f578063d0c27c4f14610160578063ee885b1214610183578063ff3a14ab1461019657600080fd5b80631290abe8146100a35780633c2544d1146100cc5780636b883c39146100ee5780639ee86d3814610103578063c0f2208414610116575b600080fd5b6100b66100b13660046112d2565b6101a9565b6040516100c3919061137c565b60405180910390f35b6100df6100da3660046112d2565b6102d4565b6040516100c3939291906113d5565b6101016100fc3660046114db565b6104a5565b005b6101016101113660046115be565b61070c565b61011e6108c9565b6040519081526020016100c3565b61011e61013a3660046115ea565b6108d9565b61015261014d366004611605565b610987565b6040516100c3929190611627565b61017361016e3660046112d2565b610b77565b60405190151581526020016100c3565b6101016101913660046115be565b610b89565b6101016101a43660046116a6565b610dd2565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906101dd90836110f9565b6102215760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b60405180910390fd5b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156102c457602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102a6575b5050505050815250509050919050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820181905290919061030c82856110f9565b6103475760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b9091041660608201529482018054845181870281018701909552808552929695919491938793608086019391929183018282801561040157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103e3575b50505050508152505092508080546104189061172d565b80601f01602080910402602001604051908101604052809291908181526020018280546104449061172d565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b505050505090509250925092509193909250565b336000818152600760205260409020600201546001600160a01b031661050157604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b61050c6000866110f9565b1561054d57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b8152610218919060040161171a565b835160005b818110156105d25761058a86828151811061056f5761056f611767565b6020026020010151600060050161111490919063ffffffff16565b6105ca57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b600101610552565b506040805160a0810182528581526000602082018190529181018290526060810182905260808101879052906106089088611136565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff19909916919094161796909617959095161790935560808401518051859493610698939085019201906111d1565b50505060008781526003602052604090206106b385826117ce565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb906106fb90899089908990899061188d565b60405180910390a150505050505050565b816107186000826110f9565b6107535760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b336000818152600760205260409020600201546001600160a01b03166107af57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b600084815260026020819052604082209081015490915b8181101561084b57856001600160a01b03168360020182815481106107ed576107ed611767565b6000918252602090912001546001600160a01b03160361084357604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b8152610218919060040161171a565b6001016107c6565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f9060600160405180910390a1505050505050565b60006108d481611142565b905090565b600080806108e681611142565b905060005b8181101561097e5760006108ff818361114c565b60008181526002602052604081209192505b600282015481101561097057876001600160a01b031682600201828154811061093c5761093c611767565b6000918252602090912001546001600160a01b031603610968578561096081611916565b965050610970565b600101610911565b5050508060010190506108eb565b50909392505050565b606060008284106109c75760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b8152610218919060040161171a565b60006109d281611142565b905060008185116109e357846109e5565b815b905060008682116109f7576000610a01565b610a01878361192f565b90506000816001600160401b03811115610a1d57610a1d61140a565b604051908082528060200260200182016040528015610a5657816020015b610a43611236565b815260200190600190039081610a3b5790505b50905060005b82811015610b66576000610a7b610a73838c611942565b60009061114c565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b9091041660608201529181018054865181860281018601909752808752969750939583870195929491936080860193929190830182828015610b3457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b16575b505050505081525050815250838381518110610b5257610b52611767565b602090810291909101015250600101610a5c565b509450505083101590509250929050565b6000610b8381836110f9565b92915050565b81610b956000826110f9565b610bd05760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b336000818152600760205260409020600201546001600160a01b0316610c2c57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b6000848152600260208190526040822090810154909190815b81811015610d4757866001600160a01b0316846002018281548110610c6c57610c6c611767565b6000918252602090912001546001600160a01b031603610d3f5760028401610c9560018461192f565b81548110610ca557610ca5611767565b6000918252602090912001546002850180546001600160a01b039092169183908110610cd357610cd3611767565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083600201805480610d1457610d14611955565b600082815260209020810160001990810180546001600160a01b031916905501905560019250610d47565b600101610c45565b5081610d8957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060016106fb565b336000818152600760205260409020600201546001600160a01b0316610e2e57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b816000819003610e6d5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b8152610218919060040161171a565b60005b818110156110f25736858583818110610e8b57610e8b611767565b60a002919091019150610ea29050600082356110f9565b610f1a577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135610ede608085016060860161196b565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051610f0c9493929190611994565b60405180910390a1506110ea565b80356000908152600260205260409020600180820154600160801b90041615610fb6577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135610f75608086016060870161196b565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051610fa79493929190611994565b60405180910390a150506110ea565b60018101546001600160401b0316600003610fe45781356000908152600360205260408120610fe491611280565b60408201358155610ffb608083016060840161196b565b60018201805467ffffffffffffffff19166001600160401b039290921691909117905561102e60a08301608084016119c2565b15611066576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b8235604084013561109e608086016060870161196b565b6110ae60a08701608088016119c2565b6040516110df949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101610e70565b5050505050565b600081815260018301602052604081205415155b9392505050565b6001600160a01b0381166000908152600183016020526040812054151561110d565b600061110d8383611158565b6000610b83825490565b600061110d83836111a7565b600081815260018301602052604081205461119f57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b83565b506000610b83565b60008260000182815481106111be576111be611767565b9060005260206000200154905092915050565b828054828255906000526020600020908101928215611226579160200282015b8281111561122657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906111f1565b506112329291506112bd565b5090565b60408051808201909152600081526020810161127b6040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b50805461128c9061172d565b6000825580601f1061129c575050565b601f0160209004906000526020600020908101906112ba91906112bd565b50565b5b8082111561123257600081556001016112be565b6000602082840312156112e457600080fd5b5035919050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156113715784516001600160a01b03168252938301936001929092019190830190611348565b509695505050505050565b60208152600061110d60208301846112eb565b6000815180845260005b818110156113b557602081850181015186830182015201611399565b506000602082860101526020601f19601f83011685010191505092915050565b6060815260006113e860608301866112eb565b8460208401528281036040840152611400818561138f565b9695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156114485761144861140a565b604052919050565b80356001600160a01b038116811461146757600080fd5b919050565b600082601f83011261147d57600080fd5b81356001600160401b038111156114965761149661140a565b6114a9601f8201601f1916602001611420565b8181528460208386010111156114be57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156114f157600080fd5b843593506020808601356001600160401b038082111561151057600080fd5b818801915088601f83011261152457600080fd5b8135818111156115365761153661140a565b8060051b611545858201611420565b918252838101850191858101908c84111561155f57600080fd5b948601945b838610156115845761157586611450565b82529486019490860190611564565b98505050506040880135945060608801359250808311156115a457600080fd5b50506115b28782880161146c565b91505092959194509250565b600080604083850312156115d157600080fd5b823591506115e160208401611450565b90509250929050565b6000602082840312156115fc57600080fd5b61110d82611450565b6000806040838503121561161857600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b8381101561169057888603605f1901855281518051875283015183870188905261167d888801826112eb565b9650509382019390820190600101611651565b5050961515959096019490945295945050505050565b600080602083850312156116b957600080fd5b82356001600160401b03808211156116d057600080fd5b818501915085601f8301126116e457600080fd5b8135818111156116f357600080fd5b86602060a08302850101111561170857600080fd5b60209290920196919550909350505050565b60208152600061110d602083018461138f565b600181811c9082168061174157607f821691505b60208210810361176157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b601f8211156117c9576000816000526020600020601f850160051c810160208610156117a65750805b601f850160051c820191505b818110156117c5578281556001016117b2565b5050505b505050565b81516001600160401b038111156117e7576117e761140a565b6117fb816117f5845461172d565b8461177d565b602080601f83116001811461183057600084156118185750858301515b600019600386901b1c1916600185901b1785556117c5565b600085815260208120601f198616915b8281101561185f57888601518255948401946001909101908401611840565b508582101561187d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006080820186835260206080602085015281875180845260a08601915060208901935060005b818110156118d95784516001600160a01b0316835293830193918301916001016118b4565b505086604086015284810360608601526118f3818761138f565b9998505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60006001820161192857611928611900565b5060010190565b81810381811115610b8357610b83611900565b80820180821115610b8357610b83611900565b634e487b7160e01b600052603160045260246000fd5b60006020828403121561197d57600080fd5b81356001600160401b038116811461110d57600080fd5b8481528360208201526001600160401b0383166040820152608060608201526000611400608083018461138f565b6000602082840312156119d457600080fd5b8135801515811461110d57600080fd","sourceMap":"598:6886:199:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063c87d132411610066578063c87d13241461012c578063ca78c41a1461013f578063d0c27c4f14610160578063ee885b1214610183578063ff3a14ab1461019657600080fd5b80631290abe8146100a35780633c2544d1146100cc5780636b883c39146100ee5780639ee86d3814610103578063c0f2208414610116575b600080fd5b6100b66100b13660046112d2565b6101a9565b6040516100c3919061137c565b60405180910390f35b6100df6100da3660046112d2565b6102d4565b6040516100c3939291906113d5565b6101016100fc3660046114db565b6104a5565b005b6101016101113660046115be565b61070c565b61011e6108c9565b6040519081526020016100c3565b61011e61013a3660046115ea565b6108d9565b61015261014d366004611605565b610987565b6040516100c3929190611627565b61017361016e3660046112d2565b610b77565b60405190151581526020016100c3565b6101016101913660046115be565b610b89565b6101016101a43660046116a6565b610dd2565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906101dd90836110f9565b6102215760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b60405180910390fd5b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156102c457602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102a6575b5050505050815250509050919050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820181905290919061030c82856110f9565b6103475760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b9091041660608201529482018054845181870281018701909552808552929695919491938793608086019391929183018282801561040157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103e3575b50505050508152505092508080546104189061172d565b80601f01602080910402602001604051908101604052809291908181526020018280546104449061172d565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b505050505090509250925092509193909250565b336000818152600760205260409020600201546001600160a01b031661050157604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b61050c6000866110f9565b1561054d57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b8152610218919060040161171a565b835160005b818110156105d25761058a86828151811061056f5761056f611767565b6020026020010151600060050161111490919063ffffffff16565b6105ca57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b600101610552565b506040805160a0810182528581526000602082018190529181018290526060810182905260808101879052906106089088611136565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff19909916919094161796909617959095161790935560808401518051859493610698939085019201906111d1565b50505060008781526003602052604090206106b385826117ce565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb906106fb90899089908990899061188d565b60405180910390a150505050505050565b816107186000826110f9565b6107535760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b336000818152600760205260409020600201546001600160a01b03166107af57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b600084815260026020819052604082209081015490915b8181101561084b57856001600160a01b03168360020182815481106107ed576107ed611767565b6000918252602090912001546001600160a01b03160361084357604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b8152610218919060040161171a565b6001016107c6565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f9060600160405180910390a1505050505050565b60006108d481611142565b905090565b600080806108e681611142565b905060005b8181101561097e5760006108ff818361114c565b60008181526002602052604081209192505b600282015481101561097057876001600160a01b031682600201828154811061093c5761093c611767565b6000918252602090912001546001600160a01b031603610968578561096081611916565b965050610970565b600101610911565b5050508060010190506108eb565b50909392505050565b606060008284106109c75760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b8152610218919060040161171a565b60006109d281611142565b905060008185116109e357846109e5565b815b905060008682116109f7576000610a01565b610a01878361192f565b90506000816001600160401b03811115610a1d57610a1d61140a565b604051908082528060200260200182016040528015610a5657816020015b610a43611236565b815260200190600190039081610a3b5790505b50905060005b82811015610b66576000610a7b610a73838c611942565b60009061114c565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b9091041660608201529181018054865181860281018601909752808752969750939583870195929491936080860193929190830182828015610b3457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b16575b505050505081525050815250838381518110610b5257610b52611767565b602090810291909101015250600101610a5c565b509450505083101590509250929050565b6000610b8381836110f9565b92915050565b81610b956000826110f9565b610bd05760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b8152610218919060040161171a565b336000818152600760205260409020600201546001600160a01b0316610c2c57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b6000848152600260208190526040822090810154909190815b81811015610d4757866001600160a01b0316846002018281548110610c6c57610c6c611767565b6000918252602090912001546001600160a01b031603610d3f5760028401610c9560018461192f565b81548110610ca557610ca5611767565b6000918252602090912001546002850180546001600160a01b039092169183908110610cd357610cd3611767565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083600201805480610d1457610d14611955565b600082815260209020810160001990810180546001600160a01b031916905501905560019250610d47565b600101610c45565b5081610d8957604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f906060016106fb565b336000818152600760205260409020600201546001600160a01b0316610e2e57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b8152610218919060040161171a565b816000819003610e6d5760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b8152610218919060040161171a565b60005b818110156110f25736858583818110610e8b57610e8b611767565b60a002919091019150610ea29050600082356110f9565b610f1a577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa81356040830135610ede608085016060860161196b565b60408051808201825260098152681393d517d193d5539160ba1b60208201529051610f0c9493929190611994565b60405180910390a1506110ea565b80356000908152600260205260409020600180820154600160801b90041615610fb6577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa82356040840135610f75608086016060870161196b565b604080518082018252600d81526c14d51491505357d4d150531151609a1b60208201529051610fa79493929190611994565b60405180910390a150506110ea565b60018101546001600160401b0316600003610fe45781356000908152600360205260408120610fe491611280565b60408201358155610ffb608083016060840161196b565b60018201805467ffffffffffffffff19166001600160401b039290921691909117905561102e60a08301608084016119c2565b15611066576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b8235604084013561109e608086016060870161196b565b6110ae60a08701608088016119c2565b6040516110df949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b600101610e70565b5050505050565b600081815260018301602052604081205415155b9392505050565b6001600160a01b0381166000908152600183016020526040812054151561110d565b600061110d8383611158565b6000610b83825490565b600061110d83836111a7565b600081815260018301602052604081205461119f57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b83565b506000610b83565b60008260000182815481106111be576111be611767565b9060005260206000200154905092915050565b828054828255906000526020600020908101928215611226579160200282015b8281111561122657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906111f1565b506112329291506112bd565b5090565b60408051808201909152600081526020810161127b6040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b50805461128c9061172d565b6000825580601f1061129c575050565b601f0160209004906000526020600020908101906112ba91906112bd565b50565b5b8082111561123257600081556001016112be565b6000602082840312156112e457600080fd5b5035919050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b808310156113715784516001600160a01b03168252938301936001929092019190830190611348565b509695505050505050565b60208152600061110d60208301846112eb565b6000815180845260005b818110156113b557602081850181015186830182015201611399565b506000602082860101526020601f19601f83011685010191505092915050565b6060815260006113e860608301866112eb565b8460208401528281036040840152611400818561138f565b9695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156114485761144861140a565b604052919050565b80356001600160a01b038116811461146757600080fd5b919050565b600082601f83011261147d57600080fd5b81356001600160401b038111156114965761149661140a565b6114a9601f8201601f1916602001611420565b8181528460208386010111156114be57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156114f157600080fd5b843593506020808601356001600160401b038082111561151057600080fd5b818801915088601f83011261152457600080fd5b8135818111156115365761153661140a565b8060051b611545858201611420565b918252838101850191858101908c84111561155f57600080fd5b948601945b838610156115845761157586611450565b82529486019490860190611564565b98505050506040880135945060608801359250808311156115a457600080fd5b50506115b28782880161146c565b91505092959194509250565b600080604083850312156115d157600080fd5b823591506115e160208401611450565b90509250929050565b6000602082840312156115fc57600080fd5b61110d82611450565b6000806040838503121561161857600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b8381101561169057888603605f1901855281518051875283015183870188905261167d888801826112eb565b9650509382019390820190600101611651565b5050961515959096019490945295945050505050565b600080602083850312156116b957600080fd5b82356001600160401b03808211156116d057600080fd5b818501915085601f8301126116e457600080fd5b8135818111156116f357600080fd5b86602060a08302850101111561170857600080fd5b60209290920196919550909350505050565b60208152600061110d602083018461138f565b600181811c9082168061174157607f821691505b60208210810361176157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b601f8211156117c9576000816000526020600020601f850160051c810160208610156117a65750805b601f850160051c820191505b818110156117c5578281556001016117b2565b5050505b505050565b81516001600160401b038111156117e7576117e761140a565b6117fb816117f5845461172d565b8461177d565b602080601f83116001811461183057600084156118185750858301515b600019600386901b1c1916600185901b1785556117c5565b600085815260208120601f198616915b8281101561185f57888601518255948401946001909101908401611840565b508582101561187d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006080820186835260206080602085015281875180845260a08601915060208901935060005b818110156118d95784516001600160a01b0316835293830193918301916001016118b4565b505086604086015284810360608601526118f3818761138f565b9998505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60006001820161192857611928611900565b5060010190565b81810381811115610b8357610b83611900565b80820180821115610b8357610b83611900565b634e487b7160e01b600052603160045260246000fd5b60006020828403121561197d57600080fd5b81356001600160401b038116811461110d57600080fd5b8481528360208201526001600160401b0383166040820152608060608201526000611400608083018461138f565b6000602082840312156119d457600080fd5b8135801515811461110d57600080fd","sourceMap":"598:6886:199:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:195;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2266:350;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;769:1117::-;;;;;;:::i;:::-;;:::i;:::-;;5088:539;;;;;;:::i;:::-;;:::i;6244:95::-;;;:::i;:::-;;;5156:25:654;;;5144:2;5129:18;6244:95:199;5010:177:654;6343:485:199;;;;;;:::i;:::-;;:::i;6832:650::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2089:112::-;;;;;;:::i;:::-;;:::i;:::-;;;6935:14:654;;6928:22;6910:41;;6898:2;6883:18;2089:112:199;6770:187:654;5631:609:199;;;;;;:::i;:::-;;:::i;2620:2464::-;;;;;;:::i;:::-;;:::i;1890:195::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1976:29:199;;1996:8;1976:19;:29::i;:::-;1971:73;;2014:29;;;;;;;;;;;-1:-1:-1;;;2014:29:199;;;;2007:37;;-1:-1:-1;;;2007:37:199;;;;2014:29;2007:37;;;:::i;:::-;;;;;;;;1971:73;2057:2;:23;;;:13;:23;;;;;;;;;2050:30;;;;;;;;;;;;;;;-1:-1:-1;;;;;2050:30:199;;;;;;;-1:-1:-1;;;2050:30:199;;;;;;;;-1:-1:-1;;;2050:30:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2057:23;;2050:30;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2050:30:199;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:195;;;:::o;2266:350::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2394:29:199;-1:-1:-1;2414:8:199;2394:19;:29::i;:::-;2389:73;;2432:29;;;;;;;;;;;-1:-1:-1;;;2432:29:199;;;;2425:37;;-1:-1:-1;;;2425:37:199;;;;2432:29;2425:37;;;:::i;2389:73::-;2484:2;:23;;;:13;:23;;;;;;;;2515:33;:43;;;;;;2566:29;:39;;;;;;2469:142;;;;;;;;;;;;;;;-1:-1:-1;;;;;2469:142:199;;;;;;;-1:-1:-1;;;2469:142:199;;;;;;;;-1:-1:-1;;;2469:142:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;2484:23;;2515:43;2566:39;;2469:142;;2484:23;;2469:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2469:142:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2266:350;;;;;:::o;769:1117::-;934:10;3085:1:201;3039:22;;;:16;:22;;;;;:34;;;-1:-1:-1;;;;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;1019:29:199::1;:2;1039:8:::0;1019:19:::1;:29::i;:::-;1015:83;;;1063:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1063:34:199::1;::::0;::::1;::::0;1056:42;;-1:-1:-1;;;1056:42:199;;::::1;::::0;1063:34;1056:42:::1;;;:::i;1015:83::-;1194:12:::0;;1174:17:::1;1212:139;1236:9;1232:1;:13;1212:139;;;1265:27;1283:5;1289:1;1283:8;;;;;;;;:::i;:::-;;;;;;;1265:2;:8;;:17;;:27;;;;:::i;:::-;1260:84;;1309:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1309:34:199::1;::::0;::::1;::::0;1302:42;;-1:-1:-1;;;1302:42:199;;::::1;::::0;1309:34;1302:42:::1;;;:::i;1260:84::-;1247:3;;1212:139;;;-1:-1:-1::0;1418:144:199::1;::::0;;::::1;::::0;::::1;::::0;;;;;1395:20:::1;1418:144;::::0;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;1569:24:::1;::::0;1584:8;1569:14:::1;:24::i;:::-;-1:-1:-1::0;1599:2:199::1;:23:::0;;;:13:::1;:23;::::0;;;;;;;;:32;;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;1599:32:199;;::::1;-1:-1:-1::0;;;1599:32:199::1;-1:-1:-1::0;;;;1599:32:199;;::::1;-1:-1:-1::0;;;1599:32:199::1;-1:-1:-1::0;;1599:32:199;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;::::0;;;::::1;::::0;::::1;::::0;;;1625:6;;1599:23;:32:::1;::::0;;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;1637:2:199::1;:39:::0;;;:29:::1;:39;::::0;;;;:58:::1;1679:16:::0;1637:39;:58:::1;:::i;:::-;-1:-1:-1::0;1701:2:199::1;:43:::0;;;:33:::1;:43;::::0;;;;;;:66;;;1779:102;::::1;::::0;::::1;::::0;1735:8;;1818:5;;1747:20;;1859:16;;1779:102:::1;:::i;:::-;;;;;;;;946:940;;769:1117:::0;;;;;:::o;5088:539::-;5186:8;3338:29:201;:2;5186:8:199;3338:19:201;:29::i;:::-;3333:73;;3376:29;;;;;;;;;;;-1:-1:-1;;;3376:29:201;;;;3369:37;;-1:-1:-1;;;3369:37:201;;;;3376:29;3369:37;;;:::i;3333:73::-;5205:10:199::1;3085:1:201;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;-1:-1:-1;;;;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;5223:21:199::2;5247:23:::0;;;:13:::2;:23;::::0;;;;;;5356:12;;::::2;:19:::0;5247:23;;5382:141:::2;5406:9;5402:1;:13;5382:141;;;5453:11;-1:-1:-1::0;;;;;5434:30:199::2;:6;:12;;5447:1;5434:15;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;-1:-1:-1;;;;;5434:15:199::2;:30:::0;5430:86:::2;;5481:34;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;5481:34:199::2;::::0;::::2;::::0;5474:42;;-1:-1:-1;;;5474:42:199;;::::2;::::0;5481:34;5474:42:::2;;;:::i;5430:86::-;5417:3;;5382:141;;;-1:-1:-1::0;5529:12:199::2;::::0;::::2;:30:::0;;::::2;::::0;;::::2;::::0;;-1:-1:-1;5529:30:199;;;::::2;::::0;;;;;;::::2;::::0;;-1:-1:-1;;;;;;5529:30:199::2;-1:-1:-1::0;;;;;5529:30:199;::::2;::::0;;::::2;::::0;;;5571:51:::2;::::0;;11680:25:654;;;11721:18;;;11714:60;;;;11790:18;;11783:50;5571:51:199::2;::::0;11668:2:654;11653:18;5571:51:199::2;;;;;;;5217:410;;3412:1:201::1;5088:539:199::0;;;:::o;6244:95::-;6293:7;6315:19;6293:7;6315:17;:19::i;:::-;6308:26;;6244:95;:::o;6343:485::-;6425:7;;;6486:19;6425:7;6486:17;:19::i;:::-;6463:42;;6516:9;6511:294;6535:12;6531:1;:16;6511:294;;;6562:10;6575:16;6562:10;6589:1;6575:13;:16::i;:::-;6599:21;6623:17;;;:13;:17;;;;;6562:29;;-1:-1:-1;6648:151:199;6672:12;;;:19;6668:23;;6648:151;;;6731:11;-1:-1:-1;;;;;6712:30:199;:6;:12;;6725:1;6712:15;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;6712:15:199;:30;6708:83;;6756:7;;;;:::i;:::-;;;;6775:5;;6708:83;6693:3;;6648:151;;;;6554:251;;6549:3;;;;;6511:294;;;-1:-1:-1;6818:5:199;;6343:485;-1:-1:-1;;;6343:485:199:o;6832:650::-;6925:21;6948:4;6973;6964:5;:13;6960:54;;6986:27;;;;;;;;;;;-1:-1:-1;;;6986:27:199;;;;6979:35;;-1:-1:-1;;;6979:35:199;;;;6986:27;6979:35;;;:::i;6960:54::-;7021:19;7043;7021;7043:17;:19::i;:::-;7021:41;;7068:22;7100:11;7093:4;:18;:39;;7128:4;7093:39;;;7114:11;7093:39;7068:64;;7138:13;7171:5;7154:14;:22;:51;;7204:1;7154:51;;;7179:22;7196:5;7179:14;:22;:::i;:::-;7138:67;;7212:29;7263:5;-1:-1:-1;;;;;7244:25:199;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7212:57;;7281:9;7276:158;7300:5;7296:1;:9;7276:158;;;7320:10;7333:24;7347:9;7355:1;7347:5;:9;:::i;:::-;7333:2;;:13;:24::i;:::-;7378:49;;;;;;;;;;;-1:-1:-1;7408:17:199;;;:13;7378:49;7408:17;;;;;;;7378:49;;;;;;;;;;;;;;;-1:-1:-1;;;;;7378:49:199;;;;;;;-1:-1:-1;;;7378:49:199;;;;;;;;-1:-1:-1;;;7378:49:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;7320:37;;-1:-1:-1;7378:49:199;;;;;;;;7408:17;;7378:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7378:49:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;7365:7;7373:1;7365:10;;;;;;;;:::i;:::-;;;;;;;;;;:62;-1:-1:-1;7307:3:199;;7276:158;;;-1:-1:-1;7448:7:199;-1:-1:-1;;;7457:19:199;;;;-1:-1:-1;6832:650:199;;;;;:::o;2089:112::-;2148:4;2167:29;2148:4;2187:8;2167:19;:29::i;:::-;2160:36;2089:112;-1:-1:-1;;2089:112:199:o;5631:609::-;5732:8;3338:29:201;:2;5732:8:199;3338:19:201;:29::i;:::-;3333:73;;3376:29;;;;;;;;;;;-1:-1:-1;;;3376:29:201;;;;3369:37;;-1:-1:-1;;;3369:37:201;;;;3376:29;3369:37;;;:::i;3333:73::-;5751:10:199::1;3085:1:201;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;-1:-1:-1;;;;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;5769:21:199::2;5793:23:::0;;;:13:::2;:23;::::0;;;;;;5867:12;;::::2;:19:::0;5793:23;;5769:21;;5893:219:::2;5917:9;5913:1;:13;5893:219;;;5964:11;-1:-1:-1::0;;;;;5945:30:199::2;:6;:12;;5958:1;5945:15;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;-1:-1:-1;;;;;5945:15:199::2;:30:::0;5941:165:::2;;6005:12;::::0;::::2;6018:13;6030:1;6018:9:::0;:13:::2;:::i;:::-;6005:27;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;5987:12:::2;::::0;::::2;:15:::0;;-1:-1:-1;;;;;6005:27:199;;::::2;::::0;6000:1;;5987:15;::::2;;;;;:::i;:::-;;;;;;;;;:45;;;;;-1:-1:-1::0;;;;;5987:45:199::2;;;;;-1:-1:-1::0;;;;;5987:45:199::2;;;;;;6042:6;:12;;:18;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;-1:-1:-1;;6042:18:199;;;;;-1:-1:-1;;;;;;6042:18:199::2;::::0;;;;;::::2;::::0;-1:-1:-1;6092:5:199::2;;5941:165;5928:3;;5893:219;;;;6122:5;6117:54;;6136:34;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;6136:34:199::2;::::0;::::2;::::0;6129:42;;-1:-1:-1;;;6129:42:199;;::::2;::::0;6136:34;6129:42:::2;;;:::i;6117:54::-;6183:52;::::0;;11680:25:654;;;-1:-1:-1;;;;;11741:32:654;;11736:2;11721:18;;11714:60;6229:5:199::2;11790:18:654::0;;;11783:50;;;;6183:52:199::2;::::0;11668:2:654;11653:18;6183:52:199::2;11484:355:654::0;2620:2464:199;2719:10;3085:1:201;3039:22;;;:16;:22;;;;;:34;;;-1:-1:-1;;;;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;2762:10:199;2737:22:::1;2790:19:::0;;;2786:60:::1;;2818:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;2818:27:199::1;::::0;::::1;::::0;2811:35;;-1:-1:-1;;;2811:35:199;;::::1;::::0;2818:27;2811:35:::1;;;:::i;2786:60::-;2858:9;2853:2227;2877:14;2873:1;:18;2853:2227;;;2906:31;2940:10;;2951:1;2940:13;;;;;;;:::i;:::-;;;::::0;;;::::1;::::0;-1:-1:-1;2967:39:199::1;::::0;-1:-1:-1;2987:18:199::1;::::0;::::1;2967:19;:39::i;:::-;2962:277;;3023:189;3066:18:::0;::::1;3096:27;::::0;::::1;;3135:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;3173:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3173:29:199::1;::::0;::::1;::::0;3023:189;;::::1;::::0;;;;3173:29;3023:189:::1;:::i;:::-;;;;;;;;3222:8;;;2962:277;3285:18:::0;::::1;3247:21;3271:33:::0;;;:13:::1;:33;::::0;;;;592:1:::1;3383:12:::0;;::::1;::::0;-1:-1:-1;;;3383:12:199;::::1;:33:::0;3382:40;3378:281:::1;;3439:193;3482:18:::0;::::1;3512:27;::::0;::::1;;3551:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;3589:33;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3589:33:199::1;::::0;::::1;::::0;3439:193;;::::1;::::0;;;;3589:33;3439:193:::1;:::i;:::-;;;;;;;;3642:8;;;;3378:281;4503:23;::::0;::::1;::::0;-1:-1:-1;;;;;4503:23:199::1;;:28:::0;4499:109:::1;;4580:18:::0;::::1;4550:2;:49:::0;;;:29:::1;:49;::::0;;;;4543:56:::1;::::0;::::1;:::i;:::-;4682:27;::::0;::::1;;4655:54:::0;;4743:26:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;4717:23;::::0;::::1;:52:::0;;-1:-1:-1;;4717:52:199::1;-1:-1:-1::0;;;;;4717:52:199;;;::::1;::::0;;;::::1;::::0;;4824:18:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;4820:77;;;592:1;4854:12:::0;;::::1;:34:::0;;-1:-1:-1;;;;4854:34:199;::::1;-1:-1:-1::0;;;4854:34:199;;;::::1;-1:-1:-1::0;;;;;4854:34:199::1;::::0;;::::1;;::::0;;;::::1;::::0;;4820:77:::1;4910:163;4946:18:::0;::::1;4974:27;::::0;::::1;;5011:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;5047:18;::::0;;;::::1;::::0;::::1;;:::i;:::-;4910:163;;;;;;;;13763:25:654::0;;;13819:2;13804:18;;13797:34;;;;-1:-1:-1;;;;;13867:31:654;13862:2;13847:18;;13840:59;13942:14;13935:22;13930:2;13915:18;;13908:50;13750:3;13735:19;;13540:424;4910:163:199::1;;;;;;;;2898:2182;;2853:2227;2893:3;;2853:2227;;;;2731:2353;2620:2464:::0;;;:::o;6431:138:511:-;6511:4;4360:21;;;:14;;;:21;;;;;;:26;;6534:28;6527:35;6431:138;-1:-1:-1;;;6431:138:511:o;8844:165::-;-1:-1:-1;;;;;8977:23:511;;8924:4;4360:21;;;:14;;;:21;;;;;;:26;;8947:55;4264:129;5930:123;6000:4;6023:23;6028:3;6040:5;6023:4;:23::i;6650:115::-;6713:7;6739:19;6747:3;4556:18;;4474:107;7107:129;7181:7;7207:22;7211:3;7223:5;7207:3;:22::i;2241:406::-;2304:4;4360:21;;;:14;;;:21;;;;;;2320:321;;-1:-1:-1;2362:23:511;;;;;;;;:11;:23;;;;;;;;;;;;;2544:18;;2520:21;;;:14;;;:21;;;;;;:42;;;;2576:11;;2320:321;-1:-1:-1;2625:5:511;2618:12;;4923:118;4990:7;5016:3;:11;;5028:5;5016:18;;;;;;;;:::i;:::-;;;;;;;;;5009:25;;4923:118;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;14:180:654;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:654;;14:180;-1:-1:-1;14:180:654:o;199:948::-;248:3;287:4;282:3;278:14;319:5;313:12;308:3;301:25;345:4;395;388:5;384:16;378:23;-1:-1:-1;;;;;488:2:654;474:12;470:21;463:4;458:3;454:14;447:45;553:2;545:4;538:5;534:16;528:23;524:32;517:4;512:3;508:14;501:56;618:2;610:4;603:5;599:16;593:23;589:32;582:4;577:3;573:14;566:56;;;670:4;663:5;659:16;653:23;708:4;701;696:3;692:14;685:28;735:4;768:14;762:21;805:6;799:4;792:20;839:3;834;830:13;821:22;;886:4;870:14;866:25;852:39;;909:1;900:10;;919:201;933:6;930:1;927:13;919:201;;;1000:13;;-1:-1:-1;;;;;996:39:654;982:54;;1095:15;;;;1032:1;948:9;;;;;1058:14;;;;919:201;;;-1:-1:-1;1136:5:654;199:948;-1:-1:-1;;;;;;199:948:654:o;1152:257::-;1331:2;1320:9;1313:21;1294:4;1351:52;1399:2;1388:9;1384:18;1376:6;1351:52;:::i;1414:422::-;1455:3;1493:5;1487:12;1520:6;1515:3;1508:19;1545:1;1555:162;1569:6;1566:1;1563:13;1555:162;;;1631:4;1687:13;;;1683:22;;1677:29;1659:11;;;1655:20;;1648:59;1584:12;1555:162;;;1559:3;1762:1;1755:4;1746:6;1741:3;1737:16;1733:27;1726:38;1825:4;1818:2;1814:7;1809:2;1801:6;1797:15;1793:29;1788:3;1784:39;1780:50;1773:57;;;1414:422;;;;:::o;1841:488::-;2094:2;2083:9;2076:21;2057:4;2120:52;2168:2;2157:9;2153:18;2145:6;2120:52;:::i;:::-;2208:6;2203:2;2192:9;2188:18;2181:34;2263:9;2255:6;2251:22;2246:2;2235:9;2231:18;2224:50;2291:32;2316:6;2308;2291:32;:::i;:::-;2283:40;1841:488;-1:-1:-1;;;;;;1841:488:654:o;2334:127::-;2395:10;2390:3;2386:20;2383:1;2376:31;2426:4;2423:1;2416:15;2450:4;2447:1;2440:15;2466:275;2537:2;2531:9;2602:2;2583:13;;-1:-1:-1;;2579:27:654;2567:40;;-1:-1:-1;;;;;2622:34:654;;2658:22;;;2619:62;2616:88;;;2684:18;;:::i;:::-;2720:2;2713:22;2466:275;;-1:-1:-1;2466:275:654:o;2746:173::-;2814:20;;-1:-1:-1;;;;;2863:31:654;;2853:42;;2843:70;;2909:1;2906;2899:12;2843:70;2746:173;;;:::o;2924:530::-;2966:5;3019:3;3012:4;3004:6;3000:17;2996:27;2986:55;;3037:1;3034;3027:12;2986:55;3073:6;3060:20;-1:-1:-1;;;;;3095:2:654;3092:26;3089:52;;;3121:18;;:::i;:::-;3165:55;3208:2;3189:13;;-1:-1:-1;;3185:27:654;3214:4;3181:38;3165:55;:::i;:::-;3245:2;3236:7;3229:19;3291:3;3284:4;3279:2;3271:6;3267:15;3263:26;3260:35;3257:55;;;3308:1;3305;3298:12;3257:55;3373:2;3366:4;3358:6;3354:17;3347:4;3338:7;3334:18;3321:55;3421:1;3396:16;;;3414:4;3392:27;3385:38;;;;3400:7;2924:530;-1:-1:-1;;;2924:530:654:o;3459:1287::-;3579:6;3587;3595;3603;3656:3;3644:9;3635:7;3631:23;3627:33;3624:53;;;3673:1;3670;3663:12;3624:53;3709:9;3696:23;3686:33;;3738:2;3791;3780:9;3776:18;3763:32;-1:-1:-1;;;;;3855:2:654;3847:6;3844:14;3841:34;;;3871:1;3868;3861:12;3841:34;3909:6;3898:9;3894:22;3884:32;;3954:7;3947:4;3943:2;3939:13;3935:27;3925:55;;3976:1;3973;3966:12;3925:55;4012:2;3999:16;4034:2;4030;4027:10;4024:36;;;4040:18;;:::i;:::-;4086:2;4083:1;4079:10;4109:28;4133:2;4129;4125:11;4109:28;:::i;:::-;4171:15;;;4241:11;;;4237:20;;;4202:12;;;;4269:19;;;4266:39;;;4301:1;4298;4291:12;4266:39;4325:11;;;;4345:148;4361:6;4356:3;4353:15;4345:148;;;4427:23;4446:3;4427:23;:::i;:::-;4415:36;;4378:12;;;;4471;;;;4345:148;;;4512:5;-1:-1:-1;;;;4564:2:654;4549:18;;4536:32;;-1:-1:-1;4621:2:654;4606:18;;4593:32;;-1:-1:-1;4637:16:654;;;4634:36;;;4666:1;4663;4656:12;4634:36;;;4689:51;4732:7;4721:8;4710:9;4706:24;4689:51;:::i;:::-;4679:61;;;3459:1287;;;;;;;:::o;4751:254::-;4819:6;4827;4880:2;4868:9;4859:7;4855:23;4851:32;4848:52;;;4896:1;4893;4886:12;4848:52;4932:9;4919:23;4909:33;;4961:38;4995:2;4984:9;4980:18;4961:38;:::i;:::-;4951:48;;4751:254;;;;;:::o;5192:186::-;5251:6;5304:2;5292:9;5283:7;5279:23;5275:32;5272:52;;;5320:1;5317;5310:12;5272:52;5343:29;5362:9;5343:29;:::i;5383:248::-;5451:6;5459;5512:2;5500:9;5491:7;5487:23;5483:32;5480:52;;;5528:1;5525;5518:12;5480:52;-1:-1:-1;;5551:23:654;;;5621:2;5606:18;;;5593:32;;-1:-1:-1;5383:248:654:o;5636:1129::-;5862:4;5891:2;5931;5920:9;5916:18;5961:2;5950:9;5943:21;5984:6;6019;6013:13;6050:6;6042;6035:22;6088:2;6077:9;6073:18;6066:25;;6150:2;6140:6;6137:1;6133:14;6122:9;6118:30;6114:39;6100:53;;6172:4;6211:2;6203:6;6199:15;6232:1;6242:435;6256:6;6253:1;6250:13;6242:435;;;6321:22;;;-1:-1:-1;;6317:36:654;6305:49;;6377:13;;6418:9;;6403:25;;6467:11;;6461:18;6499:15;;;6492:27;;;6542:55;6581:15;;;6461:18;6542:55;:::i;:::-;6532:65;-1:-1:-1;;6655:12:654;;;;6620:15;;;;6278:1;6271:9;6242:435;;;-1:-1:-1;;6743:14:654;;6736:22;6716:18;;;;6709:50;;;;6694:6;5636:1129;-1:-1:-1;;;;;5636:1129:654:o;6962:651::-;7081:6;7089;7142:2;7130:9;7121:7;7117:23;7113:32;7110:52;;;7158:1;7155;7148:12;7110:52;7198:9;7185:23;-1:-1:-1;;;;;7268:2:654;7260:6;7257:14;7254:34;;;7284:1;7281;7274:12;7254:34;7322:6;7311:9;7307:22;7297:32;;7367:7;7360:4;7356:2;7352:13;7348:27;7338:55;;7389:1;7386;7379:12;7338:55;7429:2;7416:16;7455:2;7447:6;7444:14;7441:34;;;7471:1;7468;7461:12;7441:34;7527:7;7522:2;7514:4;7506:6;7502:17;7498:2;7494:26;7490:35;7487:48;7484:68;;;7548:1;7545;7538:12;7484:68;7579:2;7571:11;;;;;7601:6;;-1:-1:-1;6962:651:654;;-1:-1:-1;;;;6962:651:654:o;7618:219::-;7767:2;7756:9;7749:21;7730:4;7787:44;7827:2;7816:9;7812:18;7804:6;7787:44;:::i;7842:380::-;7921:1;7917:12;;;;7964;;;7985:61;;8039:4;8031:6;8027:17;8017:27;;7985:61;8092:2;8084:6;8081:14;8061:18;8058:38;8055:161;;8138:10;8133:3;8129:20;8126:1;8119:31;8173:4;8170:1;8163:15;8201:4;8198:1;8191:15;8055:161;;7842:380;;;:::o;8227:127::-;8288:10;8283:3;8279:20;8276:1;8269:31;8319:4;8316:1;8309:15;8343:4;8340:1;8333:15;8484:542;8585:2;8580:3;8577:11;8574:446;;;8621:1;8645:5;8642:1;8635:16;8689:4;8686:1;8676:18;8759:2;8747:10;8743:19;8740:1;8736:27;8730:4;8726:38;8795:4;8783:10;8780:20;8777:47;;;-1:-1:-1;8818:4:654;8777:47;8873:2;8868:3;8864:12;8861:1;8857:20;8851:4;8847:31;8837:41;;8928:82;8946:2;8939:5;8936:13;8928:82;;;8991:17;;;8972:1;8961:13;8928:82;;;8932:3;;;8574:446;8484:542;;;:::o;9202:1341::-;9326:3;9320:10;-1:-1:-1;;;;;9345:6:654;9342:30;9339:56;;;9375:18;;:::i;:::-;9404:96;9493:6;9453:38;9485:4;9479:11;9453:38;:::i;:::-;9447:4;9404:96;:::i;:::-;9555:4;;9612:2;9601:14;;9629:1;9624:662;;;;10330:1;10347:6;10344:89;;;-1:-1:-1;10399:19:654;;;10393:26;10344:89;-1:-1:-1;;9159:1:654;9155:11;;;9151:24;9147:29;9137:40;9183:1;9179:11;;;9134:57;10446:81;;9594:943;;9624:662;8431:1;8424:14;;;8468:4;8455:18;;-1:-1:-1;;9660:20:654;;;9777:236;9791:7;9788:1;9785:14;9777:236;;;9880:19;;;9874:26;9859:42;;9972:27;;;;9940:1;9928:14;;;;9807:19;;9777:236;;;9781:3;10041:6;10032:7;10029:19;10026:201;;;10102:19;;;10096:26;-1:-1:-1;;10185:1:654;10181:14;;;10197:3;10177:24;10173:37;10169:42;10154:58;10139:74;;10026:201;-1:-1:-1;;;;;10273:1:654;10257:14;;;10253:22;10240:36;;-1:-1:-1;9202:1341:654:o;10548:931::-;10792:4;10840:3;10829:9;10825:19;10871:6;10860:9;10853:25;10897:2;10935:3;10930:2;10919:9;10915:18;10908:31;10959:6;10994;10988:13;11025:6;11017;11010:22;11063:3;11052:9;11048:19;11041:26;;11102:2;11094:6;11090:15;11076:29;;11123:1;11133:195;11147:6;11144:1;11141:13;11133:195;;;11212:13;;-1:-1:-1;;;;;11208:39:654;11196:52;;11303:15;;;;11268:12;;;;11244:1;11162:9;11133:195;;;11137:3;;11364:6;11359:2;11348:9;11344:18;11337:34;11416:9;11411:3;11407:19;11402:2;11391:9;11387:18;11380:47;11444:29;11469:3;11461:6;11444:29;:::i;:::-;11436:37;10548:931;-1:-1:-1;;;;;;;;;10548:931:654:o;11844:127::-;11905:10;11900:3;11896:20;11893:1;11886:31;11936:4;11933:1;11926:15;11960:4;11957:1;11950:15;11976:135;12015:3;12036:17;;;12033:43;;12056:18;;:::i;:::-;-1:-1:-1;12103:1:654;12092:13;;11976:135::o;12116:128::-;12183:9;;;12204:11;;;12201:37;;;12218:18;;:::i;12249:125::-;12314:9;;;12335:10;;;12332:36;;;12348:18;;:::i;12379:127::-;12440:10;12435:3;12431:20;12428:1;12421:31;12471:4;12468:1;12461:15;12495:4;12492:1;12485:15;12511:284;12569:6;12622:2;12610:9;12601:7;12597:23;12593:32;12590:52;;;12638:1;12635;12628:12;12590:52;12677:9;12664:23;-1:-1:-1;;;;;12720:5:654;12716:30;12709:5;12706:41;12696:69;;12761:1;12758;12751:12;12800:457;13031:6;13020:9;13013:25;13074:6;13069:2;13058:9;13054:18;13047:34;-1:-1:-1;;;;;13121:6:654;13117:31;13112:2;13101:9;13097:18;13090:59;13185:3;13180:2;13169:9;13165:18;13158:31;12994:4;13206:45;13246:3;13235:9;13231:19;13223:6;13206:45;:::i;13262:273::-;13318:6;13371:2;13359:9;13350:7;13346:23;13342:32;13339:52;;;13387:1;13384;13377:12;13339:52;13426:9;13413:23;13479:5;13472:13;13465:21;13458:5;13455:32;13445:60;;13501:1;13498;13491:12","linkReferences":{}},"methodIdentifiers":{"allocateStream(bytes32,address[],bytes32,bytes)":"6b883c39","getPaginatedStreams(uint256,uint256)":"ca78c41a","getStream(bytes32)":"1290abe8","getStreamCount()":"c0f22084","getStreamCountOnNode(address)":"c87d1324","getStreamWithGenesis(bytes32)":"3c2544d1","isStream(bytes32)":"d0c27c4f","placeStreamOnNode(bytes32,address)":"9ee86d38","removeStreamFromNode(bytes32,address)":"ee885b12","setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":"ff3a14ab"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"genesisMiniblock\",\"type\":\"bytes\"}],\"name\":\"StreamAllocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"StreamLastMiniblockUpdateFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"name\":\"StreamLastMiniblockUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isAdded\",\"type\":\"bool\"}],\"name\":\"StreamPlacementUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"},{\"internalType\":\"bytes32\",\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"genesisMiniblock\",\"type\":\"bytes\"}],\"name\":\"allocateStream\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stop\",\"type\":\"uint256\"}],\"name\":\"getPaginatedStreams\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"stream\",\"type\":\"tuple\"}],\"internalType\":\"struct StreamWithId[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"getStream\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStreamCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"getStreamCountOnNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"getStreamWithGenesis\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"isStream\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"placeStreamOnNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"removeStreamFromNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"prevMiniBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"internalType\":\"struct SetMiniblock[]\",\"name\":\"miniblocks\",\"type\":\"tuple[]\"}],\"name\":\"setStreamLastMiniblockBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getPaginatedStreams(uint256,uint256)\":{\"details\":\"Recommended range is 5000 streams, returns true if on the last page.\"},\"getStreamWithGenesis(bytes32)\":{\"returns\":{\"_0\":\"stream, genesisMiniblockHash, genesisMiniblock\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/river/registry/facets/stream/StreamRegistry.sol\":\"StreamRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/river/registry/facets/stream/IStreamRegistry.sol\":{\"keccak256\":\"0x7f6ffecdb47e776a49fd5eb344aad912ddcf838502e58a0b7f1d7628ba484f5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4501a262214df3d792aba76b6e707e2901a7e0f15f05c4d2d903549e32afa839\",\"dweb:/ipfs/QmUzHM6rvqBrtB3CrNZe4kWDwhfTDY933HoLfwMfeLddHq\"]},\"contracts/src/river/registry/facets/stream/StreamRegistry.sol\":{\"keccak256\":\"0x50c476331f6dc1d7f63c7ebe81f046b1bd6e8bfb51752c1a636c0e4924ceb614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8c9c118175100073386f6bdb82501cef8a0b246a99a62ad143d2ed6c594e9ea\",\"dweb:/ipfs/QmQL5Rc4iVvXciv8dd2R8UYnHMLDoB4QSbfqgfgCn1JdXe\"]},\"contracts/src/river/registry/libraries/RegistryErrors.sol\":{\"keccak256\":\"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501\",\"dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP\"]},\"contracts/src/river/registry/libraries/RegistryStorage.sol\":{\"keccak256\":\"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4\",\"dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"address[]","name":"nodes","type":"address[]","indexed":false},{"internalType":"bytes32","name":"genesisMiniblockHash","type":"bytes32","indexed":false},{"internalType":"bytes","name":"genesisMiniblock","type":"bytes","indexed":false}],"type":"event","name":"StreamAllocated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32","indexed":false},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false}],"type":"event","name":"StreamLastMiniblockUpdateFailed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32","indexed":false},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64","indexed":false},{"internalType":"bool","name":"isSealed","type":"bool","indexed":false}],"type":"event","name":"StreamLastMiniblockUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"address","name":"nodeAddress","type":"address","indexed":false},{"internalType":"bool","name":"isAdded","type":"bool","indexed":false}],"type":"event","name":"StreamPlacementUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address[]","name":"nodes","type":"address[]"},{"internalType":"bytes32","name":"genesisMiniblockHash","type":"bytes32"},{"internalType":"bytes","name":"genesisMiniblock","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"allocateStream"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"stop","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPaginatedStreams","outputs":[{"internalType":"struct StreamWithId[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"struct Stream","name":"stream","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]},{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStream","outputs":[{"internalType":"struct Stream","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStreamCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getStreamCountOnNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStreamWithGenesis","outputs":[{"internalType":"struct Stream","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isStream","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"placeStreamOnNode"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStreamFromNode"},{"inputs":[{"internalType":"struct SetMiniblock[]","name":"miniblocks","type":"tuple[]","components":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"bytes32","name":"prevMiniBlockHash","type":"bytes32"},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"bool","name":"isSealed","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"setStreamLastMiniblockBatch"}],"devdoc":{"kind":"dev","methods":{"getPaginatedStreams(uint256,uint256)":{"details":"Recommended range is 5000 streams, returns true if on the last page."},"getStreamWithGenesis(bytes32)":{"returns":{"_0":"stream, genesisMiniblockHash, genesisMiniblock"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/river/registry/facets/stream/StreamRegistry.sol":"StreamRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/river/registry/facets/stream/IStreamRegistry.sol":{"keccak256":"0x7f6ffecdb47e776a49fd5eb344aad912ddcf838502e58a0b7f1d7628ba484f5c","urls":["bzz-raw://4501a262214df3d792aba76b6e707e2901a7e0f15f05c4d2d903549e32afa839","dweb:/ipfs/QmUzHM6rvqBrtB3CrNZe4kWDwhfTDY933HoLfwMfeLddHq"],"license":"MIT"},"contracts/src/river/registry/facets/stream/StreamRegistry.sol":{"keccak256":"0x50c476331f6dc1d7f63c7ebe81f046b1bd6e8bfb51752c1a636c0e4924ceb614","urls":["bzz-raw://c8c9c118175100073386f6bdb82501cef8a0b246a99a62ad143d2ed6c594e9ea","dweb:/ipfs/QmQL5Rc4iVvXciv8dd2R8UYnHMLDoB4QSbfqgfgCn1JdXe"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryErrors.sol":{"keccak256":"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497","urls":["bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501","dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryStorage.sol":{"keccak256":"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201","urls":["bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4","dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"}},"version":1},"id":199} \ No newline at end of file +{"abi":[{"type":"function","name":"allocateStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodes","type":"address[]","internalType":"address[]"},{"name":"genesisMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"genesisMiniblock","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getPaginatedStreams","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"stop","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct StreamWithId[]","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"stream","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}]},{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}],"stateMutability":"view"},{"type":"function","name":"getStreamCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStreamCountOnNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStreamWithGenesis","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"isStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"placeStreamOnNode","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStreamFromNode","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStreamLastMiniblock","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"isSealed","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStreamLastMiniblockBatch","inputs":[{"name":"miniblocks","type":"tuple[]","internalType":"struct SetMiniblock[]","components":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"prevMiniBlockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"isSealed","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"StreamAllocated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"nodes","type":"address[]","indexed":false,"internalType":"address[]"},{"name":"genesisMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"genesisMiniblock","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"StreamLastMiniblockUpdateFailed","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"reason","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"StreamLastMiniblockUpdated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"isSealed","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"StreamPlacementUpdated","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"nodeAddress","type":"address","indexed":false,"internalType":"address"},{"name":"isAdded","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50611c70806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063c87d132411610071578063c87d132414610137578063ca78c41a1461014a578063d0c27c4f1461016b578063d7a3158a1461018e578063ee885b12146101a1578063ff3a14ab146101b457600080fd5b80631290abe8146100ae5780633c2544d1146100d75780636b883c39146100f95780639ee86d381461010e578063c0f2208414610121575b600080fd5b6100c16100bc3660046114fc565b6101c7565b6040516100ce91906115a6565b60405180910390f35b6100ea6100e53660046114fc565b6102f2565b6040516100ce939291906115ff565b61010c610107366004611705565b6104c3565b005b61010c61011c3660046117e8565b61072a565b6101296108e7565b6040519081526020016100ce565b610129610145366004611814565b6108f7565b61015d61015836600461182f565b6109a5565b6040516100ce929190611851565b61017e6101793660046114fc565b610b95565b60405190151581526020016100ce565b61010c61019c3660046118f7565b610ba7565b61010c6101af3660046117e8565b610db3565b61010c6101c2366004611947565b610ffc565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906101fb9083611323565b61023f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b60405180910390fd5b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156102e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102c4575b5050505050815250509050919050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820181905290919061032a8285611323565b6103655760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b9091041660608201529482018054845181870281018701909552808552929695919491938793608086019391929183018282801561041f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610401575b5050505050815250509250808054610436906119ce565b80601f0160208091040260200160405190810160405280929190818152602001828054610462906119ce565b80156104af5780601f10610484576101008083540402835291602001916104af565b820191906000526020600020905b81548152906001019060200180831161049257829003601f168201915b505050505090509250925092509193909250565b336000818152600760205260409020600201546001600160a01b031661051f57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b61052a600086611323565b1561056b57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b815261023691906004016119bb565b835160005b818110156105f0576105a886828151811061058d5761058d611a08565b6020026020010151600060050161133e90919063ffffffff16565b6105e857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b600101610570565b506040805160a0810182528581526000602082018190529181018290526060810182905260808101879052906106269088611360565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff199099169190941617969096179590951617909355608084015180518594936106b6939085019201906113fb565b50505060008781526003602052604090206106d18582611a6f565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb90610719908990899089908990611b2e565b60405180910390a150505050505050565b81610736600082611323565b6107715760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b336000818152600760205260409020600201546001600160a01b03166107cd57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b600084815260026020819052604082209081015490915b8181101561086957856001600160a01b031683600201828154811061080b5761080b611a08565b6000918252602090912001546001600160a01b03160361086157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b815261023691906004016119bb565b6001016107e4565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f9060600160405180910390a1505050505050565b60006108f28161136c565b905090565b600080806109048161136c565b905060005b8181101561099c57600061091d8183611376565b60008181526002602052604081209192505b600282015481101561098e57876001600160a01b031682600201828154811061095a5761095a611a08565b6000918252602090912001546001600160a01b031603610986578561097e81611bb7565b96505061098e565b60010161092f565b505050806001019050610909565b50909392505050565b606060008284106109e55760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b815261023691906004016119bb565b60006109f08161136c565b90506000818511610a015784610a03565b815b90506000868211610a15576000610a1f565b610a1f8783611bd0565b90506000816001600160401b03811115610a3b57610a3b611634565b604051908082528060200260200182016040528015610a7457816020015b610a61611460565b815260200190600190039081610a595790505b50905060005b82811015610b84576000610a99610a91838c611be3565b600090611376565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b9091041660608201529181018054865181860281018601909752808752969750939583870195929491936080860193929190830182828015610b5257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b34575b505050505081525050815250838381518110610b7057610b70611a08565b602090810291909101015250600101610a7a565b509450505083101590509250929050565b6000610ba18183611323565b92915050565b336000818152600760205260409020600201546001600160a01b0316610c0357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b610c0e600087611323565b610c495760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b6000868152600260205260409020600180820154600160801b90041615610ca557604080518082018252600d81526c14d51491505357d4d150531151609a1b6020820152905162461bcd60e51b815261023691906004016119bb565b60018101546001600160401b03808616911610610cf15760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b815261023691906004016119bb565b6000878152600360205260408120610d08916114aa565b84815560018101805467ffffffffffffffff19166001600160401b0386161790558215610d62576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b60408051888152602081018790526001600160401b0386169181019190915283151560608201527fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b90608001610719565b81610dbf600082611323565b610dfa5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b336000818152600760205260409020600201546001600160a01b0316610e5657604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b6000848152600260208190526040822090810154909190815b81811015610f7157866001600160a01b0316846002018281548110610e9657610e96611a08565b6000918252602090912001546001600160a01b031603610f695760028401610ebf600184611bd0565b81548110610ecf57610ecf611a08565b6000918252602090912001546002850180546001600160a01b039092169183908110610efd57610efd611a08565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083600201805480610f3e57610f3e611bf6565b600082815260209020810160001990810180546001600160a01b031916905501905560019250610f71565b600101610e6f565b5081610fb357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f90606001610719565b336000818152600760205260409020600201546001600160a01b031661105857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b8160008190036110975760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b815261023691906004016119bb565b60005b8181101561131c57368585838181106110b5576110b5611a08565b60a0029190910191506110cc905060008235611323565b611144577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa813560408301356111086080850160608601611c0c565b60408051808201825260098152681393d517d193d5539160ba1b602082015290516111369493929190611c27565b60405180910390a150611314565b80356000908152600260205260409020600180820154600160801b900416156111e0577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa8235604084013561119f6080860160608701611c0c565b604080518082018252600d81526c14d51491505357d4d150531151609a1b602082015290516111d19493929190611c27565b60405180910390a15050611314565b60018101546001600160401b031660000361120e578135600090815260036020526040812061120e916114aa565b604082013581556112256080830160608401611c0c565b60018201805467ffffffffffffffff19166001600160401b039290921691909117905561125860a0830160808401611c55565b15611290576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b823560408401356112c86080860160608701611c0c565b6112d860a0870160808801611c55565b604051611309949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b60010161109a565b5050505050565b600081815260018301602052604081205415155b9392505050565b6001600160a01b03811660009081526001830160205260408120541515611337565b60006113378383611382565b6000610ba1825490565b600061133783836113d1565b60008181526001830160205260408120546113c957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610ba1565b506000610ba1565b60008260000182815481106113e8576113e8611a08565b9060005260206000200154905092915050565b828054828255906000526020600020908101928215611450579160200282015b8281111561145057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061141b565b5061145c9291506114e7565b5090565b6040805180820190915260008152602081016114a56040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5080546114b6906119ce565b6000825580601f106114c6575050565b601f0160209004906000526020600020908101906114e491906114e7565b50565b5b8082111561145c57600081556001016114e8565b60006020828403121561150e57600080fd5b5035919050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b8083101561159b5784516001600160a01b03168252938301936001929092019190830190611572565b509695505050505050565b6020815260006113376020830184611515565b6000815180845260005b818110156115df576020818501810151868301820152016115c3565b506000602082860101526020601f19601f83011685010191505092915050565b6060815260006116126060830186611515565b846020840152828103604084015261162a81856115b9565b9695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561167257611672611634565b604052919050565b80356001600160a01b038116811461169157600080fd5b919050565b600082601f8301126116a757600080fd5b81356001600160401b038111156116c0576116c0611634565b6116d3601f8201601f191660200161164a565b8181528460208386010111156116e857600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561171b57600080fd5b843593506020808601356001600160401b038082111561173a57600080fd5b818801915088601f83011261174e57600080fd5b81358181111561176057611760611634565b8060051b61176f85820161164a565b918252838101850191858101908c84111561178957600080fd5b948601945b838610156117ae5761179f8661167a565b8252948601949086019061178e565b98505050506040880135945060608801359250808311156117ce57600080fd5b50506117dc87828801611696565b91505092959194509250565b600080604083850312156117fb57600080fd5b8235915061180b6020840161167a565b90509250929050565b60006020828403121561182657600080fd5b6113378261167a565b6000806040838503121561184257600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b838110156118ba57888603605f190185528151805187528301518387018890526118a788880182611515565b965050938201939082019060010161187b565b5050961515959096019490945295945050505050565b80356001600160401b038116811461169157600080fd5b8035801515811461169157600080fd5b600080600080600060a0868803121561190f57600080fd5b85359450602086013593506040860135925061192d606087016118d0565b915061193b608087016118e7565b90509295509295909350565b6000806020838503121561195a57600080fd5b82356001600160401b038082111561197157600080fd5b818501915085601f83011261198557600080fd5b81358181111561199457600080fd5b86602060a0830285010111156119a957600080fd5b60209290920196919550909350505050565b60208152600061133760208301846115b9565b600181811c908216806119e257607f821691505b602082108103611a0257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b601f821115611a6a576000816000526020600020601f850160051c81016020861015611a475750805b601f850160051c820191505b81811015611a6657828155600101611a53565b5050505b505050565b81516001600160401b03811115611a8857611a88611634565b611a9c81611a9684546119ce565b84611a1e565b602080601f831160018114611ad15760008415611ab95750858301515b600019600386901b1c1916600185901b178555611a66565b600085815260208120601f198616915b82811015611b0057888601518255948401946001909101908401611ae1565b5085821015611b1e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006080820186835260206080602085015281875180845260a08601915060208901935060005b81811015611b7a5784516001600160a01b031683529383019391830191600101611b55565b50508660408601528481036060860152611b9481876115b9565b9998505050505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201611bc957611bc9611ba1565b5060010190565b81810381811115610ba157610ba1611ba1565b80820180821115610ba157610ba1611ba1565b634e487b7160e01b600052603160045260246000fd5b600060208284031215611c1e57600080fd5b611337826118d0565b8481528360208201526001600160401b038316604082015260806060820152600061162a60808301846115b9565b600060208284031215611c6757600080fd5b611337826118e756","sourceMap":"598:8379:199:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063c87d132411610071578063c87d132414610137578063ca78c41a1461014a578063d0c27c4f1461016b578063d7a3158a1461018e578063ee885b12146101a1578063ff3a14ab146101b457600080fd5b80631290abe8146100ae5780633c2544d1146100d75780636b883c39146100f95780639ee86d381461010e578063c0f2208414610121575b600080fd5b6100c16100bc3660046114fc565b6101c7565b6040516100ce91906115a6565b60405180910390f35b6100ea6100e53660046114fc565b6102f2565b6040516100ce939291906115ff565b61010c610107366004611705565b6104c3565b005b61010c61011c3660046117e8565b61072a565b6101296108e7565b6040519081526020016100ce565b610129610145366004611814565b6108f7565b61015d61015836600461182f565b6109a5565b6040516100ce929190611851565b61017e6101793660046114fc565b610b95565b60405190151581526020016100ce565b61010c61019c3660046118f7565b610ba7565b61010c6101af3660046117e8565b610db3565b61010c6101c2366004611947565b610ffc565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820152906101fb9083611323565b61023f5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b60405180910390fd5b600082815260026020818152604092839020835160a0810185528154815260018201546001600160401b0380821683860152600160401b8204811683880152600160801b90910416606082015292810180548551818502810185019096528086529394919360808601938301828280156102e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102c4575b5050505050815250509050919050565b6040805160a08101825260008082526020820181905291810182905260608082018390526080820181905290919061032a8285611323565b6103655760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b600084815260026020818152604080842060048352818520546003845294829020825160a0810184528254815260018301546001600160401b0380821683880152600160401b8204811683870152600160801b9091041660608201529482018054845181870281018701909552808552929695919491938793608086019391929183018282801561041f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610401575b5050505050815250509250808054610436906119ce565b80601f0160208091040260200160405190810160405280929190818152602001828054610462906119ce565b80156104af5780601f10610484576101008083540402835291602001916104af565b820191906000526020600020905b81548152906001019060200180831161049257829003601f168201915b505050505090509250925092509193909250565b336000818152600760205260409020600201546001600160a01b031661051f57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b61052a600086611323565b1561056b57604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b815261023691906004016119bb565b835160005b818110156105f0576105a886828151811061058d5761058d611a08565b6020026020010151600060050161133e90919063ffffffff16565b6105e857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b600101610570565b506040805160a0810182528581526000602082018190529181018290526060810182905260808101879052906106269088611360565b5060008781526002602081815260409283902084518155818501516001820180549587015160608801516001600160401b03908116600160801b0267ffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff199099169190941617969096179590951617909355608084015180518594936106b6939085019201906113fb565b50505060008781526003602052604090206106d18582611a6f565b5060008781526004602052604090819020869055517f55ef7efc60ef99743e54209752c9a8e047e013917ec91572db75875069dd65bb90610719908990899089908990611b2e565b60405180910390a150505050505050565b81610736600082611323565b6107715760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b336000818152600760205260409020600201546001600160a01b03166107cd57604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b600084815260026020819052604082209081015490915b8181101561086957856001600160a01b031683600201828154811061080b5761080b611a08565b6000918252602090912001546001600160a01b03160361086157604080518082018252600e81526d414c52454144595f45584953545360901b6020820152905162461bcd60e51b815261023691906004016119bb565b6001016107e4565b5060028201805460018082018355600092835260209283902090910180546001600160a01b0319166001600160a01b038916908117909155604080518a8152938401919091528201527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f9060600160405180910390a1505050505050565b60006108f28161136c565b905090565b600080806109048161136c565b905060005b8181101561099c57600061091d8183611376565b60008181526002602052604081209192505b600282015481101561098e57876001600160a01b031682600201828154811061095a5761095a611a08565b6000918252602090912001546001600160a01b031603610986578561097e81611bb7565b96505061098e565b60010161092f565b505050806001019050610909565b50909392505050565b606060008284106109e55760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b815261023691906004016119bb565b60006109f08161136c565b90506000818511610a015784610a03565b815b90506000868211610a15576000610a1f565b610a1f8783611bd0565b90506000816001600160401b03811115610a3b57610a3b611634565b604051908082528060200260200182016040528015610a7457816020015b610a61611460565b815260200190600190039081610a595790505b50905060005b82811015610b84576000610a99610a91838c611be3565b600090611376565b60408051808201825282815260008381526002602081815291849020845160a0810186528154815260018201546001600160401b0380821683870152600160401b8204811683890152600160801b9091041660608201529181018054865181860281018601909752808752969750939583870195929491936080860193929190830182828015610b5257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b34575b505050505081525050815250838381518110610b7057610b70611a08565b602090810291909101015250600101610a7a565b509450505083101590509250929050565b6000610ba18183611323565b92915050565b336000818152600760205260409020600201546001600160a01b0316610c0357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b610c0e600087611323565b610c495760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b6000868152600260205260409020600180820154600160801b90041615610ca557604080518082018252600d81526c14d51491505357d4d150531151609a1b6020820152905162461bcd60e51b815261023691906004016119bb565b60018101546001600160401b03808616911610610cf15760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b815261023691906004016119bb565b6000878152600360205260408120610d08916114aa565b84815560018101805467ffffffffffffffff19166001600160401b0386161790558215610d62576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b60408051888152602081018790526001600160401b0386169181019190915283151560608201527fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b90608001610719565b81610dbf600082611323565b610dfa5760408051808201825260098152681393d517d193d5539160ba1b6020820152905162461bcd60e51b815261023691906004016119bb565b336000818152600760205260409020600201546001600160a01b0316610e5657604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b6000848152600260208190526040822090810154909190815b81811015610f7157866001600160a01b0316846002018281548110610e9657610e96611a08565b6000918252602090912001546001600160a01b031603610f695760028401610ebf600184611bd0565b81548110610ecf57610ecf611a08565b6000918252602090912001546002850180546001600160a01b039092169183908110610efd57610efd611a08565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083600201805480610f3e57610f3e611bf6565b600082815260209020810160001990810180546001600160a01b031916905501905560019250610f71565b600101610e6f565b5081610fb357604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b604080518881526001600160a01b03881660208201526000918101919091527faaa473c28a5fe04b6a7ecd795826e462f9d0c23f00ef9f51ec02fa6ea418806f90606001610719565b336000818152600760205260409020600201546001600160a01b031661105857604080518082018252600e81526d1393d11157d393d517d193d5539160921b6020820152905162461bcd60e51b815261023691906004016119bb565b8160008190036110975760408051808201825260078152664241445f41524760c81b6020820152905162461bcd60e51b815261023691906004016119bb565b60005b8181101561131c57368585838181106110b5576110b5611a08565b60a0029190910191506110cc905060008235611323565b611144577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa813560408301356111086080850160608601611c0c565b60408051808201825260098152681393d517d193d5539160ba1b602082015290516111369493929190611c27565b60405180910390a150611314565b80356000908152600260205260409020600180820154600160801b900416156111e0577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa8235604084013561119f6080860160608701611c0c565b604080518082018252600d81526c14d51491505357d4d150531151609a1b602082015290516111d19493929190611c27565b60405180910390a15050611314565b60018101546001600160401b031660000361120e578135600090815260036020526040812061120e916114aa565b604082013581556112256080830160608401611c0c565b60018201805467ffffffffffffffff19166001600160401b039290921691909117905561125860a0830160808401611c55565b15611290576001818101805467ffffffffffffffff60801b198116600160801b918290046001600160401b0316909317029190911790555b7fccc26bbb6dd655ea0bb8a40a3c30e35c6bdf42f8faf0d71bbea897af768cda8b823560408401356112c86080860160608701611c0c565b6112d860a0870160808801611c55565b604051611309949392919093845260208401929092526001600160401b031660408301521515606082015260800190565b60405180910390a150505b60010161109a565b5050505050565b600081815260018301602052604081205415155b9392505050565b6001600160a01b03811660009081526001830160205260408120541515611337565b60006113378383611382565b6000610ba1825490565b600061133783836113d1565b60008181526001830160205260408120546113c957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610ba1565b506000610ba1565b60008260000182815481106113e8576113e8611a08565b9060005260206000200154905092915050565b828054828255906000526020600020908101928215611450579160200282015b8281111561145057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061141b565b5061145c9291506114e7565b5090565b6040805180820190915260008152602081016114a56040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b905290565b5080546114b6906119ce565b6000825580601f106114c6575050565b601f0160209004906000526020600020908101906114e491906114e7565b50565b5b8082111561145c57600081556001016114e8565b60006020828403121561150e57600080fd5b5035919050565b600060a08301825184526020808401516001600160401b0380821660208801528060408701511660408801528060608701511660608801525050608084015160a0608087015282815180855260c088019150602083019450600092505b8083101561159b5784516001600160a01b03168252938301936001929092019190830190611572565b509695505050505050565b6020815260006113376020830184611515565b6000815180845260005b818110156115df576020818501810151868301820152016115c3565b506000602082860101526020601f19601f83011685010191505092915050565b6060815260006116126060830186611515565b846020840152828103604084015261162a81856115b9565b9695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561167257611672611634565b604052919050565b80356001600160a01b038116811461169157600080fd5b919050565b600082601f8301126116a757600080fd5b81356001600160401b038111156116c0576116c0611634565b6116d3601f8201601f191660200161164a565b8181528460208386010111156116e857600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561171b57600080fd5b843593506020808601356001600160401b038082111561173a57600080fd5b818801915088601f83011261174e57600080fd5b81358181111561176057611760611634565b8060051b61176f85820161164a565b918252838101850191858101908c84111561178957600080fd5b948601945b838610156117ae5761179f8661167a565b8252948601949086019061178e565b98505050506040880135945060608801359250808311156117ce57600080fd5b50506117dc87828801611696565b91505092959194509250565b600080604083850312156117fb57600080fd5b8235915061180b6020840161167a565b90509250929050565b60006020828403121561182657600080fd5b6113378261167a565b6000806040838503121561184257600080fd5b50508035926020909101359150565b600060408083016040845280865180835260608601915060608160051b8701019250602080890160005b838110156118ba57888603605f190185528151805187528301518387018890526118a788880182611515565b965050938201939082019060010161187b565b5050961515959096019490945295945050505050565b80356001600160401b038116811461169157600080fd5b8035801515811461169157600080fd5b600080600080600060a0868803121561190f57600080fd5b85359450602086013593506040860135925061192d606087016118d0565b915061193b608087016118e7565b90509295509295909350565b6000806020838503121561195a57600080fd5b82356001600160401b038082111561197157600080fd5b818501915085601f83011261198557600080fd5b81358181111561199457600080fd5b86602060a0830285010111156119a957600080fd5b60209290920196919550909350505050565b60208152600061133760208301846115b9565b600181811c908216806119e257607f821691505b602082108103611a0257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b601f821115611a6a576000816000526020600020601f850160051c81016020861015611a475750805b601f850160051c820191505b81811015611a6657828155600101611a53565b5050505b505050565b81516001600160401b03811115611a8857611a88611634565b611a9c81611a9684546119ce565b84611a1e565b602080601f831160018114611ad15760008415611ab95750858301515b600019600386901b1c1916600185901b178555611a66565b600085815260208120601f198616915b82811015611b0057888601518255948401946001909101908401611ae1565b5085821015611b1e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006080820186835260206080602085015281875180845260a08601915060208901935060005b81811015611b7a5784516001600160a01b031683529383019391830191600101611b55565b50508660408601528481036060860152611b9481876115b9565b9998505050505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201611bc957611bc9611ba1565b5060010190565b81810381811115610ba157610ba1611ba1565b80820180821115610ba157610ba1611ba1565b634e487b7160e01b600052603160045260246000fd5b600060208284031215611c1e57600080fd5b611337826118d0565b8481528360208201526001600160401b038316604082015260806060820152600061162a60808301846115b9565b600060208284031215611c6757600080fd5b611337826118e756","sourceMap":"598:8379:199:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:195;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6056:350;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;803:1117::-;;;;;;:::i;:::-;;:::i;:::-;;7788:539;;;;;;:::i;:::-;;:::i;6444:95::-;;;:::i;:::-;;;5156:25:654;;;5144:2;5129:18;6444:95:199;5010:177:654;6577:485:199;;;;;;:::i;:::-;;:::i;7100:650::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2191:112::-;;;;;;:::i;:::-;;:::i;:::-;;;6935:14:654;;6928:22;6910:41;;6898:2;6883:18;2191:112:199;6770:187:654;4809:1209:199;;;;;;:::i;:::-;;:::i;8365:610::-;;;;;;:::i;:::-;;:::i;2307:2464::-;;;;;;:::i;:::-;;:::i;1958:195::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2044:29:199;;2064:8;2044:19;:29::i;:::-;2039:73;;2082:29;;;;;;;;;;;-1:-1:-1;;;2082:29:199;;;;2075:37;;-1:-1:-1;;;2075:37:199;;;;2082:29;2075:37;;;:::i;:::-;;;;;;;;2039:73;2125:2;:23;;;:13;:23;;;;;;;;;2118:30;;;;;;;;;;;;;;;-1:-1:-1;;;;;2118:30:199;;;;;;;-1:-1:-1;;;2118:30:199;;;;;;;;-1:-1:-1;;;2118:30:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2125:23;;2118:30;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2118:30:199;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:195;;;:::o;6056:350::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6184:29:199;-1:-1:-1;6204:8:199;6184:19;:29::i;:::-;6179:73;;6222:29;;;;;;;;;;;-1:-1:-1;;;6222:29:199;;;;6215:37;;-1:-1:-1;;;6215:37:199;;;;6222:29;6215:37;;;:::i;6179:73::-;6274:2;:23;;;:13;:23;;;;;;;;6305:33;:43;;;;;;6356:29;:39;;;;;;6259:142;;;;;;;;;;;;;;;-1:-1:-1;;;;;6259:142:199;;;;;;;-1:-1:-1;;;6259:142:199;;;;;;;;-1:-1:-1;;;6259:142:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;6274:23;;6305:43;6356:39;;6259:142;;6274:23;;6259:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6259:142:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6056:350;;;;;:::o;803:1117::-;968:10;3085:1:201;3039:22;;;:16;:22;;;;;:34;;;-1:-1:-1;;;;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;1053:29:199::1;:2;1073:8:::0;1053:19:::1;:29::i;:::-;1049:83;;;1097:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1097:34:199::1;::::0;::::1;::::0;1090:42;;-1:-1:-1;;;1090:42:199;;::::1;::::0;1097:34;1090:42:::1;;;:::i;1049:83::-;1228:12:::0;;1208:17:::1;1246:139;1270:9;1266:1;:13;1246:139;;;1299:27;1317:5;1323:1;1317:8;;;;;;;;:::i;:::-;;;;;;;1299:2;:8;;:17;;:27;;;;:::i;:::-;1294:84;;1343:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;1343:34:199::1;::::0;::::1;::::0;1336:42;;-1:-1:-1;;;1336:42:199;;::::1;::::0;1343:34;1336:42:::1;;;:::i;1294:84::-;1281:3;;1246:139;;;-1:-1:-1::0;1452:144:199::1;::::0;;::::1;::::0;::::1;::::0;;;;;1429:20:::1;1452:144;::::0;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;1603:24:::1;::::0;1618:8;1603:14:::1;:24::i;:::-;-1:-1:-1::0;1633:2:199::1;:23:::0;;;:13:::1;:23;::::0;;;;;;;;:32;;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;1633:32:199;;::::1;-1:-1:-1::0;;;1633:32:199::1;-1:-1:-1::0;;;;1633:32:199;;::::1;-1:-1:-1::0;;;1633:32:199::1;-1:-1:-1::0;;1633:32:199;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;::::0;;;::::1;::::0;::::1;::::0;;;1659:6;;1633:23;:32:::1;::::0;;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;1671:2:199::1;:39:::0;;;:29:::1;:39;::::0;;;;:58:::1;1713:16:::0;1671:39;:58:::1;:::i;:::-;-1:-1:-1::0;1735:2:199::1;:43:::0;;;:33:::1;:43;::::0;;;;;;:66;;;1813:102;::::1;::::0;::::1;::::0;1769:8;;1852:5;;1781:20;;1893:16;;1813:102:::1;:::i;:::-;;;;;;;;980:940;;803:1117:::0;;;;;:::o;7788:539::-;7886:8;3338:29:201;:2;7886:8:199;3338:19:201;:29::i;:::-;3333:73;;3376:29;;;;;;;;;;;-1:-1:-1;;;3376:29:201;;;;3369:37;;-1:-1:-1;;;3369:37:201;;;;3376:29;3369:37;;;:::i;3333:73::-;7905:10:199::1;3085:1:201;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;-1:-1:-1;;;;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;7923:21:199::2;7947:23:::0;;;:13:::2;:23;::::0;;;;;;8056:12;;::::2;:19:::0;7947:23;;8082:141:::2;8106:9;8102:1;:13;8082:141;;;8153:11;-1:-1:-1::0;;;;;8134:30:199::2;:6;:12;;8147:1;8134:15;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;-1:-1:-1;;;;;8134:15:199::2;:30:::0;8130:86:::2;;8181:34;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;8181:34:199::2;::::0;::::2;::::0;8174:42;;-1:-1:-1;;;8174:42:199;;::::2;::::0;8181:34;8174:42:::2;;;:::i;8130:86::-;8117:3;;8082:141;;;-1:-1:-1::0;8229:12:199::2;::::0;::::2;:30:::0;;::::2;::::0;;::::2;::::0;;-1:-1:-1;8229:30:199;;;::::2;::::0;;;;;;::::2;::::0;;-1:-1:-1;;;;;;8229:30:199::2;-1:-1:-1::0;;;;;8229:30:199;::::2;::::0;;::::2;::::0;;;8271:51:::2;::::0;;12484:25:654;;;12525:18;;;12518:60;;;;12594:18;;12587:50;8271:51:199::2;::::0;12472:2:654;12457:18;8271:51:199::2;;;;;;;7917:410;;3412:1:201::1;7788:539:199::0;;;:::o;6444:95::-;6493:7;6515:19;6493:7;6515:17;:19::i;:::-;6508:26;;6444:95;:::o;6577:485::-;6659:7;;;6720:19;6659:7;6720:17;:19::i;:::-;6697:42;;6750:9;6745:294;6769:12;6765:1;:16;6745:294;;;6796:10;6809:16;6796:10;6823:1;6809:13;:16::i;:::-;6833:21;6857:17;;;:13;:17;;;;;6796:29;;-1:-1:-1;6882:151:199;6906:12;;;:19;6902:23;;6882:151;;;6965:11;-1:-1:-1;;;;;6946:30:199;:6;:12;;6959:1;6946:15;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;6946:15:199;:30;6942:83;;6990:7;;;;:::i;:::-;;;;7009:5;;6942:83;6927:3;;6882:151;;;;6788:251;;6783:3;;;;;6745:294;;;-1:-1:-1;7052:5:199;;6577:485;-1:-1:-1;;;6577:485:199:o;7100:650::-;7193:21;7216:4;7241;7232:5;:13;7228:54;;7254:27;;;;;;;;;;;-1:-1:-1;;;7254:27:199;;;;7247:35;;-1:-1:-1;;;7247:35:199;;;;7254:27;7247:35;;;:::i;7228:54::-;7289:19;7311;7289;7311:17;:19::i;:::-;7289:41;;7336:22;7368:11;7361:4;:18;:39;;7396:4;7361:39;;;7382:11;7361:39;7336:64;;7406:13;7439:5;7422:14;:22;:51;;7472:1;7422:51;;;7447:22;7464:5;7447:14;:22;:::i;:::-;7406:67;;7480:29;7531:5;-1:-1:-1;;;;;7512:25:199;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7480:57;;7549:9;7544:158;7568:5;7564:1;:9;7544:158;;;7588:10;7601:24;7615:9;7623:1;7615:5;:9;:::i;:::-;7601:2;;:13;:24::i;:::-;7646:49;;;;;;;;;;;-1:-1:-1;7676:17:199;;;:13;7646:49;7676:17;;;;;;;7646:49;;;;;;;;;;;;;;;-1:-1:-1;;;;;7646:49:199;;;;;;;-1:-1:-1;;;7646:49:199;;;;;;;;-1:-1:-1;;;7646:49:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;7588:37;;-1:-1:-1;7646:49:199;;;;;;;;7676:17;;7646:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7646:49:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;7633:7;7641:1;7633:10;;;;;;;;:::i;:::-;;;;;;;;;;:62;-1:-1:-1;7575:3:199;;7544:158;;;-1:-1:-1;7716:7:199;-1:-1:-1;;;7725:19:199;;;;-1:-1:-1;7100:650:199;;;;;:::o;2191:112::-;2250:4;2269:29;2250:4;2289:8;2269:19;:29::i;:::-;2262:36;2191:112;-1:-1:-1;;2191:112:199:o;4809:1209::-;4998:10;3085:1:201;3039:22;;;:16;:22;;;;;:34;;;-1:-1:-1;;;;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;5074:29:199::1;:2;5094:8:::0;5074:19:::1;:29::i;:::-;5069:88;;5120:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5120:29:199::1;::::0;::::1;::::0;5113:37;;-1:-1:-1;;;5113:37:199;;::::1;::::0;5120:29;5113:37:::1;;;:::i;5069:88::-;5163:21;5187:23:::0;;;:13:::1;:23;::::0;;;;592:1:::1;5285:12:::0;;::::1;::::0;-1:-1:-1;;;5285:12:199;::::1;:33:::0;5284:40;5280:102:::1;;5341:33;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5341:33:199::1;::::0;::::1;::::0;5334:41;;-1:-1:-1;;;5334:41:199;;::::1;::::0;5341:33;5334:41:::1;;;:::i;5280:102::-;5464:23;::::0;::::1;::::0;-1:-1:-1;;;;;5464:43:199;;::::1;:23:::0;::::1;:43;5460:99;;5524:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5524:27:199::1;::::0;::::1;::::0;5517:35;;-1:-1:-1;;;5517:35:199;;::::1;::::0;5524:27;5517:35:::1;;;:::i;5460:99::-;5604:2;:39:::0;;;:29:::1;:39;::::0;;;;5597:46:::1;::::0;::::1;:::i;:::-;5687:44:::0;;;5737:23:::1;::::0;::::1;:42:::0;;-1:-1:-1;;5737:42:199::1;-1:-1:-1::0;;;;;5737:42:199;::::1;;::::0;;5826:63;::::1;;;592:1;5848:12:::0;;::::1;:34:::0;;-1:-1:-1;;;;5848:34:199;::::1;-1:-1:-1::0;;;5848:34:199;;;::::1;-1:-1:-1::0;;;;;5848:34:199::1;::::0;;::::1;;::::0;;;::::1;::::0;;5826:63:::1;5900:113;::::0;;13406:25:654;;;13462:2;13447:18;;13440:34;;;-1:-1:-1;;;;;13510:31:654;;13490:18;;;13483:59;;;;13585:14;;13578:22;13573:2;13558:18;;13551:50;5900:113:199::1;::::0;13393:3:654;13378:19;5900:113:199::1;13183:424:654::0;8365:610:199;8466:8;3338:29:201;:2;8466:8:199;3338:19:201;:29::i;:::-;3333:73;;3376:29;;;;;;;;;;;-1:-1:-1;;;3376:29:201;;;;3369:37;;-1:-1:-1;;;3369:37:201;;;;3376:29;3369:37;;;:::i;3333:73::-;8485:10:199::1;3085:1:201;3039:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;-1:-1:-1;;;;;3039:34:201::1;3035:102;;3102:34;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3102:34:201::1;::::0;::::1;::::0;3095:42;;-1:-1:-1;;;3095:42:201;;::::1;::::0;3102:34;3095:42:::1;;;:::i;3035:102::-;8503:21:199::2;8527:23:::0;;;:13:::2;:23;::::0;;;;;;8601:12;;::::2;:19:::0;8527:23;;8503:21;;8627:219:::2;8651:9;8647:1;:13;8627:219;;;8698:11;-1:-1:-1::0;;;;;8679:30:199::2;:6;:12;;8692:1;8679:15;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;-1:-1:-1;;;;;8679:15:199::2;:30:::0;8675:165:::2;;8739:12;::::0;::::2;8752:13;8764:1;8752:9:::0;:13:::2;:::i;:::-;8739:27;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;8721:12:::2;::::0;::::2;:15:::0;;-1:-1:-1;;;;;8739:27:199;;::::2;::::0;8734:1;;8721:15;::::2;;;;;:::i;:::-;;;;;;;;;:45;;;;;-1:-1:-1::0;;;;;8721:45:199::2;;;;;-1:-1:-1::0;;;;;8721:45:199::2;;;;;;8776:6;:12;;:18;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;-1:-1:-1;;8776:18:199;;;;;-1:-1:-1;;;;;;8776:18:199::2;::::0;;;;;::::2;::::0;-1:-1:-1;8826:5:199::2;;8675:165;8662:3;;8627:219;;;;8857:5;8852:54;;8871:34;::::0;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;8871:34:199::2;::::0;::::2;::::0;8864:42;;-1:-1:-1;;;8864:42:199;;::::2;::::0;8871:34;8864:42:::2;;;:::i;8852:54::-;8918:52;::::0;;12484:25:654;;;-1:-1:-1;;;;;12545:32:654;;12540:2;12525:18;;12518:60;8964:5:199::2;12594:18:654::0;;;12587:50;;;;8918:52:199::2;::::0;12472:2:654;12457:18;8918:52:199::2;12288:355:654::0;2307:2464:199;2406:10;3085:1:201;3039:22;;;:16;:22;;;;;:34;;;-1:-1:-1;;;;;3039:34:201;3035:102;;3102:34;;;;;;;;;;;-1:-1:-1;;;3102:34:201;;;;3095:42;;-1:-1:-1;;;3095:42:201;;;;3102:34;3095:42;;;:::i;3035:102::-;2449:10:199;2424:22:::1;2477:19:::0;;;2473:60:::1;;2505:27;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;2505:27:199::1;::::0;::::1;::::0;2498:35;;-1:-1:-1;;;2498:35:199;;::::1;::::0;2505:27;2498:35:::1;;;:::i;2473:60::-;2545:9;2540:2227;2564:14;2560:1;:18;2540:2227;;;2593:31;2627:10;;2638:1;2627:13;;;;;;;:::i;:::-;;;::::0;;;::::1;::::0;-1:-1:-1;2654:39:199::1;::::0;-1:-1:-1;2674:18:199::1;::::0;::::1;2654:19;:39::i;:::-;2649:277;;2710:189;2753:18:::0;::::1;2783:27;::::0;::::1;;2822:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;2860:29;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;2860:29:199::1;::::0;::::1;::::0;2710:189;;::::1;::::0;;;;2860:29;2710:189:::1;:::i;:::-;;;;;;;;2909:8;;;2649:277;2972:18:::0;::::1;2934:21;2958:33:::0;;;:13:::1;:33;::::0;;;;592:1:::1;3070:12:::0;;::::1;::::0;-1:-1:-1;;;3070:12:199;::::1;:33:::0;3069:40;3065:281:::1;;3126:193;3169:18:::0;::::1;3199:27;::::0;::::1;;3238:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;3276:33;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3276:33:199::1;::::0;::::1;::::0;3126:193;;::::1;::::0;;;;3276:33;3126:193:::1;:::i;:::-;;;;;;;;3329:8;;;;3065:281;4190:23;::::0;::::1;::::0;-1:-1:-1;;;;;4190:23:199::1;;:28:::0;4186:109:::1;;4267:18:::0;::::1;4237:2;:49:::0;;;:29:::1;:49;::::0;;;;4230:56:::1;::::0;::::1;:::i;:::-;4369:27;::::0;::::1;;4342:54:::0;;4430:26:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;4404:23;::::0;::::1;:52:::0;;-1:-1:-1;;4404:52:199::1;-1:-1:-1::0;;;;;4404:52:199;;;::::1;::::0;;;::::1;::::0;;4511:18:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;4507:77;;;592:1;4541:12:::0;;::::1;:34:::0;;-1:-1:-1;;;;4541:34:199;::::1;-1:-1:-1::0;;;4541:34:199;;;::::1;-1:-1:-1::0;;;;;4541:34:199::1;::::0;;::::1;;::::0;;;::::1;::::0;;4507:77:::1;4597:163;4633:18:::0;::::1;4661:27;::::0;::::1;;4698:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;4734:18;::::0;;;::::1;::::0;::::1;;:::i;:::-;4597:163;;;;;;;;13406:25:654::0;;;13462:2;13447:18;;13440:34;;;;-1:-1:-1;;;;;13510:31:654;13505:2;13490:18;;13483:59;13585:14;13578:22;13573:2;13558:18;;13551:50;13393:3;13378:19;;13183:424;4597:163:199::1;;;;;;;;2585:2182;;2540:2227;2580:3;;2540:2227;;;;2418:2353;2307:2464:::0;;;:::o;6431:138:511:-;6511:4;4360:21;;;:14;;;:21;;;;;;:26;;6534:28;6527:35;6431:138;-1:-1:-1;;;6431:138:511:o;8844:165::-;-1:-1:-1;;;;;8977:23:511;;8924:4;4360:21;;;:14;;;:21;;;;;;:26;;8947:55;4264:129;5930:123;6000:4;6023:23;6028:3;6040:5;6023:4;:23::i;6650:115::-;6713:7;6739:19;6747:3;4556:18;;4474:107;7107:129;7181:7;7207:22;7211:3;7223:5;7207:3;:22::i;2241:406::-;2304:4;4360:21;;;:14;;;:21;;;;;;2320:321;;-1:-1:-1;2362:23:511;;;;;;;;:11;:23;;;;;;;;;;;;;2544:18;;2520:21;;;:14;;;:21;;;;;;:42;;;;2576:11;;2320:321;-1:-1:-1;2625:5:511;2618:12;;4923:118;4990:7;5016:3;:11;;5028:5;5016:18;;;;;;;;:::i;:::-;;;;;;;;;5009:25;;4923:118;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;14:180:654;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:654;;14:180;-1:-1:-1;14:180:654:o;199:948::-;248:3;287:4;282:3;278:14;319:5;313:12;308:3;301:25;345:4;395;388:5;384:16;378:23;-1:-1:-1;;;;;488:2:654;474:12;470:21;463:4;458:3;454:14;447:45;553:2;545:4;538:5;534:16;528:23;524:32;517:4;512:3;508:14;501:56;618:2;610:4;603:5;599:16;593:23;589:32;582:4;577:3;573:14;566:56;;;670:4;663:5;659:16;653:23;708:4;701;696:3;692:14;685:28;735:4;768:14;762:21;805:6;799:4;792:20;839:3;834;830:13;821:22;;886:4;870:14;866:25;852:39;;909:1;900:10;;919:201;933:6;930:1;927:13;919:201;;;1000:13;;-1:-1:-1;;;;;996:39:654;982:54;;1095:15;;;;1032:1;948:9;;;;;1058:14;;;;919:201;;;-1:-1:-1;1136:5:654;199:948;-1:-1:-1;;;;;;199:948:654:o;1152:257::-;1331:2;1320:9;1313:21;1294:4;1351:52;1399:2;1388:9;1384:18;1376:6;1351:52;:::i;1414:422::-;1455:3;1493:5;1487:12;1520:6;1515:3;1508:19;1545:1;1555:162;1569:6;1566:1;1563:13;1555:162;;;1631:4;1687:13;;;1683:22;;1677:29;1659:11;;;1655:20;;1648:59;1584:12;1555:162;;;1559:3;1762:1;1755:4;1746:6;1741:3;1737:16;1733:27;1726:38;1825:4;1818:2;1814:7;1809:2;1801:6;1797:15;1793:29;1788:3;1784:39;1780:50;1773:57;;;1414:422;;;;:::o;1841:488::-;2094:2;2083:9;2076:21;2057:4;2120:52;2168:2;2157:9;2153:18;2145:6;2120:52;:::i;:::-;2208:6;2203:2;2192:9;2188:18;2181:34;2263:9;2255:6;2251:22;2246:2;2235:9;2231:18;2224:50;2291:32;2316:6;2308;2291:32;:::i;:::-;2283:40;1841:488;-1:-1:-1;;;;;;1841:488:654:o;2334:127::-;2395:10;2390:3;2386:20;2383:1;2376:31;2426:4;2423:1;2416:15;2450:4;2447:1;2440:15;2466:275;2537:2;2531:9;2602:2;2583:13;;-1:-1:-1;;2579:27:654;2567:40;;-1:-1:-1;;;;;2622:34:654;;2658:22;;;2619:62;2616:88;;;2684:18;;:::i;:::-;2720:2;2713:22;2466:275;;-1:-1:-1;2466:275:654:o;2746:173::-;2814:20;;-1:-1:-1;;;;;2863:31:654;;2853:42;;2843:70;;2909:1;2906;2899:12;2843:70;2746:173;;;:::o;2924:530::-;2966:5;3019:3;3012:4;3004:6;3000:17;2996:27;2986:55;;3037:1;3034;3027:12;2986:55;3073:6;3060:20;-1:-1:-1;;;;;3095:2:654;3092:26;3089:52;;;3121:18;;:::i;:::-;3165:55;3208:2;3189:13;;-1:-1:-1;;3185:27:654;3214:4;3181:38;3165:55;:::i;:::-;3245:2;3236:7;3229:19;3291:3;3284:4;3279:2;3271:6;3267:15;3263:26;3260:35;3257:55;;;3308:1;3305;3298:12;3257:55;3373:2;3366:4;3358:6;3354:17;3347:4;3338:7;3334:18;3321:55;3421:1;3396:16;;;3414:4;3392:27;3385:38;;;;3400:7;2924:530;-1:-1:-1;;;2924:530:654:o;3459:1287::-;3579:6;3587;3595;3603;3656:3;3644:9;3635:7;3631:23;3627:33;3624:53;;;3673:1;3670;3663:12;3624:53;3709:9;3696:23;3686:33;;3738:2;3791;3780:9;3776:18;3763:32;-1:-1:-1;;;;;3855:2:654;3847:6;3844:14;3841:34;;;3871:1;3868;3861:12;3841:34;3909:6;3898:9;3894:22;3884:32;;3954:7;3947:4;3943:2;3939:13;3935:27;3925:55;;3976:1;3973;3966:12;3925:55;4012:2;3999:16;4034:2;4030;4027:10;4024:36;;;4040:18;;:::i;:::-;4086:2;4083:1;4079:10;4109:28;4133:2;4129;4125:11;4109:28;:::i;:::-;4171:15;;;4241:11;;;4237:20;;;4202:12;;;;4269:19;;;4266:39;;;4301:1;4298;4291:12;4266:39;4325:11;;;;4345:148;4361:6;4356:3;4353:15;4345:148;;;4427:23;4446:3;4427:23;:::i;:::-;4415:36;;4378:12;;;;4471;;;;4345:148;;;4512:5;-1:-1:-1;;;;4564:2:654;4549:18;;4536:32;;-1:-1:-1;4621:2:654;4606:18;;4593:32;;-1:-1:-1;4637:16:654;;;4634:36;;;4666:1;4663;4656:12;4634:36;;;4689:51;4732:7;4721:8;4710:9;4706:24;4689:51;:::i;:::-;4679:61;;;3459:1287;;;;;;;:::o;4751:254::-;4819:6;4827;4880:2;4868:9;4859:7;4855:23;4851:32;4848:52;;;4896:1;4893;4886:12;4848:52;4932:9;4919:23;4909:33;;4961:38;4995:2;4984:9;4980:18;4961:38;:::i;:::-;4951:48;;4751:254;;;;;:::o;5192:186::-;5251:6;5304:2;5292:9;5283:7;5279:23;5275:32;5272:52;;;5320:1;5317;5310:12;5272:52;5343:29;5362:9;5343:29;:::i;5383:248::-;5451:6;5459;5512:2;5500:9;5491:7;5487:23;5483:32;5480:52;;;5528:1;5525;5518:12;5480:52;-1:-1:-1;;5551:23:654;;;5621:2;5606:18;;;5593:32;;-1:-1:-1;5383:248:654:o;5636:1129::-;5862:4;5891:2;5931;5920:9;5916:18;5961:2;5950:9;5943:21;5984:6;6019;6013:13;6050:6;6042;6035:22;6088:2;6077:9;6073:18;6066:25;;6150:2;6140:6;6137:1;6133:14;6122:9;6118:30;6114:39;6100:53;;6172:4;6211:2;6203:6;6199:15;6232:1;6242:435;6256:6;6253:1;6250:13;6242:435;;;6321:22;;;-1:-1:-1;;6317:36:654;6305:49;;6377:13;;6418:9;;6403:25;;6467:11;;6461:18;6499:15;;;6492:27;;;6542:55;6581:15;;;6461:18;6542:55;:::i;:::-;6532:65;-1:-1:-1;;6655:12:654;;;;6620:15;;;;6278:1;6271:9;6242:435;;;-1:-1:-1;;6743:14:654;;6736:22;6716:18;;;;6709:50;;;;6694:6;5636:1129;-1:-1:-1;;;;;5636:1129:654:o;6962:171::-;7029:20;;-1:-1:-1;;;;;7078:30:654;;7068:41;;7058:69;;7123:1;7120;7113:12;7138:160;7203:20;;7259:13;;7252:21;7242:32;;7232:60;;7288:1;7285;7278:12;7303:458;7394:6;7402;7410;7418;7426;7479:3;7467:9;7458:7;7454:23;7450:33;7447:53;;;7496:1;7493;7486:12;7447:53;7532:9;7519:23;7509:33;;7589:2;7578:9;7574:18;7561:32;7551:42;;7640:2;7629:9;7625:18;7612:32;7602:42;;7663:37;7696:2;7685:9;7681:18;7663:37;:::i;:::-;7653:47;;7719:36;7750:3;7739:9;7735:19;7719:36;:::i;:::-;7709:46;;7303:458;;;;;;;;:::o;7766:651::-;7885:6;7893;7946:2;7934:9;7925:7;7921:23;7917:32;7914:52;;;7962:1;7959;7952:12;7914:52;8002:9;7989:23;-1:-1:-1;;;;;8072:2:654;8064:6;8061:14;8058:34;;;8088:1;8085;8078:12;8058:34;8126:6;8115:9;8111:22;8101:32;;8171:7;8164:4;8160:2;8156:13;8152:27;8142:55;;8193:1;8190;8183:12;8142:55;8233:2;8220:16;8259:2;8251:6;8248:14;8245:34;;;8275:1;8272;8265:12;8245:34;8331:7;8326:2;8318:4;8310:6;8306:17;8302:2;8298:26;8294:35;8291:48;8288:68;;;8352:1;8349;8342:12;8288:68;8383:2;8375:11;;;;;8405:6;;-1:-1:-1;7766:651:654;;-1:-1:-1;;;;7766:651:654:o;8422:219::-;8571:2;8560:9;8553:21;8534:4;8591:44;8631:2;8620:9;8616:18;8608:6;8591:44;:::i;8646:380::-;8725:1;8721:12;;;;8768;;;8789:61;;8843:4;8835:6;8831:17;8821:27;;8789:61;8896:2;8888:6;8885:14;8865:18;8862:38;8859:161;;8942:10;8937:3;8933:20;8930:1;8923:31;8977:4;8974:1;8967:15;9005:4;9002:1;8995:15;8859:161;;8646:380;;;:::o;9031:127::-;9092:10;9087:3;9083:20;9080:1;9073:31;9123:4;9120:1;9113:15;9147:4;9144:1;9137:15;9288:542;9389:2;9384:3;9381:11;9378:446;;;9425:1;9449:5;9446:1;9439:16;9493:4;9490:1;9480:18;9563:2;9551:10;9547:19;9544:1;9540:27;9534:4;9530:38;9599:4;9587:10;9584:20;9581:47;;;-1:-1:-1;9622:4:654;9581:47;9677:2;9672:3;9668:12;9665:1;9661:20;9655:4;9651:31;9641:41;;9732:82;9750:2;9743:5;9740:13;9732:82;;;9795:17;;;9776:1;9765:13;9732:82;;;9736:3;;;9378:446;9288:542;;;:::o;10006:1341::-;10130:3;10124:10;-1:-1:-1;;;;;10149:6:654;10146:30;10143:56;;;10179:18;;:::i;:::-;10208:96;10297:6;10257:38;10289:4;10283:11;10257:38;:::i;:::-;10251:4;10208:96;:::i;:::-;10359:4;;10416:2;10405:14;;10433:1;10428:662;;;;11134:1;11151:6;11148:89;;;-1:-1:-1;11203:19:654;;;11197:26;11148:89;-1:-1:-1;;9963:1:654;9959:11;;;9955:24;9951:29;9941:40;9987:1;9983:11;;;9938:57;11250:81;;10398:943;;10428:662;9235:1;9228:14;;;9272:4;9259:18;;-1:-1:-1;;10464:20:654;;;10581:236;10595:7;10592:1;10589:14;10581:236;;;10684:19;;;10678:26;10663:42;;10776:27;;;;10744:1;10732:14;;;;10611:19;;10581:236;;;10585:3;10845:6;10836:7;10833:19;10830:201;;;10906:19;;;10900:26;-1:-1:-1;;10989:1:654;10985:14;;;11001:3;10981:24;10977:37;10973:42;10958:58;10943:74;;10830:201;-1:-1:-1;;;;;11077:1:654;11061:14;;;11057:22;11044:36;;-1:-1:-1;10006:1341:654:o;11352:931::-;11596:4;11644:3;11633:9;11629:19;11675:6;11664:9;11657:25;11701:2;11739:3;11734:2;11723:9;11719:18;11712:31;11763:6;11798;11792:13;11829:6;11821;11814:22;11867:3;11856:9;11852:19;11845:26;;11906:2;11898:6;11894:15;11880:29;;11927:1;11937:195;11951:6;11948:1;11945:13;11937:195;;;12016:13;;-1:-1:-1;;;;;12012:39:654;12000:52;;12107:15;;;;12072:12;;;;12048:1;11966:9;11937:195;;;11941:3;;12168:6;12163:2;12152:9;12148:18;12141:34;12220:9;12215:3;12211:19;12206:2;12195:9;12191:18;12184:47;12248:29;12273:3;12265:6;12248:29;:::i;:::-;12240:37;11352:931;-1:-1:-1;;;;;;;;;11352:931:654:o;12648:127::-;12709:10;12704:3;12700:20;12697:1;12690:31;12740:4;12737:1;12730:15;12764:4;12761:1;12754:15;12780:135;12819:3;12840:17;;;12837:43;;12860:18;;:::i;:::-;-1:-1:-1;12907:1:654;12896:13;;12780:135::o;12920:128::-;12987:9;;;13008:11;;;13005:37;;;13022:18;;:::i;13053:125::-;13118:9;;;13139:10;;;13136:36;;;13152:18;;:::i;13612:127::-;13673:10;13668:3;13664:20;13661:1;13654:31;13704:4;13701:1;13694:15;13728:4;13725:1;13718:15;13744:184;13802:6;13855:2;13843:9;13834:7;13830:23;13826:32;13823:52;;;13871:1;13868;13861:12;13823:52;13894:28;13912:9;13894:28;:::i;13933:457::-;14164:6;14153:9;14146:25;14207:6;14202:2;14191:9;14187:18;14180:34;-1:-1:-1;;;;;14254:6:654;14250:31;14245:2;14234:9;14230:18;14223:59;14318:3;14313:2;14302:9;14298:18;14291:31;14127:4;14339:45;14379:3;14368:9;14364:19;14356:6;14339:45;:::i;14395:180::-;14451:6;14504:2;14492:9;14483:7;14479:23;14475:32;14472:52;;;14520:1;14517;14510:12;14472:52;14543:26;14559:9;14543:26;:::i","linkReferences":{}},"methodIdentifiers":{"allocateStream(bytes32,address[],bytes32,bytes)":"6b883c39","getPaginatedStreams(uint256,uint256)":"ca78c41a","getStream(bytes32)":"1290abe8","getStreamCount()":"c0f22084","getStreamCountOnNode(address)":"c87d1324","getStreamWithGenesis(bytes32)":"3c2544d1","isStream(bytes32)":"d0c27c4f","placeStreamOnNode(bytes32,address)":"9ee86d38","removeStreamFromNode(bytes32,address)":"ee885b12","setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)":"d7a3158a","setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":"ff3a14ab"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"genesisMiniblock\",\"type\":\"bytes\"}],\"name\":\"StreamAllocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"StreamLastMiniblockUpdateFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"name\":\"StreamLastMiniblockUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isAdded\",\"type\":\"bool\"}],\"name\":\"StreamPlacementUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"},{\"internalType\":\"bytes32\",\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"genesisMiniblock\",\"type\":\"bytes\"}],\"name\":\"allocateStream\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stop\",\"type\":\"uint256\"}],\"name\":\"getPaginatedStreams\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"stream\",\"type\":\"tuple\"}],\"internalType\":\"struct StreamWithId[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"getStream\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStreamCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"getStreamCountOnNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"getStreamWithGenesis\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"isStream\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"placeStreamOnNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"removeStreamFromNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"name\":\"setStreamLastMiniblock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"prevMiniBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"internalType\":\"struct SetMiniblock[]\",\"name\":\"miniblocks\",\"type\":\"tuple[]\"}],\"name\":\"setStreamLastMiniblockBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allocateStream(bytes32,address[],bytes32,bytes)\":{\"details\":\"Only callable by registered nodes\",\"params\":{\"genesisMiniblock\":\"The genesis miniblock data\",\"genesisMiniblockHash\":\"The hash of the genesis miniblock\",\"nodes\":\"The list of nodes to place the stream on\",\"streamId\":\"The ID of the stream to allocate\"}},\"getPaginatedStreams(uint256,uint256)\":{\"details\":\"Recommended range is 5000 streams to avoid gas limits\",\"params\":{\"start\":\"The starting index for pagination\",\"stop\":\"The ending index for pagination\"},\"returns\":{\"_0\":\"StreamWithId[] Array of streams with their IDs in the requested range\",\"_1\":\"bool True if this is the last page of results\"}},\"getStream(bytes32)\":{\"params\":{\"streamId\":\"The ID of the stream to get\"},\"returns\":{\"_0\":\"Stream The stream data\"}},\"getStreamCount()\":{\"returns\":{\"_0\":\"uint256 The total number of streams\"}},\"getStreamCountOnNode(address)\":{\"params\":{\"nodeAddress\":\"The address of the node to check\"},\"returns\":{\"_0\":\"uint256 The number of streams on the node\"}},\"getStreamWithGenesis(bytes32)\":{\"params\":{\"streamId\":\"The ID of the stream to get\"},\"returns\":{\"_0\":\"Stream The stream data\",\"_1\":\"bytes32 The genesis miniblock hash\",\"_2\":\"bytes The genesis miniblock data\"}},\"isStream(bytes32)\":{\"params\":{\"streamId\":\"The ID of the stream to check\"},\"returns\":{\"_0\":\"bool True if the stream exists, false otherwise\"}},\"placeStreamOnNode(bytes32,address)\":{\"params\":{\"nodeAddress\":\"The address of the node to place the stream on\",\"streamId\":\"The ID of the stream to place\"}},\"removeStreamFromNode(bytes32,address)\":{\"params\":{\"nodeAddress\":\"The address of the node to remove the stream from\",\"streamId\":\"The ID of the stream to remove\"}},\"setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)\":{\"details\":\"Only callable by registered nodes\",\"params\":{\"isSealed\":\"Whether to mark the stream as sealed\",\"lastMiniblockHash\":\"The hash of the new last miniblock\",\"lastMiniblockNum\":\"The number of the new last miniblock\",\"prevMiniblockHash\":\"The hash of the previous miniblock (currently unused)\",\"streamId\":\"The ID of the stream to update\"}},\"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])\":{\"details\":\"Only callable by registered nodesThis function allows updating multiple streams' last miniblock data in a single transaction\",\"params\":{\"miniblocks\":\"Array of SetMiniblock structs containing stream IDs and their last miniblock information\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allocateStream(bytes32,address[],bytes32,bytes)\":{\"notice\":\"Allocate a new stream in the registry\"},\"getPaginatedStreams(uint256,uint256)\":{\"notice\":\"Get a paginated list of streams from the registry\"},\"getStream(bytes32)\":{\"notice\":\"Get a stream from the registry\"},\"getStreamCount()\":{\"notice\":\"Get the total number of streams in the registry\"},\"getStreamCountOnNode(address)\":{\"notice\":\"Get the number of streams placed on a specific node\"},\"getStreamWithGenesis(bytes32)\":{\"notice\":\"Get a stream and its genesis information from the registry\"},\"isStream(bytes32)\":{\"notice\":\"Check if a stream exists in the registry\"},\"placeStreamOnNode(bytes32,address)\":{\"notice\":\"Place a stream on a specific node\"},\"removeStreamFromNode(bytes32,address)\":{\"notice\":\"Remove a stream from a specific node\"},\"setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)\":{\"notice\":\"Update the last miniblock information for a stream\"},\"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])\":{\"notice\":\"Set the last miniblock for multiple streams in a batch operation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/river/registry/facets/stream/StreamRegistry.sol\":\"StreamRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/river/registry/facets/stream/IStreamRegistry.sol\":{\"keccak256\":\"0x5e8bd4aa3130035d463d4fbc0214aaeb7c23a7042d29a10c593b422d6d2a47b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928c460af3995f8df31e48557a6d9eb16a6d89307f268709570bdfc932dc3a58\",\"dweb:/ipfs/QmTpiActnDg7Kvzezvvj9JCQWM2EsRmrZbXhXnzjhpCzCT\"]},\"contracts/src/river/registry/facets/stream/StreamRegistry.sol\":{\"keccak256\":\"0x31d16e776e27f5643ad19a2dc2c12524dedd50d674b96e142e381287a0c3e235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11baf58c6569cdd9444367586114223dfc9b7f07d7e56bba8a62e00daf9842bf\",\"dweb:/ipfs/QmRp1sHsnu75ar6X8U6qVUCnCaQQTYEJWhv5pFAvFuriYP\"]},\"contracts/src/river/registry/libraries/RegistryErrors.sol\":{\"keccak256\":\"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501\",\"dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP\"]},\"contracts/src/river/registry/libraries/RegistryStorage.sol\":{\"keccak256\":\"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4\",\"dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"address[]","name":"nodes","type":"address[]","indexed":false},{"internalType":"bytes32","name":"genesisMiniblockHash","type":"bytes32","indexed":false},{"internalType":"bytes","name":"genesisMiniblock","type":"bytes","indexed":false}],"type":"event","name":"StreamAllocated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32","indexed":false},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false}],"type":"event","name":"StreamLastMiniblockUpdateFailed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32","indexed":false},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64","indexed":false},{"internalType":"bool","name":"isSealed","type":"bool","indexed":false}],"type":"event","name":"StreamLastMiniblockUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"address","name":"nodeAddress","type":"address","indexed":false},{"internalType":"bool","name":"isAdded","type":"bool","indexed":false}],"type":"event","name":"StreamPlacementUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address[]","name":"nodes","type":"address[]"},{"internalType":"bytes32","name":"genesisMiniblockHash","type":"bytes32"},{"internalType":"bytes","name":"genesisMiniblock","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"allocateStream"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"stop","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPaginatedStreams","outputs":[{"internalType":"struct StreamWithId[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"struct Stream","name":"stream","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]},{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStream","outputs":[{"internalType":"struct Stream","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStreamCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getStreamCountOnNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStreamWithGenesis","outputs":[{"internalType":"struct Stream","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isStream","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"placeStreamOnNode"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStreamFromNode"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"bool","name":"isSealed","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setStreamLastMiniblock"},{"inputs":[{"internalType":"struct SetMiniblock[]","name":"miniblocks","type":"tuple[]","components":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"bytes32","name":"prevMiniBlockHash","type":"bytes32"},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"bool","name":"isSealed","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"setStreamLastMiniblockBatch"}],"devdoc":{"kind":"dev","methods":{"allocateStream(bytes32,address[],bytes32,bytes)":{"details":"Only callable by registered nodes","params":{"genesisMiniblock":"The genesis miniblock data","genesisMiniblockHash":"The hash of the genesis miniblock","nodes":"The list of nodes to place the stream on","streamId":"The ID of the stream to allocate"}},"getPaginatedStreams(uint256,uint256)":{"details":"Recommended range is 5000 streams to avoid gas limits","params":{"start":"The starting index for pagination","stop":"The ending index for pagination"},"returns":{"_0":"StreamWithId[] Array of streams with their IDs in the requested range","_1":"bool True if this is the last page of results"}},"getStream(bytes32)":{"params":{"streamId":"The ID of the stream to get"},"returns":{"_0":"Stream The stream data"}},"getStreamCount()":{"returns":{"_0":"uint256 The total number of streams"}},"getStreamCountOnNode(address)":{"params":{"nodeAddress":"The address of the node to check"},"returns":{"_0":"uint256 The number of streams on the node"}},"getStreamWithGenesis(bytes32)":{"params":{"streamId":"The ID of the stream to get"},"returns":{"_0":"Stream The stream data","_1":"bytes32 The genesis miniblock hash","_2":"bytes The genesis miniblock data"}},"isStream(bytes32)":{"params":{"streamId":"The ID of the stream to check"},"returns":{"_0":"bool True if the stream exists, false otherwise"}},"placeStreamOnNode(bytes32,address)":{"params":{"nodeAddress":"The address of the node to place the stream on","streamId":"The ID of the stream to place"}},"removeStreamFromNode(bytes32,address)":{"params":{"nodeAddress":"The address of the node to remove the stream from","streamId":"The ID of the stream to remove"}},"setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)":{"details":"Only callable by registered nodes","params":{"isSealed":"Whether to mark the stream as sealed","lastMiniblockHash":"The hash of the new last miniblock","lastMiniblockNum":"The number of the new last miniblock","prevMiniblockHash":"The hash of the previous miniblock (currently unused)","streamId":"The ID of the stream to update"}},"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":{"details":"Only callable by registered nodesThis function allows updating multiple streams' last miniblock data in a single transaction","params":{"miniblocks":"Array of SetMiniblock structs containing stream IDs and their last miniblock information"}}},"version":1},"userdoc":{"kind":"user","methods":{"allocateStream(bytes32,address[],bytes32,bytes)":{"notice":"Allocate a new stream in the registry"},"getPaginatedStreams(uint256,uint256)":{"notice":"Get a paginated list of streams from the registry"},"getStream(bytes32)":{"notice":"Get a stream from the registry"},"getStreamCount()":{"notice":"Get the total number of streams in the registry"},"getStreamCountOnNode(address)":{"notice":"Get the number of streams placed on a specific node"},"getStreamWithGenesis(bytes32)":{"notice":"Get a stream and its genesis information from the registry"},"isStream(bytes32)":{"notice":"Check if a stream exists in the registry"},"placeStreamOnNode(bytes32,address)":{"notice":"Place a stream on a specific node"},"removeStreamFromNode(bytes32,address)":{"notice":"Remove a stream from a specific node"},"setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)":{"notice":"Update the last miniblock information for a stream"},"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":{"notice":"Set the last miniblock for multiple streams in a batch operation"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/river/registry/facets/stream/StreamRegistry.sol":"StreamRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/river/registry/facets/stream/IStreamRegistry.sol":{"keccak256":"0x5e8bd4aa3130035d463d4fbc0214aaeb7c23a7042d29a10c593b422d6d2a47b4","urls":["bzz-raw://928c460af3995f8df31e48557a6d9eb16a6d89307f268709570bdfc932dc3a58","dweb:/ipfs/QmTpiActnDg7Kvzezvvj9JCQWM2EsRmrZbXhXnzjhpCzCT"],"license":"MIT"},"contracts/src/river/registry/facets/stream/StreamRegistry.sol":{"keccak256":"0x31d16e776e27f5643ad19a2dc2c12524dedd50d674b96e142e381287a0c3e235","urls":["bzz-raw://11baf58c6569cdd9444367586114223dfc9b7f07d7e56bba8a62e00daf9842bf","dweb:/ipfs/QmRp1sHsnu75ar6X8U6qVUCnCaQQTYEJWhv5pFAvFuriYP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryErrors.sol":{"keccak256":"0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497","urls":["bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501","dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP"],"license":"MIT"},"contracts/src/river/registry/libraries/RegistryStorage.sol":{"keccak256":"0xd45a126f3a7ce156824b019adf5c2832236421da770a02c38a1fa5e789411201","urls":["bzz-raw://6edc5efd37e99112a4f1ed8ca56d9f4034c36540bfbe3854b098b5b03cb5c9c4","dweb:/ipfs/QmZKR5pkUVUzxizh6YdDFXenssUfKnJCD15RMgh1T74AcH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"}},"version":1},"id":199} \ No newline at end of file diff --git a/packages/generated/dev/abis/StreamRegistry.metadata.json b/packages/generated/dev/abis/StreamRegistry.metadata.json index 70be1c4cfe..eef9bf64b0 100644 --- a/packages/generated/dev/abis/StreamRegistry.metadata.json +++ b/packages/generated/dev/abis/StreamRegistry.metadata.json @@ -405,6 +405,38 @@ "type": "function", "name": "removeStreamFromNode" }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "streamId", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "lastMiniblockHash", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "lastMiniblockNum", + "type": "uint64" + }, + { + "internalType": "bool", + "name": "isSealed", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setStreamLastMiniblock" + }, { "inputs": [ { @@ -448,12 +480,91 @@ "devdoc": { "kind": "dev", "methods": { + "allocateStream(bytes32,address[],bytes32,bytes)": { + "details": "Only callable by registered nodes", + "params": { + "genesisMiniblock": "The genesis miniblock data", + "genesisMiniblockHash": "The hash of the genesis miniblock", + "nodes": "The list of nodes to place the stream on", + "streamId": "The ID of the stream to allocate" + } + }, "getPaginatedStreams(uint256,uint256)": { - "details": "Recommended range is 5000 streams, returns true if on the last page." + "details": "Recommended range is 5000 streams to avoid gas limits", + "params": { + "start": "The starting index for pagination", + "stop": "The ending index for pagination" + }, + "returns": { + "_0": "StreamWithId[] Array of streams with their IDs in the requested range", + "_1": "bool True if this is the last page of results" + } + }, + "getStream(bytes32)": { + "params": { + "streamId": "The ID of the stream to get" + }, + "returns": { + "_0": "Stream The stream data" + } + }, + "getStreamCount()": { + "returns": { + "_0": "uint256 The total number of streams" + } + }, + "getStreamCountOnNode(address)": { + "params": { + "nodeAddress": "The address of the node to check" + }, + "returns": { + "_0": "uint256 The number of streams on the node" + } }, "getStreamWithGenesis(bytes32)": { + "params": { + "streamId": "The ID of the stream to get" + }, "returns": { - "_0": "stream, genesisMiniblockHash, genesisMiniblock" + "_0": "Stream The stream data", + "_1": "bytes32 The genesis miniblock hash", + "_2": "bytes The genesis miniblock data" + } + }, + "isStream(bytes32)": { + "params": { + "streamId": "The ID of the stream to check" + }, + "returns": { + "_0": "bool True if the stream exists, false otherwise" + } + }, + "placeStreamOnNode(bytes32,address)": { + "params": { + "nodeAddress": "The address of the node to place the stream on", + "streamId": "The ID of the stream to place" + } + }, + "removeStreamFromNode(bytes32,address)": { + "params": { + "nodeAddress": "The address of the node to remove the stream from", + "streamId": "The ID of the stream to remove" + } + }, + "setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)": { + "details": "Only callable by registered nodes", + "params": { + "isSealed": "Whether to mark the stream as sealed", + "lastMiniblockHash": "The hash of the new last miniblock", + "lastMiniblockNum": "The number of the new last miniblock", + "prevMiniblockHash": "The hash of the previous miniblock (currently unused)", + "streamId": "The ID of the stream to update" + } + }, + "setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])": { + "details": "Only callable by registered nodesThis function allows updating multiple streams' last miniblock data in a single transaction", + "params": { + "miniblocks": "Array of SetMiniblock structs containing stream IDs and their last miniblock information" } } }, @@ -461,7 +572,41 @@ }, "userdoc": { "kind": "user", - "methods": {}, + "methods": { + "allocateStream(bytes32,address[],bytes32,bytes)": { + "notice": "Allocate a new stream in the registry" + }, + "getPaginatedStreams(uint256,uint256)": { + "notice": "Get a paginated list of streams from the registry" + }, + "getStream(bytes32)": { + "notice": "Get a stream from the registry" + }, + "getStreamCount()": { + "notice": "Get the total number of streams in the registry" + }, + "getStreamCountOnNode(address)": { + "notice": "Get the number of streams placed on a specific node" + }, + "getStreamWithGenesis(bytes32)": { + "notice": "Get a stream and its genesis information from the registry" + }, + "isStream(bytes32)": { + "notice": "Check if a stream exists in the registry" + }, + "placeStreamOnNode(bytes32,address)": { + "notice": "Place a stream on a specific node" + }, + "removeStreamFromNode(bytes32,address)": { + "notice": "Remove a stream from a specific node" + }, + "setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)": { + "notice": "Update the last miniblock information for a stream" + }, + "setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])": { + "notice": "Set the last miniblock for multiple streams in a batch operation" + } + }, "version": 1 } }, @@ -493,18 +638,18 @@ }, "sources": { "contracts/src/river/registry/facets/stream/IStreamRegistry.sol": { - "keccak256": "0x7f6ffecdb47e776a49fd5eb344aad912ddcf838502e58a0b7f1d7628ba484f5c", + "keccak256": "0x5e8bd4aa3130035d463d4fbc0214aaeb7c23a7042d29a10c593b422d6d2a47b4", "urls": [ - "bzz-raw://4501a262214df3d792aba76b6e707e2901a7e0f15f05c4d2d903549e32afa839", - "dweb:/ipfs/QmUzHM6rvqBrtB3CrNZe4kWDwhfTDY933HoLfwMfeLddHq" + "bzz-raw://928c460af3995f8df31e48557a6d9eb16a6d89307f268709570bdfc932dc3a58", + "dweb:/ipfs/QmTpiActnDg7Kvzezvvj9JCQWM2EsRmrZbXhXnzjhpCzCT" ], "license": "MIT" }, "contracts/src/river/registry/facets/stream/StreamRegistry.sol": { - "keccak256": "0x50c476331f6dc1d7f63c7ebe81f046b1bd6e8bfb51752c1a636c0e4924ceb614", + "keccak256": "0x31d16e776e27f5643ad19a2dc2c12524dedd50d674b96e142e381287a0c3e235", "urls": [ - "bzz-raw://c8c9c118175100073386f6bdb82501cef8a0b246a99a62ad143d2ed6c594e9ea", - "dweb:/ipfs/QmQL5Rc4iVvXciv8dd2R8UYnHMLDoB4QSbfqgfgCn1JdXe" + "bzz-raw://11baf58c6569cdd9444367586114223dfc9b7f07d7e56bba8a62e00daf9842bf", + "dweb:/ipfs/QmRp1sHsnu75ar6X8U6qVUCnCaQQTYEJWhv5pFAvFuriYP" ], "license": "MIT" }, diff --git a/packages/generated/dev/abis/UserEntitlement.json b/packages/generated/dev/abis/UserEntitlement.json index dab698987d..0ff9e94da1 100644 --- a/packages/generated/dev/abis/UserEntitlement.json +++ b/packages/generated/dev/abis/UserEntitlement.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"SPACE_ADDRESS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"description","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getEntitlementDataByRoleId","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_space","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCrosschain","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"isEntitled","inputs":[{"name":"channelId","type":"bytes32","internalType":"bytes32"},{"name":"wallets","type":"address[]","internalType":"address[]"},{"name":"permission","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"moduleType","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeEntitlement","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEntitlement","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"},{"name":"entitlementData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"Entitlement__InvalidValue","inputs":[]},{"type":"error","name":"Entitlement__NotAllowed","inputs":[]},{"type":"error","name":"Entitlement__NotMember","inputs":[]},{"type":"error","name":"Entitlement__ValueAlreadyExists","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611ae36100fd60003960008181610aa101528181610aca0152610c410152611ae36000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063ad3cb1cc11610059578063ad3cb1cc146102a0578063c4d66de8146102d1578063ef8be574146102f1578063f0c111f91461031157600080fd5b806352d1902d146102015780636465e69f146102245780637284e4161461025f57600080fd5b80631eee07b2116100bb5780631eee07b2146101805780632e1b61e4146101a057806334322eff146101b45780634f1ef286146101ec57600080fd5b806301ffc9a7146100e257806306fdde03146101175780630cf0b53314610160575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046113fc565b610331565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101536040518060400160405280601081526020016f155cd95c88115b9d1a5d1b195b595b9d60821b81525081565b60405161010e9190611476565b34801561016c57600080fd5b5061010261017b3660046115ac565b610368565b34801561018c57600080fd5b5061015361019b3660046115fb565b610393565b3480156101ac57600080fd5b506000610102565b3480156101c057600080fd5b506000546101d4906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b6101ff6101fa36600461163b565b6103d1565b005b34801561020d57600080fd5b506102166103f0565b60405190815260200161010e565b34801561023057600080fd5b506101536040518060400160405280600f81526020016e155cd95c915b9d1a5d1b195b595b9d608a1b81525081565b34801561026b57600080fd5b5061015360405180604001604052806015815260200174456e7469746c656d656e7420666f7220757365727360581b81525081565b3480156102ac57600080fd5b50610153604051806040016040528060058152602001640352e302e360dc1b81525081565b3480156102dd57600080fd5b506101ff6102ec3660046116c6565b61040d565b3480156102fd57600080fd5b506101ff61030c3660046116e1565b610545565b34801561031d57600080fd5b506101ff61032c3660046115fb565b6107bb565b60006001600160e01b03198216637bc2cb4560e11b148061036257506301ffc9a760e01b6001600160e01b03198316145b92915050565b600083156103825761037b84848461090b565b905061038c565b61037b8383610a36565b9392505050565b6060600160008381526020019081526020016000206002016040516020016103bb919061175c565b6040516020818303038152906040529050919050565b6103d9610a96565b6103e282610b3d565b6103ec8282610b74565b5050565b60006103fa610c36565b50600080516020611ac383398151915290565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156104525750825b90506000826001600160401b0316600114801561046e5750303b155b90508115801561047c575080155b1561049a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156104c457845460ff60401b1916600160401b1785555b6104cc610c7f565b6104d4610c7f565b6104dc610c7f565b600080546001600160a01b0319166001600160a01b038816179055831561053d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6000546001600160a01b0316336001600160a01b03161461057957604051630ce39a4b60e21b815260040160405180910390fd5b6000610587828401846117ac565b905060005b81518110156105ef5760008282815181106105a9576105a96117e8565b6020026020010151905060006001600160a01b0316816001600160a01b0316036105e6576040516372bbc80f60e11b815260040160405180910390fd5b5060010161058c565b505b600084815260016020526040902060020154156106a157600084815260016020819052604082206002018054909161062891611814565b81548110610638576106386117e8565b6000918252602090912001546001600160a01b031690506106598186610c87565b600085815260016020526040902060020180548061067957610679611827565b600082815260209020810160001990810180546001600160a01b0319169055019055506105f1565b6000848152600160208190526040822080546001600160a01b0319168155908101829055906106d36002830182611364565b505060405180606001604052806106e73390565b6001600160a01b0390811682524260208084019190915260409283018590526000888152600180835290849020855181546001600160a01b03191694169390931783558482015190830155918301518051919261074c92600285019290910190611382565b5090505060005b81518110156107b45760026000838381518110610772576107726117e8565b6020908102919091018101516001600160a01b031682528181019290925260400160009081208054600181810183559183529290912090910186905501610753565b5050505050565b6000546001600160a01b0316336001600160a01b0316146107ef57604051630ce39a4b60e21b815260040160405180910390fd5b6000818152600160205260409020546001600160a01b0316610824576040516372bbc80f60e11b815260040160405180910390fd5b600081815260016020526040902060020154156108d457600081815260016020819052604082206002018054909161085b91611814565b8154811061086b5761086b6117e8565b6000918252602090912001546001600160a01b0316905061088c8183610c87565b60008281526001602052604090206002018054806108ac576108ac611827565b600082815260209020810160001990810180546001600160a01b031916905501905550610824565b6000818152600160208190526040822080546001600160a01b0319168155908101829055906109066002830182611364565b505050565b6000805460405163418e15c160e11b81526004810186905282916001600160a01b03169063831c2b8290602401600060405180830381865afa158015610955573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261097d9190810190611882565b9050600061098a85610d95565b905060005b826060015151811015610a2c576000836060015182815181106109b4576109b46117e8565b6020026020010151905060005b8351811015610a2257818482815181106109dd576109dd6117e8565b6020026020010151148015610a105750610a10848281518110610a0257610a026117e8565b602002602001015188611055565b15610a1a57600195505b6001016109c1565b505060010161098f565b5050509392505050565b600080610a4284610d95565b905060005b8151811015610a8b57610a73828281518110610a6557610a656117e8565b602002602001015185611055565b15610a8357600192505050610362565b600101610a47565b506000949350505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610b1d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b11600080516020611ac3833981519152546001600160a01b031690565b6001600160a01b031614155b15610b3b5760405163703e46dd60e11b815260040160405180910390fd5b565b6000546001600160a01b0316336001600160a01b031614610b7157604051630ce39a4b60e21b815260040160405180910390fd5b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bce575060408051601f3d908101601f19168201909252610bcb9181019061198a565b60015b610bfb57604051634c9c8ce360e01b81526001600160a01b03831660048201526024015b60405180910390fd5b600080516020611ac38339815191528114610c2c57604051632a87526960e21b815260048101829052602401610bf2565b6109068383611146565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b3b5760405163703e46dd60e11b815260040160405180910390fd5b610b3b61119c565b6001600160a01b0382166000908152600260205260408120905b8154811015610d4c5782828281548110610cbd57610cbd6117e8565b906000526020600020015403610d445781548290610cdd90600190611814565b81548110610ced57610ced6117e8565b9060005260206000200154828281548110610d0a57610d0a6117e8565b906000526020600020018190555081805480610d2857610d28611827565b6001900381819060005260206000200160009055905550505050565b600101610ca1565b5060405162461bcd60e51b815260206004820152601e60248201527f526f6c65204944206e6f7420666f756e6420666f7220746865207573657200006044820152606401610bf2565b60606000805b8351811015610dfb5760026000858381518110610dba57610dba6117e8565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208054905082610df191906119a3565b9150600101610d9b565b50600160005260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054610e3290826119a3565b90506000816001600160401b03811115610e4e57610e4e611489565b604051908082528060200260200182016040528015610e77578160200160208202803683370190505b5090506000805b8551811015610f7957600060026000888481518110610e9f57610e9f6117e8565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610f1157602002820191906000526020600020905b815481526020019060010190808311610efd575b5050505050905060005b8151811015610f6f57818181518110610f3657610f366117e8565b6020026020010151858580610f4a906119b6565b965081518110610f5c57610f5c6117e8565b6020908102919091010152600101610f1b565b5050600101610e7e565b5060016000908152600260209081527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e08054604080518285028101850190915281815292830182828015610fec57602002820191906000526020600020905b815481526020019060010190808311610fd8575b5050505050905060005b815181101561104a57818181518110611011576110116117e8565b6020026020010151848480611025906119b6565b955081518110611037576110376117e8565b6020908102919091010152600101610ff6565b509195945050505050565b6000805460405163b426423360e01b81526004810185905282916001600160a01b03169063b426423390602401600060405180830381865afa15801561109f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110c791908101906119cf565b805190915060005b8181101561113a5760008382815181106110eb576110eb6117e8565b60200260200101516040516020016111039190611a7f565b60405160208183030381529060405261111b90611a9b565b9050858103611131576001945050505050610362565b506001016110cf565b50600095945050505050565b61114f826111e5565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561119457610906828261124a565b6103ec6112c0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610b3b57604051631afcd79f60e31b815260040160405180910390fd5b806001600160a01b03163b60000361121b57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610bf2565b600080516020611ac383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516112679190611a7f565b600060405180830381855af49150503d80600081146112a2576040519150601f19603f3d011682016040523d82523d6000602084013e6112a7565b606091505b50915091506112b78583836112df565b95945050505050565b3415610b3b5760405163b398979f60e01b815260040160405180910390fd5b6060826112f4576112ef8261133b565b61038c565b815115801561130b57506001600160a01b0384163b155b1561133457604051639996b31560e01b81526001600160a01b0385166004820152602401610bf2565b508061038c565b80511561134b5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5080546000825590600052602060002090810190610b7191906113e7565b8280548282559060005260206000209081019282156113d7579160200282015b828111156113d757825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906113a2565b506113e39291506113e7565b5090565b5b808211156113e357600081556001016113e8565b60006020828403121561140e57600080fd5b81356001600160e01b03198116811461038c57600080fd5b60005b83811015611441578181015183820152602001611429565b50506000910152565b60008151808452611462816020860160208601611426565b601f01601f19169290920160200192915050565b60208152600061038c602083018461144a565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156114c1576114c1611489565b60405290565b604051601f8201601f191681016001600160401b03811182821017156114ef576114ef611489565b604052919050565b60006001600160401b0382111561151057611510611489565b5060051b60200190565b80356001600160a01b038116811461153157600080fd5b919050565b600082601f83011261154757600080fd5b8135602061155c611557836114f7565b6114c7565b8083825260208201915060208460051b87010193508684111561157e57600080fd5b602086015b848110156115a1576115948161151a565b8352918301918301611583565b509695505050505050565b6000806000606084860312156115c157600080fd5b8335925060208401356001600160401b038111156115de57600080fd5b6115ea86828701611536565b925050604084013590509250925092565b60006020828403121561160d57600080fd5b5035919050565b60006001600160401b0382111561162d5761162d611489565b50601f01601f191660200190565b6000806040838503121561164e57600080fd5b6116578361151a565b915060208301356001600160401b0381111561167257600080fd5b8301601f8101851361168357600080fd5b803561169161155782611614565b8181528660208385010111156116a657600080fd5b816020840160208301376000602083830101528093505050509250929050565b6000602082840312156116d857600080fd5b61038c8261151a565b6000806000604084860312156116f657600080fd5b8335925060208401356001600160401b038082111561171457600080fd5b818601915086601f83011261172857600080fd5b81358181111561173757600080fd5b87602082850101111561174957600080fd5b6020830194508093505050509250925092565b6020808252825482820181905260008481528281209092916040850190845b818110156117a05783546001600160a01b03168352600193840193928501920161177b565b50909695505050505050565b6000602082840312156117be57600080fd5b81356001600160401b038111156117d457600080fd5b6117e084828501611536565b949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610362576103626117fe565b634e487b7160e01b600052603160045260246000fd5b600082601f83011261184e57600080fd5b815161185c61155782611614565b81815284602083860101111561187157600080fd5b6117e0826020830160208701611426565b6000602080838503121561189557600080fd5b82516001600160401b03808211156118ac57600080fd5b90840190608082870312156118c057600080fd5b6118c861149f565b825181528383015180151581146118de57600080fd5b818501526040830151828111156118f457600080fd5b6119008882860161183d565b60408301525060608301518281111561191857600080fd5b80840193505086601f84011261192d57600080fd5b8251915061193d611557836114f7565b82815260059290921b8301840191848101908884111561195c57600080fd5b938501935b8385101561197a57845182529385019390850190611961565b6060830152509695505050505050565b60006020828403121561199c57600080fd5b5051919050565b80820180821115610362576103626117fe565b6000600182016119c8576119c86117fe565b5060010190565b600060208083850312156119e257600080fd5b82516001600160401b03808211156119f957600080fd5b818501915085601f830112611a0d57600080fd5b8151611a1b611557826114f7565b81815260059190911b83018401908481019088831115611a3a57600080fd5b8585015b83811015611a7257805185811115611a565760008081fd5b611a648b89838a010161183d565b845250918601918601611a3e565b5098975050505050505050565b60008251611a91818460208701611426565b9190910192915050565b80516020808301519190811015611abc576000198160200360031b1b821691505b5091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","sourceMap":"852:8747:211:-:0;;;1171:4:449;1128:48;;1812:47:211;;;;;;;;;-1:-1:-1;1832:22:211;:20;:22::i;:::-;852:8747;;7711:422:448;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:448;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:448;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:448;-1:-1:-1;;;;;8035:33:448;;;;;8087:29;;158:50:654;;;8087:29:448;;146:2:654;131:18;8087:29:448;;;;;;;7981:146;7760:373;7711:422::o;14:200:654:-;852:8747:211;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100dd5760003560e01c806352d1902d1161007f578063ad3cb1cc11610059578063ad3cb1cc146102a0578063c4d66de8146102d1578063ef8be574146102f1578063f0c111f91461031157600080fd5b806352d1902d146102015780636465e69f146102245780637284e4161461025f57600080fd5b80631eee07b2116100bb5780631eee07b2146101805780632e1b61e4146101a057806334322eff146101b45780634f1ef286146101ec57600080fd5b806301ffc9a7146100e257806306fdde03146101175780630cf0b53314610160575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046113fc565b610331565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101536040518060400160405280601081526020016f155cd95c88115b9d1a5d1b195b595b9d60821b81525081565b60405161010e9190611476565b34801561016c57600080fd5b5061010261017b3660046115ac565b610368565b34801561018c57600080fd5b5061015361019b3660046115fb565b610393565b3480156101ac57600080fd5b506000610102565b3480156101c057600080fd5b506000546101d4906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b6101ff6101fa36600461163b565b6103d1565b005b34801561020d57600080fd5b506102166103f0565b60405190815260200161010e565b34801561023057600080fd5b506101536040518060400160405280600f81526020016e155cd95c915b9d1a5d1b195b595b9d608a1b81525081565b34801561026b57600080fd5b5061015360405180604001604052806015815260200174456e7469746c656d656e7420666f7220757365727360581b81525081565b3480156102ac57600080fd5b50610153604051806040016040528060058152602001640352e302e360dc1b81525081565b3480156102dd57600080fd5b506101ff6102ec3660046116c6565b61040d565b3480156102fd57600080fd5b506101ff61030c3660046116e1565b610545565b34801561031d57600080fd5b506101ff61032c3660046115fb565b6107bb565b60006001600160e01b03198216637bc2cb4560e11b148061036257506301ffc9a760e01b6001600160e01b03198316145b92915050565b600083156103825761037b84848461090b565b905061038c565b61037b8383610a36565b9392505050565b6060600160008381526020019081526020016000206002016040516020016103bb919061175c565b6040516020818303038152906040529050919050565b6103d9610a96565b6103e282610b3d565b6103ec8282610b74565b5050565b60006103fa610c36565b50600080516020611ac383398151915290565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156104525750825b90506000826001600160401b0316600114801561046e5750303b155b90508115801561047c575080155b1561049a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156104c457845460ff60401b1916600160401b1785555b6104cc610c7f565b6104d4610c7f565b6104dc610c7f565b600080546001600160a01b0319166001600160a01b038816179055831561053d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6000546001600160a01b0316336001600160a01b03161461057957604051630ce39a4b60e21b815260040160405180910390fd5b6000610587828401846117ac565b905060005b81518110156105ef5760008282815181106105a9576105a96117e8565b6020026020010151905060006001600160a01b0316816001600160a01b0316036105e6576040516372bbc80f60e11b815260040160405180910390fd5b5060010161058c565b505b600084815260016020526040902060020154156106a157600084815260016020819052604082206002018054909161062891611814565b81548110610638576106386117e8565b6000918252602090912001546001600160a01b031690506106598186610c87565b600085815260016020526040902060020180548061067957610679611827565b600082815260209020810160001990810180546001600160a01b0319169055019055506105f1565b6000848152600160208190526040822080546001600160a01b0319168155908101829055906106d36002830182611364565b505060405180606001604052806106e73390565b6001600160a01b0390811682524260208084019190915260409283018590526000888152600180835290849020855181546001600160a01b03191694169390931783558482015190830155918301518051919261074c92600285019290910190611382565b5090505060005b81518110156107b45760026000838381518110610772576107726117e8565b6020908102919091018101516001600160a01b031682528181019290925260400160009081208054600181810183559183529290912090910186905501610753565b5050505050565b6000546001600160a01b0316336001600160a01b0316146107ef57604051630ce39a4b60e21b815260040160405180910390fd5b6000818152600160205260409020546001600160a01b0316610824576040516372bbc80f60e11b815260040160405180910390fd5b600081815260016020526040902060020154156108d457600081815260016020819052604082206002018054909161085b91611814565b8154811061086b5761086b6117e8565b6000918252602090912001546001600160a01b0316905061088c8183610c87565b60008281526001602052604090206002018054806108ac576108ac611827565b600082815260209020810160001990810180546001600160a01b031916905501905550610824565b6000818152600160208190526040822080546001600160a01b0319168155908101829055906109066002830182611364565b505050565b6000805460405163418e15c160e11b81526004810186905282916001600160a01b03169063831c2b8290602401600060405180830381865afa158015610955573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261097d9190810190611882565b9050600061098a85610d95565b905060005b826060015151811015610a2c576000836060015182815181106109b4576109b46117e8565b6020026020010151905060005b8351811015610a2257818482815181106109dd576109dd6117e8565b6020026020010151148015610a105750610a10848281518110610a0257610a026117e8565b602002602001015188611055565b15610a1a57600195505b6001016109c1565b505060010161098f565b5050509392505050565b600080610a4284610d95565b905060005b8151811015610a8b57610a73828281518110610a6557610a656117e8565b602002602001015185611055565b15610a8357600192505050610362565b600101610a47565b506000949350505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610b1d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b11600080516020611ac3833981519152546001600160a01b031690565b6001600160a01b031614155b15610b3b5760405163703e46dd60e11b815260040160405180910390fd5b565b6000546001600160a01b0316336001600160a01b031614610b7157604051630ce39a4b60e21b815260040160405180910390fd5b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bce575060408051601f3d908101601f19168201909252610bcb9181019061198a565b60015b610bfb57604051634c9c8ce360e01b81526001600160a01b03831660048201526024015b60405180910390fd5b600080516020611ac38339815191528114610c2c57604051632a87526960e21b815260048101829052602401610bf2565b6109068383611146565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b3b5760405163703e46dd60e11b815260040160405180910390fd5b610b3b61119c565b6001600160a01b0382166000908152600260205260408120905b8154811015610d4c5782828281548110610cbd57610cbd6117e8565b906000526020600020015403610d445781548290610cdd90600190611814565b81548110610ced57610ced6117e8565b9060005260206000200154828281548110610d0a57610d0a6117e8565b906000526020600020018190555081805480610d2857610d28611827565b6001900381819060005260206000200160009055905550505050565b600101610ca1565b5060405162461bcd60e51b815260206004820152601e60248201527f526f6c65204944206e6f7420666f756e6420666f7220746865207573657200006044820152606401610bf2565b60606000805b8351811015610dfb5760026000858381518110610dba57610dba6117e8565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208054905082610df191906119a3565b9150600101610d9b565b50600160005260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054610e3290826119a3565b90506000816001600160401b03811115610e4e57610e4e611489565b604051908082528060200260200182016040528015610e77578160200160208202803683370190505b5090506000805b8551811015610f7957600060026000888481518110610e9f57610e9f6117e8565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610f1157602002820191906000526020600020905b815481526020019060010190808311610efd575b5050505050905060005b8151811015610f6f57818181518110610f3657610f366117e8565b6020026020010151858580610f4a906119b6565b965081518110610f5c57610f5c6117e8565b6020908102919091010152600101610f1b565b5050600101610e7e565b5060016000908152600260209081527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e08054604080518285028101850190915281815292830182828015610fec57602002820191906000526020600020905b815481526020019060010190808311610fd8575b5050505050905060005b815181101561104a57818181518110611011576110116117e8565b6020026020010151848480611025906119b6565b955081518110611037576110376117e8565b6020908102919091010152600101610ff6565b509195945050505050565b6000805460405163b426423360e01b81526004810185905282916001600160a01b03169063b426423390602401600060405180830381865afa15801561109f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110c791908101906119cf565b805190915060005b8181101561113a5760008382815181106110eb576110eb6117e8565b60200260200101516040516020016111039190611a7f565b60405160208183030381529060405261111b90611a9b565b9050858103611131576001945050505050610362565b506001016110cf565b50600095945050505050565b61114f826111e5565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561119457610906828261124a565b6103ec6112c0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610b3b57604051631afcd79f60e31b815260040160405180910390fd5b806001600160a01b03163b60000361121b57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610bf2565b600080516020611ac383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516112679190611a7f565b600060405180830381855af49150503d80600081146112a2576040519150601f19603f3d011682016040523d82523d6000602084013e6112a7565b606091505b50915091506112b78583836112df565b95945050505050565b3415610b3b5760405163b398979f60e01b815260040160405180910390fd5b6060826112f4576112ef8261133b565b61038c565b815115801561130b57506001600160a01b0384163b155b1561133457604051639996b31560e01b81526001600160a01b0385166004820152602401610bf2565b508061038c565b80511561134b5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5080546000825590600052602060002090810190610b7191906113e7565b8280548282559060005260206000209081019282156113d7579160200282015b828111156113d757825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906113a2565b506113e39291506113e7565b5090565b5b808211156113e357600081556001016113e8565b60006020828403121561140e57600080fd5b81356001600160e01b03198116811461038c57600080fd5b60005b83811015611441578181015183820152602001611429565b50506000910152565b60008151808452611462816020860160208601611426565b601f01601f19169290920160200192915050565b60208152600061038c602083018461144a565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156114c1576114c1611489565b60405290565b604051601f8201601f191681016001600160401b03811182821017156114ef576114ef611489565b604052919050565b60006001600160401b0382111561151057611510611489565b5060051b60200190565b80356001600160a01b038116811461153157600080fd5b919050565b600082601f83011261154757600080fd5b8135602061155c611557836114f7565b6114c7565b8083825260208201915060208460051b87010193508684111561157e57600080fd5b602086015b848110156115a1576115948161151a565b8352918301918301611583565b509695505050505050565b6000806000606084860312156115c157600080fd5b8335925060208401356001600160401b038111156115de57600080fd5b6115ea86828701611536565b925050604084013590509250925092565b60006020828403121561160d57600080fd5b5035919050565b60006001600160401b0382111561162d5761162d611489565b50601f01601f191660200190565b6000806040838503121561164e57600080fd5b6116578361151a565b915060208301356001600160401b0381111561167257600080fd5b8301601f8101851361168357600080fd5b803561169161155782611614565b8181528660208385010111156116a657600080fd5b816020840160208301376000602083830101528093505050509250929050565b6000602082840312156116d857600080fd5b61038c8261151a565b6000806000604084860312156116f657600080fd5b8335925060208401356001600160401b038082111561171457600080fd5b818601915086601f83011261172857600080fd5b81358181111561173757600080fd5b87602082850101111561174957600080fd5b6020830194508093505050509250925092565b6020808252825482820181905260008481528281209092916040850190845b818110156117a05783546001600160a01b03168352600193840193928501920161177b565b50909695505050505050565b6000602082840312156117be57600080fd5b81356001600160401b038111156117d457600080fd5b6117e084828501611536565b949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610362576103626117fe565b634e487b7160e01b600052603160045260246000fd5b600082601f83011261184e57600080fd5b815161185c61155782611614565b81815284602083860101111561187157600080fd5b6117e0826020830160208701611426565b6000602080838503121561189557600080fd5b82516001600160401b03808211156118ac57600080fd5b90840190608082870312156118c057600080fd5b6118c861149f565b825181528383015180151581146118de57600080fd5b818501526040830151828111156118f457600080fd5b6119008882860161183d565b60408301525060608301518281111561191857600080fd5b80840193505086601f84011261192d57600080fd5b8251915061193d611557836114f7565b82815260059290921b8301840191848101908884111561195c57600080fd5b938501935b8385101561197a57845182529385019390850190611961565b6060830152509695505050505050565b60006020828403121561199c57600080fd5b5051919050565b80820180821115610362576103626117fe565b6000600182016119c8576119c86117fe565b5060010190565b600060208083850312156119e257600080fd5b82516001600160401b03808211156119f957600080fd5b818501915085601f830112611a0d57600080fd5b8151611a1b611557826114f7565b81815260059190911b83018401908481019088831115611a3a57600080fd5b8585015b83811015611a7257805185811115611a565760008081fd5b611a648b89838a010161183d565b845250918601918601611a3e565b5098975050505050505050565b60008251611a91818460208701611426565b9190910192915050565b80516020808301519190811015611abc576000198160200360031b1b821691505b5091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","sourceMap":"852:8747:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2260:214;;;;;;;;;;-1:-1:-1;2260:214:211;;;;;:::i;:::-;;:::i;:::-;;;470:14:654;;463:22;445:41;;433:2;418:18;2260:214:211;;;;;;;;1463:48;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1463:48:211;;;;;;;;;;;;:::i;2627:379::-;;;;;;;;;;-1:-1:-1;2627:379:211;;;;;:::i;:::-;;:::i;4592:161::-;;;;;;;;;;-1:-1:-1;4592:161:211;;;;;:::i;:::-;;:::i;2508:85::-;;;;;;;;;;-1:-1:-1;2564:4:211;2508:85;;1082:28;;;;;;;;;;-1:-1:-1;1082:28:211;;;;-1:-1:-1;;;;;1082:28:211;;;;;;-1:-1:-1;;;;;4029:32:654;;;4011:51;;3999:2;3984:18;1082:28:211;3865:203:654;4161:214:449;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;:::-;;;5160:25:654;;;5148:2;5133:18;3708:134:449;5014:177:654;1579:53:211;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1579:53:211;;;;;1515:60;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1515:60:211;;;;;1819:58:449;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:449;;;;;1863:162:211;;;;;;;;;;-1:-1:-1;1863:162:211;;;;;:::i;:::-;;:::i;3040:949::-;;;;;;;;;;-1:-1:-1;3040:949:211;;;;;:::i;:::-;;:::i;4023:535::-;;;;;;;;;;-1:-1:-1;4023:535:211;;;;;:::i;:::-;;:::i;2260:214::-;2353:4;-1:-1:-1;;;;;;2378:45:211;;-1:-1:-1;;;2378:45:211;;:91;;-1:-1:-1;;;;;;;;;;1134:40:451;;;2433:36:211;2365:104;2260:214;-1:-1:-1;;2260:214:211:o;2627:379::-;2751:4;2836:23;;2832:170;;2876:52;2897:9;2908:7;2917:10;2876:20;:52::i;:::-;2869:59;;;;2832:170;2956:39;2975:7;2984:10;2956:18;:39::i;2832:170::-;2627:379;;;;;:::o;4592:161::-;4675:12;4713:20;:28;4734:6;4713:28;;;;;;;;;;;:34;;4702:46;;;;;;;;:::i;:::-;;;;;;;;;;;;;4695:53;;4592:161;;;:::o;4161:214:449:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:449;:::o;1863:162:211:-;8870:21:448;4302:15;;-1:-1:-1;;;4302:15:448;;;;4301:16;;-1:-1:-1;;;;;4348:14:448;4158:30;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:448;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:448;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:448;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;4951:18:448;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:448;-1:-1:-1;;;5013:22:448;;;4979:67;1924:24:211::1;:22;:24::i;:::-;1954:15;:13;:15::i;:::-;1975:16;:14;:16::i;:::-;1998:13;:22:::0;;-1:-1:-1;;;;;;1998:22:211::1;-1:-1:-1::0;;;;;1998:22:211;::::1;;::::0;;5066:101:448;;;;5100:23;;-1:-1:-1;;;;5100:23:448;;;5142:14;;-1:-1:-1;6890:50:654;;5142:14:448;;6878:2:654;6863:18;5142:14:448;;;;;;;5066:101;4092:1081;;;;;1863:162:211;:::o;3040:949::-;1684:13;;-1:-1:-1;;;;;1684:13:211;966:10:450;-1:-1:-1;;;;;1668:29:211;;1664:82;;1714:25;;-1:-1:-1;;;1714:25:211;;;;;;;;;;;1664:82;3149:22:::1;3174:40;::::0;;::::1;3185:15:::0;3174:40:::1;:::i;:::-;3149:65;;3226:9;3221:165;3245:5;:12;3241:1;:16;3221:165;;;3272:12;3287:5;3293:1;3287:8;;;;;;;;:::i;:::-;;;;;;;3272:23;;3323:1;-1:-1:-1::0;;;;;3307:18:211::1;:4;-1:-1:-1::0;;;;;3307:18:211::1;::::0;3303:77:::1;;3344:27;;-1:-1:-1::0;;;3344:27:211::1;;;;;;;;;;;3303:77;-1:-1:-1::0;3259:3:211::1;;3221:165;;;;3429:272;3480:1;3436:28:::0;;;:20:::1;:28;::::0;;;;:34:::1;;:41:::0;:45;3429:272:::1;;3491:12;3506:28:::0;;;:20:::1;:28;::::0;;;;;;:34:::1;;3550:41:::0;;3506:34;;3550:45:::1;::::0;::::1;:::i;:::-;3506:97;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;3506:97:211::1;::::0;-1:-1:-1;3611:35:211::1;3506:97:::0;3639:6;3611:21:::1;:35::i;:::-;3654:28;::::0;;;:20:::1;:28;::::0;;;;:34:::1;;:40:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;3654:40:211;;;;;-1:-1:-1;;;;;;3654:40:211::1;::::0;;;;;-1:-1:-1;3429:272:211::1;;;3713:28;::::0;;;:20:::1;:28;::::0;;;;;;3706:35;;-1:-1:-1;;;;;;3706:35:211::1;::::0;;;;::::1;::::0;;;3713:28;3706:35:::1;;::::0;::::1;3713:28:::0;3706:35:::1;:::i;:::-;;;3779:106;;;;;;;;3810:12;966:10:450::0;;887:96;3810:12:211::1;-1:-1:-1::0;;;;;3779:106:211;;::::1;::::0;;3843:15:::1;3779:106;::::0;;::::1;::::0;;;;;;;;;;;-1:-1:-1;3748:28:211;;;:20:::1;:28:::0;;;;;;;:137;;;;-1:-1:-1;;;;;;3748:137:211::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;:28;;:137:::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;;;;;3896:9;3891:94;3915:5;:12;3911:1;:16;3891:94;;;3942:13;:23;3956:5;3962:1;3956:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;3942:23:211::1;::::0;;;;::::1;::::0;;;;;;-1:-1:-1;3942:23:211;;;:36;;::::1;::::0;;::::1;::::0;;;;;;;;;;;::::1;::::0;;;3929:3:::1;3891:94;;;;3143:846;3040:949:::0;;;:::o;4023:535::-;1684:13;;-1:-1:-1;;;;;1684:13:211;966:10:450;-1:-1:-1;;;;;1668:29:211;;1664:82;;1714:25;;-1:-1:-1;;;1714:25:211;;;;;;;;;;;1664:82;4145:1:::1;4095:28:::0;;;:20:::1;:28;::::0;;;;:38;-1:-1:-1;;;;;4095:38:211::1;4091:107;;4164:27;;-1:-1:-1::0;;;4164:27:211::1;;;;;;;;;;;4091:107;4292:1;4248:28:::0;;;:20:::1;:28;::::0;;;;:34:::1;;:41:::0;:45;4241:272:::1;;4303:12;4318:28:::0;;;:20:::1;:28;::::0;;;;;;:34:::1;;4362:41:::0;;4318:34;;4362:45:::1;::::0;::::1;:::i;:::-;4318:97;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;4318:97:211::1;::::0;-1:-1:-1;4423:35:211::1;4318:97:::0;4451:6;4423:21:::1;:35::i;:::-;4466:28;::::0;;;:20:::1;:28;::::0;;;;:34:::1;;:40:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;4466:40:211;;;;;-1:-1:-1;;;;;;4466:40:211::1;::::0;;;;;-1:-1:-1;4241:272:211::1;;;4525:28;::::0;;;:20:::1;:28;::::0;;;;;;4518:35;;-1:-1:-1;;;;;;4518:35:211::1;::::0;;;;::::1;::::0;;;4525:28;4518:35:::1;;::::0;::::1;4525:28:::0;4518:35:::1;:::i;:::-;;;4023:535:::0;:::o;5049:939::-;5183:14;5248:13;;5239:57;;-1:-1:-1;;;5239:57:211;;;;;5160:25:654;;;5183:14:211;;-1:-1:-1;;;;;5248:13:211;;5239:34;;5133:18:654;;5239:57:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5239:57:211;;;;;;;;;;;;:::i;:::-;5205:91;;5343:25;5371:26;5389:7;5371:17;:26::i;:::-;5343:54;;5452:9;5447:537;5471:7;:15;;;:22;5467:1;:26;5447:537;;;5534:14;5551:7;:15;;;5567:1;5551:18;;;;;;;;:::i;:::-;;;;;;;5534:35;;5629:9;5624:354;5648:8;:15;5644:1;:19;5624:354;;;5852:6;5837:8;5846:1;5837:11;;;;;;;;:::i;:::-;;;;;;;:21;:83;;;;;5872:48;5896:8;5905:1;5896:11;;;;;;;;:::i;:::-;;;;;;;5909:10;5872:23;:48::i;:::-;5822:148;;;5955:4;5943:16;;5822:148;5665:3;;5624:354;;;-1:-1:-1;;5495:3:211;;5447:537;;;;5199:789;;5049:939;;;;;:::o;7362:389::-;7471:4;7523:25;7551:26;7569:7;7551:17;:26::i;:::-;7523:54;;7589:9;7584:144;7608:8;:15;7604:1;:19;7584:144;;;7642:48;7666:8;7675:1;7666:11;;;;;;;;:::i;:::-;;;;;;;7679:10;7642:23;:48::i;:::-;7638:84;;;7709:4;7702:11;;;;;;7638:84;7625:3;;7584:144;;;-1:-1:-1;7741:5:211;;7362:389;-1:-1:-1;;;;7362:389:211:o;4603:312:449:-;4683:4;-1:-1:-1;;;;;4692:6:449;4675:23;;;:120;;;4789:6;-1:-1:-1;;;;;4753:42:449;:32;-1:-1:-1;;;;;;;;;;;1519:53:466;-1:-1:-1;;;;;1519:53:466;;1441:138;4753:32:449;-1:-1:-1;;;;;4753:42:449;;;4675:120;4658:251;;;4869:29;;-1:-1:-1;;;4869:29:449;;;;;;;;;;;4658:251;4603:312::o;2164:92:211:-;1684:13;;-1:-1:-1;;;;;1684:13:211;966:10:450;-1:-1:-1;;;;;1668:29:211;;1664:82;;1714:25;;-1:-1:-1;;;1714:25:211;;;;;;;;;;;1664:82;2164:92;:::o;6057:538:449:-;6174:17;-1:-1:-1;;;;;6156:50:449;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6156:52:449;;;;;;;;-1:-1:-1;;6156:52:449;;;;;;;;;;;;:::i;:::-;;;6152:437;;6518:60;;-1:-1:-1;;;6518:60:449;;-1:-1:-1;;;;;4029:32:654;;6518:60:449;;;4011:51:654;3984:18;;6518:60:449;;;;;;;;6152:437;-1:-1:-1;;;;;;;;;;;6250:40:449;;6246:120;;6317:34;;-1:-1:-1;;;6317:34:449;;;;;5160:25:654;;;5133:18;;6317:34:449;5014:177:654;6246:120:449;6379:54;6409:17;6428:4;6379:29;:54::i;5032:213::-;5106:4;-1:-1:-1;;;;;5115:6:449;5098:23;;5094:145;;5199:29;;-1:-1:-1;;;5199:29:449;;;;;;;;;;;2970:67;6931:20:448;:18;:20::i;8969:400:211:-;-1:-1:-1;;;;;9071:19:211;;9045:23;9071:19;;;:13;:19;;;;;;9096:171;9120:12;;9116:16;;9096:171;;;9163:6;9151:5;9157:1;9151:8;;;;;;;;:::i;:::-;;;;;;;;;:18;9147:114;;9198:12;;9192:5;;9198:16;;9213:1;;9198:16;:::i;:::-;9192:23;;;;;;;;:::i;:::-;;;;;;;;;9181:5;9187:1;9181:8;;;;;;;;:::i;:::-;;;;;;;;:34;;;;9225:5;:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9246:7;;8969:400;;:::o;9147:114::-;9134:3;;9096:171;;;-1:-1:-1;9324:40:211;;-1:-1:-1;;;9324:40:211;;10206:2:654;9324:40:211;;;10188:21:654;10245:2;10225:18;;;10218:30;10284:32;10264:18;;;10257:60;10334:18;;9324:40:211;10004:354:654;6178:954:211;6262:16;6286:19;6351:9;6346:107;6370:7;:14;6366:1;:18;6346:107;;;6414:13;:25;6428:7;6436:1;6428:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6414:25:211;-1:-1:-1;;;;;6414:25:211;;;;;;;;;;;;:32;;;;6399:47;;;;;:::i;:::-;;-1:-1:-1;6386:3:211;;6346:107;;;-1:-1:-1;1076:1:211;6474:31;;:13;:31;;;:38;6459:53;;;;:::i;:::-;;;6560:22;6599:11;-1:-1:-1;;;;;6585:26:211;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6585:26:211;;6560:51;;6617:20;6685:9;6680:238;6704:7;:14;6700:1;:18;6680:238;;;6733:31;6767:13;:25;6781:7;6789:1;6781:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6767:25:211;-1:-1:-1;;;;;6767:25:211;;;;;;;;;;;;6733:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6805:9;6800:112;6824:14;:21;6820:1;:25;6800:112;;;6886:14;6901:1;6886:17;;;;;;;;:::i;:::-;;;;;;;6862:5;6868:14;;;;;:::i;:::-;;;6862:21;;;;;;;;:::i;:::-;;;;;;;;;;:41;6847:3;;6800:112;;;-1:-1:-1;;6720:3:211;;6680:238;;;-1:-1:-1;1076:1:211;6924:33;6960:31;;;:13;:31;;;;;6924:67;;6960:31;6924:67;;;;;;;;;;;;;;;;;;6960:31;6924:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7002:9;6997:112;7021:16;:23;7017:1;:27;6997:112;;;7083:16;7100:1;7083:19;;;;;;;;:::i;:::-;;;;;;;7059:5;7065:14;;;;;:::i;:::-;;;7059:21;;;;;;;;:::i;:::-;;;;;;;;;;:43;7046:3;;6997:112;;;-1:-1:-1;7122:5:211;;6178:954;-1:-1:-1;;;;;6178:954:211:o;7968:486::-;8072:4;8121:13;;8114:64;;-1:-1:-1;;;8114:64:211;;;;;5160:25:654;;;8072:4:211;;-1:-1:-1;;;;;8121:13:211;;8114:44;;5133:18:654;;8114:64:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8114:64:211;;;;;;;;;;;;:::i;:::-;8208:18;;8084:94;;-1:-1:-1;8184:21:211;8233:198;8257:13;8253:1;:17;8233:198;;;8285:23;8336:11;8348:1;8336:14;;;;;;;;:::i;:::-;;;;;;;8319:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;8311:41;;;:::i;:::-;8285:67;;8383:10;8364:15;:29;8360:65;;8412:4;8405:11;;;;;;;;8360:65;-1:-1:-1;8272:3:211;;8233:198;;;-1:-1:-1;8444:5:211;;7968:486;-1:-1:-1;;;;;7968:486:211:o;2264:344:466:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:466;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7084:141:448:-;8870:21;8560:40;-1:-1:-1;;;8560:40:448;;;;7146:73;;7191:17;;-1:-1:-1;;;7191:17:448;;;;;;;;;;;1671:281:466;1748:17;-1:-1:-1;;;;;1748:29:466;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:466;;-1:-1:-1;;;;;4029:32:654;;1805:47:466;;;4011:51:654;3984:18;;1805:47:466;3865:203:654;1744:119:466;-1:-1:-1;;;;;;;;;;;1872:73:466;;-1:-1:-1;;;;;;1872:73:466;-1:-1:-1;;;;;1872:73:466;;;;;;;;;;1671:281::o;3900:253:487:-;3983:12;4008;4022:23;4049:6;-1:-1:-1;;;;;4049:19:487;4069:4;4049:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4007:67;;;;4091:55;4118:6;4126:7;4135:10;4091:26;:55::i;:::-;4084:62;3900:253;-1:-1:-1;;;;;3900:253:487:o;6113:122:466:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:466;;;;;;;;;;;4421:582:487;4565:12;4594:7;4589:408;;4617:19;4625:10;4617:7;:19::i;:::-;4589:408;;;4841:17;;:22;:49;;;;-1:-1:-1;;;;;;4867:18:487;;;:23;4841:49;4837:119;;;4917:24;;-1:-1:-1;;;4917:24:487;;-1:-1:-1;;;;;4029:32:654;;4917:24:487;;;4011:51:654;3984:18;;4917:24:487;3865:203:654;4837:119:487;-1:-1:-1;4976:10:487;4969:17;;5543:487;5674:17;;:21;5670:354;;5871:10;5865:17;5927:15;5914:10;5910:2;5906:19;5899:44;5670:354;5994:19;;-1:-1:-1;;;5994:19:487;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:286:654;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:654;;209:43;;199:71;;266:1;263;256:12;497:250;582:1;592:113;606:6;603:1;600:13;592:113;;;682:11;;;676:18;663:11;;;656:39;628:2;621:10;592:113;;;-1:-1:-1;;739:1:654;721:16;;714:27;497:250::o;752:271::-;794:3;832:5;826:12;859:6;854:3;847:19;875:76;944:6;937:4;932:3;928:14;921:4;914:5;910:16;875:76;:::i;:::-;1005:2;984:15;-1:-1:-1;;980:29:654;971:39;;;;1012:4;967:50;;752:271;-1:-1:-1;;752:271:654:o;1028:220::-;1177:2;1166:9;1159:21;1140:4;1197:45;1238:2;1227:9;1223:18;1215:6;1197:45;:::i;1253:127::-;1314:10;1309:3;1305:20;1302:1;1295:31;1345:4;1342:1;1335:15;1369:4;1366:1;1359:15;1385:253;1457:2;1451:9;1499:4;1487:17;;-1:-1:-1;;;;;1519:34:654;;1555:22;;;1516:62;1513:88;;;1581:18;;:::i;:::-;1617:2;1610:22;1385:253;:::o;1643:275::-;1714:2;1708:9;1779:2;1760:13;;-1:-1:-1;;1756:27:654;1744:40;;-1:-1:-1;;;;;1799:34:654;;1835:22;;;1796:62;1793:88;;;1861:18;;:::i;:::-;1897:2;1890:22;1643:275;;-1:-1:-1;1643:275:654:o;1923:183::-;1983:4;-1:-1:-1;;;;;2008:6:654;2005:30;2002:56;;;2038:18;;:::i;:::-;-1:-1:-1;2083:1:654;2079:14;2095:4;2075:25;;1923:183::o;2111:173::-;2179:20;;-1:-1:-1;;;;;2228:31:654;;2218:42;;2208:70;;2274:1;2271;2264:12;2208:70;2111:173;;;:::o;2289:674::-;2343:5;2396:3;2389:4;2381:6;2377:17;2373:27;2363:55;;2414:1;2411;2404:12;2363:55;2450:6;2437:20;2476:4;2500:60;2516:43;2556:2;2516:43;:::i;:::-;2500:60;:::i;:::-;2582:3;2606:2;2601:3;2594:15;2634:4;2629:3;2625:14;2618:21;;2691:4;2685:2;2682:1;2678:10;2670:6;2666:23;2662:34;2648:48;;2719:3;2711:6;2708:15;2705:35;;;2736:1;2733;2726:12;2705:35;2772:4;2764:6;2760:17;2786:148;2802:6;2797:3;2794:15;2786:148;;;2868:23;2887:3;2868:23;:::i;:::-;2856:36;;2912:12;;;;2819;;2786:148;;;-1:-1:-1;2952:5:654;2289:674;-1:-1:-1;;;;;;2289:674:654:o;2968:484::-;3070:6;3078;3086;3139:2;3127:9;3118:7;3114:23;3110:32;3107:52;;;3155:1;3152;3145:12;3107:52;3191:9;3178:23;3168:33;;3252:2;3241:9;3237:18;3224:32;-1:-1:-1;;;;;3271:6:654;3268:30;3265:50;;;3311:1;3308;3301:12;3265:50;3334:61;3387:7;3378:6;3367:9;3363:22;3334:61;:::i;:::-;3324:71;;;3442:2;3431:9;3427:18;3414:32;3404:42;;2968:484;;;;;:::o;3457:180::-;3516:6;3569:2;3557:9;3548:7;3544:23;3540:32;3537:52;;;3585:1;3582;3575:12;3537:52;-1:-1:-1;3608:23:654;;3457:180;-1:-1:-1;3457:180:654:o;4073:186::-;4121:4;-1:-1:-1;;;;;4146:6:654;4143:30;4140:56;;;4176:18;;:::i;:::-;-1:-1:-1;4242:2:654;4221:15;-1:-1:-1;;4217:29:654;4248:4;4213:40;;4073:186::o;4264:745::-;4341:6;4349;4402:2;4390:9;4381:7;4377:23;4373:32;4370:52;;;4418:1;4415;4408:12;4370:52;4441:29;4460:9;4441:29;:::i;:::-;4431:39;;4521:2;4510:9;4506:18;4493:32;-1:-1:-1;;;;;4540:6:654;4537:30;4534:50;;;4580:1;4577;4570:12;4534:50;4603:22;;4656:4;4648:13;;4644:27;-1:-1:-1;4634:55:654;;4685:1;4682;4675:12;4634:55;4721:2;4708:16;4746:48;4762:31;4790:2;4762:31;:::i;4746:48::-;4817:2;4810:5;4803:17;4857:7;4852:2;4847;4843;4839:11;4835:20;4832:33;4829:53;;;4878:1;4875;4868:12;4829:53;4933:2;4928;4924;4920:11;4915:2;4908:5;4904:14;4891:45;4977:1;4972:2;4967;4960:5;4956:14;4952:23;4945:34;4998:5;4988:15;;;;;4264:745;;;;;:::o;5196:186::-;5255:6;5308:2;5296:9;5287:7;5283:23;5279:32;5276:52;;;5324:1;5321;5314:12;5276:52;5347:29;5366:9;5347:29;:::i;5387:659::-;5466:6;5474;5482;5535:2;5523:9;5514:7;5510:23;5506:32;5503:52;;;5551:1;5548;5541:12;5503:52;5587:9;5574:23;5564:33;;5648:2;5637:9;5633:18;5620:32;-1:-1:-1;;;;;5712:2:654;5704:6;5701:14;5698:34;;;5728:1;5725;5718:12;5698:34;5766:6;5755:9;5751:22;5741:32;;5811:7;5804:4;5800:2;5796:13;5792:27;5782:55;;5833:1;5830;5823:12;5782:55;5873:2;5860:16;5899:2;5891:6;5888:14;5885:34;;;5915:1;5912;5905:12;5885:34;5960:7;5955:2;5946:6;5942:2;5938:15;5934:24;5931:37;5928:57;;;5981:1;5978;5971:12;5928:57;6012:2;6008;6004:11;5994:21;;6034:6;6024:16;;;;;5387:659;;;;;:::o;6051:681::-;6219:2;6271:21;;;6341:13;;6244:18;;;6363:22;;;6190:4;6428:17;;;6468:16;;;6190:4;;6219:2;6416;6401:18;;;6190:4;6512:194;6526:6;6523:1;6520:13;6512:194;;;6591:13;;-1:-1:-1;;;;;6587:39:654;6575:52;;6623:1;6682:14;;;;6647:12;;;;6541:9;6512:194;;;-1:-1:-1;6723:3:654;;6051:681;-1:-1:-1;;;;;;6051:681:654:o;6951:348::-;7035:6;7088:2;7076:9;7067:7;7063:23;7059:32;7056:52;;;7104:1;7101;7094:12;7056:52;7144:9;7131:23;-1:-1:-1;;;;;7169:6:654;7166:30;7163:50;;;7209:1;7206;7199:12;7163:50;7232:61;7285:7;7276:6;7265:9;7261:22;7232:61;:::i;:::-;7222:71;6951:348;-1:-1:-1;;;;6951:348:654:o;7304:127::-;7365:10;7360:3;7356:20;7353:1;7346:31;7396:4;7393:1;7386:15;7420:4;7417:1;7410:15;7436:127;7497:10;7492:3;7488:20;7485:1;7478:31;7528:4;7525:1;7518:15;7552:4;7549:1;7542:15;7568:128;7635:9;;;7656:11;;;7653:37;;;7670:18;;:::i;7701:127::-;7762:10;7757:3;7753:20;7750:1;7743:31;7793:4;7790:1;7783:15;7817:4;7814:1;7807:15;7833:442;7887:5;7940:3;7933:4;7925:6;7921:17;7917:27;7907:55;;7958:1;7955;7948:12;7907:55;7987:6;7981:13;8018:48;8034:31;8062:2;8034:31;:::i;8018:48::-;8091:2;8082:7;8075:19;8137:3;8130:4;8125:2;8117:6;8113:15;8109:26;8106:35;8103:55;;;8154:1;8151;8144:12;8103:55;8167:77;8241:2;8234:4;8225:7;8221:18;8214:4;8206:6;8202:17;8167:77;:::i;8280:1530::-;8376:6;8407:2;8450;8438:9;8429:7;8425:23;8421:32;8418:52;;;8466:1;8463;8456:12;8418:52;8499:9;8493:16;-1:-1:-1;;;;;8569:2:654;8561:6;8558:14;8555:34;;;8585:1;8582;8575:12;8555:34;8608:22;;;;8664:4;8646:16;;;8642:27;8639:47;;;8682:1;8679;8672:12;8639:47;8708:22;;:::i;:::-;8759:2;8753:9;8746:5;8739:24;8801:2;8797;8793:11;8787:18;8850:7;8843:15;8836:23;8827:7;8824:36;8814:64;;8874:1;8871;8864:12;8814:64;8894:14;;;8887:31;8957:2;8949:11;;8943:18;8973:16;;;8970:36;;;9002:1;8999;8992:12;8970:36;9038:56;9086:7;9075:8;9071:2;9067:17;9038:56;:::i;:::-;9033:2;9026:5;9022:14;9015:80;;9134:2;9130;9126:11;9120:18;9163:2;9153:8;9150:16;9147:36;;;9179:1;9176;9169:12;9147:36;9210:8;9206:2;9202:17;9192:27;;;9257:7;9250:4;9246:2;9242:13;9238:27;9228:55;;9279:1;9276;9269:12;9228:55;9308:2;9302:9;9292:19;;9331:60;9347:43;9387:2;9347:43;:::i;9331:60::-;9425:15;;;9507:1;9503:10;;;;9495:19;;9491:28;;;9456:12;;;;9531:19;;;9528:39;;;9563:1;9560;9553:12;9528:39;9587:11;;;;9607:135;9623:6;9618:3;9615:15;9607:135;;;9689:10;;9677:23;;9640:12;;;;9720;;;;9607:135;;;9769:2;9758:14;;9751:29;-1:-1:-1;9762:5:654;8280:1530;-1:-1:-1;;;;;;8280:1530:654:o;9815:184::-;9885:6;9938:2;9926:9;9917:7;9913:23;9909:32;9906:52;;;9954:1;9951;9944:12;9906:52;-1:-1:-1;9977:16:654;;9815:184;-1:-1:-1;9815:184:654:o;10363:125::-;10428:9;;;10449:10;;;10446:36;;;10462:18;;:::i;10493:135::-;10532:3;10553:17;;;10550:43;;10573:18;;:::i;:::-;-1:-1:-1;10620:1:654;10609:13;;10493:135::o;10815:1134::-;10920:6;10951:2;10994;10982:9;10973:7;10969:23;10965:32;10962:52;;;11010:1;11007;11000:12;10962:52;11043:9;11037:16;-1:-1:-1;;;;;11113:2:654;11105:6;11102:14;11099:34;;;11129:1;11126;11119:12;11099:34;11167:6;11156:9;11152:22;11142:32;;11212:7;11205:4;11201:2;11197:13;11193:27;11183:55;;11234:1;11231;11224:12;11183:55;11263:2;11257:9;11286:60;11302:43;11342:2;11302:43;:::i;11286:60::-;11380:15;;;11462:1;11458:10;;;;11450:19;;11446:28;;;11411:12;;;;11486:19;;;11483:39;;;11518:1;11515;11508:12;11483:39;11550:2;11546;11542:11;11562:357;11578:6;11573:3;11570:15;11562:357;;;11657:3;11651:10;11693:2;11680:11;11677:19;11674:109;;;11737:1;11766:2;11762;11755:14;11674:109;11808:68;11868:7;11863:2;11849:11;11845:2;11841:20;11837:29;11808:68;:::i;:::-;11796:81;;-1:-1:-1;11897:12:654;;;;11595;;11562:357;;;-1:-1:-1;11938:5:654;10815:1134;-1:-1:-1;;;;;;;;10815:1134:654:o;11954:289::-;12085:3;12123:6;12117:13;12139:66;12198:6;12193:3;12186:4;12178:6;12174:17;12139:66;:::i;:::-;12221:16;;;;;11954:289;-1:-1:-1;;11954:289:654:o;12248:297::-;12366:12;;12413:4;12402:16;;;12396:23;;12366:12;12431:16;;12428:111;;;12525:1;12521:6;12511;12505:4;12501:17;12498:1;12494:25;12490:38;12483:5;12479:50;12470:59;;12428:111;;12248:297;;;:::o","linkReferences":{},"immutableReferences":{"127127":[{"start":2721,"length":32},{"start":2762,"length":32},{"start":3137,"length":32}]}},"methodIdentifiers":{"SPACE_ADDRESS()":"34322eff","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","description()":"7284e416","getEntitlementDataByRoleId(uint256)":"1eee07b2","initialize(address)":"c4d66de8","isCrosschain()":"2e1b61e4","isEntitled(bytes32,address[],bytes32)":"0cf0b533","moduleType()":"6465e69f","name()":"06fdde03","proxiableUUID()":"52d1902d","removeEntitlement(uint256)":"f0c111f9","setEntitlement(uint256,bytes)":"ef8be574","supportsInterface(bytes4)":"01ffc9a7","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__ValueAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"SPACE_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"getEntitlementDataByRoleId\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_space\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isCrosschain\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"},{\"internalType\":\"bytes32\",\"name\":\"permission\",\"type\":\"bytes32\"}],\"name\":\"isEntitled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moduleType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"removeEntitlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"entitlementData\",\"type\":\"bytes\"}],\"name\":\"setEntitlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getEntitlementDataByRoleId(uint256)\":{\"params\":{\"roleId\":\"the roleId to fetch the entitlement data for\"},\"returns\":{\"_0\":\"entitlementData array for the role\"}},\"isCrosschain()\":{\"returns\":{\"_0\":\"whether this entitlement will require crosschain evaluation\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeEntitlement(uint256)\":{\"params\":{\"roleId\":\"id of the role to remove\"}},\"setEntitlement(uint256,bytes)\":{\"params\":{\"entitlementData\":\"abi encoded array of data necessary to set the entitlement\",\"roleId\":\"id of the role to gate\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Added to allow future versions to add new variables in case this contract becomes inherited. See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"description()\":{\"notice\":\"The description of the entitlement module\"},\"getEntitlementDataByRoleId(uint256)\":{\"notice\":\"fetches the entitlement data for a roleId\"},\"isCrosschain()\":{\"notice\":\"some entitlements require cross chain evaluation and may not be executed directly from other contracts\"},\"moduleType()\":{\"notice\":\"The type of the entitlement module\"},\"name()\":{\"notice\":\"The name of the entitlement module\"},\"removeEntitlement(uint256)\":{\"notice\":\"removes an entitlement\"},\"setEntitlement(uint256,bytes)\":{\"notice\":\"sets a new entitlement\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/spaces/entitlements/user/UserEntitlement.sol\":\"UserEntitlement\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/entitlements/user/IUserEntitlement.sol\":{\"keccak256\":\"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a\",\"dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx\"]},\"contracts/src/spaces/entitlements/user/UserEntitlement.sol\":{\"keccak256\":\"0xb210baad6226d8405366b141e9c6b12b4400d2cdff64020c147ba23001d5e9ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9c3b3a9c763326aebccc932be913229f50c32136b90ce34b5900d7d87f0ce57\",\"dweb:/ipfs/Qmc4pzjGhSFgPu2oLvuiqUmphzvkv73rbG72fqWA4Wcx2Q\"]},\"contracts/src/spaces/facets/channels/IChannel.sol\":{\"keccak256\":\"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9\",\"dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA\"]},\"contracts/src/spaces/facets/roles/IRoles.sol\":{\"keccak256\":\"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed\",\"dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"Entitlement__InvalidValue"},{"inputs":[],"type":"error","name":"Entitlement__NotAllowed"},{"inputs":[],"type":"error","name":"Entitlement__NotMember"},{"inputs":[],"type":"error","name":"Entitlement__ValueAlreadyExists"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"SPACE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"description","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getEntitlementDataByRoleId","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"_space","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"pure","type":"function","name":"isCrosschain","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"channelId","type":"bytes32"},{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bytes32","name":"permission","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isEntitled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"moduleType","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeEntitlement"},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"},{"internalType":"bytes","name":"entitlementData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setEntitlement"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"constructor":{"custom:oz-upgrades-unsafe-allow":"constructor"},"getEntitlementDataByRoleId(uint256)":{"params":{"roleId":"the roleId to fetch the entitlement data for"},"returns":{"_0":"entitlementData array for the role"}},"isCrosschain()":{"returns":{"_0":"whether this entitlement will require crosschain evaluation"}},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"removeEntitlement(uint256)":{"params":{"roleId":"id of the role to remove"}},"setEntitlement(uint256,bytes)":{"params":{"entitlementData":"abi encoded array of data necessary to set the entitlement","roleId":"id of the role to gate"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"description()":{"notice":"The description of the entitlement module"},"getEntitlementDataByRoleId(uint256)":{"notice":"fetches the entitlement data for a roleId"},"isCrosschain()":{"notice":"some entitlements require cross chain evaluation and may not be executed directly from other contracts"},"moduleType()":{"notice":"The type of the entitlement module"},"name()":{"notice":"The name of the entitlement module"},"removeEntitlement(uint256)":{"notice":"removes an entitlement"},"setEntitlement(uint256,bytes)":{"notice":"sets a new entitlement"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/spaces/entitlements/user/UserEntitlement.sol":"UserEntitlement"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/entitlements/user/IUserEntitlement.sol":{"keccak256":"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9","urls":["bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a","dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx"],"license":"MIT"},"contracts/src/spaces/entitlements/user/UserEntitlement.sol":{"keccak256":"0xb210baad6226d8405366b141e9c6b12b4400d2cdff64020c147ba23001d5e9ea","urls":["bzz-raw://e9c3b3a9c763326aebccc932be913229f50c32136b90ce34b5900d7d87f0ce57","dweb:/ipfs/Qmc4pzjGhSFgPu2oLvuiqUmphzvkv73rbG72fqWA4Wcx2Q"],"license":"MIT"},"contracts/src/spaces/facets/channels/IChannel.sol":{"keccak256":"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e","urls":["bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9","dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA"],"license":"MIT"},"contracts/src/spaces/facets/roles/IRoles.sol":{"keccak256":"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65","urls":["bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed","dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27","urls":["bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e","dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"}},"version":1},"id":211} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"SPACE_ADDRESS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"description","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getEntitlementDataByRoleId","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_space","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCrosschain","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"isEntitled","inputs":[{"name":"channelId","type":"bytes32","internalType":"bytes32"},{"name":"wallets","type":"address[]","internalType":"address[]"},{"name":"permission","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"moduleType","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeEntitlement","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEntitlement","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"},{"name":"entitlementData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"Entitlement__InvalidValue","inputs":[]},{"type":"error","name":"Entitlement__NotAllowed","inputs":[]},{"type":"error","name":"Entitlement__NotMember","inputs":[]},{"type":"error","name":"Entitlement__ValueAlreadyExists","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611ae36100fd60003960008181610aa101528181610aca0152610c410152611ae36000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063ad3cb1cc11610059578063ad3cb1cc146102a0578063c4d66de8146102d1578063ef8be574146102f1578063f0c111f91461031157600080fd5b806352d1902d146102015780636465e69f146102245780637284e4161461025f57600080fd5b80631eee07b2116100bb5780631eee07b2146101805780632e1b61e4146101a057806334322eff146101b45780634f1ef286146101ec57600080fd5b806301ffc9a7146100e257806306fdde03146101175780630cf0b53314610160575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046113fc565b610331565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101536040518060400160405280601081526020016f155cd95c88115b9d1a5d1b195b595b9d60821b81525081565b60405161010e9190611476565b34801561016c57600080fd5b5061010261017b3660046115ac565b610368565b34801561018c57600080fd5b5061015361019b3660046115fb565b610393565b3480156101ac57600080fd5b506000610102565b3480156101c057600080fd5b506000546101d4906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b6101ff6101fa36600461163b565b6103d1565b005b34801561020d57600080fd5b506102166103f0565b60405190815260200161010e565b34801561023057600080fd5b506101536040518060400160405280600f81526020016e155cd95c915b9d1a5d1b195b595b9d608a1b81525081565b34801561026b57600080fd5b5061015360405180604001604052806015815260200174456e7469746c656d656e7420666f7220757365727360581b81525081565b3480156102ac57600080fd5b50610153604051806040016040528060058152602001640352e302e360dc1b81525081565b3480156102dd57600080fd5b506101ff6102ec3660046116c6565b61040d565b3480156102fd57600080fd5b506101ff61030c3660046116e1565b610545565b34801561031d57600080fd5b506101ff61032c3660046115fb565b6107bb565b60006001600160e01b03198216637bc2cb4560e11b148061036257506301ffc9a760e01b6001600160e01b03198316145b92915050565b600083156103825761037b84848461090b565b905061038c565b61037b8383610a36565b9392505050565b6060600160008381526020019081526020016000206002016040516020016103bb919061175c565b6040516020818303038152906040529050919050565b6103d9610a96565b6103e282610b3d565b6103ec8282610b74565b5050565b60006103fa610c36565b50600080516020611ac383398151915290565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156104525750825b90506000826001600160401b0316600114801561046e5750303b155b90508115801561047c575080155b1561049a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156104c457845460ff60401b1916600160401b1785555b6104cc610c7f565b6104d4610c7f565b6104dc610c7f565b600080546001600160a01b0319166001600160a01b038816179055831561053d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6000546001600160a01b0316336001600160a01b03161461057957604051630ce39a4b60e21b815260040160405180910390fd5b6000610587828401846117ac565b905060005b81518110156105ef5760008282815181106105a9576105a96117e8565b6020026020010151905060006001600160a01b0316816001600160a01b0316036105e6576040516372bbc80f60e11b815260040160405180910390fd5b5060010161058c565b505b600084815260016020526040902060020154156106a157600084815260016020819052604082206002018054909161062891611814565b81548110610638576106386117e8565b6000918252602090912001546001600160a01b031690506106598186610c87565b600085815260016020526040902060020180548061067957610679611827565b600082815260209020810160001990810180546001600160a01b0319169055019055506105f1565b6000848152600160208190526040822080546001600160a01b0319168155908101829055906106d36002830182611364565b505060405180606001604052806106e73390565b6001600160a01b0390811682524260208084019190915260409283018590526000888152600180835290849020855181546001600160a01b03191694169390931783558482015190830155918301518051919261074c92600285019290910190611382565b5090505060005b81518110156107b45760026000838381518110610772576107726117e8565b6020908102919091018101516001600160a01b031682528181019290925260400160009081208054600181810183559183529290912090910186905501610753565b5050505050565b6000546001600160a01b0316336001600160a01b0316146107ef57604051630ce39a4b60e21b815260040160405180910390fd5b6000818152600160205260409020546001600160a01b0316610824576040516372bbc80f60e11b815260040160405180910390fd5b600081815260016020526040902060020154156108d457600081815260016020819052604082206002018054909161085b91611814565b8154811061086b5761086b6117e8565b6000918252602090912001546001600160a01b0316905061088c8183610c87565b60008281526001602052604090206002018054806108ac576108ac611827565b600082815260209020810160001990810180546001600160a01b031916905501905550610824565b6000818152600160208190526040822080546001600160a01b0319168155908101829055906109066002830182611364565b505050565b6000805460405163418e15c160e11b81526004810186905282916001600160a01b03169063831c2b8290602401600060405180830381865afa158015610955573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261097d9190810190611882565b9050600061098a85610d95565b905060005b826060015151811015610a2c576000836060015182815181106109b4576109b46117e8565b6020026020010151905060005b8351811015610a2257818482815181106109dd576109dd6117e8565b6020026020010151148015610a105750610a10848281518110610a0257610a026117e8565b602002602001015188611055565b15610a1a57600195505b6001016109c1565b505060010161098f565b5050509392505050565b600080610a4284610d95565b905060005b8151811015610a8b57610a73828281518110610a6557610a656117e8565b602002602001015185611055565b15610a8357600192505050610362565b600101610a47565b506000949350505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610b1d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b11600080516020611ac3833981519152546001600160a01b031690565b6001600160a01b031614155b15610b3b5760405163703e46dd60e11b815260040160405180910390fd5b565b6000546001600160a01b0316336001600160a01b031614610b7157604051630ce39a4b60e21b815260040160405180910390fd5b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bce575060408051601f3d908101601f19168201909252610bcb9181019061198a565b60015b610bfb57604051634c9c8ce360e01b81526001600160a01b03831660048201526024015b60405180910390fd5b600080516020611ac38339815191528114610c2c57604051632a87526960e21b815260048101829052602401610bf2565b6109068383611146565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b3b5760405163703e46dd60e11b815260040160405180910390fd5b610b3b61119c565b6001600160a01b0382166000908152600260205260408120905b8154811015610d4c5782828281548110610cbd57610cbd6117e8565b906000526020600020015403610d445781548290610cdd90600190611814565b81548110610ced57610ced6117e8565b9060005260206000200154828281548110610d0a57610d0a6117e8565b906000526020600020018190555081805480610d2857610d28611827565b6001900381819060005260206000200160009055905550505050565b600101610ca1565b5060405162461bcd60e51b815260206004820152601e60248201527f526f6c65204944206e6f7420666f756e6420666f7220746865207573657200006044820152606401610bf2565b60606000805b8351811015610dfb5760026000858381518110610dba57610dba6117e8565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208054905082610df191906119a3565b9150600101610d9b565b50600160005260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054610e3290826119a3565b90506000816001600160401b03811115610e4e57610e4e611489565b604051908082528060200260200182016040528015610e77578160200160208202803683370190505b5090506000805b8551811015610f7957600060026000888481518110610e9f57610e9f6117e8565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610f1157602002820191906000526020600020905b815481526020019060010190808311610efd575b5050505050905060005b8151811015610f6f57818181518110610f3657610f366117e8565b6020026020010151858580610f4a906119b6565b965081518110610f5c57610f5c6117e8565b6020908102919091010152600101610f1b565b5050600101610e7e565b5060016000908152600260209081527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e08054604080518285028101850190915281815292830182828015610fec57602002820191906000526020600020905b815481526020019060010190808311610fd8575b5050505050905060005b815181101561104a57818181518110611011576110116117e8565b6020026020010151848480611025906119b6565b955081518110611037576110376117e8565b6020908102919091010152600101610ff6565b509195945050505050565b6000805460405163b426423360e01b81526004810185905282916001600160a01b03169063b426423390602401600060405180830381865afa15801561109f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110c791908101906119cf565b805190915060005b8181101561113a5760008382815181106110eb576110eb6117e8565b60200260200101516040516020016111039190611a7f565b60405160208183030381529060405261111b90611a9b565b9050858103611131576001945050505050610362565b506001016110cf565b50600095945050505050565b61114f826111e5565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561119457610906828261124a565b6103ec6112c0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610b3b57604051631afcd79f60e31b815260040160405180910390fd5b806001600160a01b03163b60000361121b57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610bf2565b600080516020611ac383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516112679190611a7f565b600060405180830381855af49150503d80600081146112a2576040519150601f19603f3d011682016040523d82523d6000602084013e6112a7565b606091505b50915091506112b78583836112df565b95945050505050565b3415610b3b5760405163b398979f60e01b815260040160405180910390fd5b6060826112f4576112ef8261133b565b61038c565b815115801561130b57506001600160a01b0384163b155b1561133457604051639996b31560e01b81526001600160a01b0385166004820152602401610bf2565b508061038c565b80511561134b5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5080546000825590600052602060002090810190610b7191906113e7565b8280548282559060005260206000209081019282156113d7579160200282015b828111156113d757825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906113a2565b506113e39291506113e7565b5090565b5b808211156113e357600081556001016113e8565b60006020828403121561140e57600080fd5b81356001600160e01b03198116811461038c57600080fd5b60005b83811015611441578181015183820152602001611429565b50506000910152565b60008151808452611462816020860160208601611426565b601f01601f19169290920160200192915050565b60208152600061038c602083018461144a565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156114c1576114c1611489565b60405290565b604051601f8201601f191681016001600160401b03811182821017156114ef576114ef611489565b604052919050565b60006001600160401b0382111561151057611510611489565b5060051b60200190565b80356001600160a01b038116811461153157600080fd5b919050565b600082601f83011261154757600080fd5b8135602061155c611557836114f7565b6114c7565b8083825260208201915060208460051b87010193508684111561157e57600080fd5b602086015b848110156115a1576115948161151a565b8352918301918301611583565b509695505050505050565b6000806000606084860312156115c157600080fd5b8335925060208401356001600160401b038111156115de57600080fd5b6115ea86828701611536565b925050604084013590509250925092565b60006020828403121561160d57600080fd5b5035919050565b60006001600160401b0382111561162d5761162d611489565b50601f01601f191660200190565b6000806040838503121561164e57600080fd5b6116578361151a565b915060208301356001600160401b0381111561167257600080fd5b8301601f8101851361168357600080fd5b803561169161155782611614565b8181528660208385010111156116a657600080fd5b816020840160208301376000602083830101528093505050509250929050565b6000602082840312156116d857600080fd5b61038c8261151a565b6000806000604084860312156116f657600080fd5b8335925060208401356001600160401b038082111561171457600080fd5b818601915086601f83011261172857600080fd5b81358181111561173757600080fd5b87602082850101111561174957600080fd5b6020830194508093505050509250925092565b6020808252825482820181905260008481528281209092916040850190845b818110156117a05783546001600160a01b03168352600193840193928501920161177b565b50909695505050505050565b6000602082840312156117be57600080fd5b81356001600160401b038111156117d457600080fd5b6117e084828501611536565b949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610362576103626117fe565b634e487b7160e01b600052603160045260246000fd5b600082601f83011261184e57600080fd5b815161185c61155782611614565b81815284602083860101111561187157600080fd5b6117e0826020830160208701611426565b6000602080838503121561189557600080fd5b82516001600160401b03808211156118ac57600080fd5b90840190608082870312156118c057600080fd5b6118c861149f565b825181528383015180151581146118de57600080fd5b818501526040830151828111156118f457600080fd5b6119008882860161183d565b60408301525060608301518281111561191857600080fd5b80840193505086601f84011261192d57600080fd5b8251915061193d611557836114f7565b82815260059290921b8301840191848101908884111561195c57600080fd5b938501935b8385101561197a57845182529385019390850190611961565b6060830152509695505050505050565b60006020828403121561199c57600080fd5b5051919050565b80820180821115610362576103626117fe565b6000600182016119c8576119c86117fe565b5060010190565b600060208083850312156119e257600080fd5b82516001600160401b03808211156119f957600080fd5b818501915085601f830112611a0d57600080fd5b8151611a1b611557826114f7565b81815260059190911b83018401908481019088831115611a3a57600080fd5b8585015b83811015611a7257805185811115611a565760008081fd5b611a648b89838a010161183d565b845250918601918601611a3e565b5098975050505050505050565b60008251611a91818460208701611426565b9190910192915050565b80516020808301519190811015611abc576000198160200360031b1b821691505b5091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","sourceMap":"852:8747:211:-:0;;;1171:4:449;1128:48;;1812:47:211;;;;;;;;;-1:-1:-1;1832:22:211;:20;:22::i;:::-;852:8747;;7711:422:448;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:448;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:448;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:448;-1:-1:-1;;;;;8035:33:448;;;;;8087:29;;158:50:654;;;8087:29:448;;146:2:654;131:18;8087:29:448;;;;;;;7981:146;7760:373;7711:422::o;14:200:654:-;852:8747:211;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100dd5760003560e01c806352d1902d1161007f578063ad3cb1cc11610059578063ad3cb1cc146102a0578063c4d66de8146102d1578063ef8be574146102f1578063f0c111f91461031157600080fd5b806352d1902d146102015780636465e69f146102245780637284e4161461025f57600080fd5b80631eee07b2116100bb5780631eee07b2146101805780632e1b61e4146101a057806334322eff146101b45780634f1ef286146101ec57600080fd5b806301ffc9a7146100e257806306fdde03146101175780630cf0b53314610160575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046113fc565b610331565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101536040518060400160405280601081526020016f155cd95c88115b9d1a5d1b195b595b9d60821b81525081565b60405161010e9190611476565b34801561016c57600080fd5b5061010261017b3660046115ac565b610368565b34801561018c57600080fd5b5061015361019b3660046115fb565b610393565b3480156101ac57600080fd5b506000610102565b3480156101c057600080fd5b506000546101d4906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b6101ff6101fa36600461163b565b6103d1565b005b34801561020d57600080fd5b506102166103f0565b60405190815260200161010e565b34801561023057600080fd5b506101536040518060400160405280600f81526020016e155cd95c915b9d1a5d1b195b595b9d608a1b81525081565b34801561026b57600080fd5b5061015360405180604001604052806015815260200174456e7469746c656d656e7420666f7220757365727360581b81525081565b3480156102ac57600080fd5b50610153604051806040016040528060058152602001640352e302e360dc1b81525081565b3480156102dd57600080fd5b506101ff6102ec3660046116c6565b61040d565b3480156102fd57600080fd5b506101ff61030c3660046116e1565b610545565b34801561031d57600080fd5b506101ff61032c3660046115fb565b6107bb565b60006001600160e01b03198216637bc2cb4560e11b148061036257506301ffc9a760e01b6001600160e01b03198316145b92915050565b600083156103825761037b84848461090b565b905061038c565b61037b8383610a36565b9392505050565b6060600160008381526020019081526020016000206002016040516020016103bb919061175c565b6040516020818303038152906040529050919050565b6103d9610a96565b6103e282610b3d565b6103ec8282610b74565b5050565b60006103fa610c36565b50600080516020611ac383398151915290565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156104525750825b90506000826001600160401b0316600114801561046e5750303b155b90508115801561047c575080155b1561049a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156104c457845460ff60401b1916600160401b1785555b6104cc610c7f565b6104d4610c7f565b6104dc610c7f565b600080546001600160a01b0319166001600160a01b038816179055831561053d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6000546001600160a01b0316336001600160a01b03161461057957604051630ce39a4b60e21b815260040160405180910390fd5b6000610587828401846117ac565b905060005b81518110156105ef5760008282815181106105a9576105a96117e8565b6020026020010151905060006001600160a01b0316816001600160a01b0316036105e6576040516372bbc80f60e11b815260040160405180910390fd5b5060010161058c565b505b600084815260016020526040902060020154156106a157600084815260016020819052604082206002018054909161062891611814565b81548110610638576106386117e8565b6000918252602090912001546001600160a01b031690506106598186610c87565b600085815260016020526040902060020180548061067957610679611827565b600082815260209020810160001990810180546001600160a01b0319169055019055506105f1565b6000848152600160208190526040822080546001600160a01b0319168155908101829055906106d36002830182611364565b505060405180606001604052806106e73390565b6001600160a01b0390811682524260208084019190915260409283018590526000888152600180835290849020855181546001600160a01b03191694169390931783558482015190830155918301518051919261074c92600285019290910190611382565b5090505060005b81518110156107b45760026000838381518110610772576107726117e8565b6020908102919091018101516001600160a01b031682528181019290925260400160009081208054600181810183559183529290912090910186905501610753565b5050505050565b6000546001600160a01b0316336001600160a01b0316146107ef57604051630ce39a4b60e21b815260040160405180910390fd5b6000818152600160205260409020546001600160a01b0316610824576040516372bbc80f60e11b815260040160405180910390fd5b600081815260016020526040902060020154156108d457600081815260016020819052604082206002018054909161085b91611814565b8154811061086b5761086b6117e8565b6000918252602090912001546001600160a01b0316905061088c8183610c87565b60008281526001602052604090206002018054806108ac576108ac611827565b600082815260209020810160001990810180546001600160a01b031916905501905550610824565b6000818152600160208190526040822080546001600160a01b0319168155908101829055906109066002830182611364565b505050565b6000805460405163418e15c160e11b81526004810186905282916001600160a01b03169063831c2b8290602401600060405180830381865afa158015610955573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261097d9190810190611882565b9050600061098a85610d95565b905060005b826060015151811015610a2c576000836060015182815181106109b4576109b46117e8565b6020026020010151905060005b8351811015610a2257818482815181106109dd576109dd6117e8565b6020026020010151148015610a105750610a10848281518110610a0257610a026117e8565b602002602001015188611055565b15610a1a57600195505b6001016109c1565b505060010161098f565b5050509392505050565b600080610a4284610d95565b905060005b8151811015610a8b57610a73828281518110610a6557610a656117e8565b602002602001015185611055565b15610a8357600192505050610362565b600101610a47565b506000949350505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610b1d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b11600080516020611ac3833981519152546001600160a01b031690565b6001600160a01b031614155b15610b3b5760405163703e46dd60e11b815260040160405180910390fd5b565b6000546001600160a01b0316336001600160a01b031614610b7157604051630ce39a4b60e21b815260040160405180910390fd5b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bce575060408051601f3d908101601f19168201909252610bcb9181019061198a565b60015b610bfb57604051634c9c8ce360e01b81526001600160a01b03831660048201526024015b60405180910390fd5b600080516020611ac38339815191528114610c2c57604051632a87526960e21b815260048101829052602401610bf2565b6109068383611146565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b3b5760405163703e46dd60e11b815260040160405180910390fd5b610b3b61119c565b6001600160a01b0382166000908152600260205260408120905b8154811015610d4c5782828281548110610cbd57610cbd6117e8565b906000526020600020015403610d445781548290610cdd90600190611814565b81548110610ced57610ced6117e8565b9060005260206000200154828281548110610d0a57610d0a6117e8565b906000526020600020018190555081805480610d2857610d28611827565b6001900381819060005260206000200160009055905550505050565b600101610ca1565b5060405162461bcd60e51b815260206004820152601e60248201527f526f6c65204944206e6f7420666f756e6420666f7220746865207573657200006044820152606401610bf2565b60606000805b8351811015610dfb5760026000858381518110610dba57610dba6117e8565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208054905082610df191906119a3565b9150600101610d9b565b50600160005260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054610e3290826119a3565b90506000816001600160401b03811115610e4e57610e4e611489565b604051908082528060200260200182016040528015610e77578160200160208202803683370190505b5090506000805b8551811015610f7957600060026000888481518110610e9f57610e9f6117e8565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610f1157602002820191906000526020600020905b815481526020019060010190808311610efd575b5050505050905060005b8151811015610f6f57818181518110610f3657610f366117e8565b6020026020010151858580610f4a906119b6565b965081518110610f5c57610f5c6117e8565b6020908102919091010152600101610f1b565b5050600101610e7e565b5060016000908152600260209081527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e08054604080518285028101850190915281815292830182828015610fec57602002820191906000526020600020905b815481526020019060010190808311610fd8575b5050505050905060005b815181101561104a57818181518110611011576110116117e8565b6020026020010151848480611025906119b6565b955081518110611037576110376117e8565b6020908102919091010152600101610ff6565b509195945050505050565b6000805460405163b426423360e01b81526004810185905282916001600160a01b03169063b426423390602401600060405180830381865afa15801561109f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110c791908101906119cf565b805190915060005b8181101561113a5760008382815181106110eb576110eb6117e8565b60200260200101516040516020016111039190611a7f565b60405160208183030381529060405261111b90611a9b565b9050858103611131576001945050505050610362565b506001016110cf565b50600095945050505050565b61114f826111e5565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561119457610906828261124a565b6103ec6112c0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610b3b57604051631afcd79f60e31b815260040160405180910390fd5b806001600160a01b03163b60000361121b57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610bf2565b600080516020611ac383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516112679190611a7f565b600060405180830381855af49150503d80600081146112a2576040519150601f19603f3d011682016040523d82523d6000602084013e6112a7565b606091505b50915091506112b78583836112df565b95945050505050565b3415610b3b5760405163b398979f60e01b815260040160405180910390fd5b6060826112f4576112ef8261133b565b61038c565b815115801561130b57506001600160a01b0384163b155b1561133457604051639996b31560e01b81526001600160a01b0385166004820152602401610bf2565b508061038c565b80511561134b5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5080546000825590600052602060002090810190610b7191906113e7565b8280548282559060005260206000209081019282156113d7579160200282015b828111156113d757825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906113a2565b506113e39291506113e7565b5090565b5b808211156113e357600081556001016113e8565b60006020828403121561140e57600080fd5b81356001600160e01b03198116811461038c57600080fd5b60005b83811015611441578181015183820152602001611429565b50506000910152565b60008151808452611462816020860160208601611426565b601f01601f19169290920160200192915050565b60208152600061038c602083018461144a565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156114c1576114c1611489565b60405290565b604051601f8201601f191681016001600160401b03811182821017156114ef576114ef611489565b604052919050565b60006001600160401b0382111561151057611510611489565b5060051b60200190565b80356001600160a01b038116811461153157600080fd5b919050565b600082601f83011261154757600080fd5b8135602061155c611557836114f7565b6114c7565b8083825260208201915060208460051b87010193508684111561157e57600080fd5b602086015b848110156115a1576115948161151a565b8352918301918301611583565b509695505050505050565b6000806000606084860312156115c157600080fd5b8335925060208401356001600160401b038111156115de57600080fd5b6115ea86828701611536565b925050604084013590509250925092565b60006020828403121561160d57600080fd5b5035919050565b60006001600160401b0382111561162d5761162d611489565b50601f01601f191660200190565b6000806040838503121561164e57600080fd5b6116578361151a565b915060208301356001600160401b0381111561167257600080fd5b8301601f8101851361168357600080fd5b803561169161155782611614565b8181528660208385010111156116a657600080fd5b816020840160208301376000602083830101528093505050509250929050565b6000602082840312156116d857600080fd5b61038c8261151a565b6000806000604084860312156116f657600080fd5b8335925060208401356001600160401b038082111561171457600080fd5b818601915086601f83011261172857600080fd5b81358181111561173757600080fd5b87602082850101111561174957600080fd5b6020830194508093505050509250925092565b6020808252825482820181905260008481528281209092916040850190845b818110156117a05783546001600160a01b03168352600193840193928501920161177b565b50909695505050505050565b6000602082840312156117be57600080fd5b81356001600160401b038111156117d457600080fd5b6117e084828501611536565b949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610362576103626117fe565b634e487b7160e01b600052603160045260246000fd5b600082601f83011261184e57600080fd5b815161185c61155782611614565b81815284602083860101111561187157600080fd5b6117e0826020830160208701611426565b6000602080838503121561189557600080fd5b82516001600160401b03808211156118ac57600080fd5b90840190608082870312156118c057600080fd5b6118c861149f565b825181528383015180151581146118de57600080fd5b818501526040830151828111156118f457600080fd5b6119008882860161183d565b60408301525060608301518281111561191857600080fd5b80840193505086601f84011261192d57600080fd5b8251915061193d611557836114f7565b82815260059290921b8301840191848101908884111561195c57600080fd5b938501935b8385101561197a57845182529385019390850190611961565b6060830152509695505050505050565b60006020828403121561199c57600080fd5b5051919050565b80820180821115610362576103626117fe565b6000600182016119c8576119c86117fe565b5060010190565b600060208083850312156119e257600080fd5b82516001600160401b03808211156119f957600080fd5b818501915085601f830112611a0d57600080fd5b8151611a1b611557826114f7565b81815260059190911b83018401908481019088831115611a3a57600080fd5b8585015b83811015611a7257805185811115611a565760008081fd5b611a648b89838a010161183d565b845250918601918601611a3e565b5098975050505050505050565b60008251611a91818460208701611426565b9190910192915050565b80516020808301519190811015611abc576000198160200360031b1b821691505b5091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","sourceMap":"852:8747:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2260:214;;;;;;;;;;-1:-1:-1;2260:214:211;;;;;:::i;:::-;;:::i;:::-;;;470:14:654;;463:22;445:41;;433:2;418:18;2260:214:211;;;;;;;;1463:48;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1463:48:211;;;;;;;;;;;;:::i;2627:379::-;;;;;;;;;;-1:-1:-1;2627:379:211;;;;;:::i;:::-;;:::i;4592:161::-;;;;;;;;;;-1:-1:-1;4592:161:211;;;;;:::i;:::-;;:::i;2508:85::-;;;;;;;;;;-1:-1:-1;2564:4:211;2508:85;;1082:28;;;;;;;;;;-1:-1:-1;1082:28:211;;;;-1:-1:-1;;;;;1082:28:211;;;;;;-1:-1:-1;;;;;4029:32:654;;;4011:51;;3999:2;3984:18;1082:28:211;3865:203:654;4161:214:449;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;:::-;;;5160:25:654;;;5148:2;5133:18;3708:134:449;5014:177:654;1579:53:211;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1579:53:211;;;;;1515:60;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1515:60:211;;;;;1819:58:449;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:449;;;;;1863:162:211;;;;;;;;;;-1:-1:-1;1863:162:211;;;;;:::i;:::-;;:::i;3040:949::-;;;;;;;;;;-1:-1:-1;3040:949:211;;;;;:::i;:::-;;:::i;4023:535::-;;;;;;;;;;-1:-1:-1;4023:535:211;;;;;:::i;:::-;;:::i;2260:214::-;2353:4;-1:-1:-1;;;;;;2378:45:211;;-1:-1:-1;;;2378:45:211;;:91;;-1:-1:-1;;;;;;;;;;1134:40:451;;;2433:36:211;2365:104;2260:214;-1:-1:-1;;2260:214:211:o;2627:379::-;2751:4;2836:23;;2832:170;;2876:52;2897:9;2908:7;2917:10;2876:20;:52::i;:::-;2869:59;;;;2832:170;2956:39;2975:7;2984:10;2956:18;:39::i;2832:170::-;2627:379;;;;;:::o;4592:161::-;4675:12;4713:20;:28;4734:6;4713:28;;;;;;;;;;;:34;;4702:46;;;;;;;;:::i;:::-;;;;;;;;;;;;;4695:53;;4592:161;;;:::o;4161:214:449:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:449;:::o;1863:162:211:-;8870:21:448;4302:15;;-1:-1:-1;;;4302:15:448;;;;4301:16;;-1:-1:-1;;;;;4348:14:448;4158:30;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:448;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:448;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:448;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;4951:18:448;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:448;-1:-1:-1;;;5013:22:448;;;4979:67;1924:24:211::1;:22;:24::i;:::-;1954:15;:13;:15::i;:::-;1975:16;:14;:16::i;:::-;1998:13;:22:::0;;-1:-1:-1;;;;;;1998:22:211::1;-1:-1:-1::0;;;;;1998:22:211;::::1;;::::0;;5066:101:448;;;;5100:23;;-1:-1:-1;;;;5100:23:448;;;5142:14;;-1:-1:-1;6890:50:654;;5142:14:448;;6878:2:654;6863:18;5142:14:448;;;;;;;5066:101;4092:1081;;;;;1863:162:211;:::o;3040:949::-;1684:13;;-1:-1:-1;;;;;1684:13:211;966:10:450;-1:-1:-1;;;;;1668:29:211;;1664:82;;1714:25;;-1:-1:-1;;;1714:25:211;;;;;;;;;;;1664:82;3149:22:::1;3174:40;::::0;;::::1;3185:15:::0;3174:40:::1;:::i;:::-;3149:65;;3226:9;3221:165;3245:5;:12;3241:1;:16;3221:165;;;3272:12;3287:5;3293:1;3287:8;;;;;;;;:::i;:::-;;;;;;;3272:23;;3323:1;-1:-1:-1::0;;;;;3307:18:211::1;:4;-1:-1:-1::0;;;;;3307:18:211::1;::::0;3303:77:::1;;3344:27;;-1:-1:-1::0;;;3344:27:211::1;;;;;;;;;;;3303:77;-1:-1:-1::0;3259:3:211::1;;3221:165;;;;3429:272;3480:1;3436:28:::0;;;:20:::1;:28;::::0;;;;:34:::1;;:41:::0;:45;3429:272:::1;;3491:12;3506:28:::0;;;:20:::1;:28;::::0;;;;;;:34:::1;;3550:41:::0;;3506:34;;3550:45:::1;::::0;::::1;:::i;:::-;3506:97;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;3506:97:211::1;::::0;-1:-1:-1;3611:35:211::1;3506:97:::0;3639:6;3611:21:::1;:35::i;:::-;3654:28;::::0;;;:20:::1;:28;::::0;;;;:34:::1;;:40:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;3654:40:211;;;;;-1:-1:-1;;;;;;3654:40:211::1;::::0;;;;;-1:-1:-1;3429:272:211::1;;;3713:28;::::0;;;:20:::1;:28;::::0;;;;;;3706:35;;-1:-1:-1;;;;;;3706:35:211::1;::::0;;;;::::1;::::0;;;3713:28;3706:35:::1;;::::0;::::1;3713:28:::0;3706:35:::1;:::i;:::-;;;3779:106;;;;;;;;3810:12;966:10:450::0;;887:96;3810:12:211::1;-1:-1:-1::0;;;;;3779:106:211;;::::1;::::0;;3843:15:::1;3779:106;::::0;;::::1;::::0;;;;;;;;;;;-1:-1:-1;3748:28:211;;;:20:::1;:28:::0;;;;;;;:137;;;;-1:-1:-1;;;;;;3748:137:211::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;:28;;:137:::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;;;;;3896:9;3891:94;3915:5;:12;3911:1;:16;3891:94;;;3942:13;:23;3956:5;3962:1;3956:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;3942:23:211::1;::::0;;;;::::1;::::0;;;;;;-1:-1:-1;3942:23:211;;;:36;;::::1;::::0;;::::1;::::0;;;;;;;;;;;::::1;::::0;;;3929:3:::1;3891:94;;;;3143:846;3040:949:::0;;;:::o;4023:535::-;1684:13;;-1:-1:-1;;;;;1684:13:211;966:10:450;-1:-1:-1;;;;;1668:29:211;;1664:82;;1714:25;;-1:-1:-1;;;1714:25:211;;;;;;;;;;;1664:82;4145:1:::1;4095:28:::0;;;:20:::1;:28;::::0;;;;:38;-1:-1:-1;;;;;4095:38:211::1;4091:107;;4164:27;;-1:-1:-1::0;;;4164:27:211::1;;;;;;;;;;;4091:107;4292:1;4248:28:::0;;;:20:::1;:28;::::0;;;;:34:::1;;:41:::0;:45;4241:272:::1;;4303:12;4318:28:::0;;;:20:::1;:28;::::0;;;;;;:34:::1;;4362:41:::0;;4318:34;;4362:45:::1;::::0;::::1;:::i;:::-;4318:97;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;4318:97:211::1;::::0;-1:-1:-1;4423:35:211::1;4318:97:::0;4451:6;4423:21:::1;:35::i;:::-;4466:28;::::0;;;:20:::1;:28;::::0;;;;:34:::1;;:40:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;4466:40:211;;;;;-1:-1:-1;;;;;;4466:40:211::1;::::0;;;;;-1:-1:-1;4241:272:211::1;;;4525:28;::::0;;;:20:::1;:28;::::0;;;;;;4518:35;;-1:-1:-1;;;;;;4518:35:211::1;::::0;;;;::::1;::::0;;;4525:28;4518:35:::1;;::::0;::::1;4525:28:::0;4518:35:::1;:::i;:::-;;;4023:535:::0;:::o;5049:939::-;5183:14;5248:13;;5239:57;;-1:-1:-1;;;5239:57:211;;;;;5160:25:654;;;5183:14:211;;-1:-1:-1;;;;;5248:13:211;;5239:34;;5133:18:654;;5239:57:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5239:57:211;;;;;;;;;;;;:::i;:::-;5205:91;;5343:25;5371:26;5389:7;5371:17;:26::i;:::-;5343:54;;5452:9;5447:537;5471:7;:15;;;:22;5467:1;:26;5447:537;;;5534:14;5551:7;:15;;;5567:1;5551:18;;;;;;;;:::i;:::-;;;;;;;5534:35;;5629:9;5624:354;5648:8;:15;5644:1;:19;5624:354;;;5852:6;5837:8;5846:1;5837:11;;;;;;;;:::i;:::-;;;;;;;:21;:83;;;;;5872:48;5896:8;5905:1;5896:11;;;;;;;;:::i;:::-;;;;;;;5909:10;5872:23;:48::i;:::-;5822:148;;;5955:4;5943:16;;5822:148;5665:3;;5624:354;;;-1:-1:-1;;5495:3:211;;5447:537;;;;5199:789;;5049:939;;;;;:::o;7362:389::-;7471:4;7523:25;7551:26;7569:7;7551:17;:26::i;:::-;7523:54;;7589:9;7584:144;7608:8;:15;7604:1;:19;7584:144;;;7642:48;7666:8;7675:1;7666:11;;;;;;;;:::i;:::-;;;;;;;7679:10;7642:23;:48::i;:::-;7638:84;;;7709:4;7702:11;;;;;;7638:84;7625:3;;7584:144;;;-1:-1:-1;7741:5:211;;7362:389;-1:-1:-1;;;;7362:389:211:o;4603:312:449:-;4683:4;-1:-1:-1;;;;;4692:6:449;4675:23;;;:120;;;4789:6;-1:-1:-1;;;;;4753:42:449;:32;-1:-1:-1;;;;;;;;;;;1519:53:466;-1:-1:-1;;;;;1519:53:466;;1441:138;4753:32:449;-1:-1:-1;;;;;4753:42:449;;;4675:120;4658:251;;;4869:29;;-1:-1:-1;;;4869:29:449;;;;;;;;;;;4658:251;4603:312::o;2164:92:211:-;1684:13;;-1:-1:-1;;;;;1684:13:211;966:10:450;-1:-1:-1;;;;;1668:29:211;;1664:82;;1714:25;;-1:-1:-1;;;1714:25:211;;;;;;;;;;;1664:82;2164:92;:::o;6057:538:449:-;6174:17;-1:-1:-1;;;;;6156:50:449;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6156:52:449;;;;;;;;-1:-1:-1;;6156:52:449;;;;;;;;;;;;:::i;:::-;;;6152:437;;6518:60;;-1:-1:-1;;;6518:60:449;;-1:-1:-1;;;;;4029:32:654;;6518:60:449;;;4011:51:654;3984:18;;6518:60:449;;;;;;;;6152:437;-1:-1:-1;;;;;;;;;;;6250:40:449;;6246:120;;6317:34;;-1:-1:-1;;;6317:34:449;;;;;5160:25:654;;;5133:18;;6317:34:449;5014:177:654;6246:120:449;6379:54;6409:17;6428:4;6379:29;:54::i;5032:213::-;5106:4;-1:-1:-1;;;;;5115:6:449;5098:23;;5094:145;;5199:29;;-1:-1:-1;;;5199:29:449;;;;;;;;;;;2970:67;6931:20:448;:18;:20::i;8969:400:211:-;-1:-1:-1;;;;;9071:19:211;;9045:23;9071:19;;;:13;:19;;;;;;9096:171;9120:12;;9116:16;;9096:171;;;9163:6;9151:5;9157:1;9151:8;;;;;;;;:::i;:::-;;;;;;;;;:18;9147:114;;9198:12;;9192:5;;9198:16;;9213:1;;9198:16;:::i;:::-;9192:23;;;;;;;;:::i;:::-;;;;;;;;;9181:5;9187:1;9181:8;;;;;;;;:::i;:::-;;;;;;;;:34;;;;9225:5;:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9246:7;;8969:400;;:::o;9147:114::-;9134:3;;9096:171;;;-1:-1:-1;9324:40:211;;-1:-1:-1;;;9324:40:211;;10206:2:654;9324:40:211;;;10188:21:654;10245:2;10225:18;;;10218:30;10284:32;10264:18;;;10257:60;10334:18;;9324:40:211;10004:354:654;6178:954:211;6262:16;6286:19;6351:9;6346:107;6370:7;:14;6366:1;:18;6346:107;;;6414:13;:25;6428:7;6436:1;6428:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6414:25:211;-1:-1:-1;;;;;6414:25:211;;;;;;;;;;;;:32;;;;6399:47;;;;;:::i;:::-;;-1:-1:-1;6386:3:211;;6346:107;;;-1:-1:-1;1076:1:211;6474:31;;:13;:31;;;:38;6459:53;;;;:::i;:::-;;;6560:22;6599:11;-1:-1:-1;;;;;6585:26:211;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6585:26:211;;6560:51;;6617:20;6685:9;6680:238;6704:7;:14;6700:1;:18;6680:238;;;6733:31;6767:13;:25;6781:7;6789:1;6781:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6767:25:211;-1:-1:-1;;;;;6767:25:211;;;;;;;;;;;;6733:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6805:9;6800:112;6824:14;:21;6820:1;:25;6800:112;;;6886:14;6901:1;6886:17;;;;;;;;:::i;:::-;;;;;;;6862:5;6868:14;;;;;:::i;:::-;;;6862:21;;;;;;;;:::i;:::-;;;;;;;;;;:41;6847:3;;6800:112;;;-1:-1:-1;;6720:3:211;;6680:238;;;-1:-1:-1;1076:1:211;6924:33;6960:31;;;:13;:31;;;;;6924:67;;6960:31;6924:67;;;;;;;;;;;;;;;;;;6960:31;6924:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7002:9;6997:112;7021:16;:23;7017:1;:27;6997:112;;;7083:16;7100:1;7083:19;;;;;;;;:::i;:::-;;;;;;;7059:5;7065:14;;;;;:::i;:::-;;;7059:21;;;;;;;;:::i;:::-;;;;;;;;;;:43;7046:3;;6997:112;;;-1:-1:-1;7122:5:211;;6178:954;-1:-1:-1;;;;;6178:954:211:o;7968:486::-;8072:4;8121:13;;8114:64;;-1:-1:-1;;;8114:64:211;;;;;5160:25:654;;;8072:4:211;;-1:-1:-1;;;;;8121:13:211;;8114:44;;5133:18:654;;8114:64:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8114:64:211;;;;;;;;;;;;:::i;:::-;8208:18;;8084:94;;-1:-1:-1;8184:21:211;8233:198;8257:13;8253:1;:17;8233:198;;;8285:23;8336:11;8348:1;8336:14;;;;;;;;:::i;:::-;;;;;;;8319:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;8311:41;;;:::i;:::-;8285:67;;8383:10;8364:15;:29;8360:65;;8412:4;8405:11;;;;;;;;8360:65;-1:-1:-1;8272:3:211;;8233:198;;;-1:-1:-1;8444:5:211;;7968:486;-1:-1:-1;;;;;7968:486:211:o;2264:344:466:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:466;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7084:141:448:-;8870:21;8560:40;-1:-1:-1;;;8560:40:448;;;;7146:73;;7191:17;;-1:-1:-1;;;7191:17:448;;;;;;;;;;;1671:281:466;1748:17;-1:-1:-1;;;;;1748:29:466;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:466;;-1:-1:-1;;;;;4029:32:654;;1805:47:466;;;4011:51:654;3984:18;;1805:47:466;3865:203:654;1744:119:466;-1:-1:-1;;;;;;;;;;;1872:73:466;;-1:-1:-1;;;;;;1872:73:466;-1:-1:-1;;;;;1872:73:466;;;;;;;;;;1671:281::o;3900:253:487:-;3983:12;4008;4022:23;4049:6;-1:-1:-1;;;;;4049:19:487;4069:4;4049:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4007:67;;;;4091:55;4118:6;4126:7;4135:10;4091:26;:55::i;:::-;4084:62;3900:253;-1:-1:-1;;;;;3900:253:487:o;6113:122:466:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:466;;;;;;;;;;;4421:582:487;4565:12;4594:7;4589:408;;4617:19;4625:10;4617:7;:19::i;:::-;4589:408;;;4841:17;;:22;:49;;;;-1:-1:-1;;;;;;4867:18:487;;;:23;4841:49;4837:119;;;4917:24;;-1:-1:-1;;;4917:24:487;;-1:-1:-1;;;;;4029:32:654;;4917:24:487;;;4011:51:654;3984:18;;4917:24:487;3865:203:654;4837:119:487;-1:-1:-1;4976:10:487;4969:17;;5543:487;5674:17;;:21;5670:354;;5871:10;5865:17;5927:15;5914:10;5910:2;5906:19;5899:44;5670:354;5994:19;;-1:-1:-1;;;5994:19:487;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:286:654;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:654;;209:43;;199:71;;266:1;263;256:12;497:250;582:1;592:113;606:6;603:1;600:13;592:113;;;682:11;;;676:18;663:11;;;656:39;628:2;621:10;592:113;;;-1:-1:-1;;739:1:654;721:16;;714:27;497:250::o;752:271::-;794:3;832:5;826:12;859:6;854:3;847:19;875:76;944:6;937:4;932:3;928:14;921:4;914:5;910:16;875:76;:::i;:::-;1005:2;984:15;-1:-1:-1;;980:29:654;971:39;;;;1012:4;967:50;;752:271;-1:-1:-1;;752:271:654:o;1028:220::-;1177:2;1166:9;1159:21;1140:4;1197:45;1238:2;1227:9;1223:18;1215:6;1197:45;:::i;1253:127::-;1314:10;1309:3;1305:20;1302:1;1295:31;1345:4;1342:1;1335:15;1369:4;1366:1;1359:15;1385:253;1457:2;1451:9;1499:4;1487:17;;-1:-1:-1;;;;;1519:34:654;;1555:22;;;1516:62;1513:88;;;1581:18;;:::i;:::-;1617:2;1610:22;1385:253;:::o;1643:275::-;1714:2;1708:9;1779:2;1760:13;;-1:-1:-1;;1756:27:654;1744:40;;-1:-1:-1;;;;;1799:34:654;;1835:22;;;1796:62;1793:88;;;1861:18;;:::i;:::-;1897:2;1890:22;1643:275;;-1:-1:-1;1643:275:654:o;1923:183::-;1983:4;-1:-1:-1;;;;;2008:6:654;2005:30;2002:56;;;2038:18;;:::i;:::-;-1:-1:-1;2083:1:654;2079:14;2095:4;2075:25;;1923:183::o;2111:173::-;2179:20;;-1:-1:-1;;;;;2228:31:654;;2218:42;;2208:70;;2274:1;2271;2264:12;2208:70;2111:173;;;:::o;2289:674::-;2343:5;2396:3;2389:4;2381:6;2377:17;2373:27;2363:55;;2414:1;2411;2404:12;2363:55;2450:6;2437:20;2476:4;2500:60;2516:43;2556:2;2516:43;:::i;:::-;2500:60;:::i;:::-;2582:3;2606:2;2601:3;2594:15;2634:4;2629:3;2625:14;2618:21;;2691:4;2685:2;2682:1;2678:10;2670:6;2666:23;2662:34;2648:48;;2719:3;2711:6;2708:15;2705:35;;;2736:1;2733;2726:12;2705:35;2772:4;2764:6;2760:17;2786:148;2802:6;2797:3;2794:15;2786:148;;;2868:23;2887:3;2868:23;:::i;:::-;2856:36;;2912:12;;;;2819;;2786:148;;;-1:-1:-1;2952:5:654;2289:674;-1:-1:-1;;;;;;2289:674:654:o;2968:484::-;3070:6;3078;3086;3139:2;3127:9;3118:7;3114:23;3110:32;3107:52;;;3155:1;3152;3145:12;3107:52;3191:9;3178:23;3168:33;;3252:2;3241:9;3237:18;3224:32;-1:-1:-1;;;;;3271:6:654;3268:30;3265:50;;;3311:1;3308;3301:12;3265:50;3334:61;3387:7;3378:6;3367:9;3363:22;3334:61;:::i;:::-;3324:71;;;3442:2;3431:9;3427:18;3414:32;3404:42;;2968:484;;;;;:::o;3457:180::-;3516:6;3569:2;3557:9;3548:7;3544:23;3540:32;3537:52;;;3585:1;3582;3575:12;3537:52;-1:-1:-1;3608:23:654;;3457:180;-1:-1:-1;3457:180:654:o;4073:186::-;4121:4;-1:-1:-1;;;;;4146:6:654;4143:30;4140:56;;;4176:18;;:::i;:::-;-1:-1:-1;4242:2:654;4221:15;-1:-1:-1;;4217:29:654;4248:4;4213:40;;4073:186::o;4264:745::-;4341:6;4349;4402:2;4390:9;4381:7;4377:23;4373:32;4370:52;;;4418:1;4415;4408:12;4370:52;4441:29;4460:9;4441:29;:::i;:::-;4431:39;;4521:2;4510:9;4506:18;4493:32;-1:-1:-1;;;;;4540:6:654;4537:30;4534:50;;;4580:1;4577;4570:12;4534:50;4603:22;;4656:4;4648:13;;4644:27;-1:-1:-1;4634:55:654;;4685:1;4682;4675:12;4634:55;4721:2;4708:16;4746:48;4762:31;4790:2;4762:31;:::i;4746:48::-;4817:2;4810:5;4803:17;4857:7;4852:2;4847;4843;4839:11;4835:20;4832:33;4829:53;;;4878:1;4875;4868:12;4829:53;4933:2;4928;4924;4920:11;4915:2;4908:5;4904:14;4891:45;4977:1;4972:2;4967;4960:5;4956:14;4952:23;4945:34;4998:5;4988:15;;;;;4264:745;;;;;:::o;5196:186::-;5255:6;5308:2;5296:9;5287:7;5283:23;5279:32;5276:52;;;5324:1;5321;5314:12;5276:52;5347:29;5366:9;5347:29;:::i;5387:659::-;5466:6;5474;5482;5535:2;5523:9;5514:7;5510:23;5506:32;5503:52;;;5551:1;5548;5541:12;5503:52;5587:9;5574:23;5564:33;;5648:2;5637:9;5633:18;5620:32;-1:-1:-1;;;;;5712:2:654;5704:6;5701:14;5698:34;;;5728:1;5725;5718:12;5698:34;5766:6;5755:9;5751:22;5741:32;;5811:7;5804:4;5800:2;5796:13;5792:27;5782:55;;5833:1;5830;5823:12;5782:55;5873:2;5860:16;5899:2;5891:6;5888:14;5885:34;;;5915:1;5912;5905:12;5885:34;5960:7;5955:2;5946:6;5942:2;5938:15;5934:24;5931:37;5928:57;;;5981:1;5978;5971:12;5928:57;6012:2;6008;6004:11;5994:21;;6034:6;6024:16;;;;;5387:659;;;;;:::o;6051:681::-;6219:2;6271:21;;;6341:13;;6244:18;;;6363:22;;;6190:4;6428:17;;;6468:16;;;6190:4;;6219:2;6416;6401:18;;;6190:4;6512:194;6526:6;6523:1;6520:13;6512:194;;;6591:13;;-1:-1:-1;;;;;6587:39:654;6575:52;;6623:1;6682:14;;;;6647:12;;;;6541:9;6512:194;;;-1:-1:-1;6723:3:654;;6051:681;-1:-1:-1;;;;;;6051:681:654:o;6951:348::-;7035:6;7088:2;7076:9;7067:7;7063:23;7059:32;7056:52;;;7104:1;7101;7094:12;7056:52;7144:9;7131:23;-1:-1:-1;;;;;7169:6:654;7166:30;7163:50;;;7209:1;7206;7199:12;7163:50;7232:61;7285:7;7276:6;7265:9;7261:22;7232:61;:::i;:::-;7222:71;6951:348;-1:-1:-1;;;;6951:348:654:o;7304:127::-;7365:10;7360:3;7356:20;7353:1;7346:31;7396:4;7393:1;7386:15;7420:4;7417:1;7410:15;7436:127;7497:10;7492:3;7488:20;7485:1;7478:31;7528:4;7525:1;7518:15;7552:4;7549:1;7542:15;7568:128;7635:9;;;7656:11;;;7653:37;;;7670:18;;:::i;7701:127::-;7762:10;7757:3;7753:20;7750:1;7743:31;7793:4;7790:1;7783:15;7817:4;7814:1;7807:15;7833:442;7887:5;7940:3;7933:4;7925:6;7921:17;7917:27;7907:55;;7958:1;7955;7948:12;7907:55;7987:6;7981:13;8018:48;8034:31;8062:2;8034:31;:::i;8018:48::-;8091:2;8082:7;8075:19;8137:3;8130:4;8125:2;8117:6;8113:15;8109:26;8106:35;8103:55;;;8154:1;8151;8144:12;8103:55;8167:77;8241:2;8234:4;8225:7;8221:18;8214:4;8206:6;8202:17;8167:77;:::i;8280:1530::-;8376:6;8407:2;8450;8438:9;8429:7;8425:23;8421:32;8418:52;;;8466:1;8463;8456:12;8418:52;8499:9;8493:16;-1:-1:-1;;;;;8569:2:654;8561:6;8558:14;8555:34;;;8585:1;8582;8575:12;8555:34;8608:22;;;;8664:4;8646:16;;;8642:27;8639:47;;;8682:1;8679;8672:12;8639:47;8708:22;;:::i;:::-;8759:2;8753:9;8746:5;8739:24;8801:2;8797;8793:11;8787:18;8850:7;8843:15;8836:23;8827:7;8824:36;8814:64;;8874:1;8871;8864:12;8814:64;8894:14;;;8887:31;8957:2;8949:11;;8943:18;8973:16;;;8970:36;;;9002:1;8999;8992:12;8970:36;9038:56;9086:7;9075:8;9071:2;9067:17;9038:56;:::i;:::-;9033:2;9026:5;9022:14;9015:80;;9134:2;9130;9126:11;9120:18;9163:2;9153:8;9150:16;9147:36;;;9179:1;9176;9169:12;9147:36;9210:8;9206:2;9202:17;9192:27;;;9257:7;9250:4;9246:2;9242:13;9238:27;9228:55;;9279:1;9276;9269:12;9228:55;9308:2;9302:9;9292:19;;9331:60;9347:43;9387:2;9347:43;:::i;9331:60::-;9425:15;;;9507:1;9503:10;;;;9495:19;;9491:28;;;9456:12;;;;9531:19;;;9528:39;;;9563:1;9560;9553:12;9528:39;9587:11;;;;9607:135;9623:6;9618:3;9615:15;9607:135;;;9689:10;;9677:23;;9640:12;;;;9720;;;;9607:135;;;9769:2;9758:14;;9751:29;-1:-1:-1;9762:5:654;8280:1530;-1:-1:-1;;;;;;8280:1530:654:o;9815:184::-;9885:6;9938:2;9926:9;9917:7;9913:23;9909:32;9906:52;;;9954:1;9951;9944:12;9906:52;-1:-1:-1;9977:16:654;;9815:184;-1:-1:-1;9815:184:654:o;10363:125::-;10428:9;;;10449:10;;;10446:36;;;10462:18;;:::i;10493:135::-;10532:3;10553:17;;;10550:43;;10573:18;;:::i;:::-;-1:-1:-1;10620:1:654;10609:13;;10493:135::o;10815:1134::-;10920:6;10951:2;10994;10982:9;10973:7;10969:23;10965:32;10962:52;;;11010:1;11007;11000:12;10962:52;11043:9;11037:16;-1:-1:-1;;;;;11113:2:654;11105:6;11102:14;11099:34;;;11129:1;11126;11119:12;11099:34;11167:6;11156:9;11152:22;11142:32;;11212:7;11205:4;11201:2;11197:13;11193:27;11183:55;;11234:1;11231;11224:12;11183:55;11263:2;11257:9;11286:60;11302:43;11342:2;11302:43;:::i;11286:60::-;11380:15;;;11462:1;11458:10;;;;11450:19;;11446:28;;;11411:12;;;;11486:19;;;11483:39;;;11518:1;11515;11508:12;11483:39;11550:2;11546;11542:11;11562:357;11578:6;11573:3;11570:15;11562:357;;;11657:3;11651:10;11693:2;11680:11;11677:19;11674:109;;;11737:1;11766:2;11762;11755:14;11674:109;11808:68;11868:7;11863:2;11849:11;11845:2;11841:20;11837:29;11808:68;:::i;:::-;11796:81;;-1:-1:-1;11897:12:654;;;;11595;;11562:357;;;-1:-1:-1;11938:5:654;10815:1134;-1:-1:-1;;;;;;;;10815:1134:654:o;11954:289::-;12085:3;12123:6;12117:13;12139:66;12198:6;12193:3;12186:4;12178:6;12174:17;12139:66;:::i;:::-;12221:16;;;;;11954:289;-1:-1:-1;;11954:289:654:o;12248:297::-;12366:12;;12413:4;12402:16;;;12396:23;;12366:12;12431:16;;12428:111;;;12525:1;12521:6;12511;12505:4;12501:17;12498:1;12494:25;12490:38;12483:5;12479:50;12470:59;;12428:111;;12248:297;;;:::o","linkReferences":{},"immutableReferences":{"127504":[{"start":2721,"length":32},{"start":2762,"length":32},{"start":3137,"length":32}]}},"methodIdentifiers":{"SPACE_ADDRESS()":"34322eff","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","description()":"7284e416","getEntitlementDataByRoleId(uint256)":"1eee07b2","initialize(address)":"c4d66de8","isCrosschain()":"2e1b61e4","isEntitled(bytes32,address[],bytes32)":"0cf0b533","moduleType()":"6465e69f","name()":"06fdde03","proxiableUUID()":"52d1902d","removeEntitlement(uint256)":"f0c111f9","setEntitlement(uint256,bytes)":"ef8be574","supportsInterface(bytes4)":"01ffc9a7","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__ValueAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"SPACE_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"getEntitlementDataByRoleId\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_space\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isCrosschain\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"},{\"internalType\":\"bytes32\",\"name\":\"permission\",\"type\":\"bytes32\"}],\"name\":\"isEntitled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moduleType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"removeEntitlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"entitlementData\",\"type\":\"bytes\"}],\"name\":\"setEntitlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getEntitlementDataByRoleId(uint256)\":{\"params\":{\"roleId\":\"the roleId to fetch the entitlement data for\"},\"returns\":{\"_0\":\"entitlementData array for the role\"}},\"isCrosschain()\":{\"returns\":{\"_0\":\"whether this entitlement will require crosschain evaluation\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeEntitlement(uint256)\":{\"params\":{\"roleId\":\"id of the role to remove\"}},\"setEntitlement(uint256,bytes)\":{\"params\":{\"entitlementData\":\"abi encoded array of data necessary to set the entitlement\",\"roleId\":\"id of the role to gate\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Added to allow future versions to add new variables in case this contract becomes inherited. See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"description()\":{\"notice\":\"The description of the entitlement module\"},\"getEntitlementDataByRoleId(uint256)\":{\"notice\":\"fetches the entitlement data for a roleId\"},\"isCrosschain()\":{\"notice\":\"some entitlements require cross chain evaluation and may not be executed directly from other contracts\"},\"moduleType()\":{\"notice\":\"The type of the entitlement module\"},\"name()\":{\"notice\":\"The name of the entitlement module\"},\"removeEntitlement(uint256)\":{\"notice\":\"removes an entitlement\"},\"setEntitlement(uint256,bytes)\":{\"notice\":\"sets a new entitlement\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/spaces/entitlements/user/UserEntitlement.sol\":\"UserEntitlement\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/entitlements/user/IUserEntitlement.sol\":{\"keccak256\":\"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a\",\"dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx\"]},\"contracts/src/spaces/entitlements/user/UserEntitlement.sol\":{\"keccak256\":\"0xb210baad6226d8405366b141e9c6b12b4400d2cdff64020c147ba23001d5e9ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9c3b3a9c763326aebccc932be913229f50c32136b90ce34b5900d7d87f0ce57\",\"dweb:/ipfs/Qmc4pzjGhSFgPu2oLvuiqUmphzvkv73rbG72fqWA4Wcx2Q\"]},\"contracts/src/spaces/facets/channels/IChannel.sol\":{\"keccak256\":\"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9\",\"dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA\"]},\"contracts/src/spaces/facets/roles/IRoles.sol\":{\"keccak256\":\"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed\",\"dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"Entitlement__InvalidValue"},{"inputs":[],"type":"error","name":"Entitlement__NotAllowed"},{"inputs":[],"type":"error","name":"Entitlement__NotMember"},{"inputs":[],"type":"error","name":"Entitlement__ValueAlreadyExists"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"SPACE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"description","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getEntitlementDataByRoleId","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"_space","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"pure","type":"function","name":"isCrosschain","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"channelId","type":"bytes32"},{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bytes32","name":"permission","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isEntitled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"moduleType","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeEntitlement"},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"},{"internalType":"bytes","name":"entitlementData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setEntitlement"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"constructor":{"custom:oz-upgrades-unsafe-allow":"constructor"},"getEntitlementDataByRoleId(uint256)":{"params":{"roleId":"the roleId to fetch the entitlement data for"},"returns":{"_0":"entitlementData array for the role"}},"isCrosschain()":{"returns":{"_0":"whether this entitlement will require crosschain evaluation"}},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"removeEntitlement(uint256)":{"params":{"roleId":"id of the role to remove"}},"setEntitlement(uint256,bytes)":{"params":{"entitlementData":"abi encoded array of data necessary to set the entitlement","roleId":"id of the role to gate"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"description()":{"notice":"The description of the entitlement module"},"getEntitlementDataByRoleId(uint256)":{"notice":"fetches the entitlement data for a roleId"},"isCrosschain()":{"notice":"some entitlements require cross chain evaluation and may not be executed directly from other contracts"},"moduleType()":{"notice":"The type of the entitlement module"},"name()":{"notice":"The name of the entitlement module"},"removeEntitlement(uint256)":{"notice":"removes an entitlement"},"setEntitlement(uint256,bytes)":{"notice":"sets a new entitlement"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/spaces/entitlements/user/UserEntitlement.sol":"UserEntitlement"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/entitlements/user/IUserEntitlement.sol":{"keccak256":"0x573a718650f7088b84fe0bc6ec0b85c354c58c842691c66b2e682912455161c9","urls":["bzz-raw://5b41f88dd0e806b3f61b72f340dbdc53710827b1c8de9bcba6ba11fd1f8ae25a","dweb:/ipfs/QmZZtrWAgx3aLFA2dXuoHtujBqEuxAkHZkMP4FdmEAcQRx"],"license":"MIT"},"contracts/src/spaces/entitlements/user/UserEntitlement.sol":{"keccak256":"0xb210baad6226d8405366b141e9c6b12b4400d2cdff64020c147ba23001d5e9ea","urls":["bzz-raw://e9c3b3a9c763326aebccc932be913229f50c32136b90ce34b5900d7d87f0ce57","dweb:/ipfs/Qmc4pzjGhSFgPu2oLvuiqUmphzvkv73rbG72fqWA4Wcx2Q"],"license":"MIT"},"contracts/src/spaces/facets/channels/IChannel.sol":{"keccak256":"0x8940643f9701981062aeb6adfb8d0b7387acdaecae0baaca01e372330252769e","urls":["bzz-raw://aa59ac6c1cd515f476398776e27fc0dfa5f5563192d60a793620cde2f84e6ed9","dweb:/ipfs/QmVLiENXctwtHuSBmw5z4458bw8EbYzfKCVn3ZgqoaJ1MA"],"license":"MIT"},"contracts/src/spaces/facets/roles/IRoles.sol":{"keccak256":"0x8e83ae75871b3aa2f2c2885770c0c810e7cf53b4bcb06ff3d73bbcc49b7a7a65","urls":["bzz-raw://3995418818a37c318df894c3a64f646f9a70113b0edf54fa34dc4c5ba2f426ed","dweb:/ipfs/QmSeDc6kasbA8THfZU5fS5uQbbeV3X85qauF8PapgXzgT3"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27","urls":["bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e","dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"}},"version":1},"id":211} \ No newline at end of file diff --git a/packages/generated/dev/typings/INodeRegistry.ts b/packages/generated/dev/typings/INodeRegistry.ts index 275e5f4383..cf8db4d3f5 100644 --- a/packages/generated/dev/typings/INodeRegistry.ts +++ b/packages/generated/dev/typings/INodeRegistry.ts @@ -47,6 +47,7 @@ export interface INodeRegistryInterface extends utils.Interface { "getAllNodes()": FunctionFragment; "getNode(address)": FunctionFragment; "getNodeCount()": FunctionFragment; + "isNode(address)": FunctionFragment; "registerNode(address,string,uint8)": FunctionFragment; "removeNode(address)": FunctionFragment; "updateNodeStatus(address,uint8)": FunctionFragment; @@ -59,6 +60,7 @@ export interface INodeRegistryInterface extends utils.Interface { | "getAllNodes" | "getNode" | "getNodeCount" + | "isNode" | "registerNode" | "removeNode" | "updateNodeStatus" @@ -81,6 +83,10 @@ export interface INodeRegistryInterface extends utils.Interface { functionFragment: "getNodeCount", values?: undefined ): string; + encodeFunctionData( + functionFragment: "isNode", + values: [PromiseOrValue] + ): string; encodeFunctionData( functionFragment: "registerNode", values: [ @@ -115,6 +121,7 @@ export interface INodeRegistryInterface extends utils.Interface { functionFragment: "getNodeCount", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "isNode", data: BytesLike): Result; decodeFunctionResult( functionFragment: "registerNode", data: BytesLike @@ -223,6 +230,11 @@ export interface INodeRegistry extends BaseContract { getNodeCount(overrides?: CallOverrides): Promise<[BigNumber]>; + isNode( + nodeAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + registerNode( nodeAddress: PromiseOrValue, url: PromiseOrValue, @@ -259,6 +271,11 @@ export interface INodeRegistry extends BaseContract { getNodeCount(overrides?: CallOverrides): Promise; + isNode( + nodeAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + registerNode( nodeAddress: PromiseOrValue, url: PromiseOrValue, @@ -295,6 +312,11 @@ export interface INodeRegistry extends BaseContract { getNodeCount(overrides?: CallOverrides): Promise; + isNode( + nodeAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + registerNode( nodeAddress: PromiseOrValue, url: PromiseOrValue, @@ -372,6 +394,11 @@ export interface INodeRegistry extends BaseContract { getNodeCount(overrides?: CallOverrides): Promise; + isNode( + nodeAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + registerNode( nodeAddress: PromiseOrValue, url: PromiseOrValue, @@ -411,6 +438,11 @@ export interface INodeRegistry extends BaseContract { getNodeCount(overrides?: CallOverrides): Promise; + isNode( + nodeAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + registerNode( nodeAddress: PromiseOrValue, url: PromiseOrValue, diff --git a/packages/generated/dev/typings/IStreamRegistry.ts b/packages/generated/dev/typings/IStreamRegistry.ts index e0336a22bb..2d0c1ea7b5 100644 --- a/packages/generated/dev/typings/IStreamRegistry.ts +++ b/packages/generated/dev/typings/IStreamRegistry.ts @@ -92,6 +92,7 @@ export interface IStreamRegistryInterface extends utils.Interface { "isStream(bytes32)": FunctionFragment; "placeStreamOnNode(bytes32,address)": FunctionFragment; "removeStreamFromNode(bytes32,address)": FunctionFragment; + "setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)": FunctionFragment; "setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])": FunctionFragment; }; @@ -106,6 +107,7 @@ export interface IStreamRegistryInterface extends utils.Interface { | "isStream" | "placeStreamOnNode" | "removeStreamFromNode" + | "setStreamLastMiniblock" | "setStreamLastMiniblockBatch" ): FunctionFragment; @@ -150,6 +152,16 @@ export interface IStreamRegistryInterface extends utils.Interface { functionFragment: "removeStreamFromNode", values: [PromiseOrValue, PromiseOrValue] ): string; + encodeFunctionData( + functionFragment: "setStreamLastMiniblock", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; encodeFunctionData( functionFragment: "setStreamLastMiniblockBatch", values: [SetMiniblockStruct[]] @@ -185,6 +197,10 @@ export interface IStreamRegistryInterface extends utils.Interface { functionFragment: "removeStreamFromNode", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "setStreamLastMiniblock", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "setStreamLastMiniblockBatch", data: BytesLike @@ -334,6 +350,15 @@ export interface IStreamRegistry extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + setStreamLastMiniblock( + streamId: PromiseOrValue, + prevMiniblockHash: PromiseOrValue, + lastMiniblockHash: PromiseOrValue, + lastMiniblockNum: PromiseOrValue, + isSealed: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + setStreamLastMiniblockBatch( miniblocks: SetMiniblockStruct[], overrides?: Overrides & { from?: PromiseOrValue } @@ -388,6 +413,15 @@ export interface IStreamRegistry extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + setStreamLastMiniblock( + streamId: PromiseOrValue, + prevMiniblockHash: PromiseOrValue, + lastMiniblockHash: PromiseOrValue, + lastMiniblockNum: PromiseOrValue, + isSealed: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + setStreamLastMiniblockBatch( miniblocks: SetMiniblockStruct[], overrides?: Overrides & { from?: PromiseOrValue } @@ -442,6 +476,15 @@ export interface IStreamRegistry extends BaseContract { overrides?: CallOverrides ): Promise; + setStreamLastMiniblock( + streamId: PromiseOrValue, + prevMiniblockHash: PromiseOrValue, + lastMiniblockHash: PromiseOrValue, + lastMiniblockNum: PromiseOrValue, + isSealed: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + setStreamLastMiniblockBatch( miniblocks: SetMiniblockStruct[], overrides?: CallOverrides @@ -549,6 +592,15 @@ export interface IStreamRegistry extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + setStreamLastMiniblock( + streamId: PromiseOrValue, + prevMiniblockHash: PromiseOrValue, + lastMiniblockHash: PromiseOrValue, + lastMiniblockNum: PromiseOrValue, + isSealed: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + setStreamLastMiniblockBatch( miniblocks: SetMiniblockStruct[], overrides?: Overrides & { from?: PromiseOrValue } @@ -604,6 +656,15 @@ export interface IStreamRegistry extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + setStreamLastMiniblock( + streamId: PromiseOrValue, + prevMiniblockHash: PromiseOrValue, + lastMiniblockHash: PromiseOrValue, + lastMiniblockNum: PromiseOrValue, + isSealed: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + setStreamLastMiniblockBatch( miniblocks: SetMiniblockStruct[], overrides?: Overrides & { from?: PromiseOrValue } diff --git a/packages/generated/dev/typings/factories/INodeRegistry__factory.ts b/packages/generated/dev/typings/factories/INodeRegistry__factory.ts index 003effd1c9..83665f1937 100644 --- a/packages/generated/dev/typings/factories/INodeRegistry__factory.ts +++ b/packages/generated/dev/typings/factories/INodeRegistry__factory.ts @@ -109,6 +109,25 @@ const _abi = [ ], stateMutability: "view", }, + { + type: "function", + name: "isNode", + inputs: [ + { + name: "nodeAddress", + type: "address", + internalType: "address", + }, + ], + outputs: [ + { + name: "", + type: "bool", + internalType: "bool", + }, + ], + stateMutability: "view", + }, { type: "function", name: "registerNode", diff --git a/packages/generated/dev/typings/factories/IStreamRegistry__factory.ts b/packages/generated/dev/typings/factories/IStreamRegistry__factory.ts index 8f72f0db4c..58281b7bed 100644 --- a/packages/generated/dev/typings/factories/IStreamRegistry__factory.ts +++ b/packages/generated/dev/typings/factories/IStreamRegistry__factory.ts @@ -295,6 +295,39 @@ const _abi = [ outputs: [], stateMutability: "nonpayable", }, + { + type: "function", + name: "setStreamLastMiniblock", + inputs: [ + { + name: "streamId", + type: "bytes32", + internalType: "bytes32", + }, + { + name: "prevMiniblockHash", + type: "bytes32", + internalType: "bytes32", + }, + { + name: "lastMiniblockHash", + type: "bytes32", + internalType: "bytes32", + }, + { + name: "lastMiniblockNum", + type: "uint64", + internalType: "uint64", + }, + { + name: "isSealed", + type: "bool", + internalType: "bool", + }, + ], + outputs: [], + stateMutability: "nonpayable", + }, { type: "function", name: "setStreamLastMiniblockBatch", diff --git a/packages/sdk/src/tests/multi_ne/mls.test.ts b/packages/sdk/src/tests/multi_ne/mls.test.ts index 9d44b9837c..07d5a3f9d8 100644 --- a/packages/sdk/src/tests/multi_ne/mls.test.ts +++ b/packages/sdk/src/tests/multi_ne/mls.test.ts @@ -306,6 +306,8 @@ describe('mlsTests', () => { const mls = streamAfterSnapshot.membershipContent.mls expect(mls.externalGroupSnapshot).toBeDefined() expect(mls.groupInfoMessage).toBeDefined() + expect(mls.externalGroupSnapshot!.length).toBeGreaterThan(0) + expect(mls.groupInfoMessage!.length).toBeGreaterThan(0) expect(bin_equal(mls.externalGroupSnapshot, latestExternalGroupSnapshot)).toBe(true) expect(bin_equal(mls.groupInfoMessage, latestGroupInfoMessage)).toBe(true) }) @@ -359,6 +361,8 @@ describe('mlsTests', () => { const mls = streamAfterSnapshot.membershipContent.mls expect(mls.externalGroupSnapshot).toBeDefined() expect(mls.groupInfoMessage).toBeDefined() + expect(mls.externalGroupSnapshot!.length).toBeGreaterThan(0) + expect(mls.groupInfoMessage!.length).toBeGreaterThan(0) expect(bin_equal(mls.groupInfoMessage, latestGroupInfoMessage)).toBe(true) }) diff --git a/scripts/build-mls.sh b/scripts/build-mls.sh deleted file mode 100755 index 30169caeb1..0000000000 --- a/scripts/build-mls.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -set -euo pipefail - -mkdir -p ./bin -cargo build --release --manifest-path ./core/mls/mls-tools/crates/mlslib/Cargo.toml -cp ./core/mls/mls-tools/target/release/libmls* ./core